← 全部 Cases · 今日流程

Market Case · 2026-09-11

Day 50

Day 50
9/9 Steps

Regime · Hypothesis

R0 Regime
AI Expansion (82.0%)
Hypothesis
Inflation is today's primary market driver
ID
H-2026-09-11-001

Labels · Attribution

真正 Driver
AI Chip Selloff
Hypothesis 结果
错
Scenario 预测
A
Scenario 实际
C
Scenario 命中
✗
AI 贡献
54%
Bond
27%

Surprise · Lesson

Surprise:No major surprises vs typical driver mix

Lesson:AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量;Morning Hypothesis 被 Chip/Macro 冲突推翻——复盘 P10/P15 权重

Evidence / Counter

Evidence

  • VIX=17.1 (low fear)
  • VIX↓ -4.3% (risk-on)

Counter

  • 10Y=4.83% (elevated rates)

Step 快捷入口

原始 JSON
{
  "date": "2026-09-11",
  "features": {
    "dgs10": 4.83,
    "dgs2": null,
    "vix": 17.08,
    "vix_chg": -4.26,
    "qqq_chg": -0.19,
    "smh_chg": -1.0,
    "nvda_chg": -2.38,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": 0.07,
    "breadth_proxy": 0.5714285714285714,
    "qqq_gap": -0.73,
    "news_headline_count": 19,
    "news_bearish_ratio": 0.0,
    "news_ai_mentions": 10,
    "news_macro_mentions": 2,
    "news_oil_mentions": 4,
    "news_risk_mentions": 0
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-09-11-001",
    "statement": "Inflation is today's primary market driver",
    "evidence": [
      "VIX=17.1 (low fear)",
      "VIX↓ -4.3% (risk-on)"
    ],
    "counter_evidence": [
      "10Y=4.83% (elevated rates)"
    ],
    "confidence": 0.58,
    "status": "待验证"
  },
  "morning": {
    "bias": "Strong Bear",
    "total": -5,
    "driver_type": "Political",
    "daily_driver": "Geopolitical Risk",
    "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": "MU",
          "direction": "SHORT",
          "instrument": "Stock",
          "horizon": "Swing",
          "confidence": 71,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.28%",
          "expected_return_pct": 1.28,
          "win_prob": 71.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 20.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -3.0
              }
            ],
            "total": 71.0,
            "raw_total": 71.0,
            "was_clamped": false
          },
          "risk_reward": 16.0,
          "final_score": 0.46,
          "trade_action": "Pass",
          "relative_strength": -3.47,
          "entry": "Below 986.9 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 987.71,
          "entry_zone": {
            "low": 986.93,
            "high": 988.5,
            "mid": 987.71,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 986.93
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 988.5
              }
            ],
            "display": "Entry Zone 987–988",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "988.5 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 988.5,
          "target": "975.1 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 975.07,
          "targets": [
            "975.1 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 986.93,
            "orb_high": 988.5,
            "orb_low": 970.6,
            "prev_high": 1027.77,
            "prev_low": 1027.77,
            "prior_close": 1027.77,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -3.47%",
            "RS弱于SMH -2.40%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_chain": "RS弱于QQQ -3.47% · RS弱于SMH -2.40% · Volume 信号 · VIX 回落 (做空逆风)",
          "why_vs_runner_up": "MU RS -3.5% vs ARM -2.3%;ER 1.3% vs 0.9%;higher beta (9.7 vs 6.8);relative weakness play",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -3.47,
            "relative_strength_vs_smh": -2.4,
            "relative_weakness_score": 4.91,
            "gap_pct": -4.09,
            "beta_proxy": 9.67,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -4.26,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(71%) × ER(1.3%) × rr_weight(0.5) / 100",
          "expected_high": 1000.93,
          "expected_low": 975.07,
          "expected_close": 975.07,
          "current_price": 988.0,
          "upside_pct": 1.31,
          "downside_risk_pct": 1.31,
          "why_factors": [
            "RS弱于QQQ -3.47%",
            "RS弱于SMH -2.40%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_today": "RS弱于QQQ -3.47% · RS弱于SMH -2.40% · Volume 信号 · VIX 回落 (做空逆风)",
          "gap_pct": -4.09,
          "rr_display": {
            "reward_risk_ratio": 16.0,
            "risk_reward_ratio": 0.06,
            "reward_per_share": 12.64,
            "risk_per_share": 0.79,
            "label_reward_risk": "Reward/Risk 16.00",
            "label_risk_reward": "Risk:Reward 1:0.06",
            "display": "Reward/Risk 16.00 · Risk:Reward 1:0.06",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk · Geopolitical Risk",
          "invalidation": "Close above stop $988.5 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 987.71,
              "source": "vwap",
              "confidence": 77,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 986.93,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 988.5,
              "source": "orb_high",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 988.5,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 986.93,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 975.07,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 975.07,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(987.71-975.07)/987.71=1.28%",
          "heuristic_expected_return_pct": 1.31,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 MU:在 987.71 附近入场,目标 975.07,预期 +1.28%",
          "expected_r": 11.07,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 126,
            "contracts": 0,
            "max_loss_usd": 99.54,
            "win_usd": 1592.64,
            "loss_usd": 99.54,
            "expected_value_usd": 1101.91,
            "risk_per_share": 0.79,
            "reward_per_share": 12.64,
            "rr_display": {
              "reward_risk_ratio": 16.0,
              "risk_reward_ratio": 0.06,
              "reward_per_share": 12.64,
              "risk_per_share": 0.79,
              "label_reward_risk": "Reward/Risk 16.00",
              "label_risk_reward": "Risk:Reward 1:0.06",
              "display": "Reward/Risk 16.00 · Risk:Reward 1:0.06",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$1593 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 126,
            "max_loss_usd": 99.54,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 126 unit(s) → Max Loss $99.54"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 2.62,
              "runner_up_value": 2.39,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 71.0,
              "runner_up_value": 71.0,
              "wins": true
            },
            {
              "rank": 3,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 16.0,
              "runner_up_value": 3.77,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 2,
              "reasons": [
                "ER 1.3% vs 0.9%",
                "Score 0.46 vs 0.4",
                "RS -3.5% vs -2.3%",
                "R:R 16.0 vs 1.3"
              ],
              "summary": "Why MU over ARM: ER 1.3% vs 0.9% · Score 0.46 vs 0.4 · RS -3.5% vs -2.3% · R:R 16.0 vs 1.3"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "ER 1.3% vs 0.7%",
                "Score 0.46 vs 0.37",
                "RS -3.5% vs -1.9%",
                "R:R 16.0 vs 1.45"
              ],
              "summary": "Why MU over AMD: ER 1.3% vs 0.7% · Score 0.46 vs 0.37 · RS -3.5% vs -1.9% · R:R 16.0 vs 1.45"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.3% vs 0.4%",
                "Score 0.46 vs 0.25",
                "RS -3.5% vs -1.0%",
                "R:R 16.0 vs 3.77"
              ],
              "summary": "Why MU over TQQQ: Win% 71 vs 45 · ER 1.3% vs 0.4% · Score 0.46 vs 0.25 · RS -3.5% vs -1.0% · R:R 16.0 vs 3.77"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.3% vs 0.5%",
                "Score 0.46 vs 0.2",
                "RS -3.5% vs -1.1%",
                "R:R 16.0 vs 1.97"
              ],
              "summary": "Why MU over SMH: Win% 71 vs 45 · ER 1.3% vs 0.5% · Score 0.46 vs 0.2 · RS -3.5% vs -1.1% · R:R 16.0 vs 1.97"
            },
            {
              "symbol": "NVDA",
              "rank": 6,
              "reasons": [
                "Win% 71 vs 44",
                "ER 1.3% vs 0.5%",
                "Score 0.46 vs 0.18",
                "RS -3.5% vs -1.3%",
                "R:R 16.0 vs 1.6"
              ],
              "summary": "Why MU over NVDA: Win% 71 vs 44 · ER 1.3% vs 0.5% · Score 0.46 vs 0.18 · RS -3.5% vs -1.3% · R:R 16.0 vs 1.6"
            }
          ],
          "rank_summary": "MU ranked #1 because largest expected range + highest probability + best reward/risk",
          "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": 1101.91,
            "win_scenario_usd": 1592.64,
            "loss_scenario_usd": 99.54,
            "win_prob_pct": 71.0,
            "display": "EV $+1102 (win +$1593 @ 71.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 988.0,
            "ideal_entry": 987.71,
            "distance_pct": -0.03,
            "remaining_er_pct": 1.31,
            "live_expected_return_pct": 1.31,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 986.93,
            "zone_high": 988.5,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 2,
          "symbol": "ARM",
          "direction": "SHORT",
          "instrument": "Stock",
          "horizon": "Swing",
          "confidence": 71,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.18%",
          "expected_return_pct": 1.18,
          "win_prob": 71.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 20.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -3.0
              }
            ],
            "total": 71.0,
            "raw_total": 71.0,
            "was_clamped": false
          },
          "risk_reward": 23.35,
          "final_score": 0.4,
          "trade_action": "Pass",
          "relative_strength": -2.3,
          "entry": "Below 257.1 (现价)",
          "entry_source": "current",
          "entry_price": 257.21,
          "entry_zone": {
            "low": 257.09,
            "high": 257.34,
            "mid": 257.21,
            "anchors": [
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 257.34
              }
            ],
            "display": "Entry Zone 257.09–257.34",
            "entry_source": "current",
            "tolerance_pct": 0.3
          },
          "stop": "257.3 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 257.34,
          "target": "254.2 (预期低点)",
          "target_source": "expected_low",
          "target_price": 254.18,
          "targets": [
            "254.2 (预期低点)"
          ],
          "level_anchors": {
            "vwap": 256.18,
            "orb_high": 257.34,
            "orb_low": 251.49,
            "prev_high": 264.23,
            "prev_low": 264.23,
            "prior_close": 264.23,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -2.30%",
            "RS弱于SMH -1.23%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_chain": "RS弱于QQQ -2.30% · RS弱于SMH -1.23% · Volume 信号 · VIX 回落 (做空逆风)",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -2.3,
            "relative_strength_vs_smh": -1.23,
            "relative_weakness_score": 3.04,
            "gap_pct": -3.3,
            "beta_proxy": 6.75,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -4.26,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(71%) × ER(0.9%) × rr_weight(0.65) / 100",
          "expected_high": 259.33,
          "expected_low": 254.18,
          "expected_close": 254.85,
          "current_price": 257.09,
          "upside_pct": 1.13,
          "downside_risk_pct": 0.87,
          "why_factors": [
            "RS弱于QQQ -2.30%",
            "RS弱于SMH -1.23%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_today": "RS弱于QQQ -2.30% · RS弱于SMH -1.23% · Volume 信号 · VIX 回落 (做空逆风)",
          "gap_pct": -3.3,
          "rr_display": {
            "reward_risk_ratio": 23.31,
            "risk_reward_ratio": 0.04,
            "reward_per_share": 3.03,
            "risk_per_share": 0.13,
            "label_reward_risk": "Reward/Risk 23.31",
            "label_risk_reward": "Risk:Reward 1:0.04",
            "display": "Reward/Risk 23.31 · Risk:Reward 1:0.04",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk · Geopolitical Risk",
          "invalidation": "Close above stop $257.34 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 257.21,
              "source": "current",
              "confidence": 67,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 256.18,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 257.34,
              "source": "orb_high",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 257.34,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 256.18,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 254.18,
              "source": "expected_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_low",
                  "label": "Expected Low",
                  "price": 254.18,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(257.21-254.18)/257.21=1.18%",
          "heuristic_expected_return_pct": 0.87,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 ARM:在 257.21 附近入场,目标 254.18,预期 +1.18%",
          "expected_r": 16.2885,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 769,
            "contracts": 0,
            "max_loss_usd": 99.97,
            "win_usd": 2330.07,
            "loss_usd": 99.97,
            "expected_value_usd": 1625.36,
            "risk_per_share": 0.13,
            "reward_per_share": 3.03,
            "rr_display": {
              "reward_risk_ratio": 23.31,
              "risk_reward_ratio": 0.04,
              "reward_per_share": 3.03,
              "risk_per_share": 0.13,
              "label_reward_risk": "Reward/Risk 23.31",
              "label_risk_reward": "Risk:Reward 1:0.04",
              "display": "Reward/Risk 23.31 · Risk:Reward 1:0.04",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$2330 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 769,
            "max_loss_usd": 99.97,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 769 unit(s) → Max Loss $99.97"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 71.0,
              "runner_up_value": 71.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 23.35,
              "runner_up_value": 3.77,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "MU",
              "rank": 1,
              "reasons": [
                "ER 1.2% vs 1.3%",
                "Score 0.4 vs 0.46",
                "RS -2.3% vs -3.5%",
                "R:R 23.35 vs 1.0"
              ],
              "summary": "Why ARM over MU: ER 1.2% vs 1.3% · Score 0.4 vs 0.46 · RS -2.3% vs -3.5% · R:R 23.35 vs 1.0"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "ER 1.2% vs 0.7%",
                "Score 0.4 vs 0.37",
                "RS -2.3% vs -1.9%",
                "R:R 23.35 vs 1.45"
              ],
              "summary": "Why ARM over AMD: ER 1.2% vs 0.7% · Score 0.4 vs 0.37 · RS -2.3% vs -1.9% · R:R 23.35 vs 1.45"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.2% vs 0.4%",
                "Score 0.4 vs 0.25",
                "RS -2.3% vs -1.0%",
                "R:R 23.35 vs 3.77"
              ],
              "summary": "Why ARM over TQQQ: Win% 71 vs 45 · ER 1.2% vs 0.4% · Score 0.4 vs 0.25 · RS -2.3% vs -1.0% · R:R 23.35 vs 3.77"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.2% vs 0.5%",
                "Score 0.4 vs 0.2",
                "RS -2.3% vs -1.1%",
                "R:R 23.35 vs 1.97"
              ],
              "summary": "Why ARM over SMH: Win% 71 vs 45 · ER 1.2% vs 0.5% · Score 0.4 vs 0.2 · RS -2.3% vs -1.1% · R:R 23.35 vs 1.97"
            },
            {
              "symbol": "NVDA",
              "rank": 6,
              "reasons": [
                "Win% 71 vs 44",
                "ER 1.2% vs 0.5%",
                "Score 0.4 vs 0.18",
                "RS -2.3% vs -1.3%",
                "R:R 23.35 vs 1.6"
              ],
              "summary": "Why ARM over NVDA: Win% 71 vs 44 · ER 1.2% vs 0.5% · Score 0.4 vs 0.18 · RS -2.3% vs -1.3% · R:R 23.35 vs 1.6"
            }
          ],
          "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": 1625.36,
            "win_scenario_usd": 2330.07,
            "loss_scenario_usd": 99.97,
            "win_prob_pct": 71.0,
            "display": "EV $+1625 (win +$2330 @ 71.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 257.09,
            "ideal_entry": 257.21,
            "distance_pct": 0.05,
            "remaining_er_pct": 1.13,
            "live_expected_return_pct": 1.13,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 257.09,
            "zone_high": 257.34,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 3,
          "symbol": "AMD",
          "direction": "SHORT",
          "instrument": "Stock",
          "horizon": "Swing",
          "confidence": 71,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+0.96%",
          "expected_return_pct": 0.96,
          "win_prob": 71.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 20.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -3.0
              }
            ],
            "total": 71.0,
            "raw_total": 71.0,
            "was_clamped": false
          },
          "risk_reward": 0.39,
          "final_score": 0.37,
          "trade_action": "Pass",
          "relative_strength": -1.94,
          "entry": "Below 508.5 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 508.5,
          "entry_zone": {
            "low": 508.45,
            "high": 508.54,
            "mid": 508.5,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 508.54
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 508.45
              }
            ],
            "display": "Entry Zone 508.45–508.54",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "521.1 (昨日高点)",
          "stop_source": "prev_high",
          "stop_price": 521.1,
          "target": "503.6 (预期低点)",
          "target_source": "expected_low",
          "target_price": 503.6,
          "targets": [
            "503.6 (预期低点)"
          ],
          "level_anchors": {
            "vwap": 508.54,
            "orb_high": 508.45,
            "orb_low": 499.25,
            "prev_high": 521.1,
            "prev_low": 521.1,
            "prior_close": 521.1,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -1.94%",
            "RS弱于SMH -0.87%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_chain": "RS弱于QQQ -1.94% · RS弱于SMH -0.87% · Volume 信号 · VIX 回落 (做空逆风)",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -1.94,
            "relative_strength_vs_smh": -0.87,
            "relative_weakness_score": 2.46,
            "gap_pct": -2.83,
            "beta_proxy": 5.85,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -4.26,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(71%) × ER(0.7%) × rr_weight(0.72) / 100",
          "expected_high": 512.57,
          "expected_low": 503.6,
          "expected_close": 505.25,
          "current_price": 508.91,
          "upside_pct": 1.04,
          "downside_risk_pct": 0.72,
          "why_factors": [
            "RS弱于QQQ -1.94%",
            "RS弱于SMH -0.87%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_today": "RS弱于QQQ -1.94% · RS弱于SMH -0.87% · Volume 信号 · VIX 回落 (做空逆风)",
          "gap_pct": -2.83,
          "rr_display": {
            "reward_risk_ratio": 0.39,
            "risk_reward_ratio": 2.56,
            "reward_per_share": 4.9,
            "risk_per_share": 12.6,
            "label_reward_risk": "Reward/Risk 0.39",
            "label_risk_reward": "Risk:Reward 1:2.56",
            "display": "Reward/Risk 0.39 · Risk:Reward 1:2.56",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk · Geopolitical Risk",
          "invalidation": "Close above stop $521.1 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 508.5,
              "source": "vwap",
              "confidence": 77,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 508.54,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 521.1,
              "source": "prev_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "prev_high",
                  "label": "Yesterday High",
                  "price": 521.1,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 503.6,
              "source": "expected_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_low",
                  "label": "Expected Low",
                  "price": 503.6,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(508.5-503.6)/508.5=0.96%",
          "heuristic_expected_return_pct": 0.72,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 AMD:在 508.5 附近入场,目标 503.6,预期 +0.96%",
          "expected_r": -0.0131,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 35.6,
            "shares": 7,
            "contracts": 0,
            "max_loss_usd": 88.2,
            "win_usd": 34.3,
            "loss_usd": 88.2,
            "expected_value_usd": -1.23,
            "risk_per_share": 12.6,
            "reward_per_share": 4.9,
            "rr_display": {
              "reward_risk_ratio": 0.39,
              "risk_reward_ratio": 2.56,
              "reward_per_share": 4.9,
              "risk_per_share": 12.6,
              "label_reward_risk": "Reward/Risk 0.39",
              "label_risk_reward": "Risk:Reward 1:2.56",
              "display": "Reward/Risk 0.39 · Risk:Reward 1:2.56",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$34 / Loss -$88"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 35.6,
            "contracts": 0,
            "shares": 7,
            "max_loss_usd": 88.2,
            "size_label": "None",
            "display": "Risk 1.0% → Position 35.6% → 7 unit(s) → Max Loss $88.2"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 71.0,
              "runner_up_value": 71.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "MU",
              "rank": 1,
              "reasons": [
                "ER 1.0% vs 1.3%",
                "Score 0.37 vs 0.46",
                "RS -1.9% vs -3.5%"
              ],
              "summary": "Why AMD over MU: ER 1.0% vs 1.3% · Score 0.37 vs 0.46 · RS -1.9% vs -3.5%"
            },
            {
              "symbol": "ARM",
              "rank": 2,
              "reasons": [
                "ER 1.0% vs 0.9%",
                "Score 0.37 vs 0.4",
                "RS -1.9% vs -2.3%"
              ],
              "summary": "Why AMD over ARM: ER 1.0% vs 0.9% · Score 0.37 vs 0.4 · RS -1.9% vs -2.3%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.0% vs 0.4%",
                "Score 0.37 vs 0.25",
                "RS -1.9% vs -1.0%"
              ],
              "summary": "Why AMD over TQQQ: Win% 71 vs 45 · ER 1.0% vs 0.4% · Score 0.37 vs 0.25 · RS -1.9% vs -1.0%"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 71 vs 45",
                "ER 1.0% vs 0.5%",
                "Score 0.37 vs 0.2",
                "RS -1.9% vs -1.1%"
              ],
              "summary": "Why AMD over SMH: Win% 71 vs 45 · ER 1.0% vs 0.5% · Score 0.37 vs 0.2 · RS -1.9% vs -1.1%"
            },
            {
              "symbol": "NVDA",
              "rank": 6,
              "reasons": [
                "Win% 71 vs 44",
                "ER 1.0% vs 0.5%",
                "Score 0.37 vs 0.18",
                "RS -1.9% vs -1.3%"
              ],
              "summary": "Why AMD over NVDA: Win% 71 vs 44 · ER 1.0% vs 0.5% · Score 0.37 vs 0.18 · RS -1.9% vs -1.3%"
            }
          ],
          "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": -1.23,
            "win_scenario_usd": 34.3,
            "loss_scenario_usd": 88.2,
            "win_prob_pct": 71.0,
            "display": "EV $-1 (win +$34 @ 71.0% · loss -$88)"
          },
          "entry_status": {
            "current_price": 508.91,
            "ideal_entry": 508.5,
            "distance_pct": -0.08,
            "remaining_er_pct": 1.04,
            "live_expected_return_pct": 1.04,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 508.45,
            "zone_high": 508.54,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 4,
          "symbol": "TQQQ",
          "direction": "SHORT",
          "instrument": "ETF",
          "horizon": "Swing",
          "confidence": 45,
          "confidence_stars": "★★☆☆☆",
          "expected_move": "+1.79%",
          "expected_return_pct": 1.79,
          "win_prob": 45.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": -21.0
              }
            ],
            "total": 45.0,
            "raw_total": 45.0,
            "was_clamped": false
          },
          "risk_reward": 1.17,
          "final_score": 0.25,
          "trade_action": "Pass",
          "relative_strength": -1.01,
          "entry": "Below 70.5 (现价)",
          "entry_source": "current",
          "entry_price": 70.47,
          "entry_zone": {
            "low": 70.39,
            "high": 70.54,
            "mid": 70.47,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 70.39
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 70.47
              }
            ],
            "display": "Entry Zone 70.39–70.54",
            "entry_source": "current",
            "tolerance_pct": 0.3
          },
          "stop": "71.5 (昨日高点)",
          "stop_source": "prev_high",
          "stop_price": 71.55,
          "target": "69.2 (预期低点)",
          "target_source": "expected_low",
          "target_price": 69.21,
          "targets": [
            "69.2 (预期低点)"
          ],
          "level_anchors": {
            "vwap": 70.39,
            "orb_high": 70.47,
            "orb_low": 68.54,
            "prev_high": 71.55,
            "prev_low": 71.55,
            "prior_close": 71.55,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -1.01%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "Geo-risk day — avoid blind TQQQ short vs escalation",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_chain": "RS弱于QQQ -1.01% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind TQQQ short vs escalation",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -1.01,
            "relative_strength_vs_smh": 0.06,
            "relative_weakness_score": 0.97,
            "gap_pct": -2.19,
            "beta_proxy": 3.52,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -4.26,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(45%) × ER(0.4%) × rr_weight(1.5) / 100",
          "expected_high": 70.89,
          "expected_low": 69.21,
          "expected_close": 70.27,
          "current_price": 70.54,
          "upside_pct": 1.89,
          "downside_risk_pct": 0.5,
          "why_factors": [
            "RS弱于QQQ -1.01%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "Geo-risk day — avoid blind TQQQ short vs escalation",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_today": "RS弱于QQQ -1.01% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind TQQQ short vs escalation",
          "gap_pct": -2.19,
          "rr_display": {
            "reward_risk_ratio": 1.17,
            "risk_reward_ratio": 0.85,
            "reward_per_share": 1.26,
            "risk_per_share": 1.08,
            "label_reward_risk": "Reward/Risk 1.17",
            "label_risk_reward": "Risk:Reward 1:0.85",
            "display": "Reward/Risk 1.17 · Risk:Reward 1:0.85",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk · Geopolitical Risk",
          "invalidation": "Close above stop $71.55 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 70.47,
              "source": "current",
              "confidence": 67,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 70.39,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 71.55,
              "source": "prev_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "prev_high",
                  "label": "Yesterday High",
                  "price": 71.55,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 69.21,
              "source": "expected_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_low",
                  "label": "Expected Low",
                  "price": 69.21,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(70.47-69.21)/70.47=1.79%",
          "heuristic_expected_return_pct": 0.38,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 TQQQ:在 70.47 附近入场,目标 69.21,预期 +1.79%",
          "expected_r": -0.0235,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 64.8,
            "shares": 92,
            "contracts": 0,
            "max_loss_usd": 99.36,
            "win_usd": 115.92,
            "loss_usd": 99.36,
            "expected_value_usd": -2.48,
            "risk_per_share": 1.08,
            "reward_per_share": 1.26,
            "rr_display": {
              "reward_risk_ratio": 1.17,
              "risk_reward_ratio": 0.85,
              "reward_per_share": 1.26,
              "risk_per_share": 1.08,
              "label_reward_risk": "Reward/Risk 1.17",
              "label_risk_reward": "Risk:Reward 1:0.85",
              "display": "Reward/Risk 1.17 · Risk:Reward 1:0.85",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$116 / Loss -$99"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 64.8,
            "contracts": 0,
            "shares": 92,
            "max_loss_usd": 99.36,
            "size_label": "None",
            "display": "Risk 1.0% → Position 64.8% → 92 unit(s) → Max Loss $99.36"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "liquidity",
              "label": "Highest Liquidity",
              "primary_value": 5.0,
              "runner_up_value": 5.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "MU",
              "rank": 1,
              "reasons": [
                "Win% 45 vs 71",
                "ER 1.8% vs 1.3%",
                "Score 0.25 vs 0.46",
                "RS -1.0% vs -3.5%",
                "R:R 1.17 vs 1.0"
              ],
              "summary": "Why TQQQ over MU: Win% 45 vs 71 · ER 1.8% vs 1.3% · Score 0.25 vs 0.46 · RS -1.0% vs -3.5% · R:R 1.17 vs 1.0"
            },
            {
              "symbol": "ARM",
              "rank": 2,
              "reasons": [
                "Win% 45 vs 71",
                "ER 1.8% vs 0.9%",
                "Score 0.25 vs 0.4",
                "RS -1.0% vs -2.3%"
              ],
              "summary": "Why TQQQ over ARM: Win% 45 vs 71 · ER 1.8% vs 0.9% · Score 0.25 vs 0.4 · RS -1.0% vs -2.3%"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 45 vs 71",
                "ER 1.8% vs 0.7%",
                "Score 0.25 vs 0.37",
                "RS -1.0% vs -1.9%"
              ],
              "summary": "Why TQQQ over AMD: Win% 45 vs 71 · ER 1.8% vs 0.7% · Score 0.25 vs 0.37 · RS -1.0% vs -1.9%"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "ER 1.8% vs 0.5%",
                "Score 0.25 vs 0.2"
              ],
              "summary": "Why TQQQ over SMH: ER 1.8% vs 0.5% · Score 0.25 vs 0.2"
            },
            {
              "symbol": "NVDA",
              "rank": 6,
              "reasons": [
                "Win% 45 vs 44",
                "ER 1.8% vs 0.5%",
                "Score 0.25 vs 0.18",
                "RS -1.0% vs -1.3%"
              ],
              "summary": "Why TQQQ over NVDA: Win% 45 vs 44 · ER 1.8% vs 0.5% · Score 0.25 vs 0.18 · RS -1.0% vs -1.3%"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 45.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": -2.48,
            "win_scenario_usd": 115.92,
            "loss_scenario_usd": 99.36,
            "win_prob_pct": 45.0,
            "display": "EV $-2 (win +$116 @ 45.0% · loss -$99)"
          },
          "entry_status": {
            "current_price": 70.54,
            "ideal_entry": 70.47,
            "distance_pct": -0.1,
            "remaining_er_pct": 1.89,
            "live_expected_return_pct": 1.89,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 70.39,
            "zone_high": 70.54,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 5,
          "symbol": "SMH",
          "direction": "SHORT",
          "instrument": "ETF",
          "horizon": "Swing",
          "confidence": 45,
          "confidence_stars": "★★☆☆☆",
          "expected_move": "+0.88%",
          "expected_return_pct": 0.88,
          "win_prob": 45.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": -21.0
              }
            ],
            "total": 45.0,
            "raw_total": 45.0,
            "was_clamped": false
          },
          "risk_reward": 19.9,
          "final_score": 0.2,
          "trade_action": "Pass",
          "relative_strength": -1.07,
          "entry": "Below 565.0 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 565.25,
          "entry_zone": {
            "low": 565.01,
            "high": 565.5,
            "mid": 565.25,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 565.01
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 565.5
              }
            ],
            "display": "Entry Zone 565.01–565.50",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "565.5 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 565.5,
          "target": "560.3 (预期低点)",
          "target_source": "expected_low",
          "target_price": 560.28,
          "targets": [
            "560.3 (预期低点)"
          ],
          "level_anchors": {
            "vwap": 565.01,
            "orb_high": 565.5,
            "orb_low": 557.0,
            "prev_high": 574.29,
            "prev_low": 574.29,
            "prior_close": 574.29,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -1.07%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "Geo-risk day — avoid blind SMH short vs escalation",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_chain": "RS弱于QQQ -1.07% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind SMH short vs escalation",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -1.07,
            "relative_strength_vs_smh": 0.0,
            "relative_weakness_score": 1.07,
            "gap_pct": -2.92,
            "beta_proxy": 3.67,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -4.26,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(45%) × ER(0.4%) × rr_weight(0.98) / 100",
          "expected_high": 568.68,
          "expected_low": 560.28,
          "expected_close": 563.32,
          "current_price": 565.85,
          "upside_pct": 0.98,
          "downside_risk_pct": 0.5,
          "why_factors": [
            "RS弱于QQQ -1.07%",
            "Volume 信号",
            "VIX 回落 (做空逆风)",
            "Geo-risk day — avoid blind SMH short vs escalation",
            "几何上行 <1.5%(软门槛)"
          ],
          "why_today": "RS弱于QQQ -1.07% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind SMH short vs escalation",
          "gap_pct": -2.92,
          "rr_display": {
            "reward_risk_ratio": 19.88,
            "risk_reward_ratio": 0.05,
            "reward_per_share": 4.97,
            "risk_per_share": 0.25,
            "label_reward_risk": "Reward/Risk 19.88",
            "label_risk_reward": "Risk:Reward 1:0.05",
            "display": "Reward/Risk 19.88 · Risk:Reward 1:0.05",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk · Geopolitical Risk",
          "invalidation": "Close above stop $565.5 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 565.25,
              "source": "vwap",
              "confidence": 77,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 565.01,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 565.5,
              "source": "orb_high",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 565.5,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 565.01,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 560.28,
              "source": "expected_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_low",
                  "label": "Expected Low",
                  "price": 560.28,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(565.25-560.28)/565.25=0.88%",
          "heuristic_expected_return_pct": 0.45,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 SMH:在 565.25 附近入场,目标 560.28,预期 +0.88%",
          "expected_r": 8.405,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 400,
            "contracts": 0,
            "max_loss_usd": 100.0,
            "win_usd": 1988.0,
            "loss_usd": 100.0,
            "expected_value_usd": 839.6,
            "risk_per_share": 0.25,
            "reward_per_share": 4.97,
            "rr_display": {
              "reward_risk_ratio": 19.88,
              "risk_reward_ratio": 0.05,
              "reward_per_share": 4.97,
              "risk_per_share": 0.25,
              "label_reward_risk": "Reward/Risk 19.88",
              "label_risk_reward": "Risk:Reward 1:0.05",
              "display": "Reward/Risk 19.88 · Risk:Reward 1:0.05",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$1988 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 0,
            "shares": 400,
            "max_loss_usd": 100.0,
            "size_label": "None",
            "display": "Risk 1.0% → Position 100.0% → 400 unit(s) → Max Loss $100.0"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 19.9,
              "runner_up_value": 3.77,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "MU",
              "rank": 1,
              "reasons": [
                "Win% 45 vs 71",
                "ER 0.9% vs 1.3%",
                "Score 0.2 vs 0.46",
                "RS -1.1% vs -3.5%",
                "R:R 19.9 vs 1.0"
              ],
              "summary": "Why SMH over MU: Win% 45 vs 71 · ER 0.9% vs 1.3% · Score 0.2 vs 0.46 · RS -1.1% vs -3.5% · R:R 19.9 vs 1.0"
            },
            {
              "symbol": "ARM",
              "rank": 2,
              "reasons": [
                "Win% 45 vs 71",
                "ER 0.9% vs 0.9%",
                "Score 0.2 vs 0.4",
                "RS -1.1% vs -2.3%",
                "R:R 19.9 vs 1.3"
              ],
              "summary": "Why SMH over ARM: Win% 45 vs 71 · ER 0.9% vs 0.9% · Score 0.2 vs 0.4 · RS -1.1% vs -2.3% · R:R 19.9 vs 1.3"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 45 vs 71",
                "ER 0.9% vs 0.7%",
                "Score 0.2 vs 0.37",
                "RS -1.1% vs -1.9%",
                "R:R 19.9 vs 1.45"
              ],
              "summary": "Why SMH over AMD: Win% 45 vs 71 · ER 0.9% vs 0.7% · Score 0.2 vs 0.37 · RS -1.1% vs -1.9% · R:R 19.9 vs 1.45"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "ER 0.9% vs 0.4%",
                "Score 0.2 vs 0.25",
                "R:R 19.9 vs 3.77"
              ],
              "summary": "Why SMH over TQQQ: ER 0.9% vs 0.4% · Score 0.2 vs 0.25 · R:R 19.9 vs 3.77"
            },
            {
              "symbol": "NVDA",
              "rank": 6,
              "reasons": [
                "Win% 45 vs 44",
                "ER 0.9% vs 0.5%",
                "Score 0.2 vs 0.18",
                "RS -1.1% vs -1.3%",
                "R:R 19.9 vs 1.6"
              ],
              "summary": "Why SMH over NVDA: Win% 45 vs 44 · ER 0.9% vs 0.5% · Score 0.2 vs 0.18 · RS -1.1% vs -1.3% · R:R 19.9 vs 1.6"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 45.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": 839.6,
            "win_scenario_usd": 1988.0,
            "loss_scenario_usd": 100.0,
            "win_prob_pct": 45.0,
            "display": "EV $+840 (win +$1988 @ 45.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 565.85,
            "ideal_entry": 565.25,
            "distance_pct": -0.11,
            "remaining_er_pct": 0.98,
            "live_expected_return_pct": 0.98,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 565.01,
            "zone_high": 565.5,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "NVDA",
          "rank": 6,
          "win_prob": 44.0,
          "expected_return_pct": 0.5,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -1.34% · News 2 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "TSLA",
          "rank": 7,
          "win_prob": 68.0,
          "expected_return_pct": 0.34,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -1.32% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "XLE",
          "rank": 8,
          "win_prob": 68.0,
          "expected_return_pct": 0.28,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -0.96% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "XLK",
          "rank": 9,
          "win_prob": 62.0,
          "expected_return_pct": 0.14,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -0.19% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "META",
          "rank": 10,
          "win_prob": 56.0,
          "expected_return_pct": 0.1,
          "trade_action": "Pass",
          "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风) · 几何上行 <1.5%(软门槛)",
          "note": "Monitor — below trade threshold"
        }
      ],
      "advisory": true,
      "swing": {
        "symbol": "NVDA",
        "direction": "SHORT",
        "instrument": "Stock",
        "horizon": "Swing",
        "duration": "Swing (days–weeks)",
        "confidence": 49,
        "entry": "Near 220.4 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 220.44,
        "entry_zone": {
          "low": 219.78,
          "high": 224.29,
          "mid": 220.44,
          "display": "$219.78–$224.29",
          "source": "swing_pullback"
        },
        "stop": "232.0 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 231.98,
        "target": "205.1 (T1 ~7.0%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 205.05,
        "targets": [
          {
            "price": 205.05,
            "label": "T1",
            "pct": 6.98
          },
          {
            "price": 197.36,
            "label": "T2",
            "pct": 10.47
          }
        ],
        "expected_return_pct": 6.98,
        "expected_move": "+6.98%",
        "risk_reward": 1.33,
        "win_prob": 44.0,
        "final_score": 0.18,
        "swing_quality": 5.465,
        "atr": 7.6947,
        "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": 219.78,
        "why": [
          "高流动性波段标的 NVDA",
          "Prior day +0.0%",
          "5D momentum -2.6%",
          "RS vs QQQ -1.34%",
          "News/2 catalyst hints",
          "Swing score 5.5"
        ],
        "why_chain": "高流动性波段标的 NVDA · Prior day +0.0% · 5D momentum -2.6% · RS vs QQQ -1.34%",
        "invalidation": "Close beyond stop $231.98 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做空 NVDA:理想入场 $219.78–$224.29,止损 $231.98,目标 $205.05(约 +7.0%),持仓天数–数周",
        "one_liner": "波段做空 NVDA:理想入场 $219.78–$224.29,止损 $231.98,目标 $205.05(约 +7.0%),持仓天数–数周",
        "edge_type": "Relative Weakness",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):Geopolitical Risk、Oil Selloff、Trade Policy",
        "catalyst": "Geopolitical Risk、Oil Selloff、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 走弱 -0.40%(做空 edge)"
      },
      "sector_edge": {
        "edge": "NO",
        "why": "板块相对强度不足"
      },
      "stock_edge": {
        "edge": "NO",
        "why": "无单票 RS+新闻+量能共振"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "MU",
        "win_prob": 71.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 20.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 71.0,
          "raw_total": 71.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.31,
        "expected_high": 1000.93,
        "expected_low": 975.07,
        "expected_close": 975.07,
        "current_price": 988.0,
        "upside_pct": 1.31,
        "downside_risk_pct": 1.31,
        "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"
        },
        "expected_r": 0.42,
        "final_score": 0.46,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -4.09,
        "relative_strength": -3.47,
        "relative_strength_vs_smh": -2.4,
        "relative_weakness_score": 4.91,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -3.47%",
          "RS弱于SMH -2.40%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -3.47% · RS弱于SMH -2.40% · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 5,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -3.47,
          "relative_strength_vs_smh": -2.4,
          "relative_weakness_score": 4.91,
          "gap_pct": -4.09,
          "beta_proxy": 9.67,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(71%) × ER(1.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "MU RS -3.5% vs ARM -2.3%;ER 1.3% vs 0.9%;higher beta (9.7 vs 6.8);relative weakness play",
        "advisory": true,
        "rank": 1,
        "direction": "SHORT"
      },
      {
        "symbol": "ARM",
        "win_prob": 71.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 20.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 71.0,
          "raw_total": 71.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.87,
        "expected_high": 259.33,
        "expected_low": 254.18,
        "expected_close": 254.85,
        "current_price": 257.09,
        "upside_pct": 1.13,
        "downside_risk_pct": 0.87,
        "risk_reward": 1.3,
        "rr_display": {
          "reward_risk_ratio": 1.3,
          "risk_reward_ratio": 0.77,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.30",
          "label_risk_reward": "Risk:Reward 1:0.77",
          "display": "Reward/Risk 1.30 · Risk:Reward 1:0.77",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.633,
        "final_score": 0.4,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -3.3,
        "relative_strength": -2.3,
        "relative_strength_vs_smh": -1.23,
        "relative_weakness_score": 3.04,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -2.30%",
          "RS弱于SMH -1.23%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -2.30% · RS弱于SMH -1.23% · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 4,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.3,
          "relative_strength_vs_smh": -1.23,
          "relative_weakness_score": 3.04,
          "gap_pct": -3.3,
          "beta_proxy": 6.75,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(71%) × ER(0.9%) × rr_weight(0.65) / 100",
        "rr_weight": 0.65,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "direction": "SHORT"
      },
      {
        "symbol": "AMD",
        "win_prob": 71.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 20.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 71.0,
          "raw_total": 71.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.72,
        "expected_high": 512.57,
        "expected_low": 503.6,
        "expected_close": 505.25,
        "current_price": 508.91,
        "upside_pct": 1.04,
        "downside_risk_pct": 0.72,
        "risk_reward": 1.45,
        "rr_display": {
          "reward_risk_ratio": 1.45,
          "risk_reward_ratio": 0.69,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.45",
          "label_risk_reward": "Risk:Reward 1:0.69",
          "display": "Reward/Risk 1.45 · Risk:Reward 1:0.69",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.7395,
        "final_score": 0.37,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.83,
        "relative_strength": -1.94,
        "relative_strength_vs_smh": -0.87,
        "relative_weakness_score": 2.46,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.94%",
          "RS弱于SMH -0.87%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -1.94% · RS弱于SMH -0.87% · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 4,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.94,
          "relative_strength_vs_smh": -0.87,
          "relative_weakness_score": 2.46,
          "gap_pct": -2.83,
          "beta_proxy": 5.85,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(71%) × ER(0.7%) × rr_weight(0.72) / 100",
        "rr_weight": 0.72,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "SHORT"
      },
      {
        "symbol": "TQQQ",
        "win_prob": 45.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": -21.0
            }
          ],
          "total": 45.0,
          "raw_total": 45.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.38,
        "expected_high": 70.89,
        "expected_low": 69.21,
        "expected_close": 70.27,
        "current_price": 70.54,
        "upside_pct": 1.89,
        "downside_risk_pct": 0.5,
        "risk_reward": 3.77,
        "rr_display": {
          "reward_risk_ratio": 3.77,
          "risk_reward_ratio": 0.27,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.77",
          "label_risk_reward": "Risk:Reward 1:0.27",
          "display": "Reward/Risk 3.77 · Risk:Reward 1:0.27",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 1.1465,
        "final_score": 0.25,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.19,
        "relative_strength": -1.01,
        "relative_strength_vs_smh": 0.06,
        "relative_weakness_score": 0.97,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.01%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind TQQQ short vs escalation",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -1.01% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind TQQQ short vs escalation",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.01,
          "relative_strength_vs_smh": 0.06,
          "relative_weakness_score": 0.97,
          "gap_pct": -2.19,
          "beta_proxy": 3.52,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(45%) × ER(0.4%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "SHORT"
      },
      {
        "symbol": "SMH",
        "win_prob": 45.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": -21.0
            }
          ],
          "total": 45.0,
          "raw_total": 45.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.45,
        "expected_high": 568.68,
        "expected_low": 560.28,
        "expected_close": 563.32,
        "current_price": 565.85,
        "upside_pct": 0.98,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.97,
        "rr_display": {
          "reward_risk_ratio": 1.97,
          "risk_reward_ratio": 0.51,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.97",
          "label_risk_reward": "Risk:Reward 1:0.51",
          "display": "Reward/Risk 1.97 · Risk:Reward 1:0.51",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.3365,
        "final_score": 0.2,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.92,
        "relative_strength": -1.07,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": 1.07,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.07%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind SMH short vs escalation",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -1.07% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind SMH short vs escalation",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.07,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": 1.07,
          "gap_pct": -2.92,
          "beta_proxy": 3.67,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(45%) × ER(0.4%) × rr_weight(0.98) / 100",
        "rr_weight": 0.98,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "SHORT"
      },
      {
        "symbol": "NVDA",
        "win_prob": 44.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 16.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -21.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.5,
        "expected_high": 220.88,
        "expected_low": 218.02,
        "expected_close": 218.68,
        "current_price": 219.78,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.144,
        "final_score": 0.18,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.47,
        "relative_strength": -1.34,
        "relative_strength_vs_smh": -0.27,
        "relative_weakness_score": 1.5,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.34%",
          "News 2 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind NVDA short vs escalation",
          "期望R 0.14 < 0.20(EV门禁)"
        ],
        "why": "RS弱于QQQ -1.34% · News 2 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 2,
        "news_count": 2,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.34,
          "relative_strength_vs_smh": -0.27,
          "relative_weakness_score": 1.5,
          "gap_pct": -2.47,
          "beta_proxy": 4.35,
          "volume_signal": true,
          "news_count": 2,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(44%) × ER(0.5%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "SHORT"
      },
      {
        "symbol": "TSLA",
        "win_prob": 68.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": -3.0
            }
          ],
          "total": 68.0,
          "raw_total": 68.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.34,
        "expected_high": 363.56,
        "expected_low": 358.6,
        "expected_close": 360.28,
        "current_price": 361.49,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.57,
        "risk_reward": 1.4,
        "rr_display": {
          "reward_risk_ratio": 1.4,
          "risk_reward_ratio": 0.71,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.40",
          "label_risk_reward": "Risk:Reward 1:0.71",
          "display": "Reward/Risk 1.40 · Risk:Reward 1:0.71",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.632,
        "final_score": 0.16,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.9,
        "relative_strength": -1.32,
        "relative_strength_vs_smh": -0.25,
        "relative_weakness_score": 1.47,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.32%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -1.32% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.32,
          "relative_strength_vs_smh": -0.25,
          "relative_weakness_score": 1.47,
          "gap_pct": -0.9,
          "beta_proxy": 4.3,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(68%) × ER(0.3%) × rr_weight(0.7) / 100",
        "rr_weight": 0.7,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "SHORT"
      },
      {
        "symbol": "XLE",
        "win_prob": 68.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": -3.0
            }
          ],
          "total": 68.0,
          "raw_total": 68.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.28,
        "expected_high": 64.93,
        "expected_low": 63.9,
        "expected_close": 64.24,
        "current_price": 64.42,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.79,
        "risk_reward": 1.01,
        "rr_display": {
          "reward_risk_ratio": 1.01,
          "risk_reward_ratio": 0.99,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.01",
          "label_risk_reward": "Risk:Reward 1:0.99",
          "display": "Reward/Risk 1.01 · Risk:Reward 1:0.99",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.3668,
        "final_score": 0.09,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.04,
        "relative_strength": -0.96,
        "relative_strength_vs_smh": 0.11,
        "relative_weakness_score": 0.89,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -0.96%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -0.96% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.96,
          "relative_strength_vs_smh": 0.11,
          "relative_weakness_score": 0.89,
          "gap_pct": -1.04,
          "beta_proxy": 3.4,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(68%) × ER(0.3%) × rr_weight(0.51) / 100",
        "rr_weight": 0.51,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "SHORT"
      },
      {
        "symbol": "XLK",
        "win_prob": 62.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": -3.0
            }
          ],
          "total": 62.0,
          "raw_total": 62.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.14,
        "expected_high": 187.7,
        "expected_low": 185.22,
        "expected_close": 186.51,
        "current_price": 186.77,
        "upside_pct": 0.83,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.66,
        "rr_display": {
          "reward_risk_ratio": 1.66,
          "risk_reward_ratio": 0.6,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.66",
          "label_risk_reward": "Risk:Reward 1:0.60",
          "display": "Reward/Risk 1.66 · Risk:Reward 1:0.60",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.6492,
        "final_score": 0.07,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.26,
        "relative_strength": -0.19,
        "relative_strength_vs_smh": 0.88,
        "relative_weakness_score": -0.34,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -0.19%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS弱于QQQ -0.19% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.19,
          "relative_strength_vs_smh": 0.88,
          "relative_weakness_score": -0.34,
          "gap_pct": -1.26,
          "beta_proxy": 1.47,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(62%) × ER(0.1%) × rr_weight(0.83) / 100",
        "rr_weight": 0.83,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "SHORT"
      },
      {
        "symbol": "META",
        "win_prob": 56.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": -3.0
            }
          ],
          "total": 56.0,
          "raw_total": 56.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.1,
        "expected_high": 654.86,
        "expected_low": 644.38,
        "expected_close": 650.93,
        "current_price": 651.6,
        "upside_pct": 1.11,
        "downside_risk_pct": 0.5,
        "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"
        },
        "expected_r": 0.8032,
        "final_score": 0.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.48,
        "relative_strength": 0.08,
        "relative_strength_vs_smh": 1.15,
        "relative_weakness_score": -0.77,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风) · 几何上行 <1.5%(软门槛)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.08,
          "relative_strength_vs_smh": 1.15,
          "relative_weakness_score": -0.77,
          "gap_pct": -1.48,
          "beta_proxy": 0.8,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(56%) × ER(0.1%) × rr_weight(1.11) / 100",
        "rr_weight": 1.11,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "SHORT"
      },
      {
        "symbol": "QQQ",
        "win_prob": 56.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": -3.0
            }
          ],
          "total": 56.0,
          "raw_total": 56.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.06,
        "expected_high": 717.02,
        "expected_low": 707.74,
        "expected_close": 713.03,
        "current_price": 713.45,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.456,
        "final_score": 0.03,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.73,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": 1.07,
        "relative_weakness_score": -0.64,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风) · 几何上行 <1.5%(软门槛)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": 1.07,
          "relative_weakness_score": -0.64,
          "gap_pct": -0.73,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(56%) × ER(0.1%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "SHORT"
      },
      {
        "symbol": "DIA",
        "win_prob": 45.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": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 45.0,
          "raw_total": 45.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.05,
        "expected_high": 526.54,
        "expected_low": 519.73,
        "expected_close": 524.17,
        "current_price": 523.92,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.17,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.34,
        "relative_strength": 0.37,
        "relative_strength_vs_smh": 1.44,
        "relative_weakness_score": -1.23,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.17 < 0.20(EV门禁)"
        ],
        "why": "Gap 未过度延伸 · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.37,
          "relative_strength_vs_smh": 1.44,
          "relative_weakness_score": -1.23,
          "gap_pct": -0.34,
          "beta_proxy": 0.07,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(45%) × ER(-0.0%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 12,
        "direction": "SHORT"
      },
      {
        "symbol": "SPY",
        "win_prob": 50.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": -3.0
            }
          ],
          "total": 50.0,
          "raw_total": 50.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.05,
        "expected_high": 766.19,
        "expected_low": 756.28,
        "expected_close": 762.79,
        "current_price": 762.38,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.3,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.32,
        "relative_strength": 0.4,
        "relative_strength_vs_smh": 1.47,
        "relative_weakness_score": -1.28,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风) · 几何上行 <1.5%(软门槛)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.4,
          "relative_strength_vs_smh": 1.47,
          "relative_weakness_score": -1.28,
          "gap_pct": -0.32,
          "beta_proxy": 0.0,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(50%) × ER(-0.1%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 13,
        "direction": "SHORT"
      },
      {
        "symbol": "AVGO",
        "win_prob": 40.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -16.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 40.0,
          "raw_total": 40.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.08,
        "expected_high": 365.32,
        "expected_low": 360.59,
        "expected_close": 363.78,
        "current_price": 363.5,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.04,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.28,
        "relative_strength": 0.16,
        "relative_strength_vs_smh": 1.23,
        "relative_weakness_score": -0.9,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "半导体内领涨 +1.23%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.04 < 0.20(EV门禁)"
        ],
        "why": "半导体内领涨 +1.23% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.16,
          "relative_strength_vs_smh": 1.23,
          "relative_weakness_score": -0.9,
          "gap_pct": -1.28,
          "beta_proxy": 0.6,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(40%) × ER(-0.1%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 14,
        "direction": "SHORT"
      },
      {
        "symbol": "XLF",
        "win_prob": 44.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": -3.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.11,
        "expected_high": 57.47,
        "expected_low": 56.72,
        "expected_close": 57.25,
        "current_price": 57.18,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.144,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.09,
        "relative_strength": 0.61,
        "relative_strength_vs_smh": 1.68,
        "relative_weakness_score": -1.62,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "板块内相对强势 +0.61%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.14 < 0.20(EV门禁)"
        ],
        "why": "板块内相对强势 +0.61% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.61,
          "relative_strength_vs_smh": 1.68,
          "relative_weakness_score": -1.62,
          "gap_pct": -0.09,
          "beta_proxy": -0.52,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(44%) × ER(-0.1%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 15,
        "direction": "SHORT"
      },
      {
        "symbol": "AMZN",
        "win_prob": 44.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": -3.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.16,
        "expected_high": 254.64,
        "expected_low": 251.34,
        "expected_close": 253.77,
        "current_price": 253.37,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.144,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.0,
        "relative_strength": 0.78,
        "relative_strength_vs_smh": 1.85,
        "relative_weakness_score": -1.89,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "板块内相对强势 +0.78%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.14 < 0.20(EV门禁)"
        ],
        "why": "板块内相对强势 +0.78% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.78,
          "relative_strength_vs_smh": 1.85,
          "relative_weakness_score": -1.89,
          "gap_pct": 0.0,
          "beta_proxy": -0.95,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(44%) × ER(-0.2%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 16,
        "direction": "SHORT"
      },
      {
        "symbol": "MSFT",
        "win_prob": 39.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": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 39.0,
          "raw_total": 39.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.22,
        "expected_high": 497.86,
        "expected_low": 491.42,
        "expected_close": 496.48,
        "current_price": 495.38,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.014,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.13,
        "relative_strength": 1.16,
        "relative_strength_vs_smh": 2.23,
        "relative_weakness_score": -2.5,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "板块内相对强势 +1.16%",
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.01 < 0.20(EV门禁)"
        ],
        "why": "板块内相对强势 +1.16% · Gap 未过度延伸 · News 1 (利空做空) · Volume 信号",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.16,
          "relative_strength_vs_smh": 2.23,
          "relative_weakness_score": -2.5,
          "gap_pct": -0.13,
          "beta_proxy": -1.9,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(39%) × ER(-0.2%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 17,
        "direction": "SHORT"
      },
      {
        "symbol": "GOOGL",
        "win_prob": 44.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": -3.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.35,
        "expected_high": 335.8,
        "expected_low": 331.45,
        "expected_close": 335.28,
        "current_price": 334.13,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.5,
        "risk_reward": 1.6,
        "rr_display": {
          "reward_risk_ratio": 1.6,
          "risk_reward_ratio": 0.62,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.60",
          "label_risk_reward": "Risk:Reward 1:0.62",
          "display": "Reward/Risk 1.60 · Risk:Reward 1:0.62",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.144,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.71,
        "relative_strength": 1.45,
        "relative_strength_vs_smh": 2.52,
        "relative_weakness_score": -2.96,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "板块内相对强势 +1.45%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R 0.14 < 0.20(EV门禁)"
        ],
        "why": "板块内相对强势 +1.45% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.45,
          "relative_strength_vs_smh": 2.52,
          "relative_weakness_score": -2.96,
          "gap_pct": 0.71,
          "beta_proxy": -2.62,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(44%) × ER(-0.3%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 18,
        "direction": "SHORT"
      },
      {
        "symbol": "AAPL",
        "win_prob": 34.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": -3.0
            }
          ],
          "total": 34.0,
          "raw_total": 34.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.06,
        "expected_high": 330.09,
        "expected_low": 324.0,
        "expected_close": 330.09,
        "current_price": 326.61,
        "upside_pct": 0.8,
        "downside_risk_pct": 1.06,
        "risk_reward": 0.75,
        "rr_display": {
          "reward_risk_ratio": 0.75,
          "risk_reward_ratio": 1.33,
          "reward_per_share": null,
          "risk_per_share": null,
          "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"
        },
        "expected_r": -0.405,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.38,
        "relative_strength": 3.97,
        "relative_strength_vs_smh": 5.04,
        "relative_weakness_score": -6.99,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "板块内相对强势 +3.97%",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "期望R -0.41 < 0.20(EV门禁)"
        ],
        "why": "板块内相对强势 +3.97% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.97,
          "relative_strength_vs_smh": 5.04,
          "relative_weakness_score": -6.99,
          "gap_pct": 3.38,
          "beta_proxy": -8.92,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -4.26,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(34%) × ER(-1.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 19,
        "direction": "SHORT"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": false,
      "action": "N/A"
    },
    "s7": {
      "actual_driver": "AI Chip Selloff",
      "attribution": {
        "ai": 0.535,
        "bond": 0.274,
        "oil": 0.0,
        "macro": 0.14,
        "other": 0.05,
        "splits": {
          "AI Chip Selloff": 0.549
        }
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.535,
    "bond": 0.274,
    "oil": 0.0,
    "macro": 0.14,
    "other": 0.05,
    "splits": {
      "AI Chip Selloff": 0.549
    }
  },
  "labels": {
    "actual_driver": "AI Chip Selloff",
    "agent_driver": "Geopolitical Risk",
    "agent_driver_type": "Political",
    "corrected_driver_from_verify": null,
    "driver_splits": {
      "AI Chip Selloff": 0.5494156270518713
    },
    "hypothesis_correct": "错",
    "scenario_primary": "A",
    "scenario_actual": "C",
    "scenario_correct": false,
    "trade_recommendation": "—",
    "trade_direction": "NO TRADE",
    "primary_symbol": "—",
    "predicted_return_pct": null,
    "prediction_error_pct": null
  },
  "surprise": "No major surprises vs typical driver mix",
  "lesson": "AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量;Morning Hypothesis 被 Chip/Macro 冲突推翻——复盘 P10/P15 权重",
  "playbook_refs": [
    "Case-48"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}