diff --git a/docs/iterations/LEARNINGS.md b/docs/iterations/LEARNINGS.md index b5d7da66..30718b91 100644 --- a/docs/iterations/LEARNINGS.md +++ b/docs/iterations/LEARNINGS.md @@ -10,6 +10,8 @@ | analyst_upgrades | scanners/analyst_upgrades.md | 2026-04-12 | 50% 7d win rate (breakeven); cross-scanner confluence with options_flow is positive signal | | earnings_calendar | scanners/earnings_calendar.md | 2026-04-12 | Appears as earnings_play; 38.1% 1d, 37.7% 7d — poor; best setups require high short interest | | pipeline/scoring | pipeline/scoring.md | 2026-04-12 | stats summary now surfaces worst performers; news_catalyst 0% 7d, social_hype 14.3% 7d — worst strategies | +| early_accumulation | scanners/early_accumulation.md | 2026-04-12 | Sub-threshold (score=60); no catalyst → structurally score-capped by ranker | +| social_dd | scanners/social_dd.md | 2026-04-12 | Sub-threshold (score=56); BUT 55% 30d win rate — diverges from social_hype; ranker may be suppressing it incorrectly | | volume_accumulation | scanners/volume_accumulation.md | — | No data yet | | reddit_dd | scanners/reddit_dd.md | — | No data yet | | reddit_trending | scanners/reddit_trending.md | — | No data yet | diff --git a/docs/iterations/scanners/early_accumulation.md b/docs/iterations/scanners/early_accumulation.md new file mode 100644 index 00000000..24525c80 --- /dev/null +++ b/docs/iterations/scanners/early_accumulation.md @@ -0,0 +1,24 @@ +# Early Accumulation Scanner + +## Current Understanding +Detects quiet accumulation patterns: rising OBV, price above 50/200 SMA, low ATR +(low volatility), and bullish MACD crossover — without requiring a strong near-term +catalyst. Designed for slow-grind setups rather than explosive moves. The absence of +an immediate catalyst structurally limits the LLM's score assignment, since the ranker +rewards urgency and specificity. This may cause systematic under-scoring relative to +true edge. + +## Evidence Log + +### 2026-04-12 — Fast-loop (2026-04-12 run) +- Single appearance: FRT (Federal Realty Investment Trust), score=60, conf=6, risk_level=low. +- Thesis: +1.55% daily price move, OBV 12.3M rising, MACD crossover, ATR 1.7% (low risk). +- Score sub-threshold (60 < 65). Key weakness per thesis: "lack of immediate catalysts" and overbought Stochastic (88.7). +- Pattern observation: early_accumulation may be structurally score-capped by ranker's catalyst-weighting. A score of 60 with conf=6 on a low-risk setup may represent miscalibration rather than poor edge. +- 0 mature recommendations (no recommendation generated from this appearance). +- Confidence: low (single data point, no outcome data) + +## Pending Hypotheses +- [ ] Does early_accumulation systematically score 55-65 due to ranker penalizing "no catalyst"? If so, the scoring.md penalty logic may need adjustment. +- [ ] Do early_accumulation setups produce better 30d returns than 7d returns (slow-grind nature)? +- [ ] Is the overbought Stochastic reading a reliable short-term timing filter to delay entry? diff --git a/docs/iterations/scanners/social_dd.md b/docs/iterations/scanners/social_dd.md new file mode 100644 index 00000000..b4d0c000 --- /dev/null +++ b/docs/iterations/scanners/social_dd.md @@ -0,0 +1,26 @@ +# Social DD Scanner + +## Current Understanding +Identifies speculative momentum setups driven by high social sentiment scores and +elevated short interest (potential short squeeze). Despite a speculative surface-level +profile, early P&L data shows 55% 30d win rate and the only scanner positive at 30d +(+0.94% avg 30d return). This DIVERGES from `social_hype` (14.3% 7d win rate) — +`social_dd` likely includes more fundamental corroboration (short interest, OBV, MACD) +versus pure social sentiment. Current ranker prompt groups them together, which may be +incorrect. Setups currently score below 65 and are filtered by the score threshold. + +## Evidence Log + +### 2026-04-12 — Fast-loop (2026-04-08 run) +- Single appearance: GME, score=56, conf=5, risk_level=speculative. +- Thesis: Social DD score 75/100 + 15.7% short interest + bullish MACD crossover. +- Score sub-threshold (56 < 65). Negative signals in thesis: weak fundamentals (-13.9% revenue growth), insider selling $330k. +- **Critical context from scoring.md P&L review**: social_dd historically shows 55% 30d win rate, +0.94% avg 30d — the only scanner positive at 30d. This suggests the scanner has real edge but requires a longer holding period than 1-7 days. +- Current ranker prompt groups social_dd with social_hype as "SPECULATIVE" — this may cause social_dd to be systematically under-scored, suppressing a legitimate slow-win strategy. +- 0 mature recommendations from discovery pipeline (no recommendation generated from this appearance). +- Confidence: medium (outcome data from scoring.md gives P&L context, but very few appearances in discovery pipeline) + +## Pending Hypotheses +- [ ] Does the ranker's "social_dd / social_hype → SPECULATIVE" grouping suppress social_dd scores, causing us to miss 30d winners? +- [ ] Should social_dd get a separate ranker treatment from social_hype, given divergent 30d outcomes? +- [ ] At what social score threshold (>75? >85?) does the setup reliably score ≥65 to generate recommendations? diff --git a/tradingagents/dataflows/discovery/ranker.py b/tradingagents/dataflows/discovery/ranker.py index 4dbcbc87..26321b97 100644 --- a/tradingagents/dataflows/discovery/ranker.py +++ b/tradingagents/dataflows/discovery/ranker.py @@ -302,7 +302,8 @@ Each candidate was discovered by a specific scanner. Evaluate them using the cri - **options_flow**: Focus on put/call ratio, absolute call VOLUME vs open interest, premium size, and whether flow aligns with the technical trend. Unusually low P/C ratios (<0.1) with high volume are strongest. - **momentum / technical_breakout**: Focus on volume confirmation (>2x average), trend alignment (above key SMAs), and whether momentum is accelerating or fading. Avoid chasing extended moves (RSI >80). - **earnings_play**: Focus on short interest (squeeze potential), pre-earnings accumulation signals, analyst estimate trends, and historical earnings surprise rate. Binary risk must be acknowledged. -- **social_dd / social_hype**: Treat as SPECULATIVE. Require corroborating technical or fundamental evidence. Pure social sentiment without data backing should score low. +- **social_dd**: Has shown 55% 30d win rate — strongest long-hold scanner. These setups combine social sentiment WITH technical confirmation (OBV, short interest, MACD). Score based on quality of technical/fundamental corroboration. A strong OBV + high short interest + bullish MACD warrants 65-75. DO NOT conflate with social_hype. +- **social_hype**: Treat as SPECULATIVE (14.3% 7d win rate, -4.84% avg 7d return). Require strong corroborating evidence. Pure social sentiment without data backing should score below 50. - **short_squeeze**: Focus on short interest %, days to cover, cost to borrow, and whether a catalyst exists to trigger covering. High SI alone is not enough. - **contrarian_value**: Focus on oversold technicals (RSI <30), fundamental support (earnings stability), and a clear reason why the selloff is overdone. - **news_catalyst**: Focus on the materiality of the news, whether it's already priced in (check intraday move), and the timeline of impact.