← 全部 Cases · 今日流程

Market Case · 2026-09-17

Day 54

Day 54
9/9 Steps

Regime · Hypothesis

R0 Regime
AI Expansion (82.0%)
Hypothesis
AI/Semiconductor leads index today; macro is secondary variable
ID
H-2026-09-17-001

Labels · Attribution

真正 Driver
AI/Semiconductor
Hypothesis 结果
部分对
Scenario 预测
A
Scenario 实际
A
Scenario 命中
✓
AI 贡献
61%
Bond
19%

Surprise · Lesson

Surprise:AI/Semiconductor dominated more than typical day

Lesson:AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量

Evidence / Counter

Evidence

  • VIX=15.9 (low fear)
  • VIX↓ -10.0% (risk-on)
  • NVDA +2.1%
  • SMH +2.5%
  • Breadth 86% (broad participation)

Counter

  • 10Y=5.00% (elevated rates)

Step 快捷入口

原始 JSON
{
  "date": "2026-09-17",
  "features": {
    "dgs10": 5.0,
    "dgs2": null,
    "vix": 15.94,
    "vix_chg": -9.99,
    "qqq_chg": 1.73,
    "smh_chg": 3.41,
    "nvda_chg": 3.3,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": -0.06,
    "breadth_proxy": 1.0,
    "qqq_gap": 0.55,
    "news_headline_count": 22,
    "news_bearish_ratio": 0.4,
    "news_ai_mentions": 40,
    "news_macro_mentions": 9,
    "news_oil_mentions": 2,
    "news_risk_mentions": 2
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-09-17-001",
    "statement": "AI/Semiconductor leads index today; macro is secondary variable",
    "evidence": [
      "VIX=15.9 (low fear)",
      "VIX↓ -10.0% (risk-on)",
      "NVDA +2.1%",
      "SMH +2.5%",
      "Breadth 86% (broad participation)"
    ],
    "counter_evidence": [
      "10Y=5.00% (elevated rates)"
    ],
    "confidence": 0.79,
    "status": "待验证"
  },
  "morning": {
    "bias": "Neutral",
    "total": 1,
    "driver_type": "Fed",
    "daily_driver": "Fed Headlines",
    "best_opportunity": {
      "direction": "NO TRADE",
      "symbol": "—",
      "instrument": "—",
      "horizon": "—",
      "confidence": 45,
      "entry": "—",
      "stop": "—",
      "target": "—",
      "targets": [],
      "duration": "—",
      "why": [
        "今日无任何标的达到交易阈值"
      ],
      "why_chain": "今日无任何标的达到交易阈值",
      "avoid": [],
      "one_liner": "今日无任何标的达到交易阈值",
      "p16_gate": "No Trade",
      "threshold_message": "今日无任何标的达到交易阈值",
      "advisory": true
    },
    "best_trades": {
      "primary": null,
      "secondary": null,
      "watchlist": null,
      "index_trade": "NO TRADE",
      "p16_gate": "No Trade",
      "threshold_message": "今日无任何标的达到交易阈值",
      "stock_trades": [],
      "top_trades": [
        {
          "rank": 1,
          "symbol": "ARM",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 76,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+2.23%",
          "expected_return_pct": 2.23,
          "win_prob": 76.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 4.0
              }
            ],
            "total": 76.0,
            "raw_total": 76.0,
            "was_clamped": false
          },
          "risk_reward": 1.02,
          "final_score": 0.51,
          "trade_action": "Pass",
          "relative_strength": 3.92,
          "entry": "Above 252.1 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 252.12,
          "entry_zone": {
            "low": 251.36,
            "high": 252.88,
            "mid": 252.12,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 252.12
              }
            ],
            "display": "Entry Zone 251–253",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "246.6 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 246.6,
          "target": "257.7 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 257.73,
          "targets": [
            "257.7 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 252.12,
            "orb_high": 250.77,
            "orb_low": 246.6,
            "prev_high": 241.83,
            "prev_low": 241.83,
            "prior_close": 241.83,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +3.92%",
            "RS vs SMH +2.52%",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.01 < 0.20(EV门禁)"
          ],
          "why_chain": "RS vs QQQ +3.92% · RS vs SMH +2.52% · Volume 信号 · VIX 回落",
          "why_vs_runner_up": "ARM RS +3.9% vs AMD +3.2%;ER 1.3% vs 1.1%;higher beta (4.1 vs 3.6);relative strength",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 3.92,
            "relative_strength_vs_smh": 2.52,
            "relative_weakness_score": -5.43,
            "gap_pct": 3.06,
            "beta_proxy": 4.14,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -9.99,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(76%) × ER(1.3%) × rr_weight(0.5) / 100",
          "expected_high": 257.73,
          "expected_low": 243.98,
          "expected_close": 257.73,
          "current_price": 254.34,
          "upside_pct": 1.33,
          "downside_risk_pct": 4.07,
          "why_factors": [
            "RS vs QQQ +3.92%",
            "RS vs SMH +2.52%",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.01 < 0.20(EV门禁)"
          ],
          "why_today": "RS vs QQQ +3.92% · RS vs SMH +2.52% · Volume 信号 · VIX 回落",
          "gap_pct": 3.06,
          "rr_display": {
            "reward_risk_ratio": 1.02,
            "risk_reward_ratio": 0.98,
            "reward_per_share": 5.61,
            "risk_per_share": 5.52,
            "label_reward_risk": "Reward/Risk 1.02",
            "label_risk_reward": "Risk:Reward 1:0.98",
            "display": "Reward/Risk 1.02 · Risk:Reward 1:0.98",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Fed Headlines",
          "invalidation": "Close below stop $246.6 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 252.12,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 252.12,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 250.77,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 246.6,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 246.6,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 257.73,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 257.73,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(257.73-252.12)/252.12=2.23%",
          "heuristic_expected_return_pct": 1.33,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 ARM:在 252.12 附近入场,目标 257.73,预期 +2.23%",
          "expected_r": 0.5352,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 45.4,
            "shares": 18,
            "contracts": 0,
            "max_loss_usd": 99.36,
            "win_usd": 100.98,
            "loss_usd": 99.36,
            "expected_value_usd": 52.9,
            "risk_per_share": 5.52,
            "reward_per_share": 5.61,
            "rr_display": {
              "reward_risk_ratio": 1.02,
              "risk_reward_ratio": 0.98,
              "reward_per_share": 5.61,
              "risk_per_share": 5.52,
              "label_reward_risk": "Reward/Risk 1.02",
              "label_risk_reward": "Risk:Reward 1:0.98",
              "display": "Reward/Risk 1.02 · Risk:Reward 1:0.98",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$101 / Loss -$99"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 45.4,
            "contracts": 0,
            "shares": 18,
            "max_loss_usd": 99.36,
            "size_label": "None",
            "display": "Risk 1.0% → Position 45.4% → 18 unit(s) → Max Loss $99.36"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": 3.92,
              "runner_up_value": 3.21,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 5.4,
              "runner_up_value": 4.21,
              "wins": true
            },
            {
              "rank": 3,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 76.0,
              "runner_up_value": 76.0,
              "wins": true
            },
            {
              "rank": 4,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 1.02,
              "runner_up_value": 0.62,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "ER 2.2% vs 1.1%",
                "Score 0.51 vs 0.42",
                "RS +3.9% vs +3.2%",
                "R:R 1.02 vs 0.42"
              ],
              "summary": "Why ARM over AMD: ER 2.2% vs 1.1% · Score 0.51 vs 0.42 · RS +3.9% vs +3.2% · R:R 1.02 vs 0.42"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 76 vs 70",
                "ER 2.2% vs 0.7%",
                "Score 0.51 vs 0.25",
                "RS +3.9% vs +2.4%",
                "R:R 1.02 vs 0.2"
              ],
              "summary": "Why ARM over TQQQ: Win% 76 vs 70 · ER 2.2% vs 0.7% · Score 0.51 vs 0.25 · RS +3.9% vs +2.4% · R:R 1.02 vs 0.2"
            },
            {
              "symbol": "SMH",
              "rank": 4,
              "reasons": [
                "Win% 76 vs 75",
                "ER 2.2% vs 0.4%",
                "Score 0.51 vs 0.15",
                "RS +3.9% vs +1.4%",
                "R:R 1.02 vs 0.25"
              ],
              "summary": "Why ARM over SMH: Win% 76 vs 75 · ER 2.2% vs 0.4% · Score 0.51 vs 0.15 · RS +3.9% vs +1.4% · R:R 1.02 vs 0.25"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "Win% 76 vs 75",
                "ER 2.2% vs 0.3%",
                "Score 0.51 vs 0.12",
                "RS +3.9% vs +1.1%",
                "R:R 1.02 vs 0.34"
              ],
              "summary": "Why ARM over NVDA: Win% 76 vs 75 · ER 2.2% vs 0.3% · Score 0.51 vs 0.12 · RS +3.9% vs +1.1% · R:R 1.02 vs 0.34"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 76 vs 70",
                "ER 2.2% vs 0.3%",
                "Score 0.51 vs 0.1",
                "RS +3.9% vs +0.7%",
                "R:R 1.02 vs 0.33"
              ],
              "summary": "Why ARM over TSLA: Win% 76 vs 70 · ER 2.2% vs 0.3% · Score 0.51 vs 0.1 · RS +3.9% vs +0.7% · R:R 1.02 vs 0.33"
            }
          ],
          "rank_summary": "ARM ranked #1 because weakest RS + largest expected range + highest probability",
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 76.0,
            "sample_size": 1,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "Historical sample n=1 < 20; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 4,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": 52.9,
            "win_scenario_usd": 100.98,
            "loss_scenario_usd": 99.36,
            "win_prob_pct": 76.0,
            "display": "EV $+53 (win +$101 @ 76.0% · loss -$99)"
          },
          "entry_status": {
            "current_price": 254.34,
            "ideal_entry": 252.12,
            "distance_pct": 0.88,
            "remaining_er_pct": 1.33,
            "live_expected_return_pct": 1.33,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 251.36,
            "zone_high": 252.88,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 2,
          "symbol": "AMD",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 76,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.90%",
          "expected_return_pct": 1.9,
          "win_prob": 76.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 4.0
              }
            ],
            "total": 76.0,
            "raw_total": 76.0,
            "was_clamped": false
          },
          "risk_reward": 0.98,
          "final_score": 0.42,
          "trade_action": "Pass",
          "relative_strength": 3.21,
          "entry": "Above 523.3 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 522.63,
          "entry_zone": {
            "low": 522.0,
            "high": 523.26,
            "mid": 522.63,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 523.26
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 522.0
              }
            ],
            "display": "Entry Zone 522–523",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "512.5 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 512.5,
          "target": "532.6 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 532.57,
          "targets": [
            "532.6 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 523.26,
            "orb_high": 522.0,
            "orb_low": 512.5,
            "prev_high": 504.2,
            "prev_low": 504.2,
            "prior_close": 504.2,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +3.21%",
            "RS vs SMH +1.81%",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.08 < 0.20(EV门禁)"
          ],
          "why_chain": "RS vs QQQ +3.21% · RS vs SMH +1.81% · Volume 信号 · VIX 回落",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 3.21,
            "relative_strength_vs_smh": 1.81,
            "relative_weakness_score": -4.3,
            "gap_pct": 3.23,
            "beta_proxy": 3.57,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -9.99,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(76%) × ER(1.1%) × rr_weight(0.5) / 100",
          "expected_high": 532.57,
          "expected_low": 512.5,
          "expected_close": 532.57,
          "current_price": 526.68,
          "upside_pct": 1.12,
          "downside_risk_pct": 2.69,
          "why_factors": [
            "RS vs QQQ +3.21%",
            "RS vs SMH +1.81%",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.08 < 0.20(EV门禁)"
          ],
          "why_today": "RS vs QQQ +3.21% · RS vs SMH +1.81% · Volume 信号 · VIX 回落",
          "gap_pct": 3.23,
          "rr_display": {
            "reward_risk_ratio": 0.98,
            "risk_reward_ratio": 1.02,
            "reward_per_share": 9.94,
            "risk_per_share": 10.13,
            "label_reward_risk": "Reward/Risk 0.98",
            "label_risk_reward": "Risk:Reward 1:1.02",
            "display": "Reward/Risk 0.98 · Risk:Reward 1:1.02",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Fed Headlines",
          "invalidation": "Close below stop $512.5 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 522.63,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 523.26,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 522.0,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 512.5,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 512.5,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 532.57,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 532.57,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(532.57-522.63)/522.63=1.90%",
          "heuristic_expected_return_pct": 1.12,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 AMD:在 522.63 附近入场,目标 532.57,预期 +1.90%",
          "expected_r": 0.5048,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 47.0,
            "shares": 9,
            "contracts": 0,
            "max_loss_usd": 91.17,
            "win_usd": 89.46,
            "loss_usd": 91.17,
            "expected_value_usd": 46.11,
            "risk_per_share": 10.13,
            "reward_per_share": 9.94,
            "rr_display": {
              "reward_risk_ratio": 0.98,
              "risk_reward_ratio": 1.02,
              "reward_per_share": 9.94,
              "risk_per_share": 10.13,
              "label_reward_risk": "Reward/Risk 0.98",
              "label_risk_reward": "Risk:Reward 1:1.02",
              "display": "Reward/Risk 0.98 · Risk:Reward 1:1.02",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$89 / Loss -$91"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 47.0,
            "contracts": 0,
            "shares": 9,
            "max_loss_usd": 91.17,
            "size_label": "None",
            "display": "Risk 1.0% → Position 47.0% → 9 unit(s) → Max Loss $91.17"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 76.0,
              "runner_up_value": 76.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 0.98,
              "runner_up_value": 0.62,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "ER 1.9% vs 1.3%",
                "Score 0.42 vs 0.51",
                "RS +3.2% vs +3.9%",
                "R:R 0.98 vs 0.33"
              ],
              "summary": "Why AMD over ARM: ER 1.9% vs 1.3% · Score 0.42 vs 0.51 · RS +3.2% vs +3.9% · R:R 0.98 vs 0.33"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 76 vs 70",
                "ER 1.9% vs 0.7%",
                "Score 0.42 vs 0.25",
                "RS +3.2% vs +2.4%",
                "R:R 0.98 vs 0.2"
              ],
              "summary": "Why AMD over TQQQ: Win% 76 vs 70 · ER 1.9% vs 0.7% · Score 0.42 vs 0.25 · RS +3.2% vs +2.4% · R:R 0.98 vs 0.2"
            },
            {
              "symbol": "SMH",
              "rank": 4,
              "reasons": [
                "Win% 76 vs 75",
                "ER 1.9% vs 0.4%",
                "Score 0.42 vs 0.15",
                "RS +3.2% vs +1.4%",
                "R:R 0.98 vs 0.25"
              ],
              "summary": "Why AMD over SMH: Win% 76 vs 75 · ER 1.9% vs 0.4% · Score 0.42 vs 0.15 · RS +3.2% vs +1.4% · R:R 0.98 vs 0.25"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "Win% 76 vs 75",
                "ER 1.9% vs 0.3%",
                "Score 0.42 vs 0.12",
                "RS +3.2% vs +1.1%",
                "R:R 0.98 vs 0.34"
              ],
              "summary": "Why AMD over NVDA: Win% 76 vs 75 · ER 1.9% vs 0.3% · Score 0.42 vs 0.12 · RS +3.2% vs +1.1% · R:R 0.98 vs 0.34"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 76 vs 70",
                "ER 1.9% vs 0.3%",
                "Score 0.42 vs 0.1",
                "RS +3.2% vs +0.7%",
                "R:R 0.98 vs 0.33"
              ],
              "summary": "Why AMD over TSLA: Win% 76 vs 70 · ER 1.9% vs 0.3% · Score 0.42 vs 0.1 · RS +3.2% vs +0.7% · R:R 0.98 vs 0.33"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 76.0,
            "sample_size": 1,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "Historical sample n=1 < 20; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 4,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": 46.11,
            "win_scenario_usd": 89.46,
            "loss_scenario_usd": 91.17,
            "win_prob_pct": 76.0,
            "display": "EV $+46 (win +$89 @ 76.0% · loss -$91)"
          },
          "entry_status": {
            "current_price": 526.68,
            "ideal_entry": 522.63,
            "distance_pct": 0.77,
            "remaining_er_pct": 1.12,
            "live_expected_return_pct": 1.12,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 522.0,
            "zone_high": 523.26,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 3,
          "symbol": "TQQQ",
          "direction": "LONG",
          "instrument": "ETF",
          "horizon": "Intraday",
          "confidence": 70,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.23%",
          "expected_return_pct": 1.23,
          "win_prob": 70.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 12.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 4.0
              }
            ],
            "total": 70.0,
            "raw_total": 70.0,
            "was_clamped": false
          },
          "risk_reward": 0.65,
          "final_score": 0.25,
          "trade_action": "Pass",
          "relative_strength": 2.43,
          "entry": "Above 70.0 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 70.03,
          "entry_zone": {
            "low": 70.02,
            "high": 70.05,
            "mid": 70.03,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 70.02
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 70.05
              }
            ],
            "display": "Entry Zone 70.02–70.05",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "68.7 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 68.71,
          "target": "70.9 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 70.89,
          "targets": [
            "70.9 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 70.02,
            "orb_high": 70.05,
            "orb_low": 68.71,
            "prev_high": 67.9,
            "prev_low": 67.9,
            "prior_close": 67.9,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +2.43%",
            "Volume 信号",
            "VIX 回落",
            "期望R -0.16 < 0.20(EV门禁)"
          ],
          "why_chain": "RS vs QQQ +2.43% · Volume 信号 · VIX 回落 · 期望R -0.16 < 0.20(EV门禁)",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 2.43,
            "relative_strength_vs_smh": 1.03,
            "relative_weakness_score": -3.05,
            "gap_pct": 2.71,
            "beta_proxy": 2.94,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -9.99,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Strength",
          "score_formula_display": "final = win_prob(70%) × ER(0.7%) × rr_weight(0.5) / 100",
          "expected_high": 70.89,
          "expected_low": 67.93,
          "expected_close": 70.89,
          "current_price": 70.4,
          "upside_pct": 0.7,
          "downside_risk_pct": 3.51,
          "why_factors": [
            "RS vs QQQ +2.43%",
            "Volume 信号",
            "VIX 回落",
            "期望R -0.16 < 0.20(EV门禁)"
          ],
          "why_today": "RS vs QQQ +2.43% · Volume 信号 · VIX 回落 · 期望R -0.16 < 0.20(EV门禁)",
          "gap_pct": 2.71,
          "rr_display": {
            "reward_risk_ratio": 0.65,
            "risk_reward_ratio": 1.54,
            "reward_per_share": 0.86,
            "risk_per_share": 1.32,
            "label_reward_risk": "Reward/Risk 0.65",
            "label_risk_reward": "Risk:Reward 1:1.54",
            "display": "Reward/Risk 0.65 · Risk:Reward 1:1.54",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Fed Headlines",
          "invalidation": "Close below stop $68.71 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 70.03,
              "source": "vwap",
              "confidence": 98,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 70.02,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 70.05,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "current",
                  "label": "Above Current",
                  "price": 70.4,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 68.71,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 68.71,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 70.89,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 70.89,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(70.89-70.03)/70.03=1.23%",
          "heuristic_expected_return_pct": 0.7,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 TQQQ:在 70.03 附近入场,目标 70.89,预期 +1.23%",
          "expected_r": 0.155,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 52.5,
            "shares": 75,
            "contracts": 0,
            "max_loss_usd": 99.0,
            "win_usd": 64.5,
            "loss_usd": 99.0,
            "expected_value_usd": 15.45,
            "risk_per_share": 1.32,
            "reward_per_share": 0.86,
            "rr_display": {
              "reward_risk_ratio": 0.65,
              "risk_reward_ratio": 1.54,
              "reward_per_share": 0.86,
              "risk_per_share": 1.32,
              "label_reward_risk": "Reward/Risk 0.65",
              "label_risk_reward": "Risk:Reward 1:1.54",
              "display": "Reward/Risk 0.65 · Risk:Reward 1:1.54",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$64 / Loss -$99"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 52.5,
            "contracts": 0,
            "shares": 75,
            "max_loss_usd": 99.0,
            "size_label": "None",
            "display": "Risk 1.0% → Position 52.5% → 75 unit(s) → Max Loss $99.0"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "liquidity",
              "label": "Highest Liquidity",
              "primary_value": 5.0,
              "runner_up_value": 5.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 0.65,
              "runner_up_value": 0.62,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 70 vs 76",
                "ER 1.2% vs 1.3%",
                "Score 0.25 vs 0.51",
                "RS +2.4% vs +3.9%",
                "R:R 0.65 vs 0.33"
              ],
              "summary": "Why TQQQ over ARM: Win% 70 vs 76 · ER 1.2% vs 1.3% · Score 0.25 vs 0.51 · RS +2.4% vs +3.9% · R:R 0.65 vs 0.33"
            },
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "Win% 70 vs 76",
                "ER 1.2% vs 1.1%",
                "Score 0.25 vs 0.42",
                "RS +2.4% vs +3.2%",
                "R:R 0.65 vs 0.42"
              ],
              "summary": "Why TQQQ over AMD: Win% 70 vs 76 · ER 1.2% vs 1.1% · Score 0.25 vs 0.42 · RS +2.4% vs +3.2% · R:R 0.65 vs 0.42"
            },
            {
              "symbol": "SMH",
              "rank": 4,
              "reasons": [
                "Win% 70 vs 75",
                "ER 1.2% vs 0.4%",
                "Score 0.25 vs 0.15",
                "RS +2.4% vs +1.4%",
                "R:R 0.65 vs 0.25"
              ],
              "summary": "Why TQQQ over SMH: Win% 70 vs 75 · ER 1.2% vs 0.4% · Score 0.25 vs 0.15 · RS +2.4% vs +1.4% · R:R 0.65 vs 0.25"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "Win% 70 vs 75",
                "ER 1.2% vs 0.3%",
                "Score 0.25 vs 0.12",
                "RS +2.4% vs +1.1%",
                "R:R 0.65 vs 0.34"
              ],
              "summary": "Why TQQQ over NVDA: Win% 70 vs 75 · ER 1.2% vs 0.3% · Score 0.25 vs 0.12 · RS +2.4% vs +1.1% · R:R 0.65 vs 0.34"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "ER 1.2% vs 0.3%",
                "Score 0.25 vs 0.1",
                "RS +2.4% vs +0.7%",
                "R:R 0.65 vs 0.33"
              ],
              "summary": "Why TQQQ over TSLA: ER 1.2% vs 0.3% · Score 0.25 vs 0.1 · RS +2.4% vs +0.7% · R:R 0.65 vs 0.33"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 70.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 3,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": 15.45,
            "win_scenario_usd": 64.5,
            "loss_scenario_usd": 99.0,
            "win_prob_pct": 70.0,
            "display": "EV $+15 (win +$64 @ 70.0% · loss -$99)"
          },
          "entry_status": {
            "current_price": 70.4,
            "ideal_entry": 70.03,
            "distance_pct": 0.53,
            "remaining_er_pct": 0.7,
            "live_expected_return_pct": 0.7,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 70.02,
            "zone_high": 70.05,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 4,
          "symbol": "SMH",
          "direction": "LONG",
          "instrument": "ETF",
          "horizon": "Intraday",
          "confidence": 75,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+0.84%",
          "expected_return_pct": 0.84,
          "win_prob": 75.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 12.0
              },
              {
                "factor": "Gap",
                "key": "gap",
                "points": 5.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 4.0
              }
            ],
            "total": 75.0,
            "raw_total": 75.0,
            "was_clamped": false
          },
          "risk_reward": 0.55,
          "final_score": 0.15,
          "trade_action": "Pass",
          "relative_strength": 1.4,
          "entry": "Above 554.5 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 554.05,
          "entry_zone": {
            "low": 553.56,
            "high": 554.55,
            "mid": 554.05,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 554.55
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 553.56
              }
            ],
            "display": "Entry Zone 553.56–554.55",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "545.6 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 545.56,
          "target": "558.7 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 558.72,
          "targets": [
            "558.7 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 554.55,
            "orb_high": 553.56,
            "orb_low": 545.56,
            "prev_high": 542.11,
            "prev_low": 542.11,
            "prior_close": 542.11,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +1.40%",
            "Gap 未过度延伸",
            "Volume 信号",
            "VIX 回落",
            "期望R -0.06 < 0.20(EV门禁)"
          ],
          "why_chain": "RS vs QQQ +1.40% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 1.4,
            "relative_strength_vs_smh": 0.0,
            "relative_weakness_score": -1.4,
            "gap_pct": 1.49,
            "beta_proxy": 2.12,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -9.99,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Sector Edge",
          "score_formula_display": "final = win_prob(75%) × ER(0.4%) × rr_weight(0.5) / 100",
          "expected_high": 559.28,
          "expected_low": 545.56,
          "expected_close": 558.72,
          "current_price": 556.5,
          "upside_pct": 0.5,
          "downside_risk_pct": 1.97,
          "why_factors": [
            "RS vs QQQ +1.40%",
            "Gap 未过度延伸",
            "Volume 信号",
            "VIX 回落",
            "期望R -0.06 < 0.20(EV门禁)"
          ],
          "why_today": "RS vs QQQ +1.40% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
          "gap_pct": 1.49,
          "rr_display": {
            "reward_risk_ratio": 0.55,
            "risk_reward_ratio": 1.82,
            "reward_per_share": 4.67,
            "risk_per_share": 8.49,
            "label_reward_risk": "Reward/Risk 0.55",
            "label_risk_reward": "Risk:Reward 1:1.82",
            "display": "Reward/Risk 0.55 · Risk:Reward 1:1.82",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Fed Headlines",
          "invalidation": "Close below stop $545.56 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 554.05,
              "source": "vwap",
              "confidence": 98,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 554.55,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 553.56,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "current",
                  "label": "Above Current",
                  "price": 556.5,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 545.56,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 545.56,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 558.72,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 558.72,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(558.72-554.05)/554.05=0.84%",
          "heuristic_expected_return_pct": 0.4,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 SMH:在 554.05 附近入场,目标 558.72,预期 +0.84%",
          "expected_r": 0.1625,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 60.9,
            "shares": 11,
            "contracts": 0,
            "max_loss_usd": 93.39,
            "win_usd": 51.37,
            "loss_usd": 93.39,
            "expected_value_usd": 15.18,
            "risk_per_share": 8.49,
            "reward_per_share": 4.67,
            "rr_display": {
              "reward_risk_ratio": 0.55,
              "risk_reward_ratio": 1.82,
              "reward_per_share": 4.67,
              "risk_per_share": 8.49,
              "label_reward_risk": "Reward/Risk 0.55",
              "label_risk_reward": "Risk:Reward 1:1.82",
              "display": "Reward/Risk 0.55 · Risk:Reward 1:1.82",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$51 / Loss -$93"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 60.9,
            "contracts": 0,
            "shares": 11,
            "max_loss_usd": 93.39,
            "size_label": "None",
            "display": "Risk 1.0% → Position 60.9% → 11 unit(s) → Max Loss $93.39"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 75 vs 76",
                "ER 0.8% vs 1.3%",
                "Score 0.15 vs 0.51",
                "RS +1.4% vs +3.9%",
                "R:R 0.55 vs 0.33"
              ],
              "summary": "Why SMH over ARM: Win% 75 vs 76 · ER 0.8% vs 1.3% · Score 0.15 vs 0.51 · RS +1.4% vs +3.9% · R:R 0.55 vs 0.33"
            },
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "Win% 75 vs 76",
                "ER 0.8% vs 1.1%",
                "Score 0.15 vs 0.42",
                "RS +1.4% vs +3.2%",
                "R:R 0.55 vs 0.42"
              ],
              "summary": "Why SMH over AMD: Win% 75 vs 76 · ER 0.8% vs 1.1% · Score 0.15 vs 0.42 · RS +1.4% vs +3.2% · R:R 0.55 vs 0.42"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 75 vs 70",
                "ER 0.8% vs 0.7%",
                "Score 0.15 vs 0.25",
                "RS +1.4% vs +2.4%",
                "R:R 0.55 vs 0.2"
              ],
              "summary": "Why SMH over TQQQ: Win% 75 vs 70 · ER 0.8% vs 0.7% · Score 0.15 vs 0.25 · RS +1.4% vs +2.4% · R:R 0.55 vs 0.2"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "ER 0.8% vs 0.3%",
                "Score 0.15 vs 0.12",
                "RS +1.4% vs +1.1%",
                "R:R 0.55 vs 0.34"
              ],
              "summary": "Why SMH over NVDA: ER 0.8% vs 0.3% · Score 0.15 vs 0.12 · RS +1.4% vs +1.1% · R:R 0.55 vs 0.34"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 75 vs 70",
                "ER 0.8% vs 0.3%",
                "Score 0.15 vs 0.1",
                "RS +1.4% vs +0.7%",
                "R:R 0.55 vs 0.33"
              ],
              "summary": "Why SMH over TSLA: Win% 75 vs 70 · ER 0.8% vs 0.3% · Score 0.15 vs 0.1 · RS +1.4% vs +0.7% · R:R 0.55 vs 0.33"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 75.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 3,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": 15.18,
            "win_scenario_usd": 51.37,
            "loss_scenario_usd": 93.39,
            "win_prob_pct": 75.0,
            "display": "EV $+15 (win +$51 @ 75.0% · loss -$93)"
          },
          "entry_status": {
            "current_price": 556.5,
            "ideal_entry": 554.05,
            "distance_pct": 0.44,
            "remaining_er_pct": 0.4,
            "live_expected_return_pct": 0.4,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 553.56,
            "zone_high": 554.55,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 5,
          "symbol": "NVDA",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 75,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+0.42%",
          "expected_return_pct": 0.42,
          "win_prob": 75.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 12.0
              },
              {
                "factor": "Catalyst",
                "key": "catalyst",
                "points": 5.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 4.0
              }
            ],
            "total": 75.0,
            "raw_total": 75.0,
            "was_clamped": false
          },
          "risk_reward": 0.31,
          "final_score": 0.12,
          "trade_action": "Pass",
          "relative_strength": 1.05,
          "entry": "Above 216.9 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 216.83,
          "entry_zone": {
            "low": 216.76,
            "high": 216.9,
            "mid": 216.83,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 216.9
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 216.76
              }
            ],
            "display": "Entry Zone 216.76–216.90",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "213.9 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 213.9,
          "target": "217.8 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 217.75,
          "targets": [
            "217.8 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 216.9,
            "orb_high": 216.76,
            "orb_low": 213.9,
            "prev_high": 212.17,
            "prev_low": 212.17,
            "prior_close": 212.17,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +1.05%",
            "News 6",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.01 < 0.20(EV门禁)"
          ],
          "why_chain": "RS vs QQQ +1.05% · News 6 · Volume 信号 · VIX 回落",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 1.05,
            "relative_strength_vs_smh": -0.35,
            "relative_weakness_score": -0.84,
            "gap_pct": 1.94,
            "beta_proxy": 1.84,
            "volume_signal": true,
            "news_count": 6,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -9.99,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(75%) × ER(0.3%) × rr_weight(0.5) / 100",
          "expected_high": 218.13,
          "expected_low": 213.9,
          "expected_close": 217.75,
          "current_price": 217.05,
          "upside_pct": 0.5,
          "downside_risk_pct": 1.45,
          "why_factors": [
            "RS vs QQQ +1.05%",
            "News 6",
            "Volume 信号",
            "VIX 回落",
            "期望R 0.01 < 0.20(EV门禁)"
          ],
          "why_today": "RS vs QQQ +1.05% · News 6 · Volume 信号 · VIX 回落",
          "gap_pct": 1.94,
          "rr_display": {
            "reward_risk_ratio": 0.31,
            "risk_reward_ratio": 3.23,
            "reward_per_share": 0.92,
            "risk_per_share": 2.93,
            "label_reward_risk": "Reward/Risk 0.31",
            "label_risk_reward": "Risk:Reward 1:3.23",
            "display": "Reward/Risk 0.31 · Risk:Reward 1:3.23",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Fed Headlines",
          "invalidation": "Close below stop $213.9 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 216.83,
              "source": "vwap",
              "confidence": 98,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 216.9,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 216.76,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "current",
                  "label": "Above Current",
                  "price": 217.05,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 213.9,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 213.9,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 217.75,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 217.75,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(217.75-216.83)/216.83=0.42%",
          "heuristic_expected_return_pct": 0.32,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 NVDA:在 216.83 附近入场,目标 217.75,预期 +0.42%",
          "expected_r": -0.0175,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 73.7,
            "shares": 34,
            "contracts": 0,
            "max_loss_usd": 99.62,
            "win_usd": 31.28,
            "loss_usd": 99.62,
            "expected_value_usd": -1.45,
            "risk_per_share": 2.93,
            "reward_per_share": 0.92,
            "rr_display": {
              "reward_risk_ratio": 0.31,
              "risk_reward_ratio": 3.23,
              "reward_per_share": 0.92,
              "risk_per_share": 2.93,
              "label_reward_risk": "Reward/Risk 0.31",
              "label_risk_reward": "Risk:Reward 1:3.23",
              "display": "Reward/Risk 0.31 · Risk:Reward 1:3.23",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$31 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 73.7,
            "contracts": 0,
            "shares": 34,
            "max_loss_usd": 99.62,
            "size_label": "None",
            "display": "Risk 1.0% → Position 73.7% → 34 unit(s) → Max Loss $99.62"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "catalyst",
              "label": "Best Catalyst Alignment",
              "primary_value": 7.0,
              "runner_up_value": 5.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 75 vs 76",
                "ER 0.4% vs 1.3%",
                "Score 0.12 vs 0.51",
                "RS +1.1% vs +3.9%"
              ],
              "summary": "Why NVDA over ARM: Win% 75 vs 76 · ER 0.4% vs 1.3% · Score 0.12 vs 0.51 · RS +1.1% vs +3.9%"
            },
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "Win% 75 vs 76",
                "ER 0.4% vs 1.1%",
                "Score 0.12 vs 0.42",
                "RS +1.1% vs +3.2%"
              ],
              "summary": "Why NVDA over AMD: Win% 75 vs 76 · ER 0.4% vs 1.1% · Score 0.12 vs 0.42 · RS +1.1% vs +3.2%"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 75 vs 70",
                "ER 0.4% vs 0.7%",
                "Score 0.12 vs 0.25",
                "RS +1.1% vs +2.4%",
                "R:R 0.31 vs 0.2"
              ],
              "summary": "Why NVDA over TQQQ: Win% 75 vs 70 · ER 0.4% vs 0.7% · Score 0.12 vs 0.25 · RS +1.1% vs +2.4% · R:R 0.31 vs 0.2"
            },
            {
              "symbol": "SMH",
              "rank": 4,
              "reasons": [
                "ER 0.4% vs 0.4%",
                "Score 0.12 vs 0.15",
                "RS +1.1% vs +1.4%",
                "R:R 0.31 vs 0.25"
              ],
              "summary": "Why NVDA over SMH: ER 0.4% vs 0.4% · Score 0.12 vs 0.15 · RS +1.1% vs +1.4% · R:R 0.31 vs 0.25"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 75 vs 70",
                "ER 0.4% vs 0.3%",
                "Score 0.12 vs 0.1",
                "RS +1.1% vs +0.7%"
              ],
              "summary": "Why NVDA over TSLA: Win% 75 vs 70 · ER 0.4% vs 0.3% · Score 0.12 vs 0.1 · RS +1.1% vs +0.7%"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 75.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 3,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": -1.45,
            "win_scenario_usd": 31.28,
            "loss_scenario_usd": 99.62,
            "win_prob_pct": 75.0,
            "display": "EV $-1 (win +$31 @ 75.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 217.05,
            "ideal_entry": 216.83,
            "distance_pct": 0.1,
            "remaining_er_pct": 0.32,
            "live_expected_return_pct": 0.32,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 216.76,
            "zone_high": 216.9,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "TSLA",
          "rank": 6,
          "win_prob": 70.0,
          "expected_return_pct": 0.27,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.71% · Volume 信号 · VIX 回落 · 期望R -0.07 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "XLK",
          "rank": 7,
          "win_prob": 69.0,
          "expected_return_pct": 0.14,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.21% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "META",
          "rank": 8,
          "win_prob": 63.0,
          "expected_return_pct": 0.14,
          "trade_action": "Pass",
          "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 · 期望R -0.03 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "MU",
          "rank": 9,
          "win_prob": 69.0,
          "expected_return_pct": 0.09,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.60% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "AVGO",
          "rank": 10,
          "win_prob": 63.0,
          "expected_return_pct": 0.06,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.47% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
          "note": "Monitor — below trade threshold"
        }
      ],
      "advisory": true,
      "swing": {
        "symbol": "NVDA",
        "direction": "SHORT",
        "instrument": "Stock",
        "horizon": "Swing",
        "duration": "Swing (days–weeks)",
        "confidence": 80,
        "entry": "Near 217.7 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 217.7,
        "entry_zone": {
          "low": 217.05,
          "high": 221.46,
          "mid": 217.7,
          "display": "$217.05–$221.46",
          "source": "swing_pullback"
        },
        "stop": "229.0 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 228.99,
        "target": "202.7 (T1 ~6.9%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 202.65,
        "targets": [
          {
            "price": 202.65,
            "label": "T1",
            "pct": 6.91
          },
          {
            "price": 195.13,
            "label": "T2",
            "pct": 10.37
          }
        ],
        "expected_return_pct": 6.91,
        "expected_move": "+6.91%",
        "risk_reward": 1.33,
        "win_prob": 75.0,
        "final_score": 0.12,
        "swing_quality": 5.057,
        "atr": 7.5237,
        "atr_source": "ATR14",
        "level_formula": "stop=1.5–2×ATR or prior-week extreme; T1=max(5%, 2×ATR); T2=min(15%, max(10%, 3×ATR))",
        "current_price": 217.05,
        "why": [
          "高流动性波段标的 NVDA",
          "Prior day +0.0%",
          "5D momentum -4.3%",
          "RS vs QQQ +1.05%",
          "News/6 catalyst hints",
          "Swing score 5.1"
        ],
        "why_chain": "高流动性波段标的 NVDA · Prior day +0.0% · 5D momentum -4.3% · RS vs QQQ +1.05%",
        "invalidation": "Close beyond stop $228.99 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做空 NVDA:理想入场 $217.05–$221.46,止损 $228.99,目标 $202.65(约 +6.9%),持仓天数–数周",
        "one_liner": "波段做空 NVDA:理想入场 $217.05–$221.46,止损 $228.99,目标 $202.65(约 +6.9%),持仓天数–数周",
        "edge_type": "Stock Edge",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):Fed Headlines、Geopolitical Risk、Oil Selloff、Trade Policy",
        "catalyst": "Fed Headlines、Geopolitical Risk、Oil Selloff、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 盘前/开盘 +1.15%"
      },
      "sector_edge": {
        "edge": "YES",
        "why": "SMH 领先 QQQ +1.31%",
        "sector": "Semiconductor"
      },
      "stock_edge": {
        "edge": "YES",
        "why": "NVDA RS+新闻+量能",
        "symbol": "NVDA"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "ARM",
        "win_prob": 76.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 76.0,
          "raw_total": 76.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.33,
        "expected_high": 257.73,
        "expected_low": 243.98,
        "expected_close": 257.73,
        "current_price": 254.34,
        "upside_pct": 1.33,
        "downside_risk_pct": 4.07,
        "risk_reward": 0.33,
        "rr_display": {
          "reward_risk_ratio": 0.33,
          "risk_reward_ratio": 3.03,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.33",
          "label_risk_reward": "Risk:Reward 1:3.03",
          "display": "Reward/Risk 0.33 · Risk:Reward 1:3.03",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.0108,
        "final_score": 0.51,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.06,
        "relative_strength": 3.92,
        "relative_strength_vs_smh": 2.52,
        "relative_weakness_score": -5.43,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +3.92%",
          "RS vs SMH +2.52%",
          "Volume 信号",
          "VIX 回落",
          "期望R 0.01 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +3.92% · RS vs SMH +2.52% · Volume 信号 · VIX 回落",
        "score": 5,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.92,
          "relative_strength_vs_smh": 2.52,
          "relative_weakness_score": -5.43,
          "gap_pct": 3.06,
          "beta_proxy": 4.14,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(76%) × ER(1.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "ARM RS +3.9% vs AMD +3.2%;ER 1.3% vs 1.1%;higher beta (4.1 vs 3.6);relative strength",
        "advisory": true,
        "rank": 1,
        "direction": "LONG"
      },
      {
        "symbol": "AMD",
        "win_prob": 76.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 76.0,
          "raw_total": 76.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.12,
        "expected_high": 532.57,
        "expected_low": 512.5,
        "expected_close": 532.57,
        "current_price": 526.68,
        "upside_pct": 1.12,
        "downside_risk_pct": 2.69,
        "risk_reward": 0.42,
        "rr_display": {
          "reward_risk_ratio": 0.42,
          "risk_reward_ratio": 2.38,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.42",
          "label_risk_reward": "Risk:Reward 1:2.38",
          "display": "Reward/Risk 0.42 · Risk:Reward 1:2.38",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.0792,
        "final_score": 0.42,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.23,
        "relative_strength": 3.21,
        "relative_strength_vs_smh": 1.81,
        "relative_weakness_score": -4.3,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +3.21%",
          "RS vs SMH +1.81%",
          "Volume 信号",
          "VIX 回落",
          "期望R 0.08 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +3.21% · RS vs SMH +1.81% · Volume 信号 · VIX 回落",
        "score": 4,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.21,
          "relative_strength_vs_smh": 1.81,
          "relative_weakness_score": -4.3,
          "gap_pct": 3.23,
          "beta_proxy": 3.57,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(76%) × ER(1.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "direction": "LONG"
      },
      {
        "symbol": "TQQQ",
        "win_prob": 70.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 70.0,
          "raw_total": 70.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.7,
        "expected_high": 70.89,
        "expected_low": 67.93,
        "expected_close": 70.89,
        "current_price": 70.4,
        "upside_pct": 0.7,
        "downside_risk_pct": 3.51,
        "risk_reward": 0.2,
        "rr_display": {
          "reward_risk_ratio": 0.2,
          "risk_reward_ratio": 5.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.20",
          "label_risk_reward": "Risk:Reward 1:5.00",
          "display": "Reward/Risk 0.20 · Risk:Reward 1:5.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.16,
        "final_score": 0.25,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.71,
        "relative_strength": 2.43,
        "relative_strength_vs_smh": 1.03,
        "relative_weakness_score": -3.05,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +2.43%",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.16 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +2.43% · Volume 信号 · VIX 回落 · 期望R -0.16 < 0.20(EV门禁)",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 2.43,
          "relative_strength_vs_smh": 1.03,
          "relative_weakness_score": -3.05,
          "gap_pct": 2.71,
          "beta_proxy": 2.94,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(70%) × ER(0.7%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "LONG"
      },
      {
        "symbol": "SMH",
        "win_prob": 75.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 75.0,
          "raw_total": 75.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.4,
        "expected_high": 559.28,
        "expected_low": 545.56,
        "expected_close": 558.72,
        "current_price": 556.5,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.97,
        "risk_reward": 0.25,
        "rr_display": {
          "reward_risk_ratio": 0.25,
          "risk_reward_ratio": 4.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.25",
          "label_risk_reward": "Risk:Reward 1:4.00",
          "display": "Reward/Risk 0.25 · Risk:Reward 1:4.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.0625,
        "final_score": 0.15,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.49,
        "relative_strength": 1.4,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": -1.4,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.40%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.06 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +1.40% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.4,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": -1.4,
          "gap_pct": 1.49,
          "beta_proxy": 2.12,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(75%) × ER(0.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "LONG"
      },
      {
        "symbol": "NVDA",
        "win_prob": 75.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 75.0,
          "raw_total": 75.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.32,
        "expected_high": 218.13,
        "expected_low": 213.9,
        "expected_close": 217.75,
        "current_price": 217.05,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.45,
        "risk_reward": 0.34,
        "rr_display": {
          "reward_risk_ratio": 0.34,
          "risk_reward_ratio": 2.94,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.34",
          "label_risk_reward": "Risk:Reward 1:2.94",
          "display": "Reward/Risk 0.34 · Risk:Reward 1:2.94",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.005,
        "final_score": 0.12,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.94,
        "relative_strength": 1.05,
        "relative_strength_vs_smh": -0.35,
        "relative_weakness_score": -0.84,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.05%",
          "News 6",
          "Volume 信号",
          "VIX 回落",
          "期望R 0.01 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +1.05% · News 6 · Volume 信号 · VIX 回落",
        "score": 1,
        "news_count": 6,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.05,
          "relative_strength_vs_smh": -0.35,
          "relative_weakness_score": -0.84,
          "gap_pct": 1.94,
          "beta_proxy": 1.84,
          "volume_signal": true,
          "news_count": 6,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(75%) × ER(0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "LONG"
      },
      {
        "symbol": "TSLA",
        "win_prob": 70.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 70.0,
          "raw_total": 70.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.27,
        "expected_high": 365.39,
        "expected_low": 358.08,
        "expected_close": 364.57,
        "current_price": 363.57,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.51,
        "risk_reward": 0.33,
        "rr_display": {
          "reward_risk_ratio": 0.33,
          "risk_reward_ratio": 3.03,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.33",
          "label_risk_reward": "Risk:Reward 1:3.03",
          "display": "Reward/Risk 0.33 · Risk:Reward 1:3.03",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.069,
        "final_score": 0.1,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.66,
        "relative_strength": 0.71,
        "relative_strength_vs_smh": -0.69,
        "relative_weakness_score": -0.3,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.71%",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.07 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.71% · Volume 信号 · VIX 回落 · 期望R -0.07 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.71,
          "relative_strength_vs_smh": -0.69,
          "relative_weakness_score": -0.3,
          "gap_pct": 1.66,
          "beta_proxy": 1.57,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(70%) × ER(0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "LONG"
      },
      {
        "symbol": "XLK",
        "win_prob": 69.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 69.0,
          "raw_total": 69.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.14,
        "expected_high": 187.35,
        "expected_low": 183.93,
        "expected_close": 186.67,
        "current_price": 186.42,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.34,
        "risk_reward": 0.37,
        "rr_display": {
          "reward_risk_ratio": 0.37,
          "risk_reward_ratio": 2.7,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.37",
          "label_risk_reward": "Risk:Reward 1:2.70",
          "display": "Reward/Risk 0.37 · Risk:Reward 1:2.70",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.0547,
        "final_score": 0.05,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.18,
        "relative_strength": 0.21,
        "relative_strength_vs_smh": -1.19,
        "relative_weakness_score": 0.5,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.21%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.05 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.21% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.21,
          "relative_strength_vs_smh": -1.19,
          "relative_weakness_score": 0.5,
          "gap_pct": 1.18,
          "beta_proxy": 1.17,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(69%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "LONG"
      },
      {
        "symbol": "META",
        "win_prob": 63.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 63.0,
          "raw_total": 63.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.14,
        "expected_high": 683.0,
        "expected_low": 673.31,
        "expected_close": 680.56,
        "current_price": 679.6,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.93,
        "risk_reward": 0.54,
        "rr_display": {
          "reward_risk_ratio": 0.54,
          "risk_reward_ratio": 1.85,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.54",
          "label_risk_reward": "Risk:Reward 1:1.85",
          "display": "Reward/Risk 0.54 · Risk:Reward 1:1.85",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.0298,
        "final_score": 0.04,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.39,
        "relative_strength": 0.15,
        "relative_strength_vs_smh": -1.25,
        "relative_weakness_score": 0.6,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.03 < 0.20(EV门禁)"
        ],
        "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 · 期望R -0.03 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.15,
          "relative_strength_vs_smh": -1.25,
          "relative_weakness_score": 0.6,
          "gap_pct": 1.39,
          "beta_proxy": 1.12,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(63%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "LONG"
      },
      {
        "symbol": "MU",
        "win_prob": 69.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 69.0,
          "raw_total": 69.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.09,
        "expected_high": 949.47,
        "expected_low": 926.55,
        "expected_close": 945.57,
        "current_price": 944.75,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.93,
        "risk_reward": 0.26,
        "rr_display": {
          "reward_risk_ratio": 0.26,
          "risk_reward_ratio": 3.85,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.26",
          "label_risk_reward": "Risk:Reward 1:3.85",
          "display": "Reward/Risk 0.26 · Risk:Reward 1:3.85",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1306,
        "final_score": 0.03,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.79,
        "relative_strength": 0.6,
        "relative_strength_vs_smh": -0.8,
        "relative_weakness_score": -0.12,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.60%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.60% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.6,
          "relative_strength_vs_smh": -0.8,
          "relative_weakness_score": -0.12,
          "gap_pct": 0.79,
          "beta_proxy": 1.48,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(69%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "LONG"
      },
      {
        "symbol": "AVGO",
        "win_prob": 63.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 63.0,
          "raw_total": 63.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.06,
        "expected_high": 346.84,
        "expected_low": 339.51,
        "expected_close": 345.31,
        "current_price": 345.11,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.62,
        "risk_reward": 0.31,
        "rr_display": {
          "reward_risk_ratio": 0.31,
          "risk_reward_ratio": 3.23,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.31",
          "label_risk_reward": "Risk:Reward 1:3.23",
          "display": "Reward/Risk 0.31 · Risk:Reward 1:3.23",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1747,
        "final_score": 0.02,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.93,
        "relative_strength": 0.47,
        "relative_strength_vs_smh": -0.93,
        "relative_weakness_score": 0.09,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.47%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.17 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.47% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.47,
          "relative_strength_vs_smh": -0.93,
          "relative_weakness_score": 0.09,
          "gap_pct": 0.93,
          "beta_proxy": 1.38,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(63%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "LONG"
      },
      {
        "symbol": "QQQ",
        "win_prob": 63.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 63.0,
          "raw_total": 63.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.04,
        "expected_high": 716.94,
        "expected_low": 704.72,
        "expected_close": 713.68,
        "current_price": 713.37,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.21,
        "risk_reward": 0.41,
        "rr_display": {
          "reward_risk_ratio": 0.41,
          "risk_reward_ratio": 2.44,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.41",
          "label_risk_reward": "Risk:Reward 1:2.44",
          "display": "Reward/Risk 0.41 · Risk:Reward 1:2.44",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1117,
        "final_score": 0.01,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.55,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": -1.4,
        "relative_weakness_score": 0.84,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.11 < 0.20(EV门禁)"
        ],
        "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 · 期望R -0.11 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": -1.4,
          "relative_weakness_score": 0.84,
          "gap_pct": 0.55,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(63%) × ER(0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "LONG"
      },
      {
        "symbol": "AAPL",
        "win_prob": 68.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 68.0,
          "raw_total": 68.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.04,
        "expected_high": 335.65,
        "expected_low": 331.31,
        "expected_close": 333.84,
        "current_price": 333.98,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.1016,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.59,
        "relative_strength": -0.45,
        "relative_strength_vs_smh": -1.85,
        "relative_weakness_score": 1.56,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "News 1",
          "Volume 信号",
          "VIX 回落",
          "期望R 0.10 < 0.20(EV门禁)"
        ],
        "why": "Gap 未过度延伸 · News 1 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.45,
          "relative_strength_vs_smh": -1.85,
          "relative_weakness_score": 1.56,
          "gap_pct": 0.59,
          "beta_proxy": 0.64,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(68%) × ER(-0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 12,
        "direction": "LONG"
      },
      {
        "symbol": "GOOGL",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.13,
        "expected_high": 348.21,
        "expected_low": 342.87,
        "expected_close": 346.04,
        "current_price": 346.48,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.04,
        "risk_reward": 0.48,
        "rr_display": {
          "reward_risk_ratio": 0.48,
          "risk_reward_ratio": 2.08,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.48",
          "label_risk_reward": "Risk:Reward 1:2.08",
          "display": "Reward/Risk 0.48 · Risk:Reward 1:2.08",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2156,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.47,
        "relative_strength": -0.82,
        "relative_strength_vs_smh": -2.22,
        "relative_weakness_score": 2.15,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.82%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.22 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.82% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.82,
          "relative_strength_vs_smh": -2.22,
          "relative_weakness_score": 2.15,
          "gap_pct": 0.47,
          "beta_proxy": 0.34,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(53%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 13,
        "direction": "LONG"
      },
      {
        "symbol": "SPY",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.14,
        "expected_high": 764.77,
        "expected_low": 754.05,
        "expected_close": 759.94,
        "current_price": 760.97,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.91,
        "risk_reward": 0.55,
        "rr_display": {
          "reward_risk_ratio": 0.55,
          "risk_reward_ratio": 1.82,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.55",
          "label_risk_reward": "Risk:Reward 1:1.82",
          "display": "Reward/Risk 0.55 · Risk:Reward 1:1.82",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1785,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.26,
        "relative_strength": -0.78,
        "relative_strength_vs_smh": -2.18,
        "relative_weakness_score": 2.09,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.78%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.18 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.78% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.78,
          "relative_strength_vs_smh": -2.18,
          "relative_weakness_score": 2.09,
          "gap_pct": 0.26,
          "beta_proxy": 0.38,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(53%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 14,
        "direction": "LONG"
      },
      {
        "symbol": "AMZN",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.16,
        "expected_high": 250.81,
        "expected_low": 245.96,
        "expected_close": 249.15,
        "current_price": 249.56,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.44,
        "risk_reward": 0.35,
        "rr_display": {
          "reward_risk_ratio": 0.35,
          "risk_reward_ratio": 2.86,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.35",
          "label_risk_reward": "Risk:Reward 1:2.86",
          "display": "Reward/Risk 0.35 · Risk:Reward 1:2.86",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2845,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.08,
        "relative_strength": -0.79,
        "relative_strength_vs_smh": -2.19,
        "relative_weakness_score": 2.1,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.79%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.28 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.79% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.79,
          "relative_strength_vs_smh": -2.19,
          "relative_weakness_score": 2.1,
          "gap_pct": -0.08,
          "beta_proxy": 0.37,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(53%) × ER(-0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 15,
        "direction": "LONG"
      },
      {
        "symbol": "MSFT",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.32,
        "expected_high": 498.48,
        "expected_low": 490.3,
        "expected_close": 494.44,
        "current_price": 496.0,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.15,
        "risk_reward": 0.44,
        "rr_display": {
          "reward_risk_ratio": 0.44,
          "risk_reward_ratio": 2.27,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.44",
          "label_risk_reward": "Risk:Reward 1:2.27",
          "display": "Reward/Risk 0.44 · Risk:Reward 1:2.27",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2368,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.24,
        "relative_strength": -1.48,
        "relative_strength_vs_smh": -2.88,
        "relative_weakness_score": 3.21,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.48%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.24 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.48% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.48,
          "relative_strength_vs_smh": -2.88,
          "relative_weakness_score": 3.21,
          "gap_pct": -0.24,
          "beta_proxy": -0.18,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(53%) × ER(-0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 16,
        "direction": "LONG"
      },
      {
        "symbol": "DIA",
        "win_prob": 58.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 58.0,
          "raw_total": 58.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.34,
        "expected_high": 522.36,
        "expected_low": 515.22,
        "expected_close": 517.99,
        "current_price": 519.76,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.87,
        "risk_reward": 0.57,
        "rr_display": {
          "reward_risk_ratio": 0.57,
          "risk_reward_ratio": 1.75,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.57",
          "label_risk_reward": "Risk:Reward 1:1.75",
          "display": "Reward/Risk 0.57 · Risk:Reward 1:1.75",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.0894,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.43,
        "relative_strength": -1.53,
        "relative_strength_vs_smh": -2.93,
        "relative_weakness_score": 3.29,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.53%",
          "Gap 未过度延伸",
          "News 5",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.09 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.53% · Gap 未过度延伸 · News 5 · Volume 信号",
        "score": 0,
        "news_count": 5,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.53,
          "relative_strength_vs_smh": -2.93,
          "relative_weakness_score": 3.29,
          "gap_pct": -0.43,
          "beta_proxy": -0.22,
          "volume_signal": true,
          "news_count": 5,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(58%) × ER(-0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 17,
        "direction": "LONG"
      },
      {
        "symbol": "XLF",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.52,
        "expected_high": 56.54,
        "expected_low": 55.81,
        "expected_close": 55.97,
        "current_price": 56.26,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1414,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.74,
        "relative_strength": -2.29,
        "relative_strength_vs_smh": -3.69,
        "relative_weakness_score": 4.5,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -2.29%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.14 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -2.29% · Gap 未过度延伸 · Volume 信号 · VIX 回落",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.29,
          "relative_strength_vs_smh": -3.69,
          "relative_weakness_score": 4.5,
          "gap_pct": -0.74,
          "beta_proxy": -0.83,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(53%) × ER(-0.5%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 18,
        "direction": "LONG"
      },
      {
        "symbol": "XLE",
        "win_prob": 48.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 4.0
            }
          ],
          "total": 48.0,
          "raw_total": 48.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.08,
        "expected_high": 64.17,
        "expected_low": 63.16,
        "expected_close": 63.16,
        "current_price": 63.85,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.08,
        "risk_reward": 0.46,
        "rr_display": {
          "reward_risk_ratio": 0.46,
          "risk_reward_ratio": 2.17,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.46",
          "label_risk_reward": "Risk:Reward 1:2.17",
          "display": "Reward/Risk 0.46 · Risk:Reward 1:2.17",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2992,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.46,
        "relative_strength": -4.4,
        "relative_strength_vs_smh": -5.8,
        "relative_weakness_score": 7.88,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -4.40%",
          "Volume 信号",
          "VIX 回落",
          "期望R -0.30 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -4.40% · Volume 信号 · VIX 回落 · 期望R -0.30 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -4.4,
          "relative_strength_vs_smh": -5.8,
          "relative_weakness_score": 7.88,
          "gap_pct": -2.46,
          "beta_proxy": -2.52,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -9.99,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(48%) × ER(-1.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 19,
        "direction": "LONG"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": false,
      "action": "N/A"
    },
    "s7": {
      "actual_driver": "AI/Semiconductor",
      "attribution": {
        "ai": 0.607,
        "bond": 0.194,
        "oil": 0.0,
        "macro": 0.148,
        "other": 0.05,
        "splits": {}
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.607,
    "bond": 0.194,
    "oil": 0.0,
    "macro": 0.148,
    "other": 0.05,
    "splits": {}
  },
  "labels": {
    "actual_driver": "AI/Semiconductor",
    "agent_driver": "Fed Headlines",
    "agent_driver_type": "Fed",
    "corrected_driver_from_verify": null,
    "driver_splits": {},
    "hypothesis_correct": "部分对",
    "scenario_primary": "A",
    "scenario_actual": "A",
    "scenario_correct": true,
    "trade_recommendation": "—",
    "trade_direction": "NO TRADE",
    "primary_symbol": "—",
    "predicted_return_pct": null,
    "prediction_error_pct": null
  },
  "surprise": "AI/Semiconductor dominated more than typical day",
  "lesson": "AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量",
  "playbook_refs": [
    "Case-52"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}