← 全部 Cases · 今日流程

Market Case · 2026-07-15

Day 9

Day 9
9/9 Steps

当日催化剂

快照 2026-07-15T12:56:55
事件 预定 状态 实际值 Consensus Surprise 典型影响(参考) 实测反应
PPI 08:30 286.8 258.0 +11.2% ⬆️ PPI 高于预期 → 通胀传导预期升温 QQQ +0.1% / SMH -0.0% (5min post-release)

Regime · Hypothesis

R0 Regime
AI Expansion (82.0%)
Hypothesis
AI Chip Selloff dominates today despite macro tailwinds?
ID
H-2026-07-15-001

Labels · Attribution

真正 Driver
NFP + AI Chip Selloff
Hypothesis 结果
部分对
Scenario 预测
A
Scenario 实际
B
Scenario 命中
AI 贡献
60%
Bond
5%

Surprise · Lesson

Surprise:Split attribution: NFP 40% + Chip Selloff 60%; Bond mattered less than expected despite 10Y=4.62%

Lesson:当长期 AI Expansion Regime 与短期 Macro 利率利好(弱 NFP)冲突时,半导体风险仍可主导 Nasdaq;Dow/价值股可因利率改善走强;SMH -4.1% + QQQ -1.1%:半导体拖累纳指

Evidence / Counter

Evidence

  • VIX=16.4 (low fear)
  • Breadth 71% (broad participation)

Counter

Step 快捷入口

