← 全部 Cases · 今日流程

Market Case · 2026-07-30

Day 20

Day 20
9/9 Steps

当日催化剂

快照 2026-07-30T10:10:00
事件 预定 状态 实际值 Consensus Surprise 典型影响(参考) 实测反应
GDP QoQ (Advance/2nd/Final) 08:30 31,866 29,500 +8.0% ⬆️ GDP 意外强 → 收益率+ 美元+;弱则相反

Regime · Hypothesis

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

Labels · Attribution

真正 Driver
NFP
Hypothesis 结果
Scenario 预测
A
Scenario 实际
A
Scenario 命中
AI 贡献
53%
Bond
11%

Surprise · Lesson

Surprise:No major surprises vs typical driver mix

Lesson:NFP 日优先看 Macro Driver 链条:数据 → 利率 → 成长/价值轮动;Morning Hypothesis 被 Chip/Macro 冲突推翻——复盘 P10/P15 权重

Evidence / Counter

Evidence

  • VIX↓ -7.0% (risk-on)

Counter

  • NVDA -1.8%
  • SMH -2.1%

Step 快捷入口

原始 JSON
{
  "date": "2026-07-30",
  "features": {
    "dgs10": 4.61,
    "dgs2": null,
    "vix": 19.21,
    "vix_chg": -7.02,
    "qqq_chg": 1.53,
    "smh_chg": 2.13,
    "nvda_chg": -0.88,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": -0.05,
    "breadth_proxy": 0.42857142857142855,
    "qqq_gap": -1.85,
    "news_headline_count": 20,
    "news_bearish_ratio": 0.0,
    "news_ai_mentions": 12,
    "news_macro_mentions": 6,
    "news_oil_mentions": 3,
    "news_risk_mentions": 0
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-07-30-001",
    "statement": "AI/Semiconductor leads index today; macro is secondary variable",
    "evidence": [
      "VIX↓ -7.0% (risk-on)"
    ],
    "counter_evidence": [
      "NVDA -1.8%",
      "SMH -2.1%"
    ],
    "confidence": 0.53,
    "status": "待验证"
  },
  "morning": {
    "bias": "Bear",
    "total": -3,
    "driver_type": "Fed",
    "daily_driver": "Fed Headlines",
    "best_opportunity": {
      "direction": "SHORT",
      "symbol": "META",
      "instrument": "Stock",
      "horizon": "Intraday",
      "confidence": 58,
      "confidence_stars": "★★☆☆☆",
      "entry": "Below 534.6 (VWAP)",
      "entry_source": "vwap",
      "entry_price": 534.39,
      "stop": "585.6 (ORB高点)",
      "stop_source": "orb_high",
      "stop_price": 585.61,
      "target": "514.7 (预期收盘)",
      "target_source": "expected_close",
      "target_price": 514.73,
      "target_action": "买入/平空仓",
      "targets": [
        "514.7 (预期收盘)"
      ],
      "duration": "Intraday",
      "why": [
        "RS弱于QQQ -10.21%",
        "News 1 (利空做空)",
        "Volume 信号",
        "VIX 回落 (做空逆风)"
      ],
      "why_chain": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
      "why_vs_runner_up": "META RS -10.2% vs TQQQ -1.6%;ER 2.7% vs 0.8%;Win% 58 vs 45;higher beta (16.9 vs 3.5);relative weakness play",
      "factor_breakdown": {
        "relative_strength_vs_qqq": -10.21,
        "relative_strength_vs_smh": -8.66,
        "relative_weakness_score": 15.41,
        "gap_pct": -8.2,
        "beta_proxy": 16.95,
        "volume_signal": true,
        "news_count": 1,
        "extended_gap_penalty": 0.0,
        "vix_change_pct": -7.02,
        "prior_day_change_pct": 0.0
      },
      "edge_type": "Relative Weakness",
      "score_formula_display": "final = win_prob(58%) × ER(2.7%) × rr_weight(0.5) / 100",
      "win_prob": 58.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": 58.0,
        "raw_total": 58.0,
        "was_clamped": false
      },
      "expected_return_pct": 3.68,
      "expected_move": "+3.68%",
      "return_calculation": "(534.39-514.73)/534.39=3.68%",
      "trade_summary_cn": "做空 META:在 534.39 附近入场,目标 514.73,预期 +3.68%",
      "risk_reward": 0.38,
      "rr_display": {
        "reward_risk_ratio": 0.38,
        "risk_reward_ratio": 2.63,
        "reward_per_share": 19.66,
        "risk_per_share": 51.22,
        "label_reward_risk": "Reward/Risk 0.38",
        "label_risk_reward": "Risk:Reward 1:2.63",
        "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
        "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
      },
      "entry_zone": {
        "low": 534.15,
        "high": 534.63,
        "mid": 534.39,
        "anchors": [
          {
            "source": "vwap",
            "label": "VWAP",
            "price": 534.63
          },
          {
            "source": "orb_low",
            "label": "ORB低点",
            "price": 534.15
          }
        ],
        "display": "Entry Zone 534.15–534.63",
        "entry_source": "vwap",
        "tolerance_pct": 0.3
      },
      "rank_summary": "META ranked #1 because weakest RS + largest expected range + best catalyst alignment",
      "win_prob_source": "rules",
      "calibration": {
        "calibrated_win_prob": 58.0,
        "sample_size": 0,
        "confidence_interval": null,
        "source": "rules_fallback",
        "match_quality": "insufficient",
        "win_prob_source": "rules",
        "disclaimer": "No historical matches; using rules breakdown"
      },
      "similar_days": null,
      "ev_distribution": {
        "expected_value_usd": -10.11,
        "win_scenario_usd": 19.66,
        "loss_scenario_usd": 51.22,
        "win_prob_pct": 58.0,
        "display": "EV $-10 (win +$20 @ 58.0% · loss -$51)"
      },
      "final_score": 0.78,
      "level_anchors": {
        "vwap": 534.63,
        "orb_high": 585.61,
        "orb_low": 534.15,
        "prev_high": 593.41,
        "prev_low": 593.41,
        "prior_close": 593.41,
        "orb_from_minute": true
      },
      "level_reasons": {
        "entry": {
          "price": 534.39,
          "source": "vwap",
          "confidence": 89,
          "reasons": [
            {
              "source": "orb_low",
              "label": "ORB Low",
              "price": 534.15,
              "weight_pct": 30.0,
              "matched": true,
              "primary": false
            },
            {
              "source": "vwap",
              "label": "VWAP",
              "price": 534.63,
              "weight_pct": 70.0,
              "matched": true,
              "primary": true
            }
          ]
        },
        "stop": {
          "price": 585.61,
          "source": "orb_high",
          "confidence": 77,
          "reasons": [
            {
              "source": "orb_high",
              "label": "ORB High",
              "price": 585.61,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        },
        "target": {
          "price": 514.73,
          "source": "expected_close",
          "confidence": 77,
          "reasons": [
            {
              "source": "expected_close",
              "label": "Expected Close",
              "price": 514.73,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        }
      },
      "trade_economics": {
        "account_size": 10000.0,
        "risk_pct": 1.0,
        "position_pct": 5.3,
        "shares": 1,
        "contracts": 1,
        "max_loss_usd": 51.22,
        "win_usd": 19.66,
        "loss_usd": 51.22,
        "expected_value_usd": -10.11,
        "risk_per_share": 51.22,
        "reward_per_share": 19.66,
        "rr_display": {
          "reward_risk_ratio": 0.38,
          "risk_reward_ratio": 2.63,
          "reward_per_share": 19.66,
          "risk_per_share": 51.22,
          "label_reward_risk": "Reward/Risk 0.38",
          "label_risk_reward": "Risk:Reward 1:2.63",
          "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "size_label": "Small",
        "display": "$10,000 → Win +$20 / Loss -$51"
      },
      "position_sizing": {
        "risk_pct": 1.0,
        "position_pct": 5.3,
        "contracts": 1,
        "shares": 1,
        "max_loss_usd": 51.22,
        "size_label": "Small",
        "display": "Risk 1.0% → Position 5.3% → 1 unit(s) → Max Loss $51.22"
      },
      "why_wins_today": [
        {
          "rank": 1,
          "dimension": "relative_strength",
          "label": "Highest Relative Strength",
          "primary_value": -10.21,
          "runner_up_value": 4.83,
          "wins": true
        },
        {
          "rank": 2,
          "dimension": "expected_range",
          "label": "Largest Expected Range",
          "primary_value": 13.4,
          "runner_up_value": 4.81,
          "wins": true
        },
        {
          "rank": 3,
          "dimension": "catalyst",
          "label": "Best Catalyst Alignment",
          "primary_value": 1.0,
          "runner_up_value": 1.0,
          "wins": true
        }
      ],
      "why_not_alternatives": [
        {
          "symbol": "TQQQ",
          "rank": 2,
          "reasons": [
            "Win% 58 vs 45",
            "ER 3.7% vs 0.8%",
            "Score 0.78 vs 0.52",
            "RS -10.2% vs -1.6%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why META over TQQQ: Win% 58 vs 45 · ER 3.7% vs 0.8% · Score 0.78 vs 0.52 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
        },
        {
          "symbol": "SMH",
          "rank": 3,
          "reasons": [
            "Win% 58 vs 45",
            "ER 3.7% vs 0.7%",
            "Score 0.78 vs 0.46",
            "RS -10.2% vs -1.6%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why META over SMH: Win% 58 vs 45 · ER 3.7% vs 0.7% · Score 0.78 vs 0.46 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
        },
        {
          "symbol": "TSLA",
          "rank": 4,
          "reasons": [
            "Win% 58 vs 63",
            "ER 3.7% vs 0.4%",
            "Score 0.78 vs 0.34",
            "RS -10.2% vs -0.7%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why META over TSLA: Win% 58 vs 63 · ER 3.7% vs 0.4% · Score 0.78 vs 0.34 · RS -10.2% vs -0.7% · Tradeable (Small) vs Pass"
        },
        {
          "symbol": "NVDA",
          "rank": 5,
          "reasons": [
            "Win% 58 vs 40",
            "ER 3.7% vs 0.4%",
            "Score 0.78 vs 0.27",
            "RS -10.2% vs -1.2%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why META over NVDA: Win% 58 vs 40 · ER 3.7% vs 0.4% · Score 0.78 vs 0.27 · RS -10.2% vs -1.2% · Tradeable (Small) vs Pass"
        },
        {
          "symbol": "MU",
          "rank": 6,
          "reasons": [
            "Win% 58 vs 33",
            "ER 3.7% vs 1.4%",
            "Score 0.78 vs 0.24",
            "RS -10.2% vs +4.2%"
          ],
          "summary": "Why META over MU: Win% 58 vs 33 · ER 3.7% vs 1.4% · Score 0.78 vs 0.24 · RS -10.2% vs +4.2%"
        }
      ],
      "avoid": [],
      "one_liner": "做空 META:在 534.39 附近入场,目标 514.73,预期 +3.68%",
      "p16_gate": "No Trade",
      "advisory": true
    },
    "best_trades": {
      "primary": {
        "rank": 1,
        "symbol": "META",
        "direction": "SHORT",
        "instrument": "Stock",
        "horizon": "Intraday",
        "confidence": 58,
        "confidence_stars": "★★☆☆☆",
        "expected_move": "+3.68%",
        "expected_return_pct": 3.68,
        "win_prob": 58.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": 58.0,
          "raw_total": 58.0,
          "was_clamped": false
        },
        "risk_reward": 0.38,
        "final_score": 0.78,
        "trade_action": "Small",
        "relative_strength": -10.21,
        "entry": "Below 534.6 (VWAP)",
        "entry_source": "vwap",
        "entry_price": 534.39,
        "entry_zone": {
          "low": 534.15,
          "high": 534.63,
          "mid": 534.39,
          "anchors": [
            {
              "source": "vwap",
              "label": "VWAP",
              "price": 534.63
            },
            {
              "source": "orb_low",
              "label": "ORB低点",
              "price": 534.15
            }
          ],
          "display": "Entry Zone 534.15–534.63",
          "entry_source": "vwap",
          "tolerance_pct": 0.3
        },
        "stop": "585.6 (ORB高点)",
        "stop_source": "orb_high",
        "stop_price": 585.61,
        "target": "514.7 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 514.73,
        "targets": [
          "514.7 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 534.63,
          "orb_high": 585.61,
          "orb_low": 534.15,
          "prev_high": 593.41,
          "prev_low": 593.41,
          "prior_close": 593.41,
          "orb_from_minute": true
        },
        "levels_valid": true,
        "why": [
          "RS弱于QQQ -10.21%",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)"
        ],
        "why_chain": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "why_vs_runner_up": "META RS -10.2% vs TQQQ -1.6%;ER 2.7% vs 0.8%;Win% 58 vs 45;higher beta (16.9 vs 3.5);relative weakness play",
        "factor_breakdown": {
          "relative_strength_vs_qqq": -10.21,
          "relative_strength_vs_smh": -8.66,
          "relative_weakness_score": 15.41,
          "gap_pct": -8.2,
          "beta_proxy": 16.95,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(58%) × ER(2.7%) × rr_weight(0.5) / 100",
        "expected_high": 585.61,
        "expected_low": 514.73,
        "expected_close": 514.73,
        "current_price": 529.0,
        "upside_pct": 2.7,
        "downside_risk_pct": 10.7,
        "why_factors": [
          "RS弱于QQQ -10.21%",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)"
        ],
        "why_today": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "gap_pct": -8.2,
        "rr_display": {
          "reward_risk_ratio": 0.38,
          "risk_reward_ratio": 2.63,
          "reward_per_share": 19.66,
          "risk_per_share": 51.22,
          "label_reward_risk": "Reward/Risk 0.38",
          "label_risk_reward": "Risk:Reward 1:2.63",
          "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "catalyst": "Fed Headlines · Geopolitical Risk (Iran)",
        "invalidation": "Close above stop $585.61 · Geopolitical escalation invalidates mean-reversion",
        "advisory": true,
        "level_reasons": {
          "entry": {
            "price": 534.39,
            "source": "vwap",
            "confidence": 89,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 534.15,
                "weight_pct": 30.0,
                "matched": true,
                "primary": false
              },
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 534.63,
                "weight_pct": 70.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "stop": {
            "price": 585.61,
            "source": "orb_high",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_high",
                "label": "ORB High",
                "price": 585.61,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 514.73,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 514.73,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "return_calculation": "(534.39-514.73)/534.39=3.68%",
        "heuristic_expected_return_pct": 2.7,
        "target_action": "买入/平空仓",
        "trade_summary_cn": "做空 META:在 534.39 附近入场,目标 514.73,预期 +3.68%",
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 5.3,
          "shares": 1,
          "contracts": 1,
          "max_loss_usd": 51.22,
          "win_usd": 19.66,
          "loss_usd": 51.22,
          "expected_value_usd": -10.11,
          "risk_per_share": 51.22,
          "reward_per_share": 19.66,
          "rr_display": {
            "reward_risk_ratio": 0.38,
            "risk_reward_ratio": 2.63,
            "reward_per_share": 19.66,
            "risk_per_share": 51.22,
            "label_reward_risk": "Reward/Risk 0.38",
            "label_risk_reward": "Risk:Reward 1:2.63",
            "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "size_label": "Small",
          "display": "$10,000 → Win +$20 / Loss -$51"
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 5.3,
          "contracts": 1,
          "shares": 1,
          "max_loss_usd": 51.22,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 5.3% → 1 unit(s) → Max Loss $51.22"
        },
        "why_wins_today": [
          {
            "rank": 1,
            "dimension": "relative_strength",
            "label": "Highest Relative Strength",
            "primary_value": -10.21,
            "runner_up_value": 4.83,
            "wins": true
          },
          {
            "rank": 2,
            "dimension": "expected_range",
            "label": "Largest Expected Range",
            "primary_value": 13.4,
            "runner_up_value": 4.81,
            "wins": true
          },
          {
            "rank": 3,
            "dimension": "catalyst",
            "label": "Best Catalyst Alignment",
            "primary_value": 1.0,
            "runner_up_value": 1.0,
            "wins": true
          }
        ],
        "why_not_alternatives": [
          {
            "symbol": "TQQQ",
            "rank": 2,
            "reasons": [
              "Win% 58 vs 45",
              "ER 3.7% vs 0.8%",
              "Score 0.78 vs 0.52",
              "RS -10.2% vs -1.6%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why META over TQQQ: Win% 58 vs 45 · ER 3.7% vs 0.8% · Score 0.78 vs 0.52 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "SMH",
            "rank": 3,
            "reasons": [
              "Win% 58 vs 45",
              "ER 3.7% vs 0.7%",
              "Score 0.78 vs 0.46",
              "RS -10.2% vs -1.6%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why META over SMH: Win% 58 vs 45 · ER 3.7% vs 0.7% · Score 0.78 vs 0.46 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "TSLA",
            "rank": 4,
            "reasons": [
              "Win% 58 vs 63",
              "ER 3.7% vs 0.4%",
              "Score 0.78 vs 0.34",
              "RS -10.2% vs -0.7%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why META over TSLA: Win% 58 vs 63 · ER 3.7% vs 0.4% · Score 0.78 vs 0.34 · RS -10.2% vs -0.7% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "NVDA",
            "rank": 5,
            "reasons": [
              "Win% 58 vs 40",
              "ER 3.7% vs 0.4%",
              "Score 0.78 vs 0.27",
              "RS -10.2% vs -1.2%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why META over NVDA: Win% 58 vs 40 · ER 3.7% vs 0.4% · Score 0.78 vs 0.27 · RS -10.2% vs -1.2% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "MU",
            "rank": 6,
            "reasons": [
              "Win% 58 vs 33",
              "ER 3.7% vs 1.4%",
              "Score 0.78 vs 0.24",
              "RS -10.2% vs +4.2%"
            ],
            "summary": "Why META over MU: Win% 58 vs 33 · ER 3.7% vs 1.4% · Score 0.78 vs 0.24 · RS -10.2% vs +4.2%"
          }
        ],
        "rank_summary": "META ranked #1 because weakest RS + largest expected range + best catalyst alignment",
        "win_prob_source": "rules",
        "calibration": {
          "calibrated_win_prob": 58.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": -10.11,
          "win_scenario_usd": 19.66,
          "loss_scenario_usd": 51.22,
          "win_prob_pct": 58.0,
          "display": "EV $-10 (win +$20 @ 58.0% · loss -$51)"
        },
        "entry_status": {
          "current_price": 529.0,
          "ideal_entry": 534.39,
          "distance_pct": 1.01,
          "remaining_er_pct": 2.7,
          "live_expected_return_pct": 2.7,
          "new_plan": null,
          "alternate_entry": null,
          "advisory": true,
          "advisory_tag": "ADVISORY — 不构成投资建议",
          "zone_low": 534.15,
          "zone_high": 534.63,
          "miss_threshold_pct": 1.0,
          "status": "PREMARKET",
          "status_reason": "Premarket Ideal Entry — plan not yet live",
          "action_hint": "Entry still valid"
        }
      },
      "secondary": {
        "rank": 2,
        "symbol": "MU",
        "direction": "SHORT",
        "instrument": "Stock",
        "horizon": "Intraday",
        "confidence": 40,
        "confidence_stars": "★★☆☆☆",
        "expected_move": "+1.43%",
        "expected_return_pct": 1.43,
        "win_prob": 33.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 33.0,
          "raw_total": 33.0,
          "was_clamped": false
        },
        "risk_reward": 1.0,
        "final_score": 0.24,
        "trade_action": "Small",
        "relative_strength": 4.19,
        "entry": "Below 765.2 (现价)",
        "entry_source": "current",
        "entry_price": 765.21,
        "entry_zone": {
          "low": 762.92,
          "high": 767.51,
          "mid": 765.21,
          "anchors": [],
          "display": "Entry Zone 763–768",
          "entry_source": "current",
          "tolerance_pct": 0.3
        },
        "stop": "776.1 (预期高点)",
        "stop_source": "expected_high",
        "stop_price": 776.12,
        "target": "754.3 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 754.3,
        "targets": [
          "754.3 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 739.68,
          "orb_high": 739.0,
          "orb_low": 714.55,
          "prev_high": null,
          "prev_low": null,
          "prior_close": 739.0,
          "orb_from_minute": true
        },
        "levels_valid": true,
        "why": [
          "板块内相对强势 +4.19%",
          "半导体内领涨 +5.74%",
          "昨日弱势 -6.7% 延续下行",
          "VIX 回落 (做空逆风)"
        ],
        "why_chain": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)",
        "why_vs_runner_up": "—",
        "factor_breakdown": {
          "relative_strength_vs_qqq": 4.19,
          "relative_strength_vs_smh": 5.74,
          "relative_weakness_score": -7.63,
          "gap_pct": -2.42,
          "beta_proxy": -5.55,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": -6.73
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(33%) × ER(1.4%) × rr_weight(0.5) / 100",
        "expected_high": 776.12,
        "expected_low": 754.3,
        "expected_close": 754.3,
        "current_price": 765.21,
        "upside_pct": 1.43,
        "downside_risk_pct": 1.43,
        "why_factors": [
          "板块内相对强势 +4.19%",
          "半导体内领涨 +5.74%",
          "昨日弱势 -6.7% 延续下行",
          "VIX 回落 (做空逆风)"
        ],
        "why_today": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)",
        "gap_pct": -2.42,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": 10.91,
          "risk_per_share": 10.91,
          "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"
        },
        "catalyst": "Fed Headlines · Geopolitical Risk (Iran)",
        "invalidation": "Close above stop $776.12 · Geopolitical escalation invalidates mean-reversion",
        "advisory": true,
        "level_reasons": {
          "entry": {
            "price": 765.21,
            "source": "current",
            "confidence": 55,
            "reasons": []
          },
          "stop": {
            "price": 776.12,
            "source": "expected_high",
            "confidence": 55,
            "reasons": []
          },
          "target": {
            "price": 754.3,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 754.3,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "return_calculation": "(765.21-754.3)/765.21=1.43%",
        "heuristic_expected_return_pct": 1.43,
        "target_action": "买入/平空仓",
        "trade_summary_cn": "做空 MU:在 765.21 附近入场,目标 754.3,预期 +1.43%",
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 68.9,
          "shares": 9,
          "contracts": 1,
          "max_loss_usd": 98.19,
          "win_usd": 98.19,
          "loss_usd": 98.19,
          "expected_value_usd": -33.38,
          "risk_per_share": 10.91,
          "reward_per_share": 10.91,
          "rr_display": {
            "reward_risk_ratio": 1.0,
            "risk_reward_ratio": 1.0,
            "reward_per_share": 10.91,
            "risk_per_share": 10.91,
            "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"
          },
          "size_label": "Small",
          "display": "$10,000 → Win +$98 / Loss -$98"
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 68.9,
          "contracts": 1,
          "shares": 9,
          "max_loss_usd": 98.19,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 68.9% → 1 unit(s) → Max Loss $98.19"
        },
        "why_wins_today": [],
        "why_not_alternatives": [
          {
            "symbol": "META",
            "rank": 1,
            "reasons": [
              "Win% 33 vs 58",
              "ER 1.4% vs 2.7%",
              "Score 0.24 vs 0.78",
              "RS +4.2% vs -10.2%",
              "R:R 1.0 vs 0.25"
            ],
            "summary": "Why MU over META: Win% 33 vs 58 · ER 1.4% vs 2.7% · Score 0.24 vs 0.78 · RS +4.2% vs -10.2% · R:R 1.0 vs 0.25"
          },
          {
            "symbol": "TQQQ",
            "rank": 2,
            "reasons": [
              "Win% 33 vs 45",
              "ER 1.4% vs 0.8%",
              "Score 0.24 vs 0.52",
              "RS +4.2% vs -1.6%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why MU over TQQQ: Win% 33 vs 45 · ER 1.4% vs 0.8% · Score 0.24 vs 0.52 · RS +4.2% vs -1.6% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "SMH",
            "rank": 3,
            "reasons": [
              "Win% 33 vs 45",
              "ER 1.4% vs 0.7%",
              "Score 0.24 vs 0.46",
              "RS +4.2% vs -1.6%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why MU over SMH: Win% 33 vs 45 · ER 1.4% vs 0.7% · Score 0.24 vs 0.46 · RS +4.2% vs -1.6% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "TSLA",
            "rank": 4,
            "reasons": [
              "Win% 33 vs 63",
              "ER 1.4% vs 0.4%",
              "Score 0.24 vs 0.34",
              "RS +4.2% vs -0.7%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why MU over TSLA: Win% 33 vs 63 · ER 1.4% vs 0.4% · Score 0.24 vs 0.34 · RS +4.2% vs -0.7% · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "NVDA",
            "rank": 5,
            "reasons": [
              "Win% 33 vs 40",
              "ER 1.4% vs 0.4%",
              "Score 0.24 vs 0.27",
              "RS +4.2% vs -1.2%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why MU over NVDA: Win% 33 vs 40 · ER 1.4% vs 0.4% · Score 0.24 vs 0.27 · RS +4.2% vs -1.2% · Tradeable (Small) vs Pass"
          }
        ],
        "win_prob_source": "rules",
        "calibration": {
          "calibrated_win_prob": 33.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": -33.38,
          "win_scenario_usd": 98.19,
          "loss_scenario_usd": 98.19,
          "win_prob_pct": 33.0,
          "display": "EV $-33 (win +$98 @ 33.0% · loss -$98)"
        },
        "entry_status": {
          "current_price": 765.21,
          "ideal_entry": 765.21,
          "distance_pct": -0.0,
          "remaining_er_pct": 1.43,
          "live_expected_return_pct": 1.43,
          "new_plan": null,
          "alternate_entry": null,
          "advisory": true,
          "advisory_tag": "ADVISORY — 不构成投资建议",
          "zone_low": 762.92,
          "zone_high": 767.51,
          "miss_threshold_pct": 1.0,
          "status": "PREMARKET",
          "status_reason": "Premarket Ideal Entry — plan not yet live",
          "action_hint": "Entry still valid"
        }
      },
      "watchlist": null,
      "index_trade": "NO TRADE",
      "p16_gate": "No Trade",
      "threshold_message": null,
      "stock_trades": [
        {
          "rank": 1,
          "symbol": "META",
          "direction": "SHORT",
          "confidence": 58,
          "expected_move": "+3.68%",
          "why": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)"
        },
        {
          "rank": 2,
          "symbol": "MU",
          "direction": "SHORT",
          "confidence": 40,
          "expected_move": "+1.43%",
          "why": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)"
        }
      ],
      "top_trades": [
        {
          "rank": 1,
          "symbol": "META",
          "direction": "SHORT",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 58,
          "confidence_stars": "★★☆☆☆",
          "expected_move": "+3.68%",
          "expected_return_pct": 3.68,
          "win_prob": 58.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": 58.0,
            "raw_total": 58.0,
            "was_clamped": false
          },
          "risk_reward": 0.38,
          "final_score": 0.78,
          "trade_action": "Small",
          "relative_strength": -10.21,
          "entry": "Below 534.6 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 534.39,
          "entry_zone": {
            "low": 534.15,
            "high": 534.63,
            "mid": 534.39,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 534.63
              },
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 534.15
              }
            ],
            "display": "Entry Zone 534.15–534.63",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "585.6 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 585.61,
          "target": "514.7 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 514.73,
          "targets": [
            "514.7 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 534.63,
            "orb_high": 585.61,
            "orb_low": 534.15,
            "prev_high": 593.41,
            "prev_low": 593.41,
            "prior_close": 593.41,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS弱于QQQ -10.21%",
            "News 1 (利空做空)",
            "Volume 信号",
            "VIX 回落 (做空逆风)"
          ],
          "why_chain": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
          "why_vs_runner_up": "META RS -10.2% vs TQQQ -1.6%;ER 2.7% vs 0.8%;Win% 58 vs 45;higher beta (16.9 vs 3.5);relative weakness play",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -10.21,
            "relative_strength_vs_smh": -8.66,
            "relative_weakness_score": 15.41,
            "gap_pct": -8.2,
            "beta_proxy": 16.95,
            "volume_signal": true,
            "news_count": 1,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -7.02,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(58%) × ER(2.7%) × rr_weight(0.5) / 100",
          "expected_high": 585.61,
          "expected_low": 514.73,
          "expected_close": 514.73,
          "current_price": 529.0,
          "upside_pct": 2.7,
          "downside_risk_pct": 10.7,
          "why_factors": [
            "RS弱于QQQ -10.21%",
            "News 1 (利空做空)",
            "Volume 信号",
            "VIX 回落 (做空逆风)"
          ],
          "why_today": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
          "gap_pct": -8.2,
          "rr_display": {
            "reward_risk_ratio": 0.38,
            "risk_reward_ratio": 2.63,
            "reward_per_share": 19.66,
            "risk_per_share": 51.22,
            "label_reward_risk": "Reward/Risk 0.38",
            "label_risk_reward": "Risk:Reward 1:2.63",
            "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $585.61 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 534.39,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 534.15,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 534.63,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 585.61,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 585.61,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 514.73,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 514.73,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(534.39-514.73)/534.39=3.68%",
          "heuristic_expected_return_pct": 2.7,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 META:在 534.39 附近入场,目标 514.73,预期 +3.68%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 5.3,
            "shares": 1,
            "contracts": 1,
            "max_loss_usd": 51.22,
            "win_usd": 19.66,
            "loss_usd": 51.22,
            "expected_value_usd": -10.11,
            "risk_per_share": 51.22,
            "reward_per_share": 19.66,
            "rr_display": {
              "reward_risk_ratio": 0.38,
              "risk_reward_ratio": 2.63,
              "reward_per_share": 19.66,
              "risk_per_share": 51.22,
              "label_reward_risk": "Reward/Risk 0.38",
              "label_risk_reward": "Risk:Reward 1:2.63",
              "display": "Reward/Risk 0.38 · Risk:Reward 1:2.63",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$20 / Loss -$51"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 5.3,
            "contracts": 1,
            "shares": 1,
            "max_loss_usd": 51.22,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 5.3% → 1 unit(s) → Max Loss $51.22"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": -10.21,
              "runner_up_value": 4.83,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 13.4,
              "runner_up_value": 4.81,
              "wins": true
            },
            {
              "rank": 3,
              "dimension": "catalyst",
              "label": "Best Catalyst Alignment",
              "primary_value": 1.0,
              "runner_up_value": 1.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "TQQQ",
              "rank": 2,
              "reasons": [
                "Win% 58 vs 45",
                "ER 3.7% vs 0.8%",
                "Score 0.78 vs 0.52",
                "RS -10.2% vs -1.6%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why META over TQQQ: Win% 58 vs 45 · ER 3.7% vs 0.8% · Score 0.78 vs 0.52 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "SMH",
              "rank": 3,
              "reasons": [
                "Win% 58 vs 45",
                "ER 3.7% vs 0.7%",
                "Score 0.78 vs 0.46",
                "RS -10.2% vs -1.6%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why META over SMH: Win% 58 vs 45 · ER 3.7% vs 0.7% · Score 0.78 vs 0.46 · RS -10.2% vs -1.6% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "TSLA",
              "rank": 4,
              "reasons": [
                "Win% 58 vs 63",
                "ER 3.7% vs 0.4%",
                "Score 0.78 vs 0.34",
                "RS -10.2% vs -0.7%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why META over TSLA: Win% 58 vs 63 · ER 3.7% vs 0.4% · Score 0.78 vs 0.34 · RS -10.2% vs -0.7% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "Win% 58 vs 40",
                "ER 3.7% vs 0.4%",
                "Score 0.78 vs 0.27",
                "RS -10.2% vs -1.2%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why META over NVDA: Win% 58 vs 40 · ER 3.7% vs 0.4% · Score 0.78 vs 0.27 · RS -10.2% vs -1.2% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "MU",
              "rank": 6,
              "reasons": [
                "Win% 58 vs 33",
                "ER 3.7% vs 1.4%",
                "Score 0.78 vs 0.24",
                "RS -10.2% vs +4.2%"
              ],
              "summary": "Why META over MU: Win% 58 vs 33 · ER 3.7% vs 1.4% · Score 0.78 vs 0.24 · RS -10.2% vs +4.2%"
            }
          ],
          "rank_summary": "META ranked #1 because weakest RS + largest expected range + best catalyst alignment",
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 58.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": -10.11,
            "win_scenario_usd": 19.66,
            "loss_scenario_usd": 51.22,
            "win_prob_pct": 58.0,
            "display": "EV $-10 (win +$20 @ 58.0% · loss -$51)"
          },
          "entry_status": {
            "current_price": 529.0,
            "ideal_entry": 534.39,
            "distance_pct": 1.01,
            "remaining_er_pct": 2.7,
            "live_expected_return_pct": 2.7,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 534.15,
            "zone_high": 534.63,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 2,
          "symbol": "MU",
          "direction": "SHORT",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 40,
          "confidence_stars": "★★☆☆☆",
          "expected_move": "+1.43%",
          "expected_return_pct": 1.43,
          "win_prob": 33.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": -22.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -3.0
              }
            ],
            "total": 33.0,
            "raw_total": 33.0,
            "was_clamped": false
          },
          "risk_reward": 1.0,
          "final_score": 0.24,
          "trade_action": "Small",
          "relative_strength": 4.19,
          "entry": "Below 765.2 (现价)",
          "entry_source": "current",
          "entry_price": 765.21,
          "entry_zone": {
            "low": 762.92,
            "high": 767.51,
            "mid": 765.21,
            "anchors": [],
            "display": "Entry Zone 763–768",
            "entry_source": "current",
            "tolerance_pct": 0.3
          },
          "stop": "776.1 (预期高点)",
          "stop_source": "expected_high",
          "stop_price": 776.12,
          "target": "754.3 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 754.3,
          "targets": [
            "754.3 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 739.68,
            "orb_high": 739.0,
            "orb_low": 714.55,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 739.0,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "板块内相对强势 +4.19%",
            "半导体内领涨 +5.74%",
            "昨日弱势 -6.7% 延续下行",
            "VIX 回落 (做空逆风)"
          ],
          "why_chain": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 4.19,
            "relative_strength_vs_smh": 5.74,
            "relative_weakness_score": -7.63,
            "gap_pct": -2.42,
            "beta_proxy": -5.55,
            "volume_signal": false,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -7.02,
            "prior_day_change_pct": -6.73
          },
          "edge_type": "Relative Strength",
          "score_formula_display": "final = win_prob(33%) × ER(1.4%) × rr_weight(0.5) / 100",
          "expected_high": 776.12,
          "expected_low": 754.3,
          "expected_close": 754.3,
          "current_price": 765.21,
          "upside_pct": 1.43,
          "downside_risk_pct": 1.43,
          "why_factors": [
            "板块内相对强势 +4.19%",
            "半导体内领涨 +5.74%",
            "昨日弱势 -6.7% 延续下行",
            "VIX 回落 (做空逆风)"
          ],
          "why_today": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)",
          "gap_pct": -2.42,
          "rr_display": {
            "reward_risk_ratio": 1.0,
            "risk_reward_ratio": 1.0,
            "reward_per_share": 10.91,
            "risk_per_share": 10.91,
            "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"
          },
          "catalyst": "Fed Headlines · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $776.12 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 765.21,
              "source": "current",
              "confidence": 55,
              "reasons": []
            },
            "stop": {
              "price": 776.12,
              "source": "expected_high",
              "confidence": 55,
              "reasons": []
            },
            "target": {
              "price": 754.3,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 754.3,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(765.21-754.3)/765.21=1.43%",
          "heuristic_expected_return_pct": 1.43,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 MU:在 765.21 附近入场,目标 754.3,预期 +1.43%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 68.9,
            "shares": 9,
            "contracts": 1,
            "max_loss_usd": 98.19,
            "win_usd": 98.19,
            "loss_usd": 98.19,
            "expected_value_usd": -33.38,
            "risk_per_share": 10.91,
            "reward_per_share": 10.91,
            "rr_display": {
              "reward_risk_ratio": 1.0,
              "risk_reward_ratio": 1.0,
              "reward_per_share": 10.91,
              "risk_per_share": 10.91,
              "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"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$98 / Loss -$98"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 68.9,
            "contracts": 1,
            "shares": 9,
            "max_loss_usd": 98.19,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 68.9% → 1 unit(s) → Max Loss $98.19"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "META",
              "rank": 1,
              "reasons": [
                "Win% 33 vs 58",
                "ER 1.4% vs 2.7%",
                "Score 0.24 vs 0.78",
                "RS +4.2% vs -10.2%",
                "R:R 1.0 vs 0.25"
              ],
              "summary": "Why MU over META: Win% 33 vs 58 · ER 1.4% vs 2.7% · Score 0.24 vs 0.78 · RS +4.2% vs -10.2% · R:R 1.0 vs 0.25"
            },
            {
              "symbol": "TQQQ",
              "rank": 2,
              "reasons": [
                "Win% 33 vs 45",
                "ER 1.4% vs 0.8%",
                "Score 0.24 vs 0.52",
                "RS +4.2% vs -1.6%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why MU over TQQQ: Win% 33 vs 45 · ER 1.4% vs 0.8% · Score 0.24 vs 0.52 · RS +4.2% vs -1.6% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "SMH",
              "rank": 3,
              "reasons": [
                "Win% 33 vs 45",
                "ER 1.4% vs 0.7%",
                "Score 0.24 vs 0.46",
                "RS +4.2% vs -1.6%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why MU over SMH: Win% 33 vs 45 · ER 1.4% vs 0.7% · Score 0.24 vs 0.46 · RS +4.2% vs -1.6% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "TSLA",
              "rank": 4,
              "reasons": [
                "Win% 33 vs 63",
                "ER 1.4% vs 0.4%",
                "Score 0.24 vs 0.34",
                "RS +4.2% vs -0.7%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why MU over TSLA: Win% 33 vs 63 · ER 1.4% vs 0.4% · Score 0.24 vs 0.34 · RS +4.2% vs -0.7% · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "NVDA",
              "rank": 5,
              "reasons": [
                "Win% 33 vs 40",
                "ER 1.4% vs 0.4%",
                "Score 0.24 vs 0.27",
                "RS +4.2% vs -1.2%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why MU over NVDA: Win% 33 vs 40 · ER 1.4% vs 0.4% · Score 0.24 vs 0.27 · RS +4.2% vs -1.2% · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 33.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": -33.38,
            "win_scenario_usd": 98.19,
            "loss_scenario_usd": 98.19,
            "win_prob_pct": 33.0,
            "display": "EV $-33 (win +$98 @ 33.0% · loss -$98)"
          },
          "entry_status": {
            "current_price": 765.21,
            "ideal_entry": 765.21,
            "distance_pct": -0.0,
            "remaining_er_pct": 1.43,
            "live_expected_return_pct": 1.43,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 762.92,
            "zone_high": 767.51,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "TQQQ",
          "rank": 2,
          "win_prob": 45.0,
          "expected_return_pct": 0.77,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -1.60% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind TQQQ short vs escalation",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "SMH",
          "rank": 3,
          "win_prob": 45.0,
          "expected_return_pct": 0.68,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -1.55% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind SMH short vs escalation",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "TSLA",
          "rank": 4,
          "win_prob": 63.0,
          "expected_return_pct": 0.36,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -0.71% · Volume 信号 · VIX 回落 (做空逆风) · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "NVDA",
          "rank": 5,
          "win_prob": 40.0,
          "expected_return_pct": 0.44,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -1.24% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "QQQ",
          "rank": 7,
          "win_prob": 51.0,
          "expected_return_pct": 0.15,
          "trade_action": "Pass",
          "why": "Volume 信号 · VIX 回落 (做空逆风) · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        }
      ],
      "advisory": true,
      "swing": {
        "symbol": "META",
        "direction": "SHORT",
        "instrument": "Stock",
        "horizon": "Swing",
        "duration": "Swing (days–weeks)",
        "confidence": 63,
        "entry": "Near 530.6 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 530.59,
        "entry_zone": {
          "low": 529.0,
          "high": 542.24,
          "mid": 530.59,
          "display": "$529.00–$542.24",
          "source": "swing_pullback"
        },
        "stop": "565.5 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 565.55,
        "target": "484.0 (T1 ~8.8%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 483.98,
        "targets": [
          {
            "price": 483.98,
            "label": "T1",
            "pct": 8.78
          },
          {
            "price": 460.67,
            "label": "T2",
            "pct": 13.18
          }
        ],
        "expected_return_pct": 8.78,
        "expected_move": "+8.78%",
        "risk_reward": 1.33,
        "win_prob": 58.0,
        "final_score": 0.78,
        "swing_quality": 7.181,
        "atr": 23.3057,
        "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": 529.0,
        "why": [
          "高流动性波段标的 META",
          "Prior day +0.0%",
          "5D momentum -6.6%",
          "RS vs QQQ -10.21%",
          "News/1 catalyst hints",
          "Swing score 7.2"
        ],
        "why_chain": "高流动性波段标的 META · Prior day +0.0% · 5D momentum -6.6% · RS vs QQQ -10.21%",
        "invalidation": "Close beyond stop $565.55 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做空 META:理想入场 $529.00–$542.24,止损 $565.55,目标 $483.98(约 +8.8%),持仓天数–数周",
        "one_liner": "波段做空 META:理想入场 $529.00–$542.24,止损 $565.55,目标 $483.98(约 +8.8%),持仓天数–数周",
        "edge_type": "Relative Weakness",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):Fed Headlines、Geopolitical Risk (Iran)、GDP、Oil Selloff",
        "catalyst": "Fed Headlines、Geopolitical Risk (Iran)、GDP、Oil Selloff"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 走弱 -0.63%(做空 edge)"
      },
      "sector_edge": {
        "edge": "NO",
        "why": "板块相对强度不足"
      },
      "stock_edge": {
        "edge": "NO",
        "why": "无单票 RS+新闻+量能共振"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "META",
        "win_prob": 58.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": 58.0,
          "raw_total": 58.0,
          "was_clamped": false
        },
        "expected_return_pct": 2.7,
        "expected_high": 585.61,
        "expected_low": 514.73,
        "expected_close": 514.73,
        "current_price": 529.0,
        "upside_pct": 2.7,
        "downside_risk_pct": 10.7,
        "risk_reward": 0.25,
        "rr_display": {
          "reward_risk_ratio": 0.25,
          "risk_reward_ratio": 4.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.25",
          "label_risk_reward": "Risk:Reward 1:4.00",
          "display": "Reward/Risk 0.25 · Risk:Reward 1:4.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.78,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -8.2,
        "relative_strength": -10.21,
        "relative_strength_vs_smh": -8.66,
        "relative_weakness_score": 15.41,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -10.21%",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)"
        ],
        "why": "RS弱于QQQ -10.21% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 8,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -10.21,
          "relative_strength_vs_smh": -8.66,
          "relative_weakness_score": 15.41,
          "gap_pct": -8.2,
          "beta_proxy": 16.95,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(58%) × ER(2.7%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "META RS -10.2% vs TQQQ -1.6%;ER 2.7% vs 0.8%;Win% 58 vs 45;higher beta (16.9 vs 3.5);relative weakness play",
        "advisory": true,
        "rank": 1,
        "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.77,
        "expected_high": 60.65,
        "expected_low": 57.75,
        "expected_close": 59.72,
        "current_price": 60.18,
        "upside_pct": 4.04,
        "downside_risk_pct": 0.77,
        "risk_reward": 5.24,
        "rr_display": {
          "reward_risk_ratio": 5.24,
          "risk_reward_ratio": 0.19,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 5.24",
          "label_risk_reward": "Risk:Reward 1:0.19",
          "display": "Reward/Risk 5.24 · Risk:Reward 1:0.19",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.52,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -5.64,
        "relative_strength": -1.6,
        "relative_strength_vs_smh": -0.05,
        "relative_weakness_score": 1.63,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.60%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind TQQQ short vs escalation",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -1.60% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind TQQQ short vs escalation",
        "score": 5,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.6,
          "relative_strength_vs_smh": -0.05,
          "relative_weakness_score": 1.63,
          "gap_pct": -5.64,
          "beta_proxy": 3.5,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(45%) × ER(0.8%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "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.68,
        "expected_high": 521.54,
        "expected_low": 504.22,
        "expected_close": 514.48,
        "current_price": 518.01,
        "upside_pct": 2.66,
        "downside_risk_pct": 0.68,
        "risk_reward": 3.91,
        "rr_display": {
          "reward_risk_ratio": 3.91,
          "risk_reward_ratio": 0.26,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.91",
          "label_risk_reward": "Risk:Reward 1:0.26",
          "display": "Reward/Risk 3.91 · Risk:Reward 1:0.26",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.46,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -4.64,
        "relative_strength": -1.55,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": 1.55,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.55%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind SMH short vs escalation",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -1.55% · Volume 信号 · VIX 回落 (做空逆风) · Geo-risk day — avoid blind SMH short vs escalation",
        "score": 5,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.55,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": 1.55,
          "gap_pct": -4.64,
          "beta_proxy": 3.42,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(45%) × ER(0.7%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "SHORT"
      },
      {
        "symbol": "TSLA",
        "win_prob": 63.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": -3.0
            }
          ],
          "total": 63.0,
          "raw_total": 63.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.36,
        "expected_high": 304.81,
        "expected_low": 298.32,
        "expected_close": 302.21,
        "current_price": 303.29,
        "upside_pct": 1.64,
        "downside_risk_pct": 0.5,
        "risk_reward": 3.28,
        "rr_display": {
          "reward_risk_ratio": 3.28,
          "risk_reward_ratio": 0.3,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.28",
          "label_risk_reward": "Risk:Reward 1:0.30",
          "display": "Reward/Risk 3.28 · Risk:Reward 1:0.30",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.34,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.67,
        "relative_strength": -0.71,
        "relative_strength_vs_smh": 0.84,
        "relative_weakness_score": 0.21,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -0.71%",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -0.71% · Volume 信号 · VIX 回落 (做空逆风) · 上行空间 <1.0%",
        "score": 3,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.71,
          "relative_strength_vs_smh": 0.84,
          "relative_weakness_score": 0.21,
          "gap_pct": -2.67,
          "beta_proxy": 2.11,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(63%) × ER(0.4%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "SHORT"
      },
      {
        "symbol": "NVDA",
        "win_prob": 40.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": -21.0
            }
          ],
          "total": 40.0,
          "raw_total": 40.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.44,
        "expected_high": 194.27,
        "expected_low": 190.01,
        "expected_close": 192.44,
        "current_price": 193.3,
        "upside_pct": 1.7,
        "downside_risk_pct": 0.5,
        "risk_reward": 3.4,
        "rr_display": {
          "reward_risk_ratio": 3.4,
          "risk_reward_ratio": 0.29,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.40",
          "label_risk_reward": "Risk:Reward 1:0.29",
          "display": "Reward/Risk 3.40 · Risk:Reward 1:0.29",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.27,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.9,
        "relative_strength": -1.24,
        "relative_strength_vs_smh": 0.31,
        "relative_weakness_score": 1.05,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -1.24%",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "Geo-risk day — avoid blind NVDA short vs escalation",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -1.24% · News 1 (利空做空) · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 3,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.24,
          "relative_strength_vs_smh": 0.31,
          "relative_weakness_score": 1.05,
          "gap_pct": -2.9,
          "beta_proxy": 2.94,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(40%) × ER(0.4%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "SHORT"
      },
      {
        "symbol": "MU",
        "win_prob": 33.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 33.0,
          "raw_total": 33.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.43,
        "expected_high": 776.12,
        "expected_low": 754.3,
        "expected_close": 754.3,
        "current_price": 765.21,
        "upside_pct": 1.43,
        "downside_risk_pct": 1.43,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.24,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -2.42,
        "relative_strength": 4.19,
        "relative_strength_vs_smh": 5.74,
        "relative_weakness_score": -7.63,
        "prior_day_change_pct": -6.73,
        "why_factors": [
          "板块内相对强势 +4.19%",
          "半导体内领涨 +5.74%",
          "昨日弱势 -6.7% 延续下行",
          "VIX 回落 (做空逆风)"
        ],
        "why": "板块内相对强势 +4.19% · 半导体内领涨 +5.74% · 昨日弱势 -6.7% 延续下行 · VIX 回落 (做空逆风)",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 4.19,
          "relative_strength_vs_smh": 5.74,
          "relative_weakness_score": -7.63,
          "gap_pct": -2.42,
          "beta_proxy": -5.55,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": -6.73
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(33%) × ER(1.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "SHORT"
      },
      {
        "symbol": "QQQ",
        "win_prob": 51.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 51.0,
          "raw_total": 51.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.15,
        "expected_high": 674.51,
        "expected_low": 661.73,
        "expected_close": 670.16,
        "current_price": 671.15,
        "upside_pct": 1.4,
        "downside_risk_pct": 0.5,
        "risk_reward": 2.81,
        "rr_display": {
          "reward_risk_ratio": 2.81,
          "risk_reward_ratio": 0.36,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 2.81",
          "label_risk_reward": "Risk:Reward 1:0.36",
          "display": "Reward/Risk 2.81 · Risk:Reward 1:0.36",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.11,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.85,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": 1.55,
        "relative_weakness_score": -0.93,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "Volume 信号 · VIX 回落 (做空逆风) · 上行空间 <1.0%",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": 1.55,
          "relative_weakness_score": -0.93,
          "gap_pct": -1.85,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(51%) × ER(0.1%) × rr_weight(1.41) / 100",
        "rr_weight": 1.41,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "SHORT"
      },
      {
        "symbol": "SPY",
        "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.15,
        "expected_high": 738.22,
        "expected_low": 728.67,
        "expected_close": 733.47,
        "current_price": 734.55,
        "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"
        },
        "final_score": 0.07,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.31,
        "relative_strength": -0.21,
        "relative_strength_vs_smh": 1.34,
        "relative_weakness_score": -0.59,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS弱于QQQ -0.21%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -0.21% · Gap 未过度延伸 · Volume 信号 · VIX 回落 (做空逆风)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.21,
          "relative_strength_vs_smh": 1.34,
          "relative_weakness_score": -0.59,
          "gap_pct": -1.31,
          "beta_proxy": 1.33,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(62%) × ER(0.1%) × rr_weight(0.8) / 100",
        "rr_weight": 0.8,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "SHORT"
      },
      {
        "symbol": "ARM",
        "win_prob": 25.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 25.0,
          "raw_total": 25.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.26,
        "expected_high": 229.27,
        "expected_low": 224.73,
        "expected_close": 226.4,
        "current_price": 227.0,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.03,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -6.5,
        "relative_strength": 1.58,
        "relative_strength_vs_smh": 3.13,
        "relative_weakness_score": -3.46,
        "prior_day_change_pct": -7.25,
        "why_factors": [
          "板块内相对强势 +1.58%",
          "半导体内领涨 +3.13%",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +1.58% · 半导体内领涨 +3.13% · VIX 回落 (做空逆风) · 上行空间 <1.0%",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.58,
          "relative_strength_vs_smh": 3.13,
          "relative_weakness_score": -3.46,
          "gap_pct": -6.5,
          "beta_proxy": -1.47,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": -7.25
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(25%) × ER(0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "SHORT"
      },
      {
        "symbol": "AVGO",
        "win_prob": 30.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 30.0,
          "raw_total": 30.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.84,
        "expected_high": 380.37,
        "expected_low": 372.83,
        "expected_close": 379.76,
        "current_price": 376.6,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.34,
        "relative_strength": 2.34,
        "relative_strength_vs_smh": 3.89,
        "relative_weakness_score": -4.67,
        "prior_day_change_pct": -1.13,
        "why_factors": [
          "板块内相对强势 +2.34%",
          "半导体内领涨 +3.89%",
          "Gap 未过度延伸",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +2.34% · 半导体内领涨 +3.89% · Gap 未过度延伸 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 2.34,
          "relative_strength_vs_smh": 3.89,
          "relative_weakness_score": -4.67,
          "gap_pct": -0.34,
          "beta_proxy": -2.66,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": -1.13
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(30%) × ER(-0.8%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "SHORT"
      },
      {
        "symbol": "AMD",
        "win_prob": 30.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -3.0
            }
          ],
          "total": 30.0,
          "raw_total": 30.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.65,
        "expected_high": 454.92,
        "expected_low": 443.07,
        "expected_close": 454.92,
        "current_price": 447.55,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.65,
        "risk_reward": 0.61,
        "rr_display": {
          "reward_risk_ratio": 0.61,
          "risk_reward_ratio": 1.64,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.61",
          "label_risk_reward": "Risk:Reward 1:1.64",
          "display": "Reward/Risk 0.61 · Risk:Reward 1:1.64",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.14,
        "relative_strength": 4.83,
        "relative_strength_vs_smh": 6.38,
        "relative_weakness_score": -8.66,
        "prior_day_change_pct": -1.6,
        "why_factors": [
          "板块内相对强势 +4.83%",
          "半导体内领涨 +6.38%",
          "Gap 未过度延伸",
          "VIX 回落 (做空逆风)",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +4.83% · 半导体内领涨 +6.38% · Gap 未过度延伸 · VIX 回落 (做空逆风)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 4.83,
          "relative_strength_vs_smh": 6.38,
          "relative_weakness_score": -8.66,
          "gap_pct": 0.14,
          "beta_proxy": -6.55,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -7.02,
          "prior_day_change_pct": -1.6
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(30%) × ER(-1.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "SHORT"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": true,
      "action": "Hold"
    },
    "s7": {
      "actual_driver": "NFP",
      "attribution": {
        "ai": 0.528,
        "bond": 0.108,
        "oil": 0.0,
        "macro": 0.314,
        "other": 0.05,
        "splits": {
          "NFP": 0.366
        }
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.528,
    "bond": 0.108,
    "oil": 0.0,
    "macro": 0.314,
    "other": 0.05,
    "splits": {
      "NFP": 0.366
    }
  },
  "labels": {
    "actual_driver": "NFP",
    "agent_driver": "Fed Headlines",
    "agent_driver_type": "Fed",
    "corrected_driver_from_verify": null,
    "driver_splits": {
      "NFP": 0.36637587367331076
    },
    "hypothesis_correct": "错",
    "scenario_primary": "A",
    "scenario_actual": "A",
    "scenario_correct": true,
    "trade_recommendation": "META",
    "trade_direction": "SHORT",
    "primary_symbol": "META",
    "predicted_return_pct": 3.68,
    "prediction_error_pct": null
  },
  "surprise": "No major surprises vs typical driver mix",
  "lesson": "NFP 日优先看 Macro Driver 链条:数据 → 利率 → 成长/价值轮动;Morning Hypothesis 被 Chip/Macro 冲突推翻——复盘 P10/P15 权重",
  "playbook_refs": [
    "Case-20"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}