← 全部 Cases · 今日流程

Market Case · 2026-09-04

Day 46

Day 46
9/9 Steps

当日催化剂

快照 2026-09-04T10:10:01
事件 预定 状态 实际值 Consensus Surprise 典型影响(参考) 实测反应
Nonfarm Payrolls 08:30 ✅ 159,075 175.0 +90800.0% ⬆️ NFP 大超预期 → 收益率+、金价压、成长承压 QQQ +0.0% / SMH +0.1% (5min post-release)
Unemployment Rate 08:30 ✅ 4.1% 4.1% +0.0% 失业率意外上行 → 降息预期 → 债券+ QQQ +0.0% / SMH +0.1% (5min post-release)

Regime · Hypothesis

R0 Regime
AI Expansion (82.0%)
Hypothesis
弱 NFP 能否抵消 AI 抛售?(Macro 利率利好 vs 半导体风险)
ID
H-2026-09-04-001

Labels · Attribution

真正 Driver
NFP
Hypothesis 结果
对
Scenario 预测
A
Scenario 实际
A
Scenario 命中
✓
AI 贡献
61%
Bond
15%

Surprise · Lesson

Surprise:AI/Semiconductor dominated more than typical day

Lesson:NFP 日优先看 Macro Driver 链条:数据 → 利率 → 成长/价值轮动

Evidence / Counter

Evidence

  • VIX=14.1 (low fear)
  • Breadth 100% (broad participation)

Counter

  • 10Y=4.79% (elevated rates)

Step 快捷入口