原始 JSON
{
  "date": "2026-07-15",
  "features": {
    "dgs10": 4.62,
    "dgs2": null,
    "vix": 16.42,
    "vix_chg": -0.48,
    "qqq_chg": -1.11,
    "smh_chg": -4.06,
    "nvda_chg": -2.37,
    "spy_chg": -0.13,
    "oil_chg": -1.75,
    "dxy_chg": -0.22,
    "breadth_proxy": 0.7142857142857143,
    "qqq_gap": 1.7141090847781557,
    "news_headline_count": 19,
    "news_bearish_ratio": 0.0,
    "news_ai_mentions": 52,
    "news_macro_mentions": 2,
    "news_oil_mentions": 0,
    "news_risk_mentions": 0
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-07-15-001",
    "statement": "AI Chip Selloff dominates today despite macro tailwinds?",
    "evidence": [
      "VIX=16.4 (low fear)",
      "Breadth 71% (broad participation)"
    ],
    "counter_evidence": [],
    "confidence": 0.81,
    "status": "待验证"
  },
  "morning": {
    "bias": "Neutral",
    "total": 0,
    "driver_type": "Macro",
    "daily_driver": "PPI",
    "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": "NVDA",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 77,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+0.34%",
          "expected_return_pct": 0.34,
          "win_prob": 77.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              },
              {
                "factor": "Catalyst",
                "key": "catalyst",
                "points": 5.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              }
            ],
            "total": 77.0,
            "raw_total": 77.0,
            "was_clamped": false
          },
          "risk_reward": 0.28,
          "final_score": 1.21,
          "trade_action": "Pass",
          "relative_strength": 1.6,
          "entry": "Above 213.2 (ORB高点)",
          "entry_source": "orb_high",
          "entry_price": 213.08,
          "entry_zone": {
            "low": 212.57,
            "high": 213.6,
            "mid": 213.08,
            "anchors": [
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 213.21
              }
            ],
            "display": "Entry Zone 213–214",
            "entry_source": "orb_high",
            "tolerance_pct": 0.3
          },
          "stop": "210.5 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 210.5,
          "target": "213.8 (预期高点)",
          "target_source": "expected_high",
          "target_price": 213.81,
          "targets": [
            "213.8 (预期高点)"
          ],
          "level_anchors": {
            "vwap": 211.19,
            "orb_high": 213.21,
            "orb_low": 210.5,
            "prev_high": 203.53,
            "prev_low": 203.53,
            "prior_close": 203.53,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +1.60%",
            "RS vs SMH +3.25%",
            "News 8",
            "Volume 信号"
          ],
          "why_chain": "RS vs QQQ +1.60% · RS vs SMH +3.25% · News 8 · Volume 信号",
          "why_vs_runner_up": "NVDA RS +1.6% vs META +3.9%;ER 1.0% vs 0.9%;Win% 77 vs 71;relative strength",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 1.6,
            "relative_strength_vs_smh": 3.25,
            "relative_weakness_score": -3.55,
            "gap_pct": 4.17,
            "beta_proxy": null,
            "volume_signal": true,
            "news_count": 8,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.48,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(77%) × ER(1.0%) × rr_weight(1.5) / 100",
          "expected_high": 213.81,
          "expected_low": 204.63,
          "expected_close": 208.95,
          "current_price": 206.79,
          "upside_pct": 3.39,
          "downside_risk_pct": 1.04,
          "why_factors": [
            "RS vs QQQ +1.60%",
            "RS vs SMH +3.25%",
            "News 8",
            "Volume 信号"
          ],
          "why_today": "RS vs QQQ +1.60% · RS vs SMH +3.25% · News 8 · Volume 信号",
          "gap_pct": 4.17,
          "rr_display": {
            "reward_risk_ratio": 0.28,
            "risk_reward_ratio": 3.57,
            "reward_per_share": 0.73,
            "risk_per_share": 2.58,
            "label_reward_risk": "Reward/Risk 0.28",
            "label_risk_reward": "Risk:Reward 1:3.57",
            "display": "Reward/Risk 0.28 · Risk:Reward 1:3.57",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "PPI · Oil Selloff",
          "invalidation": "Close below stop $210.5",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 213.08,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 213.21,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 210.5,
              "source": "orb_low",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 210.5,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 211.19,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 213.81,
              "source": "expected_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_high",
                  "label": "Expected High",
                  "price": 213.81,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(213.81-213.08)/213.08=0.34%",
          "heuristic_expected_return_pct": 1.04,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 NVDA:在 213.08 附近入场,目标 213.81,预期 +0.34%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 81.0,
            "shares": 38,
            "contracts": 0,
            "max_loss_usd": 98.04,
            "win_usd": 27.74,
            "loss_usd": 98.04,
            "expected_value_usd": -1.19,
            "risk_per_share": 2.58,
            "reward_per_share": 0.73,
            "rr_display": {
              "reward_risk_ratio": 0.28,
              "risk_reward_ratio": 3.57,
              "reward_per_share": 0.73,
              "risk_per_share": 2.58,
              "label_reward_risk": "Reward/Risk 0.28",
              "label_risk_reward": "Risk:Reward 1:3.57",
              "display": "Reward/Risk 0.28 · Risk:Reward 1:3.57",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$28 / Loss -$98"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 81.0,
            "contracts": 0,
            "shares": 38,
            "max_loss_usd": 98.04,
            "size_label": "None",
            "display": "Risk 1.0% → Position 81.0% → 38 unit(s) → Max Loss $98.04"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 77.0,
              "runner_up_value": 73.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "catalyst",
              "label": "Best Catalyst Alignment",
              "primary_value": 9.0,
              "runner_up_value": 3.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "META",
              "rank": 2,
              "reasons": [
                "Win% 77 vs 71",
                "ER 0.3% vs 0.9%",
                "Score 1.21 vs 0.31",
                "RS +1.6% vs +3.9%",
                "R:R 0.28 vs 0.23"
              ],
              "summary": "Why NVDA over META: Win% 77 vs 71 · ER 0.3% vs 0.9% · Score 1.21 vs 0.31 · RS +1.6% vs +3.9% · R:R 0.28 vs 0.23"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 77 vs 54",
                "ER 0.3% vs 0.4%",
                "Score 1.21 vs 0.3",
                "RS +1.6% vs -0.2%"
              ],
              "summary": "Why NVDA over TQQQ: Win% 77 vs 54 · ER 0.3% vs 0.4% · Score 1.21 vs 0.3 · RS +1.6% vs -0.2%"
            },
            {
              "symbol": "AVGO",
              "rank": 4,
              "reasons": [
                "Win% 77 vs 68",
                "ER 0.3% vs 0.7%",
                "Score 1.21 vs 0.25",
                "RS +1.6% vs +0.9%"
              ],
              "summary": "Why NVDA over AVGO: Win% 77 vs 68 · ER 0.3% vs 0.7% · Score 1.21 vs 0.25 · RS +1.6% vs +0.9%"
            },
            {
              "symbol": "AMD",
              "rank": 5,
              "reasons": [
                "Win% 77 vs 73",
                "ER 0.3% vs 0.6%",
                "Score 1.21 vs 0.22",
                "RS +1.6% vs +1.3%"
              ],
              "summary": "Why NVDA over AMD: Win% 77 vs 73 · ER 0.3% vs 0.6% · Score 1.21 vs 0.22 · RS +1.6% vs +1.3%"
            },
            {
              "symbol": "QQQ",
              "rank": 6,
              "reasons": [
                "Win% 77 vs 54",
                "ER 0.3% vs 0.1%",
                "Score 1.21 vs 0.08",
                "RS +1.6% vs +0.0%"
              ],
              "summary": "Why NVDA over QQQ: Win% 77 vs 54 · ER 0.3% vs 0.1% · Score 1.21 vs 0.08 · RS +1.6% vs +0.0%"
            }
          ],
          "rank_summary": "NVDA ranked #1 because highest probability + best catalyst alignment",
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 77.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": -1.19,
            "win_scenario_usd": 27.74,
            "loss_scenario_usd": 98.04,
            "win_prob_pct": 77.0,
            "display": "EV $-1 (win +$28 @ 77.0% · loss -$98)"
          },
          "entry_status": {
            "current_price": 206.79,
            "ideal_entry": 213.08,
            "distance_pct": -2.95,
            "remaining_er_pct": 3.39,
            "live_expected_return_pct": 3.39,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 212.57,
            "zone_high": 213.6,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 2,
          "symbol": "META",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 71,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+4.06%",
          "expected_return_pct": 4.06,
          "win_prob": 71.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
              }
            ],
            "total": 71.0,
            "raw_total": 71.0,
            "was_clamped": false
          },
          "risk_reward": 8.42,
          "final_score": 0.31,
          "trade_action": "Pass",
          "relative_strength": 3.9,
          "entry": "Above 661.2 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 661.38,
          "entry_zone": {
            "low": 661.25,
            "high": 661.5,
            "mid": 661.38,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 661.25
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 661.5
              }
            ],
            "display": "Entry Zone 661.25–661.50",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "658.2 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 658.19,
          "target": "688.3 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 688.26,
          "targets": [
            "688.3 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 661.25,
            "orb_high": 661.5,
            "orb_low": 658.19,
            "prev_high": 656.73,
            "prev_low": 656.73,
            "prior_close": 656.73,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +3.90%",
            "Gap 未过度延伸",
            "Volume 信号",
            "上行空间 <1.0%"
          ],
          "why_chain": "RS vs QQQ +3.90% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 3.9,
            "relative_strength_vs_smh": 5.55,
            "relative_weakness_score": -7.23,
            "gap_pct": 1.05,
            "beta_proxy": null,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.48,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(71%) × ER(0.9%) × rr_weight(0.5) / 100",
          "expected_high": 688.26,
          "expected_low": 656.66,
          "expected_close": 688.26,
          "current_price": 682.36,
          "upside_pct": 0.86,
          "downside_risk_pct": 3.77,
          "why_factors": [
            "RS vs QQQ +3.90%",
            "Gap 未过度延伸",
            "Volume 信号",
            "上行空间 <1.0%"
          ],
          "why_today": "RS vs QQQ +3.90% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
          "gap_pct": 1.05,
          "rr_display": {
            "reward_risk_ratio": 8.43,
            "risk_reward_ratio": 0.12,
            "reward_per_share": 26.88,
            "risk_per_share": 3.19,
            "label_reward_risk": "Reward/Risk 8.43",
            "label_risk_reward": "Risk:Reward 1:0.12",
            "display": "Reward/Risk 8.43 · Risk:Reward 1:0.12",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "PPI · Oil Selloff",
          "invalidation": "Close below stop $658.19",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 661.38,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 661.25,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 661.5,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 658.19,
              "source": "orb_low",
              "confidence": 98,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 658.19,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "prev_low",
                  "label": "Yesterday Low",
                  "price": 656.73,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 661.25,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 688.26,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 688.26,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(688.26-661.38)/661.38=4.06%",
          "heuristic_expected_return_pct": 0.86,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 META:在 661.38 附近入场,目标 688.26,预期 +4.06%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 31,
            "contracts": 0,
            "max_loss_usd": 98.89,
            "win_usd": 833.28,
            "loss_usd": 98.89,
            "expected_value_usd": 562.95,
            "risk_per_share": 3.19,
            "reward_per_share": 26.88,
            "rr_display": {
              "reward_risk_ratio": 8.43,
              "risk_reward_ratio": 0.12,
              "reward_per_share": 26.88,
              "risk_per_share": 3.19,
              "label_reward_risk": "Reward/Risk 8.43",
              "label_risk_reward": "Risk:Reward 1:0.12",
              "display": "Reward/Risk 8.43 · Risk:Reward 1:0.12",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$833 / Loss -$99"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 31,
            "max_loss_usd": 98.89,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 31 unit(s) → Max Loss $98.89"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": 3.9,
              "runner_up_value": 1.6,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 8.42,
              "runner_up_value": 6.81,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "NVDA",
              "rank": 1,
              "reasons": [
                "Win% 71 vs 77",
                "ER 4.1% vs 1.0%",
                "Score 0.31 vs 1.21",
                "RS +3.9% vs +1.6%",
                "R:R 8.42 vs 3.25"
              ],
              "summary": "Why META over NVDA: Win% 71 vs 77 · ER 4.1% vs 1.0% · Score 0.31 vs 1.21 · RS +3.9% vs +1.6% · R:R 8.42 vs 3.25"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 71 vs 54",
                "ER 4.1% vs 0.4%",
                "Score 0.31 vs 0.3",
                "RS +3.9% vs -0.2%",
                "R:R 8.42 vs 6.81"
              ],
              "summary": "Why META over TQQQ: Win% 71 vs 54 · ER 4.1% vs 0.4% · Score 0.31 vs 0.3 · RS +3.9% vs -0.2% · R:R 8.42 vs 6.81"
            },
            {
              "symbol": "AVGO",
              "rank": 4,
              "reasons": [
                "Win% 71 vs 68",
                "ER 4.1% vs 0.7%",
                "Score 0.31 vs 0.25",
                "RS +3.9% vs +0.9%",
                "R:R 8.42 vs 1.0"
              ],
              "summary": "Why META over AVGO: Win% 71 vs 68 · ER 4.1% vs 0.7% · Score 0.31 vs 0.25 · RS +3.9% vs +0.9% · R:R 8.42 vs 1.0"
            },
            {
              "symbol": "AMD",
              "rank": 5,
              "reasons": [
                "Win% 71 vs 73",
                "ER 4.1% vs 0.6%",
                "Score 0.31 vs 0.22",
                "RS +3.9% vs +1.3%",
                "R:R 8.42 vs 1.0"
              ],
              "summary": "Why META over AMD: Win% 71 vs 73 · ER 4.1% vs 0.6% · Score 0.31 vs 0.22 · RS +3.9% vs +1.3% · R:R 8.42 vs 1.0"
            },
            {
              "symbol": "QQQ",
              "rank": 6,
              "reasons": [
                "Win% 71 vs 54",
                "ER 4.1% vs 0.1%",
                "Score 0.31 vs 0.08",
                "RS +3.9% vs +0.0%",
                "R:R 8.42 vs 2.22"
              ],
              "summary": "Why META over QQQ: Win% 71 vs 54 · ER 4.1% vs 0.1% · Score 0.31 vs 0.08 · RS +3.9% vs +0.0% · R:R 8.42 vs 2.22"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 71.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 562.95,
            "win_scenario_usd": 833.28,
            "loss_scenario_usd": 98.89,
            "win_prob_pct": 71.0,
            "display": "EV $+563 (win +$833 @ 71.0% · loss -$99)"
          },
          "entry_status": {
            "current_price": 682.36,
            "ideal_entry": 661.38,
            "distance_pct": 3.17,
            "remaining_er_pct": 0.86,
            "live_expected_return_pct": 0.86,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 661.25,
            "zone_high": 661.5,
            "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": 54,
          "confidence_stars": "★★☆☆☆",
          "expected_move": "+5.36%",
          "expected_return_pct": 5.36,
          "win_prob": 54.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              }
            ],
            "total": 54.0,
            "raw_total": 54.0,
            "was_clamped": false
          },
          "risk_reward": 6.08,
          "final_score": 0.3,
          "trade_action": "Pass",
          "relative_strength": -0.17,
          "entry": "Above 72.5 (现价)",
          "entry_source": "current",
          "entry_price": 72.58,
          "entry_zone": {
            "low": 72.52,
            "high": 72.64,
            "mid": 72.58,
            "anchors": [
              {
                "source": "prev_high",
                "label": "昨日高点",
                "price": 72.64
              },
              {
                "source": "prev_low",
                "label": "昨日低点",
                "price": 72.64
              },
              {
                "source": "prior_close",
                "label": "昨收",
                "price": 72.64
              }
            ],
            "display": "Entry Zone 72.52–72.64",
            "entry_source": "current",
            "tolerance_pct": 0.3
          },
          "stop": "71.9 (预期低点)",
          "stop_source": "expected_low",
          "stop_price": 71.94,
          "target": "76.5 (预期高点)",
          "target_source": "expected_high",
          "target_price": 76.47,
          "targets": [
            "76.5 (预期高点)"
          ],
          "level_anchors": {
            "vwap": 76.09,
            "orb_high": 77.1,
            "orb_low": 75.02,
            "prev_high": 72.64,
            "prev_low": 72.64,
            "prior_close": 72.64,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "Volume 信号",
            "上行空间 <1.0%"
          ],
          "why_chain": "Volume 信号 · 上行空间 <1.0%",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -0.17,
            "relative_strength_vs_smh": 1.48,
            "relative_weakness_score": -0.72,
            "gap_pct": 5.08,
            "beta_proxy": null,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.48,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Index Edge",
          "score_formula_display": "final = win_prob(54%) × ER(0.4%) × rr_weight(1.5) / 100",
          "expected_high": 76.47,
          "expected_low": 71.94,
          "expected_close": 72.79,
          "current_price": 72.52,
          "upside_pct": 5.45,
          "downside_risk_pct": 0.8,
          "why_factors": [
            "Volume 信号",
            "上行空间 <1.0%"
          ],
          "why_today": "Volume 信号 · 上行空间 <1.0%",
          "gap_pct": 5.08,
          "rr_display": {
            "reward_risk_ratio": 6.08,
            "risk_reward_ratio": 0.16,
            "reward_per_share": 3.89,
            "risk_per_share": 0.64,
            "label_reward_risk": "Reward/Risk 6.08",
            "label_risk_reward": "Risk:Reward 1:0.16",
            "display": "Reward/Risk 6.08 · Risk:Reward 1:0.16",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "PPI · Oil Selloff",
          "invalidation": "Close below stop $71.94",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 72.58,
              "source": "current",
              "confidence": 79,
              "reasons": [
                {
                  "source": "prev_high",
                  "label": "Yesterday High",
                  "price": 72.64,
                  "weight_pct": 50.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "prior_close",
                  "label": "Prior Close",
                  "price": 72.64,
                  "weight_pct": 50.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 71.94,
              "source": "expected_low",
              "confidence": 55,
              "reasons": []
            },
            "target": {
              "price": 76.47,
              "source": "expected_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_high",
                  "label": "Expected High",
                  "price": 76.47,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(76.47-72.58)/72.58=5.36%",
          "heuristic_expected_return_pct": 0.37,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 TQQQ:在 72.58 附近入场,目标 76.47,预期 +5.36%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 156,
            "contracts": 0,
            "max_loss_usd": 99.84,
            "win_usd": 606.84,
            "loss_usd": 99.84,
            "expected_value_usd": 281.77,
            "risk_per_share": 0.64,
            "reward_per_share": 3.89,
            "rr_display": {
              "reward_risk_ratio": 6.08,
              "risk_reward_ratio": 0.16,
              "reward_per_share": 3.89,
              "risk_per_share": 0.64,
              "label_reward_risk": "Reward/Risk 6.08",
              "label_risk_reward": "Risk:Reward 1:0.16",
              "display": "Reward/Risk 6.08 · Risk:Reward 1:0.16",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$607 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 156,
            "max_loss_usd": 99.84,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 156 unit(s) → Max Loss $99.84"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 6.25,
              "runner_up_value": 6.17,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "liquidity",
              "label": "Highest Liquidity",
              "primary_value": 5.0,
              "runner_up_value": 5.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "NVDA",
              "rank": 1,
              "reasons": [
                "Win% 54 vs 77",
                "ER 5.4% vs 1.0%",
                "Score 0.3 vs 1.21",
                "RS -0.2% vs +1.6%",
                "R:R 6.08 vs 3.25"
              ],
              "summary": "Why TQQQ over NVDA: Win% 54 vs 77 · ER 5.4% vs 1.0% · Score 0.3 vs 1.21 · RS -0.2% vs +1.6% · R:R 6.08 vs 3.25"
            },
            {
              "symbol": "META",
              "rank": 2,
              "reasons": [
                "Win% 54 vs 71",
                "ER 5.4% vs 0.9%",
                "Score 0.3 vs 0.31",
                "RS -0.2% vs +3.9%",
                "R:R 6.08 vs 0.23"
              ],
              "summary": "Why TQQQ over META: Win% 54 vs 71 · ER 5.4% vs 0.9% · Score 0.3 vs 0.31 · RS -0.2% vs +3.9% · R:R 6.08 vs 0.23"
            },
            {
              "symbol": "AVGO",
              "rank": 4,
              "reasons": [
                "Win% 54 vs 68",
                "ER 5.4% vs 0.7%",
                "Score 0.3 vs 0.25",
                "RS -0.2% vs +0.9%",
                "R:R 6.08 vs 1.0"
              ],
              "summary": "Why TQQQ over AVGO: Win% 54 vs 68 · ER 5.4% vs 0.7% · Score 0.3 vs 0.25 · RS -0.2% vs +0.9% · R:R 6.08 vs 1.0"
            },
            {
              "symbol": "AMD",
              "rank": 5,
              "reasons": [
                "Win% 54 vs 73",
                "ER 5.4% vs 0.6%",
                "Score 0.3 vs 0.22",
                "RS -0.2% vs +1.3%",
                "R:R 6.08 vs 1.0"
              ],
              "summary": "Why TQQQ over AMD: Win% 54 vs 73 · ER 5.4% vs 0.6% · Score 0.3 vs 0.22 · RS -0.2% vs +1.3% · R:R 6.08 vs 1.0"
            },
            {
              "symbol": "QQQ",
              "rank": 6,
              "reasons": [
                "ER 5.4% vs 0.1%",
                "Score 0.3 vs 0.08",
                "RS -0.2% vs +0.0%",
                "R:R 6.08 vs 2.22"
              ],
              "summary": "Why TQQQ over QQQ: ER 5.4% vs 0.1% · Score 0.3 vs 0.08 · RS -0.2% vs +0.0% · R:R 6.08 vs 2.22"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 54.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 281.77,
            "win_scenario_usd": 606.84,
            "loss_scenario_usd": 99.84,
            "win_prob_pct": 54.0,
            "display": "EV $+282 (win +$607 @ 54.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 72.52,
            "ideal_entry": 72.58,
            "distance_pct": -0.08,
            "remaining_er_pct": 5.45,
            "live_expected_return_pct": 5.45,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 72.52,
            "zone_high": 72.64,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 4,
          "symbol": "AVGO",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 68,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+0.80%",
          "expected_return_pct": 0.8,
          "win_prob": 68.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              }
            ],
            "total": 68.0,
            "raw_total": 68.0,
            "was_clamped": false
          },
          "risk_reward": 0.74,
          "final_score": 0.25,
          "trade_action": "Pass",
          "relative_strength": 0.89,
          "entry": "Above 393.3 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 393.34,
          "entry_zone": {
            "low": 392.16,
            "high": 394.52,
            "mid": 393.34,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 393.34
              }
            ],
            "display": "Entry Zone 392–395",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "389.1 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 389.11,
          "target": "396.5 (预期高点)",
          "target_source": "expected_high",
          "target_price": 396.5,
          "targets": [
            "396.5 (预期高点)"
          ],
          "level_anchors": {
            "vwap": 393.34,
            "orb_high": 396.98,
            "orb_low": 389.11,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 389.11,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +0.89%",
            "RS vs SMH +2.54%",
            "上行空间 <1.0%"
          ],
          "why_chain": "RS vs QQQ +0.89% · RS vs SMH +2.54% · 上行空间 <1.0%",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 0.89,
            "relative_strength_vs_smh": 2.54,
            "relative_weakness_score": -2.41,
            "gap_pct": 1.85,
            "beta_proxy": null,
            "volume_signal": false,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.48,
            "prior_day_change_pct": 1.7
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(68%) × ER(0.7%) × rr_weight(0.5) / 100",
          "expected_high": 396.5,
          "expected_low": 388.64,
          "expected_close": 395.45,
          "current_price": 392.57,
          "upside_pct": 1.0,
          "downside_risk_pct": 1.0,
          "why_factors": [
            "RS vs QQQ +0.89%",
            "RS vs SMH +2.54%",
            "上行空间 <1.0%"
          ],
          "why_today": "RS vs QQQ +0.89% · RS vs SMH +2.54% · 上行空间 <1.0%",
          "gap_pct": 1.85,
          "rr_display": {
            "reward_risk_ratio": 0.75,
            "risk_reward_ratio": 1.33,
            "reward_per_share": 3.16,
            "risk_per_share": 4.23,
            "label_reward_risk": "Reward/Risk 0.75",
            "label_risk_reward": "Risk:Reward 1:1.33",
            "display": "Reward/Risk 0.75 · Risk:Reward 1:1.33",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "PPI · Oil Selloff",
          "invalidation": "Close below stop $389.11",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 393.34,
              "source": "vwap",
              "confidence": 77,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 393.34,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 389.11,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 389.11,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 396.5,
              "source": "expected_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_high",
                  "label": "Expected High",
                  "price": 396.5,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(396.5-393.34)/393.34=0.80%",
          "heuristic_expected_return_pct": 0.73,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 AVGO:在 393.34 附近入场,目标 396.5,预期 +0.80%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 90.5,
            "shares": 23,
            "contracts": 0,
            "max_loss_usd": 97.29,
            "win_usd": 72.68,
            "loss_usd": 97.29,
            "expected_value_usd": 18.29,
            "risk_per_share": 4.23,
            "reward_per_share": 3.16,
            "rr_display": {
              "reward_risk_ratio": 0.75,
              "risk_reward_ratio": 1.33,
              "reward_per_share": 3.16,
              "risk_per_share": 4.23,
              "label_reward_risk": "Reward/Risk 0.75",
              "label_risk_reward": "Risk:Reward 1:1.33",
              "display": "Reward/Risk 0.75 · Risk:Reward 1:1.33",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$73 / Loss -$97"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 90.5,
            "contracts": 0,
            "shares": 23,
            "max_loss_usd": 97.29,
            "size_label": "None",
            "display": "Risk 1.0% → Position 90.5% → 23 unit(s) → Max Loss $97.29"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "NVDA",
              "rank": 1,
              "reasons": [
                "Win% 68 vs 77",
                "ER 0.8% vs 1.0%",
                "Score 0.25 vs 1.21",
                "RS +0.9% vs +1.6%"
              ],
              "summary": "Why AVGO over NVDA: Win% 68 vs 77 · ER 0.8% vs 1.0% · Score 0.25 vs 1.21 · RS +0.9% vs +1.6%"
            },
            {
              "symbol": "META",
              "rank": 2,
              "reasons": [
                "Win% 68 vs 71",
                "ER 0.8% vs 0.9%",
                "Score 0.25 vs 0.31",
                "RS +0.9% vs +3.9%",
                "R:R 0.74 vs 0.23"
              ],
              "summary": "Why AVGO over META: Win% 68 vs 71 · ER 0.8% vs 0.9% · Score 0.25 vs 0.31 · RS +0.9% vs +3.9% · R:R 0.74 vs 0.23"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 68 vs 54",
                "ER 0.8% vs 0.4%",
                "Score 0.25 vs 0.3",
                "RS +0.9% vs -0.2%"
              ],
              "summary": "Why AVGO over TQQQ: Win% 68 vs 54 · ER 0.8% vs 0.4% · Score 0.25 vs 0.3 · RS +0.9% vs -0.2%"
            },
            {
              "symbol": "AMD",
              "rank": 5,
              "reasons": [
                "Win% 68 vs 73",
                "ER 0.8% vs 0.6%",
                "Score 0.25 vs 0.22",
                "RS +0.9% vs +1.3%"
              ],
              "summary": "Why AVGO over AMD: Win% 68 vs 73 · ER 0.8% vs 0.6% · Score 0.25 vs 0.22 · RS +0.9% vs +1.3%"
            },
            {
              "symbol": "QQQ",
              "rank": 6,
              "reasons": [
                "Win% 68 vs 54",
                "ER 0.8% vs 0.1%",
                "Score 0.25 vs 0.08",
                "RS +0.9% vs +0.0%"
              ],
              "summary": "Why AVGO over QQQ: Win% 68 vs 54 · ER 0.8% vs 0.1% · Score 0.25 vs 0.08 · RS +0.9% vs +0.0%"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 68.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 18.29,
            "win_scenario_usd": 72.68,
            "loss_scenario_usd": 97.29,
            "win_prob_pct": 68.0,
            "display": "EV $+18 (win +$73 @ 68.0% · loss -$97)"
          },
          "entry_status": {
            "current_price": 392.57,
            "ideal_entry": 393.34,
            "distance_pct": -0.2,
            "remaining_er_pct": 1.0,
            "live_expected_return_pct": 1.0,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 392.16,
            "zone_high": 394.52,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 5,
          "symbol": "AMD",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 73,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.40%",
          "expected_return_pct": 1.4,
          "win_prob": 73.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              },
              {
                "factor": "Catalyst",
                "key": "catalyst",
                "points": 5.0
              }
            ],
            "total": 73.0,
            "raw_total": 73.0,
            "was_clamped": false
          },
          "risk_reward": 3.32,
          "final_score": 0.22,
          "trade_action": "Pass",
          "relative_strength": 1.34,
          "entry": "Above 553.3 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 553.33,
          "entry_zone": {
            "low": 551.67,
            "high": 554.99,
            "mid": 553.33,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 553.33
              }
            ],
            "display": "Entry Zone 552–555",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "551.0 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 551.0,
          "target": "561.0 (预期高点)",
          "target_source": "expected_high",
          "target_price": 561.05,
          "targets": [
            "561.0 (预期高点)"
          ],
          "level_anchors": {
            "vwap": 553.33,
            "orb_high": 560.0,
            "orb_low": 551.0,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 548.13,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +1.34%",
            "RS vs SMH +2.99%",
            "News 2",
            "上行空间 <1.0%"
          ],
          "why_chain": "RS vs QQQ +1.34% · RS vs SMH +2.99% · News 2 · 上行空间 <1.0%",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 1.34,
            "relative_strength_vs_smh": 2.99,
            "relative_weakness_score": -3.13,
            "gap_pct": 1.6,
            "beta_proxy": null,
            "volume_signal": false,
            "news_count": 2,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.48,
            "prior_day_change_pct": -2.63
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(73%) × ER(0.6%) × rr_weight(0.5) / 100",
          "expected_high": 561.05,
          "expected_low": 549.95,
          "expected_close": 558.82,
          "current_price": 555.5,
          "upside_pct": 1.0,
          "downside_risk_pct": 1.0,
          "why_factors": [
            "RS vs QQQ +1.34%",
            "RS vs SMH +2.99%",
            "News 2",
            "上行空间 <1.0%"
          ],
          "why_today": "RS vs QQQ +1.34% · RS vs SMH +2.99% · News 2 · 上行空间 <1.0%",
          "gap_pct": 1.6,
          "rr_display": {
            "reward_risk_ratio": 3.31,
            "risk_reward_ratio": 0.3,
            "reward_per_share": 7.72,
            "risk_per_share": 2.33,
            "label_reward_risk": "Reward/Risk 3.31",
            "label_risk_reward": "Risk:Reward 1:0.30",
            "display": "Reward/Risk 3.31 · Risk:Reward 1:0.30",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "PPI · Oil Selloff",
          "invalidation": "Close below stop $551.0",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 553.33,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 553.33,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "current",
                  "label": "Above Current",
                  "price": 555.5,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 551.0,
              "source": "orb_low",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 551.0,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 553.33,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 561.05,
              "source": "expected_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_high",
                  "label": "Expected High",
                  "price": 561.05,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(561.05-553.33)/553.33=1.40%",
          "heuristic_expected_return_pct": 0.6,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 AMD:在 553.33 附近入场,目标 561.05,预期 +1.40%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 42,
            "contracts": 0,
            "max_loss_usd": 97.86,
            "win_usd": 324.24,
            "loss_usd": 97.86,
            "expected_value_usd": 210.27,
            "risk_per_share": 2.33,
            "reward_per_share": 7.72,
            "rr_display": {
              "reward_risk_ratio": 3.31,
              "risk_reward_ratio": 0.3,
              "reward_per_share": 7.72,
              "risk_per_share": 2.33,
              "label_reward_risk": "Reward/Risk 3.31",
              "label_risk_reward": "Risk:Reward 1:0.30",
              "display": "Reward/Risk 3.31 · Risk:Reward 1:0.30",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$324 / Loss -$98"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 42,
            "max_loss_usd": 97.86,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 42 unit(s) → Max Loss $97.86"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "NVDA",
              "rank": 1,
              "reasons": [
                "Win% 73 vs 77",
                "ER 1.4% vs 1.0%",
                "Score 0.22 vs 1.21",
                "RS +1.3% vs +1.6%",
                "R:R 3.32 vs 3.25"
              ],
              "summary": "Why AMD over NVDA: Win% 73 vs 77 · ER 1.4% vs 1.0% · Score 0.22 vs 1.21 · RS +1.3% vs +1.6% · R:R 3.32 vs 3.25"
            },
            {
              "symbol": "META",
              "rank": 2,
              "reasons": [
                "Win% 73 vs 71",
                "ER 1.4% vs 0.9%",
                "Score 0.22 vs 0.31",
                "RS +1.3% vs +3.9%",
                "R:R 3.32 vs 0.23"
              ],
              "summary": "Why AMD over META: Win% 73 vs 71 · ER 1.4% vs 0.9% · Score 0.22 vs 0.31 · RS +1.3% vs +3.9% · R:R 3.32 vs 0.23"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 73 vs 54",
                "ER 1.4% vs 0.4%",
                "Score 0.22 vs 0.3",
                "RS +1.3% vs -0.2%"
              ],
              "summary": "Why AMD over TQQQ: Win% 73 vs 54 · ER 1.4% vs 0.4% · Score 0.22 vs 0.3 · RS +1.3% vs -0.2%"
            },
            {
              "symbol": "AVGO",
              "rank": 4,
              "reasons": [
                "Win% 73 vs 68",
                "ER 1.4% vs 0.7%",
                "Score 0.22 vs 0.25",
                "RS +1.3% vs +0.9%",
                "R:R 3.32 vs 1.0"
              ],
              "summary": "Why AMD over AVGO: Win% 73 vs 68 · ER 1.4% vs 0.7% · Score 0.22 vs 0.25 · RS +1.3% vs +0.9% · R:R 3.32 vs 1.0"
            },
            {
              "symbol": "QQQ",
              "rank": 6,
              "reasons": [
                "Win% 73 vs 54",
                "ER 1.4% vs 0.1%",
                "Score 0.22 vs 0.08",
                "RS +1.3% vs +0.0%",
                "R:R 3.32 vs 2.22"
              ],
              "summary": "Why AMD over QQQ: Win% 73 vs 54 · ER 1.4% vs 0.1% · Score 0.22 vs 0.08 · RS +1.3% vs +0.0% · R:R 3.32 vs 2.22"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 73.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 210.27,
            "win_scenario_usd": 324.24,
            "loss_scenario_usd": 97.86,
            "win_prob_pct": 73.0,
            "display": "EV $+210 (win +$324 @ 73.0% · loss -$98)"
          },
          "entry_status": {
            "current_price": 555.5,
            "ideal_entry": 553.33,
            "distance_pct": 0.39,
            "remaining_er_pct": 1.0,
            "live_expected_return_pct": 1.0,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 551.67,
            "zone_high": 554.99,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "QQQ",
          "rank": 6,
          "win_prob": 54.0,
          "expected_return_pct": 0.14,
          "trade_action": "Pass",
          "why": "Volume 信号 · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "ARM",
          "rank": 7,
          "win_prob": 68.0,
          "expected_return_pct": 0.21,
          "trade_action": "Pass",
          "why": "RS vs QQQ +1.36% · RS vs SMH +3.01% · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "SPY",
          "rank": 8,
          "win_prob": 65.0,
          "expected_return_pct": 0.1,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.22% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "TSLA",
          "rank": 9,
          "win_prob": 49.0,
          "expected_return_pct": -0.03,
          "trade_action": "Pass",
          "why": "RS 弱于 QQQ -0.61% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "SMH",
          "rank": 10,
          "win_prob": 44.0,
          "expected_return_pct": -0.04,
          "trade_action": "Pass",
          "why": "RS 弱于 QQQ -1.65% · Volume 信号 · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        }
      ],
      "advisory": true,
      "swing": {
        "symbol": "META",
        "direction": "LONG",
        "instrument": "Stock",
        "horizon": "Swing",
        "duration": "Swing (days–weeks)",
        "confidence": 76,
        "entry": "Near 680.3 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 680.31,
        "entry_zone": {
          "low": 665.92,
          "high": 682.36,
          "mid": 680.31,
          "display": "$665.92–$682.36",
          "source": "swing_pullback"
        },
        "stop": "637.1 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 637.14,
        "target": "737.9 (T1 ~8.5%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 737.87,
        "targets": [
          {
            "price": 737.87,
            "label": "T1",
            "pct": 8.46
          },
          {
            "price": 766.65,
            "label": "T2",
            "pct": 12.69
          }
        ],
        "expected_return_pct": 8.46,
        "expected_move": "+8.46%",
        "risk_reward": 1.33,
        "win_prob": 71.0,
        "final_score": 0.31,
        "swing_quality": 6.659,
        "atr": 28.7814,
        "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": 682.36,
        "why": [
          "高流动性波段标的 META",
          "Prior day +0.0%",
          "5D momentum +12.0%",
          "RS vs QQQ +3.90%",
          "Swing score 6.7"
        ],
        "why_chain": "高流动性波段标的 META · Prior day +0.0% · 5D momentum +12.0% · RS vs QQQ +3.90%",
        "invalidation": "Close beyond stop $637.14 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做多 META:理想入场 $665.92–$682.36,止损 $637.14,目标 $737.87(约 +8.5%),持仓天数–数周",
        "one_liner": "波段做多 META:理想入场 $665.92–$682.36,止损 $637.14,目标 $737.87(约 +8.5%),持仓天数–数周",
        "edge_type": "Stock Edge",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):PPI、Oil Selloff、Trade Policy",
        "catalyst": "PPI、Oil Selloff、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "SPY 盘前/开盘 +0.22%"
      },
      "sector_edge": {
        "edge": "NO",
        "why": "板块相对强度不足"
      },
      "stock_edge": {
        "edge": "YES",
        "why": "AAPL RS+新闻+量能",
        "symbol": "AAPL"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "NVDA",
        "win_prob": 77.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 77.0,
          "raw_total": 77.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.04,
        "expected_high": 213.81,
        "expected_low": 204.63,
        "expected_close": 208.95,
        "current_price": 206.79,
        "upside_pct": 3.39,
        "downside_risk_pct": 1.04,
        "risk_reward": 3.25,
        "rr_display": {
          "reward_risk_ratio": 3.25,
          "risk_reward_ratio": 0.31,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.25",
          "label_risk_reward": "Risk:Reward 1:0.31",
          "display": "Reward/Risk 3.25 · Risk:Reward 1:0.31",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 1.21,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 4.17,
        "relative_strength": 1.6,
        "relative_strength_vs_smh": 3.25,
        "relative_weakness_score": -3.55,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.60%",
          "RS vs SMH +3.25%",
          "News 8",
          "Volume 信号"
        ],
        "why": "RS vs QQQ +1.60% · RS vs SMH +3.25% · News 8 · Volume 信号",
        "score": 12,
        "news_count": 8,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.6,
          "relative_strength_vs_smh": 3.25,
          "relative_weakness_score": -3.55,
          "gap_pct": 4.17,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 8,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(77%) × ER(1.0%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "NVDA RS +1.6% vs META +3.9%;ER 1.0% vs 0.9%;Win% 77 vs 71;relative strength",
        "advisory": true,
        "rank": 1,
        "direction": "LONG"
      },
      {
        "symbol": "META",
        "win_prob": 71.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
            }
          ],
          "total": 71.0,
          "raw_total": 71.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.86,
        "expected_high": 688.26,
        "expected_low": 656.66,
        "expected_close": 688.26,
        "current_price": 682.36,
        "upside_pct": 0.86,
        "downside_risk_pct": 3.77,
        "risk_reward": 0.23,
        "rr_display": {
          "reward_risk_ratio": 0.23,
          "risk_reward_ratio": 4.35,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.23",
          "label_risk_reward": "Risk:Reward 1:4.35",
          "display": "Reward/Risk 0.23 · Risk:Reward 1:4.35",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.31,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.05,
        "relative_strength": 3.9,
        "relative_strength_vs_smh": 5.55,
        "relative_weakness_score": -7.23,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +3.90%",
          "Gap 未过度延伸",
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "RS vs QQQ +3.90% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
        "score": 3,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.9,
          "relative_strength_vs_smh": 5.55,
          "relative_weakness_score": -7.23,
          "gap_pct": 1.05,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(71%) × ER(0.9%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "direction": "LONG"
      },
      {
        "symbol": "TQQQ",
        "win_prob": 54.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 54.0,
          "raw_total": 54.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.37,
        "expected_high": 76.47,
        "expected_low": 71.94,
        "expected_close": 72.79,
        "current_price": 72.52,
        "upside_pct": 5.45,
        "downside_risk_pct": 0.8,
        "risk_reward": 6.81,
        "rr_display": {
          "reward_risk_ratio": 6.81,
          "risk_reward_ratio": 0.15,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 6.81",
          "label_risk_reward": "Risk:Reward 1:0.15",
          "display": "Reward/Risk 6.81 · Risk:Reward 1:0.15",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.3,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 5.08,
        "relative_strength": -0.17,
        "relative_strength_vs_smh": 1.48,
        "relative_weakness_score": -0.72,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "Volume 信号 · 上行空间 <1.0%",
        "score": 3,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.17,
          "relative_strength_vs_smh": 1.48,
          "relative_weakness_score": -0.72,
          "gap_pct": 5.08,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(54%) × ER(0.4%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "LONG"
      },
      {
        "symbol": "AVGO",
        "win_prob": 68.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            }
          ],
          "total": 68.0,
          "raw_total": 68.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.73,
        "expected_high": 396.5,
        "expected_low": 388.64,
        "expected_close": 395.45,
        "current_price": 392.57,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.25,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.85,
        "relative_strength": 0.89,
        "relative_strength_vs_smh": 2.54,
        "relative_weakness_score": -2.41,
        "prior_day_change_pct": 1.7,
        "why_factors": [
          "RS vs QQQ +0.89%",
          "RS vs SMH +2.54%",
          "上行空间 <1.0%"
        ],
        "why": "RS vs QQQ +0.89% · RS vs SMH +2.54% · 上行空间 <1.0%",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.89,
          "relative_strength_vs_smh": 2.54,
          "relative_weakness_score": -2.41,
          "gap_pct": 1.85,
          "beta_proxy": null,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 1.7
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(68%) × ER(0.7%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "LONG"
      },
      {
        "symbol": "AMD",
        "win_prob": 73.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            }
          ],
          "total": 73.0,
          "raw_total": 73.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.6,
        "expected_high": 561.05,
        "expected_low": 549.95,
        "expected_close": 558.82,
        "current_price": 555.5,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.22,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.6,
        "relative_strength": 1.34,
        "relative_strength_vs_smh": 2.99,
        "relative_weakness_score": -3.13,
        "prior_day_change_pct": -2.63,
        "why_factors": [
          "RS vs QQQ +1.34%",
          "RS vs SMH +2.99%",
          "News 2",
          "上行空间 <1.0%"
        ],
        "why": "RS vs QQQ +1.34% · RS vs SMH +2.99% · News 2 · 上行空间 <1.0%",
        "score": 2,
        "news_count": 2,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.34,
          "relative_strength_vs_smh": 2.99,
          "relative_weakness_score": -3.13,
          "gap_pct": 1.6,
          "beta_proxy": null,
          "volume_signal": false,
          "news_count": 2,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": -2.63
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(73%) × ER(0.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "LONG"
      },
      {
        "symbol": "QQQ",
        "win_prob": 54.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 54.0,
          "raw_total": 54.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.14,
        "expected_high": 724.35,
        "expected_low": 706.04,
        "expected_close": 712.7,
        "current_price": 711.73,
        "upside_pct": 1.77,
        "downside_risk_pct": 0.8,
        "risk_reward": 2.22,
        "rr_display": {
          "reward_risk_ratio": 2.22,
          "risk_reward_ratio": 0.45,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 2.22",
          "label_risk_reward": "Risk:Reward 1:0.45",
          "display": "Reward/Risk 2.22 · Risk:Reward 1:0.45",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.08,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.71,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": 1.65,
        "relative_weakness_score": -0.99,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "Volume 信号 · 上行空间 <1.0%",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": 1.65,
          "relative_weakness_score": -0.99,
          "gap_pct": 1.71,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(54%) × ER(0.1%) × rr_weight(1.11) / 100",
        "rr_weight": 1.11,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "LONG"
      },
      {
        "symbol": "ARM",
        "win_prob": 68.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            }
          ],
          "total": 68.0,
          "raw_total": 68.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.21,
        "expected_high": 287.85,
        "expected_low": 282.15,
        "expected_close": 285.6,
        "current_price": 285.0,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.07,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.06,
        "relative_strength": 1.36,
        "relative_strength_vs_smh": 3.01,
        "relative_weakness_score": -3.17,
        "prior_day_change_pct": -9.78,
        "why_factors": [
          "RS vs QQQ +1.36%",
          "RS vs SMH +3.01%",
          "上行空间 <1.0%"
        ],
        "why": "RS vs QQQ +1.36% · RS vs SMH +3.01% · 上行空间 <1.0%",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.36,
          "relative_strength_vs_smh": 3.01,
          "relative_weakness_score": -3.17,
          "gap_pct": 2.06,
          "beta_proxy": null,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": -9.78
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(68%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "LONG"
      },
      {
        "symbol": "SPY",
        "win_prob": 65.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
            }
          ],
          "total": 65.0,
          "raw_total": 65.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.1,
        "expected_high": 755.58,
        "expected_low": 744.82,
        "expected_close": 751.57,
        "current_price": 750.83,
        "upside_pct": 0.63,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.79,
        "rr_display": {
          "reward_risk_ratio": 0.79,
          "risk_reward_ratio": 1.27,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.79",
          "label_risk_reward": "Risk:Reward 1:1.27",
          "display": "Reward/Risk 0.79 · Risk:Reward 1:1.27",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.03,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.68,
        "relative_strength": 0.22,
        "relative_strength_vs_smh": 1.87,
        "relative_weakness_score": -1.34,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.22%",
          "Gap 未过度延伸",
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "RS vs QQQ +0.22% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.22,
          "relative_strength_vs_smh": 1.87,
          "relative_weakness_score": -1.34,
          "gap_pct": 0.68,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(65%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "LONG"
      },
      {
        "symbol": "TSLA",
        "win_prob": 49.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
            }
          ],
          "total": 49.0,
          "raw_total": 49.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.03,
        "expected_high": 406.59,
        "expected_low": 389.22,
        "expected_close": 392.25,
        "current_price": 392.36,
        "upside_pct": 3.63,
        "downside_risk_pct": 0.8,
        "risk_reward": 4.53,
        "rr_display": {
          "reward_risk_ratio": 4.53,
          "risk_reward_ratio": 0.22,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 4.53",
          "label_risk_reward": "Risk:Reward 1:0.22",
          "display": "Reward/Risk 4.53 · Risk:Reward 1:0.22",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.17,
        "relative_strength": -0.61,
        "relative_strength_vs_smh": 1.04,
        "relative_weakness_score": -0.01,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.61%",
          "Gap 未过度延伸",
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "RS 弱于 QQQ -0.61% · Gap 未过度延伸 · Volume 信号 · 上行空间 <1.0%",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.61,
          "relative_strength_vs_smh": 1.04,
          "relative_weakness_score": -0.01,
          "gap_pct": 1.17,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(49%) × ER(-0.0%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "LONG"
      },
      {
        "symbol": "SMH",
        "win_prob": 44.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
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.04,
        "expected_high": 606.88,
        "expected_low": 571.32,
        "expected_close": 575.69,
        "current_price": 575.93,
        "upside_pct": 5.37,
        "downside_risk_pct": 0.8,
        "risk_reward": 6.72,
        "rr_display": {
          "reward_risk_ratio": 6.72,
          "risk_reward_ratio": 0.15,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 6.72",
          "label_risk_reward": "Risk:Reward 1:0.15",
          "display": "Reward/Risk 6.72 · Risk:Reward 1:0.15",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.61,
        "relative_strength": -1.65,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": 1.65,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.65%",
          "Volume 信号",
          "上行空间 <1.0%"
        ],
        "why": "RS 弱于 QQQ -1.65% · Volume 信号 · 上行空间 <1.0%",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.65,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": 1.65,
          "gap_pct": 3.61,
          "beta_proxy": null,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(44%) × ER(-0.0%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "LONG"
      },
      {
        "symbol": "MU",
        "win_prob": 46.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -4.0
            }
          ],
          "total": 46.0,
          "raw_total": 46.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.15,
        "expected_high": 986.47,
        "expected_low": 966.93,
        "expected_close": 975.27,
        "current_price": 976.7,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.79,
        "relative_strength": -0.65,
        "relative_strength_vs_smh": 1.0,
        "relative_weakness_score": 0.05,
        "prior_day_change_pct": -4.66,
        "why_factors": [
          "RS 弱于 QQQ -0.65%",
          "RS vs SMH +1.00%",
          "上行空间 <1.0%"
        ],
        "why": "RS 弱于 QQQ -0.65% · RS vs SMH +1.00% · 上行空间 <1.0%",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.65,
          "relative_strength_vs_smh": 1.0,
          "relative_weakness_score": 0.05,
          "gap_pct": 1.79,
          "beta_proxy": null,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.48,
          "prior_day_change_pct": -4.66
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(46%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "LONG"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": false,
      "action": "N/A"
    },
    "s7": {
      "actual_driver": "NFP + AI Chip Selloff",
      "attribution": {
        "ai": 0.6,
        "bond": 0.048,
        "oil": 0.044,
        "macro": 0.4,
        "other": 0.0,
        "splits": {
          "NFP": 0.4,
          "AI Chip Selloff": 0.6
        }
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.6,
    "bond": 0.048,
    "oil": 0.044,
    "macro": 0.4,
    "other": 0.0,
    "splits": {
      "NFP": 0.4,
      "AI Chip Selloff": 0.6
    }
  },
  "labels": {
    "actual_driver": "NFP + AI Chip Selloff",
    "agent_driver": "PPI",
    "agent_driver_type": "Macro",
    "corrected_driver_from_verify": null,
    "driver_splits": {
      "NFP": 0.4,
      "AI Chip Selloff": 0.6
    },
    "hypothesis_correct": "部分对",
    "scenario_primary": "A",
    "scenario_actual": "B",
    "scenario_correct": false,
    "trade_recommendation": "—",
    "trade_direction": "NO TRADE",
    "primary_symbol": "—",
    "predicted_return_pct": null,
    "prediction_error_pct": null
  },
  "surprise": "Split attribution: NFP 40% + Chip Selloff 60%; Bond mattered less than expected despite 10Y=4.62%",
  "lesson": "当长期 AI Expansion Regime 与短期 Macro 利率利好(弱 NFP)冲突时,半导体风险仍可主导 Nasdaq;Dow/价值股可因利率改善走强;SMH -4.1% + QQQ -1.1%:半导体拖累纳指",
  "playbook_refs": [
    "Case-9"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}