b950e3a018feat: add date filtering to PDF report compiler Adds --date arg to filter reports by date and auto-generate filename with date and symbols
MUmarJ
2026-01-19 22:22:37 -0500
5a6d22cb32## VIII. MENTAL MODELS (The Cognitive Framework) To prevent "Value Trap" logic in Tech/Platform stocks, the Trader utilizes specific mental models distinct from traditional Value Investing.
swj.premkumar
2026-01-14 20:11:37 -0600
3a5bc02879### Changed - **Risk Star Topology (Strategy 2)**: Replaced sequential "Round Robin" risk debate with a parallel "Fan-Out / Fan-In" architecture. - `Trader` now triggers `Risky`, `Safe`, and `Neutral` analysts simultaneously. - Implemented `Risk Sync` node and `merge_risk_states` reducer (AgentStates) to handle concurrent updates safely. - Reduced Risk Phase latency by ~60%. - **Batch Reflection (Strategy 1)**: Consolidated 5 sequential reflection calls into a single "Session Audit" call, reducing token usage and latency by ~80% in the post-trade phase. - **Parallel I/O (Strategy 3)**: Refactored `tradingagents/dataflows/local.py` (Reddit News) to use `ThreadPoolExecutor` (max 10 workers), achieving 5x-10x speedup in data fetching.
swj.premkumar
2026-01-14 20:11:06 -0600
532ef1849b**Parallel Architecture (AsyncIO)**: Refactored `setup.py` to implement a "Fan-Out / Fan-In" pattern using LangGraph. - `Market Analyst` now triggers `Social`, `News`, and `Fundamentals` analysts **concurrently**. - Added `Analyst Sync` node to synchronize parallel branches. - Added `Analyst Sync` node to synchronize parallel branches. - reduced total runtime by ~50% by overlapping heavy LLM/Tool operations. - **Fail Fast Scraper**: Optimized `googlenews_utils.py` to timeout after ~30s (down from 3m) when blocked, ensuring rapid failover to backup vendors.
swj.premkumar
2026-01-14 07:29:12 -0600
24edac65c4- **Standalone HTML Reports**: Refactored report generation to perform server-side Markdown-to-HTML rendering using Python. - Removed dependency on client-side `marked.js` and CDNs. - Reports are now fully offline-capable. - Cleaned up JSON keys to remove `.md` extensions for cleaner data structure. - **Google News Adapter**: Implemented `get_google_global_news` adapter in `google.py` to match the standard `(curr_date, look_back_days)` interface, adhering to the Adapter Pattern and fixing signature mismatches. - **Robust Demo Script**: Created `run_agent.py` (replacing demo scripts) with: - Automatic `.env` loading. - `backend_url` handling (clearing OpenAI defaults when using Anthropic). - Hardened configuration for "Deep Analysis" (Debate Rounds=2). - Pre-configured Google News vendor to bypass AlphaVantage rate limits.
swj.premkumar
2026-01-14 05:58:33 -0600
05ce55125f### Added - **Dynamic Parameter Tuning (The Learning Loop)**: Implemented full self-reflection cycle. The Reflector agent now parses its own advice into JSON (`rsi_period`, `stop_loss_pct`), persists it to `data_cache/runtime_config.json`, and the Market Analyst loads it to tune the Regime Detector in real-time. - **Audit Archival**: Every tuning event is now archived to `results/{TICKER}/{DATE}/runtime_config.json` for historical auditing, ensuring we can reproduce why parameters changed on any given day. - **Atomic Persistence**: Implemented `agent_utils.write_json_atomic` to prevent race conditions during config saves. - **Centralized Config**: Moved hardcoded paths to `default_config.py` (DRY principle).
swj.premkumar
2026-01-13 06:40:07 -0600
1f279a9df2- **Insider Veto Protocol (Rule B)**: Hard-coded safety gate in `trading_graph.py` that blocks ALL buy signals if Net Insider Selling exceeds $50M while the stock is in a technical downtrend (Price < 50 SMA). This prevents "Falling Knife" catches. - **Relative Strength Determinism**: Upgraded `market_analyst.py` to calculate a mathematical `risk_multiplier` (0.0x - 1.5x) based on the Asset Regime vs. SPY Regime correlation, removing LLM "confidence" hallucinations from position sizing. - **Portfolio Awareness (Rule 72)**: Implemented State Persistence (`portfolio`, `cash_balance`) and a hard-coded Stop Loss check in `trading_graph.py`. If a position's unrealized PnL drops below -10%, the system forces a "LIQUIDATE" order, bypassing all AI debate. - **Self-Tuning Architecture**: Updated `reflection.py` to output a structured JSON block (`UPDATE_PARAMETERS`) instead of prose advice, enabling future automated parameter optimization.
swj.premkumar
2026-01-13 05:27:24 -0600
e88a01d0eaFixed Override Logic Mismatches: Fixed critical Enum-to-String type mismatch in apply_trend_override that was silencing the "Safety Valve" logic. Data Pipeline Failures: Injected robust error handling and type checking in market_analyst.py to identify why RegimeDetector receives invalid data (causing "UNKNOWN" regimes). Gemini 404 Errors: Removed invalid/deprecated model names causing 404s
swj.premkumar
2026-01-11 20:13:01 -0600
d0f229a444Dataflow: Robustified route_to_vendor to treat empty/whitespace-only results as failures, ensuring the fallback chain continues to the next vendor. Analyst Nodes: Removed destructive logic that was overwriting real company names with ticker symbols in the anonymizer state. Fixed News Vendors: Resolved a TypeError in Google news results and removed the non-functional OpenAI news implementations. Report Generator: Fixed a NameError related to sys and restored path-parsing logic in
swj.premkumar
2026-01-11 08:32:08 -0600
92a47f1994Adjusted default character truncation to safer levels for local embedding models.
swj.premkumar
2026-01-11 08:07:26 -0600
903e5d0aebAdjusted default character truncation to safer levels for local embedding models.
swj.premkumar
2026-01-11 08:07:13 -0600
5ea8a67684added gemini support
swj.premkumar
2026-01-11 07:33:58 -0600
0f46729f09**Global Market News**: Implemented `get_global_market_news` in Alpha Vantage module to support generic market news (topics: economy_macro, financial_markets), fixing the lack of a primary vendor for global news. - **Configurable Embeddings Truncation**: Added `EMBEDDING_TRUNCATION_LIMIT` env var (default 1000) to prevent `413 Payload Too Large` errors with local models.
swj.premkumar
2026-01-10 12:45:04 -0600
bfbc011a87Implemented pure Python local embeddings using `sentence-transformers` library, eliminating the need for external services like Ollama for providers that don't support embeddings
swj.premkumar
2026-01-10 11:14:40 -0600
66c9807ed8Alpaca Integration**: Added `tradingagents/dataflows/alpaca.py` to support `get_stock_data` via Alpaca Data API v2.
swj.premkumar
2026-01-10 04:32:46 -0600
d2ebd6d587ickerAnonymizer` into all analyst agents (`Market`, `News`, `Fundamentals`, `Social`) and data tools. The LLM now only sees "ASSET_XXX" in prompts, preventing data contamination.
swj.premkumar
2026-01-09 21:40:45 -0600
a0ab1a9b3eThe **TradingAgents** system is a risk-managed, LLM-driven trading engine designed to execute trades based on validated truth, not hallucinations. It connects hierarchical LLM agents with deterministic safety gates to ensure that every trade is architecturally sound, factually correct, and risk-compliant.
swj.premkumar
2026-01-09 19:28:49 -0600
5eb9e5dd42fix: Change gemini model from preview to stable for Deep agent options
kaushik-yadav
2026-01-05 18:10:38 +0530
5f7e79d9a3fix: fix(gemini): replace deprecated Gemini preview model with supported version
kaushik-yadav
2026-01-05 18:00:30 +0530