原始 JSON
{
  "date": "2026-09-04",
  "features": {
    "dgs10": 4.79,
    "dgs2": null,
    "vix": 14.12,
    "vix_chg": -1.4,
    "qqq_chg": 1.24,
    "smh_chg": 2.91,
    "nvda_chg": 2.4,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": 0.08,
    "breadth_proxy": 0.7142857142857143,
    "qqq_gap": 1.65,
    "news_headline_count": 26,
    "news_bearish_ratio": 0.182,
    "news_ai_mentions": 40,
    "news_macro_mentions": 12,
    "news_oil_mentions": 0,
    "news_risk_mentions": 0
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-09-04-001",
    "statement": "弱 NFP 能否抵消 AI 抛售?(Macro 利率利好 vs 半导体风险)",
    "evidence": [
      "VIX=14.1 (low fear)",
      "Breadth 100% (broad participation)"
    ],
    "counter_evidence": [
      "10Y=4.79% (elevated rates)"
    ],
    "confidence": 0.81,
    "status": "待验证"
  },
  "morning": {
    "bias": "Bullish Bias",
    "total": 4,
    "driver_type": "Macro",
    "daily_driver": "NFP",
    "best_opportunity": {
      "direction": "NO TRADE",
      "symbol": "—",
      "instrument": "—",
      "horizon": "—",
      "confidence": 45,
      "entry": "—",
      "stop": "—",
      "target": "—",
      "targets": [],
      "duration": "—",
      "why": [
        "今日无任何标的达到交易阈值"
      ],
      "why_chain": "今日无任何标的达到交易阈值",
      "avoid": [],
      "one_liner": "今日无任何标的达到交易阈值",
      "p16_gate": "No Trade",
      "threshold_message": "今日无任何标的达到交易阈值",
      "advisory": true
    },
    "best_trades": {
      "primary": null,
      "secondary": null,
      "watchlist": null,
      "index_trade": "NO TRADE",
      "p16_gate": "No Trade",
      "threshold_message": "今日无任何标的达到交易阈值",
      "stock_trades": [],
      "top_trades": [
        {
          "rank": 1,
          "symbol": "ARM",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Swing",
          "confidence": 72,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.45%",
          "expected_return_pct": 1.45,
          "win_prob": 72.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 18.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              }
            ],
            "total": 72.0,
            "raw_total": 72.0,
            "was_clamped": false
          },
          "risk_reward": 0.86,
          "final_score": 0.56,
          "trade_action": "Pass",
          "relative_strength": 3.82,
          "entry": "Above 247.9 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 248.21,
          "entry_zone": {
            "low": 247.91,
            "high": 248.51,
            "mid": 248.21,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 247.91
              },
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 248.51
              }
            ],
            "display": "Entry Zone 247.91–248.51",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "244.0 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 244.02,
          "target": "251.8 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 251.81,
          "targets": [
            "251.8 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 247.91,
            "orb_high": 248.51,
            "orb_low": 244.02,
            "prev_high": 234.86,
            "prev_low": 234.86,
            "prior_close": 234.86,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +3.82%",
            "RS vs SMH +3.44%",
            "Volume 信号",
            "Geometric upside 1.45% < soft 1.5%"
          ],
          "why_chain": "RS vs QQQ +3.82% · RS vs SMH +3.44% · Volume 信号",
          "why_vs_runner_up": "ARM RS +3.8% vs TSLA +0.6%;ER 1.6% vs 0.4%;Win% 72 vs 66;higher beta (3.2 vs 1.4);relative strength",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 3.82,
            "relative_strength_vs_smh": 3.44,
            "relative_weakness_score": -5.88,
            "gap_pct": 4.75,
            "beta_proxy": 3.18,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -1.4,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(72%) × ER(1.6%) × rr_weight(0.5) / 100",
          "expected_high": 251.81,
          "expected_low": 242.59,
          "expected_close": 251.81,
          "current_price": 247.95,
          "upside_pct": 1.56,
          "downside_risk_pct": 2.16,
          "why_factors": [
            "RS vs QQQ +3.82%",
            "RS vs SMH +3.44%",
            "Volume 信号",
            "Geometric upside 1.45% < soft 1.5%"
          ],
          "why_today": "RS vs QQQ +3.82% · RS vs SMH +3.44% · Volume 信号",
          "gap_pct": 4.75,
          "rr_display": {
            "reward_risk_ratio": 0.86,
            "risk_reward_ratio": 1.16,
            "reward_per_share": 3.6,
            "risk_per_share": 4.19,
            "label_reward_risk": "Reward/Risk 0.86",
            "label_risk_reward": "Risk:Reward 1:1.16",
            "display": "Reward/Risk 0.86 · Risk:Reward 1:1.16",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "NFP · Trade Policy",
          "invalidation": "Close below stop $244.02",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 248.21,
              "source": "vwap",
              "confidence": 98,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 247.91,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 248.51,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "current",
                  "label": "Above Current",
                  "price": 247.95,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 244.02,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 244.02,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 251.81,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 251.81,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(251.81-248.21)/248.21=1.45%",
          "heuristic_expected_return_pct": 1.56,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 ARM:在 248.21 附近入场,目标 251.81,预期 +1.45%",
          "expected_r": 0.3392,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 57.1,
            "shares": 23,
            "contracts": 0,
            "max_loss_usd": 96.37,
            "win_usd": 82.8,
            "loss_usd": 96.37,
            "expected_value_usd": 32.63,
            "risk_per_share": 4.19,
            "reward_per_share": 3.6,
            "rr_display": {
              "reward_risk_ratio": 0.86,
              "risk_reward_ratio": 1.16,
              "reward_per_share": 3.6,
              "risk_per_share": 4.19,
              "label_reward_risk": "Reward/Risk 0.86",
              "label_risk_reward": "Risk:Reward 1:1.16",
              "display": "Reward/Risk 0.86 · Risk:Reward 1:1.16",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "None",
            "display": "$10,000 → Win +$83 / Loss -$96"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 57.1,
            "contracts": 0,
            "shares": 23,
            "max_loss_usd": 96.37,
            "size_label": "None",
            "display": "Risk 1.0% → Position 57.1% → 23 unit(s) → Max Loss $96.37"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": 3.82,
              "runner_up_value": 3.39,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "TSLA",
              "rank": 2,
              "reasons": [
                "Win% 72 vs 66",
                "ER 1.4% vs 0.4%",
                "Score 0.56 vs 0.42",
                "RS +3.8% vs +0.6%"
              ],
              "summary": "Why ARM over TSLA: Win% 72 vs 66 · ER 1.4% vs 0.4% · Score 0.56 vs 0.42 · RS +3.8% vs +0.6%"
            },
            {
              "symbol": "TQQQ",
              "rank": 3,
              "reasons": [
                "Win% 72 vs 66",
                "ER 1.4% vs 1.0%",
                "Score 0.56 vs 0.33",
                "RS +3.8% vs +3.4%",
                "R:R 0.86 vs 0.63"
              ],
              "summary": "Why ARM over TQQQ: Win% 72 vs 66 · ER 1.4% vs 1.0% · Score 0.56 vs 0.33 · RS +3.8% vs +3.4% · R:R 0.86 vs 0.63"
            },
            {
              "symbol": "NVDA",
              "rank": 4,
              "reasons": [
                "Win% 72 vs 77",
                "ER 1.4% vs 0.6%",
                "Score 0.56 vs 0.22",
                "RS +3.8% vs +1.3%",
                "R:R 0.86 vs 0.48"
              ],
              "summary": "Why ARM over NVDA: Win% 72 vs 77 · ER 1.4% vs 0.6% · Score 0.56 vs 0.22 · RS +3.8% vs +1.3% · R:R 0.86 vs 0.48"
            },
            {
              "symbol": "META",
              "rank": 5,
              "reasons": [
                "Win% 72 vs 66",
                "ER 1.4% vs 0.6%",
                "Score 0.56 vs 0.21",
                "RS +3.8% vs +1.7%",
                "R:R 0.86 vs 0.78"
              ],
              "summary": "Why ARM over META: Win% 72 vs 66 · ER 1.4% vs 0.6% · Score 0.56 vs 0.21 · RS +3.8% vs +1.7% · R:R 0.86 vs 0.78"
            },
            {
              "symbol": "MSFT",
              "rank": 6,
              "reasons": [
                "Win% 72 vs 71",
                "ER 1.4% vs 0.3%",
                "Score 0.56 vs 0.12",
                "RS +3.8% vs +0.6%",
                "R:R 0.86 vs 0.62"
              ],
              "summary": "Why ARM over MSFT: Win% 72 vs 71 · ER 1.4% vs 0.3% · Score 0.56 vs 0.12 · RS +3.8% vs +0.6% · R:R 0.86 vs 0.62"
            }
          ],
          "rank_summary": "ARM ranked #1 because weakest RS",
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 72.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "similar_days": [
            {
              "date": "2026-08-28",
              "outcome": "win",
              "return_pct": 3.92,
              "match_score": 5,
              "direction": "LONG"
            }
          ],
          "ev_distribution": {
            "expected_value_usd": 32.63,
            "win_scenario_usd": 82.8,
            "loss_scenario_usd": 96.37,
            "win_prob_pct": 72.0,
            "display": "EV $+33 (win +$83 @ 72.0% · loss -$96)"
          },
          "entry_status": {
            "current_price": 247.95,
            "ideal_entry": 248.21,
            "distance_pct": -0.1,
            "remaining_er_pct": 1.56,
            "live_expected_return_pct": 1.56,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 247.91,
            "zone_high": 248.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": "TSLA",
          "rank": 2,
          "win_prob": 66.0,
          "expected_return_pct": 0.43,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.61% · Volume 信号 · 几何上行 <1.5%(软门槛)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "TQQQ",
          "rank": 3,
          "win_prob": 66.0,
          "expected_return_pct": 1.0,
          "trade_action": "Pass",
          "why": "RS vs QQQ +3.39% · Volume 信号 · 期望R 0.08 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "NVDA",
          "rank": 4,
          "win_prob": 77.0,
          "expected_return_pct": 0.58,
          "trade_action": "Pass",
          "why": "RS vs QQQ +1.29% · RS vs SMH +0.91% · News 8 · Volume 信号",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "META",
          "rank": 5,
          "win_prob": 66.0,
          "expected_return_pct": 0.63,
          "trade_action": "Pass",
          "why": "RS vs QQQ +1.73% · Volume 信号 · 期望R 0.17 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "MSFT",
          "rank": 6,
          "win_prob": 71.0,
          "expected_return_pct": 0.32,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.64% · News 1 · Volume 信号 · 期望R 0.15 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        }
      ],
      "advisory": true,
      "swing": {
        "symbol": "META",
        "direction": "LONG",
        "instrument": "Stock",
        "horizon": "Swing",
        "duration": "Swing (days–weeks)",
        "confidence": 71,
        "entry": "Near 611.6 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 611.64,
        "entry_zone": {
          "low": 601.82,
          "high": 613.48,
          "mid": 611.64,
          "display": "$601.82–$613.48",
          "source": "swing_pullback"
        },
        "stop": "582.2 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 582.17,
        "target": "650.9 (T1 ~6.4%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 650.94,
        "targets": [
          {
            "price": 650.94,
            "label": "T1",
            "pct": 6.43
          },
          {
            "price": 672.8,
            "label": "T2",
            "pct": 10.0
          }
        ],
        "expected_return_pct": 6.43,
        "expected_move": "+6.43%",
        "risk_reward": 1.33,
        "win_prob": 66.0,
        "final_score": 0.21,
        "swing_quality": 5.844,
        "atr": 19.6479,
        "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": 613.48,
        "why": [
          "高流动性波段标的 META",
          "Prior day +0.0%",
          "5D momentum +6.9%",
          "RS vs QQQ +1.73%",
          "Swing score 5.8"
        ],
        "why_chain": "高流动性波段标的 META · Prior day +0.0% · 5D momentum +6.9% · RS vs QQQ +1.73%",
        "invalidation": "Close beyond stop $582.17 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做多 META:理想入场 $601.82–$613.48,止损 $582.17,目标 $650.94(约 +6.4%),持仓天数–数周",
        "one_liner": "波段做多 META:理想入场 $601.82–$613.48,止损 $582.17,目标 $650.94(约 +6.4%),持仓天数–数周",
        "edge_type": "Stock Edge",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):NFP、Trade Policy",
        "catalyst": "NFP、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 盘前/开盘 +1.76%"
      },
      "sector_edge": {
        "edge": "YES",
        "why": "SMH 领先 QQQ +0.35%",
        "sector": "Semiconductor"
      },
      "stock_edge": {
        "edge": "YES",
        "why": "NVDA RS+新闻+量能",
        "symbol": "NVDA"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "ARM",
        "win_prob": 72.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 72.0,
          "raw_total": 72.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.56,
        "expected_high": 251.81,
        "expected_low": 242.59,
        "expected_close": 251.81,
        "current_price": 247.95,
        "upside_pct": 1.56,
        "downside_risk_pct": 2.16,
        "risk_reward": 0.72,
        "rr_display": {
          "reward_risk_ratio": 0.72,
          "risk_reward_ratio": 1.39,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.72",
          "label_risk_reward": "Risk:Reward 1:1.39",
          "display": "Reward/Risk 0.72 · Risk:Reward 1:1.39",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.2384,
        "final_score": 0.56,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 4.75,
        "relative_strength": 3.82,
        "relative_strength_vs_smh": 3.44,
        "relative_weakness_score": -5.88,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +3.82%",
          "RS vs SMH +3.44%",
          "Volume 信号",
          "Geometric upside 1.45% < soft 1.5%"
        ],
        "why": "RS vs QQQ +3.82% · RS vs SMH +3.44% · Volume 信号",
        "score": 6,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.82,
          "relative_strength_vs_smh": 3.44,
          "relative_weakness_score": -5.88,
          "gap_pct": 4.75,
          "beta_proxy": 3.18,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(72%) × ER(1.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "ARM RS +3.8% vs TSLA +0.6%;ER 1.6% vs 0.4%;Win% 72 vs 66;higher beta (3.2 vs 1.4);relative strength",
        "advisory": true,
        "rank": 1,
        "direction": "LONG"
      },
      {
        "symbol": "TSLA",
        "win_prob": 66.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
            }
          ],
          "total": 66.0,
          "raw_total": 66.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.43,
        "expected_high": 376.37,
        "expected_low": 362.51,
        "expected_close": 367.0,
        "current_price": 365.43,
        "upside_pct": 2.99,
        "downside_risk_pct": 0.8,
        "risk_reward": 3.74,
        "rr_display": {
          "reward_risk_ratio": 3.74,
          "risk_reward_ratio": 0.27,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 3.74",
          "label_risk_reward": "Risk:Reward 1:0.27",
          "display": "Reward/Risk 3.74 · Risk:Reward 1:0.27",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 2.1284,
        "final_score": 0.42,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.84,
        "relative_strength": 0.61,
        "relative_strength_vs_smh": 0.23,
        "relative_weakness_score": -0.75,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.61%",
          "Volume 信号",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS vs QQQ +0.61% · Volume 信号 · 几何上行 <1.5%(软门槛)",
        "score": 4,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.61,
          "relative_strength_vs_smh": 0.23,
          "relative_weakness_score": -0.75,
          "gap_pct": 3.84,
          "beta_proxy": 1.35,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(66%) × ER(0.4%) × rr_weight(1.5) / 100",
        "rr_weight": 1.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "direction": "LONG"
      },
      {
        "symbol": "TQQQ",
        "win_prob": 66.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
            }
          ],
          "total": 66.0,
          "raw_total": 66.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.0,
        "expected_high": 73.91,
        "expected_low": 72.03,
        "expected_close": 73.91,
        "current_price": 73.18,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.57,
        "risk_reward": 0.63,
        "rr_display": {
          "reward_risk_ratio": 0.63,
          "risk_reward_ratio": 1.59,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.63",
          "label_risk_reward": "Risk:Reward 1:1.59",
          "display": "Reward/Risk 0.63 · Risk:Reward 1:1.59",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.0758,
        "final_score": 0.33,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.99,
        "relative_strength": 3.39,
        "relative_strength_vs_smh": 3.01,
        "relative_weakness_score": -5.2,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +3.39%",
          "Volume 信号",
          "期望R 0.08 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +3.39% · Volume 信号 · 期望R 0.08 < 0.20(EV门禁)",
        "score": 3,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.39,
          "relative_strength_vs_smh": 3.01,
          "relative_weakness_score": -5.2,
          "gap_pct": 3.99,
          "beta_proxy": 2.94,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(66%) × ER(1.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "LONG"
      },
      {
        "symbol": "NVDA",
        "win_prob": 77.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 18.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 77.0,
          "raw_total": 77.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.58,
        "expected_high": 232.57,
        "expected_low": 228.45,
        "expected_close": 232.57,
        "current_price": 231.23,
        "upside_pct": 0.58,
        "downside_risk_pct": 1.2,
        "risk_reward": 0.48,
        "rr_display": {
          "reward_risk_ratio": 0.48,
          "risk_reward_ratio": 2.08,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.48",
          "label_risk_reward": "Risk:Reward 1:2.08",
          "display": "Reward/Risk 0.48 · Risk:Reward 1:2.08",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.1396,
        "final_score": 0.22,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.65,
        "relative_strength": 1.29,
        "relative_strength_vs_smh": 0.91,
        "relative_weakness_score": -1.84,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.29%",
          "RS vs SMH +0.91%",
          "News 8",
          "Volume 信号",
          "期望R 0.14 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +1.29% · RS vs SMH +0.91% · News 8 · Volume 信号",
        "score": 2,
        "news_count": 8,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.29,
          "relative_strength_vs_smh": 0.91,
          "relative_weakness_score": -1.84,
          "gap_pct": 2.65,
          "beta_proxy": 1.74,
          "volume_signal": true,
          "news_count": 8,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(77%) × ER(0.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "LONG"
      },
      {
        "symbol": "META",
        "win_prob": 66.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
            }
          ],
          "total": 66.0,
          "raw_total": 66.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.63,
        "expected_high": 617.33,
        "expected_low": 608.57,
        "expected_close": 617.33,
        "current_price": 613.48,
        "upside_pct": 0.63,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.78,
        "rr_display": {
          "reward_risk_ratio": 0.78,
          "risk_reward_ratio": 1.28,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.78",
          "label_risk_reward": "Risk:Reward 1:1.28",
          "display": "Reward/Risk 0.78 · Risk:Reward 1:1.28",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.1748,
        "final_score": 0.21,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.52,
        "relative_strength": 1.73,
        "relative_strength_vs_smh": 1.35,
        "relative_weakness_score": -2.54,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.73%",
          "Volume 信号",
          "期望R 0.17 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +1.73% · Volume 信号 · 期望R 0.17 < 0.20(EV门禁)",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.73,
          "relative_strength_vs_smh": 1.35,
          "relative_weakness_score": -2.54,
          "gap_pct": 3.52,
          "beta_proxy": 1.99,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(66%) × ER(0.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "LONG"
      },
      {
        "symbol": "MSFT",
        "win_prob": 71.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
            }
          ],
          "total": 71.0,
          "raw_total": 71.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.32,
        "expected_high": 511.24,
        "expected_low": 504.63,
        "expected_close": 510.35,
        "current_price": 508.7,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.1502,
        "final_score": 0.12,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.45,
        "relative_strength": 0.64,
        "relative_strength_vs_smh": 0.26,
        "relative_weakness_score": -0.8,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.64%",
          "News 1",
          "Volume 信号",
          "期望R 0.15 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.64% · News 1 · Volume 信号 · 期望R 0.15 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.64,
          "relative_strength_vs_smh": 0.26,
          "relative_weakness_score": -0.8,
          "gap_pct": 2.45,
          "beta_proxy": 1.37,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(71%) × ER(0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "LONG"
      },
      {
        "symbol": "AMZN",
        "win_prob": 66.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
            }
          ],
          "total": 66.0,
          "raw_total": 66.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.26,
        "expected_high": 262.12,
        "expected_low": 258.73,
        "expected_close": 261.49,
        "current_price": 260.82,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.0692,
        "final_score": 0.08,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.84,
        "relative_strength": 0.54,
        "relative_strength_vs_smh": 0.16,
        "relative_weakness_score": -0.64,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.54%",
          "Volume 信号",
          "期望R 0.07 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.54% · Volume 信号 · 期望R 0.07 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.54,
          "relative_strength_vs_smh": 0.16,
          "relative_weakness_score": -0.64,
          "gap_pct": 1.84,
          "beta_proxy": 1.31,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(66%) × ER(0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "LONG"
      },
      {
        "symbol": "SMH",
        "win_prob": 60.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 60.0,
          "raw_total": 60.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.22,
        "expected_high": 565.02,
        "expected_low": 552.6,
        "expected_close": 563.44,
        "current_price": 562.21,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.71,
        "risk_reward": 0.29,
        "rr_display": {
          "reward_risk_ratio": 0.29,
          "risk_reward_ratio": 3.45,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.29",
          "label_risk_reward": "Risk:Reward 1:3.45",
          "display": "Reward/Risk 0.29 · Risk:Reward 1:3.45",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.226,
        "final_score": 0.07,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.79,
        "relative_strength": 0.38,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": -0.38,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.38%",
          "Volume 信号",
          "期望R -0.23 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.38% · Volume 信号 · 期望R -0.23 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.38,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": -0.38,
          "gap_pct": 1.79,
          "beta_proxy": 1.22,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(60%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "LONG"
      },
      {
        "symbol": "MU",
        "win_prob": 65.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 65.0,
          "raw_total": 65.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.2,
        "expected_high": 980.88,
        "expected_low": 958.16,
        "expected_close": 977.92,
        "current_price": 976.0,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.83,
        "risk_reward": 0.27,
        "rr_display": {
          "reward_risk_ratio": 0.27,
          "risk_reward_ratio": 3.7,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.27",
          "label_risk_reward": "Risk:Reward 1:3.70",
          "display": "Reward/Risk 0.27 · Risk:Reward 1:3.70",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1745,
        "final_score": 0.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.71,
        "relative_strength": 0.33,
        "relative_strength_vs_smh": -0.05,
        "relative_weakness_score": -0.3,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.33%",
          "News 1",
          "Volume 信号",
          "期望R -0.17 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.33% · News 1 · Volume 信号 · 期望R -0.17 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.33,
          "relative_strength_vs_smh": -0.05,
          "relative_weakness_score": -0.3,
          "gap_pct": 1.71,
          "beta_proxy": 1.19,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(65%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "LONG"
      },
      {
        "symbol": "GOOGL",
        "win_prob": 60.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 60.0,
          "raw_total": 60.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.21,
        "expected_high": 345.52,
        "expected_low": 341.05,
        "expected_close": 344.5,
        "current_price": 343.8,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.028,
        "final_score": 0.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.99,
        "relative_strength": 0.23,
        "relative_strength_vs_smh": -0.15,
        "relative_weakness_score": -0.14,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.23%",
          "Volume 信号",
          "期望R -0.03 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.23% · Volume 信号 · 期望R -0.03 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.23,
          "relative_strength_vs_smh": -0.15,
          "relative_weakness_score": -0.14,
          "gap_pct": 1.99,
          "beta_proxy": 1.13,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(60%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "LONG"
      },
      {
        "symbol": "XLK",
        "win_prob": 65.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 65.0,
          "raw_total": 65.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.19,
        "expected_high": 188.35,
        "expected_low": 185.91,
        "expected_close": 187.76,
        "current_price": 187.41,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.053,
        "final_score": 0.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.49,
        "relative_strength": 0.33,
        "relative_strength_vs_smh": -0.05,
        "relative_weakness_score": -0.3,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.33%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R 0.05 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +0.33% · Gap 未过度延伸 · Volume 信号 · 期望R 0.05 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.33,
          "relative_strength_vs_smh": -0.05,
          "relative_weakness_score": -0.3,
          "gap_pct": 1.49,
          "beta_proxy": 1.19,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(65%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "LONG"
      },
      {
        "symbol": "QQQ",
        "win_prob": 54.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 54.0,
          "raw_total": 54.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.13,
        "expected_high": 725.28,
        "expected_low": 715.9,
        "expected_close": 722.63,
        "current_price": 721.67,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1252,
        "final_score": 0.04,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.65,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": -0.38,
        "relative_weakness_score": 0.23,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Volume 信号",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "Volume 信号 · 期望R -0.13 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": -0.38,
          "relative_weakness_score": 0.23,
          "gap_pct": 1.65,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(54%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 12,
        "direction": "LONG"
      },
      {
        "symbol": "XLF",
        "win_prob": 49.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 49.0,
          "raw_total": 49.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.02,
        "expected_high": 58.59,
        "expected_low": 57.83,
        "expected_close": 58.29,
        "current_price": 58.3,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2062,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.37,
        "relative_strength": -0.64,
        "relative_strength_vs_smh": -1.02,
        "relative_weakness_score": 1.25,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.64%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.21 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.64% · Gap 未过度延伸 · Volume 信号 · 期望R -0.21 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.64,
          "relative_strength_vs_smh": -1.02,
          "relative_weakness_score": 1.25,
          "gap_pct": 1.37,
          "beta_proxy": 0.63,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(49%) × ER(-0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 13,
        "direction": "LONG"
      },
      {
        "symbol": "DIA",
        "win_prob": 54.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 54.0,
          "raw_total": 54.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.02,
        "expected_high": 539.51,
        "expected_low": 532.54,
        "expected_close": 536.72,
        "current_price": 536.83,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1252,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.19,
        "relative_strength": -0.58,
        "relative_strength_vs_smh": -0.96,
        "relative_weakness_score": 1.16,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.58%",
          "Gap 未过度延伸",
          "News 3",
          "Volume 信号",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.58% · Gap 未过度延伸 · News 3 · Volume 信号",
        "score": 0,
        "news_count": 3,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.58,
          "relative_strength_vs_smh": -0.96,
          "relative_weakness_score": 1.16,
          "gap_pct": 1.19,
          "beta_proxy": 0.67,
          "volume_signal": true,
          "news_count": 3,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(54%) × ER(-0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 14,
        "direction": "LONG"
      },
      {
        "symbol": "SPY",
        "win_prob": 49.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 49.0,
          "raw_total": 49.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.03,
        "expected_high": 777.86,
        "expected_low": 767.8,
        "expected_close": 773.78,
        "current_price": 773.99,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2062,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.16,
        "relative_strength": -0.6,
        "relative_strength_vs_smh": -0.98,
        "relative_weakness_score": 1.19,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.60%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.21 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.60% · Gap 未过度延伸 · Volume 信号 · 期望R -0.21 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.6,
          "relative_strength_vs_smh": -0.98,
          "relative_weakness_score": 1.19,
          "gap_pct": 1.16,
          "beta_proxy": 0.66,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(49%) × ER(-0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 15,
        "direction": "LONG"
      },
      {
        "symbol": "AMD",
        "win_prob": 58.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
            }
          ],
          "total": 58.0,
          "raw_total": 58.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.1,
        "expected_high": 465.85,
        "expected_low": 456.16,
        "expected_close": 463.07,
        "current_price": 463.53,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.59,
        "risk_reward": 0.31,
        "rr_display": {
          "reward_risk_ratio": 0.31,
          "risk_reward_ratio": 3.23,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.31",
          "label_risk_reward": "Risk:Reward 1:3.23",
          "display": "Reward/Risk 0.31 · Risk:Reward 1:3.23",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.2402,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.63,
        "relative_strength": -0.33,
        "relative_strength_vs_smh": -0.71,
        "relative_weakness_score": 0.76,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Gap 未过度延伸",
          "News 1",
          "Volume 信号",
          "期望R -0.24 < 0.20(EV门禁)"
        ],
        "why": "Gap 未过度延伸 · News 1 · Volume 信号 · 期望R -0.24 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.33,
          "relative_strength_vs_smh": -0.71,
          "relative_weakness_score": 0.76,
          "gap_pct": 0.63,
          "beta_proxy": 0.81,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(58%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 16,
        "direction": "LONG"
      },
      {
        "symbol": "AAPL",
        "win_prob": 54.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 54.0,
          "raw_total": 54.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.16,
        "expected_high": 328.86,
        "expected_low": 324.6,
        "expected_close": 326.71,
        "current_price": 327.22,
        "upside_pct": 0.5,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.62,
        "rr_display": {
          "reward_risk_ratio": 0.62,
          "risk_reward_ratio": 1.61,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.62",
          "label_risk_reward": "Risk:Reward 1:1.61",
          "display": "Reward/Risk 0.62 · Risk:Reward 1:1.61",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1252,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.68,
        "relative_strength": -1.05,
        "relative_strength_vs_smh": -1.43,
        "relative_weakness_score": 1.91,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.05%",
          "Gap 未过度延伸",
          "News 2",
          "Volume 信号",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.05% · Gap 未过度延伸 · News 2 · Volume 信号",
        "score": 0,
        "news_count": 2,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.05,
          "relative_strength_vs_smh": -1.43,
          "relative_weakness_score": 1.91,
          "gap_pct": 0.68,
          "beta_proxy": 0.4,
          "volume_signal": true,
          "news_count": 2,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(54%) × ER(-0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 17,
        "direction": "LONG"
      },
      {
        "symbol": "XLE",
        "win_prob": 49.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 49.0,
          "raw_total": 49.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.68,
        "expected_high": 64.62,
        "expected_low": 63.7,
        "expected_close": 63.77,
        "current_price": 64.21,
        "upside_pct": 0.63,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.79,
        "rr_display": {
          "reward_risk_ratio": 0.79,
          "risk_reward_ratio": 1.27,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.79",
          "label_risk_reward": "Risk:Reward 1:1.27",
          "display": "Reward/Risk 0.79 · Risk:Reward 1:1.27",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1229,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.77,
        "relative_strength": -3.11,
        "relative_strength_vs_smh": -3.49,
        "relative_weakness_score": 5.2,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -3.11%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.12 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -3.11% · Gap 未过度延伸 · Volume 信号 · 期望R -0.12 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -3.11,
          "relative_strength_vs_smh": -3.49,
          "relative_weakness_score": 5.2,
          "gap_pct": -0.77,
          "beta_proxy": -0.78,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(49%) × ER(-0.7%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 18,
        "direction": "LONG"
      },
      {
        "symbol": "AVGO",
        "win_prob": 38.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -16.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 38.0,
          "raw_total": 38.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.33,
        "expected_high": 362.37,
        "expected_low": 355.76,
        "expected_close": 355.76,
        "current_price": 360.57,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.33,
        "risk_reward": 0.38,
        "rr_display": {
          "reward_risk_ratio": 0.38,
          "risk_reward_ratio": 2.63,
          "reward_per_share": null,
          "risk_per_share": null,
          "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"
        },
        "expected_r": -0.4756,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -1.81,
        "relative_strength": -3.57,
        "relative_strength_vs_smh": -3.95,
        "relative_weakness_score": 5.94,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -3.57%",
          "Volume 信号",
          "期望R -0.48 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -3.57% · Volume 信号 · 期望R -0.48 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -3.57,
          "relative_strength_vs_smh": -3.95,
          "relative_weakness_score": 5.94,
          "gap_pct": -1.81,
          "beta_proxy": -1.04,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -1.4,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(38%) × ER(-1.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 19,
        "direction": "LONG"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": false,
      "action": "N/A"
    },
    "s7": {
      "actual_driver": "NFP",
      "attribution": {
        "ai": 0.611,
        "bond": 0.148,
        "oil": 0.0,
        "macro": 0.191,
        "other": 0.05,
        "splits": {
          "NFP": 0.252
        }
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.611,
    "bond": 0.148,
    "oil": 0.0,
    "macro": 0.191,
    "other": 0.05,
    "splits": {
      "NFP": 0.252
    }
  },
  "labels": {
    "actual_driver": "NFP",
    "agent_driver": "NFP",
    "agent_driver_type": "Macro",
    "corrected_driver_from_verify": null,
    "driver_splits": {
      "NFP": 0.25244023636852
    },
    "hypothesis_correct": "对",
    "scenario_primary": "A",
    "scenario_actual": "A",
    "scenario_correct": true,
    "trade_recommendation": "—",
    "trade_direction": "NO TRADE",
    "primary_symbol": "—",
    "predicted_return_pct": null,
    "prediction_error_pct": null
  },
  "surprise": "AI/Semiconductor dominated more than typical day",
  "lesson": "NFP 日优先看 Macro Driver 链条:数据 → 利率 → 成长/价值轮动",
  "playbook_refs": [
    "Case-44"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}