← 全部 Cases · 今日流程

Market Case · 2026-09-22

Day 57

Day 57
9/9 Steps

Regime · Hypothesis

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

Labels · Attribution

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

Surprise · Lesson

Surprise:AI/Semiconductor dominated more than typical day

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

Evidence / Counter

Evidence

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

Counter

  • 10Y=5.01% (elevated rates)

Step 快捷入口

原始 JSON
{
  "date": "2026-09-22",
  "features": {
    "dgs10": 5.01,
    "dgs2": null,
    "vix": 14.73,
    "vix_chg": -0.94,
    "qqq_chg": 3.59,
    "smh_chg": 5.88,
    "nvda_chg": 2.75,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": -0.02,
    "breadth_proxy": 1.0,
    "qqq_gap": 2.73,
    "news_headline_count": 24,
    "news_bearish_ratio": 0.125,
    "news_ai_mentions": 26,
    "news_macro_mentions": 7,
    "news_oil_mentions": 7,
    "news_risk_mentions": 2
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-09-22-001",
    "statement": "弱 NFP 能否抵消 AI 抛售?(Macro 利率利好 vs 半导体风险)",
    "evidence": [
      "VIX=14.7 (low fear)",
      "Breadth 100% (broad participation)"
    ],
    "counter_evidence": [
      "10Y=5.01% (elevated rates)"
    ],
    "confidence": 0.78,
    "status": "待验证"
  },
  "morning": {
    "bias": "Bullish Bias",
    "total": 3,
    "driver_type": "Fed",
    "daily_driver": "Fed Headlines",
    "best_opportunity": {
      "direction": "LONG",
      "symbol": "ARM",
      "instrument": "Stock",
      "horizon": "Intraday",
      "confidence": 72,
      "confidence_stars": "★★★☆☆",
      "entry": "Above 326.2 (ORB高点)",
      "entry_source": "orb_high",
      "entry_price": 326.19,
      "stop": "315.7 (ORB低点)",
      "stop_source": "orb_low",
      "stop_price": 315.67,
      "target": "335.8 (预期收盘)",
      "target_source": "expected_close",
      "target_price": 335.79,
      "target_action": "卖出/获利",
      "targets": [
        "335.8 (预期收盘)"
      ],
      "duration": "Intraday",
      "why": [
        "RS vs QQQ +12.88%",
        "RS vs SMH +12.37%",
        "Volume 信号"
      ],
      "why_chain": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
      "why_vs_runner_up": "ARM RS +12.9% vs AMD +5.3%;ER 5.4% vs 2.4%;higher beta (5.7 vs 2.9);relative strength",
      "factor_breakdown": {
        "relative_strength_vs_qqq": 12.88,
        "relative_strength_vs_smh": 12.37,
        "relative_weakness_score": -20.3,
        "gap_pct": 16.35,
        "beta_proxy": 5.68,
        "volume_signal": true,
        "news_count": 0,
        "extended_gap_penalty": 0.0,
        "vix_change_pct": -0.94,
        "prior_day_change_pct": 0.0
      },
      "edge_type": "Sector Edge",
      "score_formula_display": "final = win_prob(72%) × ER(5.4%) × rr_weight(0.5) / 100",
      "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": 2.94,
      "expected_move": "+2.94%",
      "return_calculation": "(335.79-326.19)/326.19=2.94%",
      "trade_summary_cn": "做多 ARM:在 326.19 附近入场,目标 335.79,预期 +2.94%",
      "risk_reward": 0.91,
      "rr_display": {
        "reward_risk_ratio": 0.91,
        "risk_reward_ratio": 1.1,
        "reward_per_share": 9.6,
        "risk_per_share": 10.52,
        "label_reward_risk": "Reward/Risk 0.91",
        "label_risk_reward": "Risk:Reward 1:1.10",
        "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
        "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
      },
      "entry_zone": {
        "low": 325.21,
        "high": 327.17,
        "mid": 326.19,
        "anchors": [
          {
            "source": "orb_high",
            "label": "ORB高点",
            "price": 326.19
          }
        ],
        "display": "Entry Zone 325–327",
        "entry_source": "orb_high",
        "tolerance_pct": 0.3
      },
      "rank_summary": "ARM ranked #1 because weakest RS + largest expected range + highest probability",
      "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": 35.7,
        "win_scenario_usd": 86.4,
        "loss_scenario_usd": 94.68,
        "win_prob_pct": 72.0,
        "display": "EV $+36 (win +$86 @ 72.0% · loss -$95)"
      },
      "final_score": 1.93,
      "level_anchors": {
        "vwap": 320.38,
        "orb_high": 326.19,
        "orb_low": 315.67,
        "prev_high": 275.61,
        "prev_low": 275.61,
        "prior_close": 275.61,
        "orb_from_minute": true
      },
      "level_reasons": {
        "entry": {
          "price": 326.19,
          "source": "orb_high",
          "confidence": 77,
          "reasons": [
            {
              "source": "orb_high",
              "label": "ORB High",
              "price": 326.19,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        },
        "stop": {
          "price": 315.67,
          "source": "orb_low",
          "confidence": 77,
          "reasons": [
            {
              "source": "orb_low",
              "label": "ORB Low",
              "price": 315.67,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        },
        "target": {
          "price": 335.79,
          "source": "expected_close",
          "confidence": 77,
          "reasons": [
            {
              "source": "expected_close",
              "label": "Expected Close",
              "price": 335.79,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        }
      },
      "trade_economics": {
        "account_size": 10000.0,
        "risk_pct": 1.0,
        "position_pct": 29.4,
        "shares": 9,
        "contracts": 1,
        "max_loss_usd": 94.68,
        "win_usd": 86.4,
        "loss_usd": 94.68,
        "expected_value_usd": 35.7,
        "risk_per_share": 10.52,
        "reward_per_share": 9.6,
        "rr_display": {
          "reward_risk_ratio": 0.91,
          "risk_reward_ratio": 1.1,
          "reward_per_share": 9.6,
          "risk_per_share": 10.52,
          "label_reward_risk": "Reward/Risk 0.91",
          "label_risk_reward": "Risk:Reward 1:1.10",
          "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "size_label": "Small",
        "display": "$10,000 → Win +$86 / Loss -$95"
      },
      "position_sizing": {
        "risk_pct": 1.0,
        "position_pct": 29.4,
        "contracts": 1,
        "shares": 9,
        "max_loss_usd": 94.68,
        "size_label": "Small",
        "display": "Risk 1.0% → Position 29.4% → 1 unit(s) → Max Loss $94.68"
      },
      "why_wins_today": [
        {
          "rank": 1,
          "dimension": "relative_strength",
          "label": "Highest Relative Strength",
          "primary_value": 12.88,
          "runner_up_value": 7.87,
          "wins": true
        },
        {
          "rank": 2,
          "dimension": "expected_range",
          "label": "Largest Expected Range",
          "primary_value": 10.74,
          "runner_up_value": 5.06,
          "wins": true
        },
        {
          "rank": 3,
          "dimension": "win_prob",
          "label": "Highest Probability",
          "primary_value": 72.0,
          "runner_up_value": 72.0,
          "wins": true
        }
      ],
      "why_not_alternatives": [
        {
          "symbol": "AMD",
          "rank": 2,
          "reasons": [
            "ER 2.9% vs 2.4%",
            "Score 1.93 vs 0.86",
            "RS +12.9% vs +5.3%"
          ],
          "summary": "Why ARM over AMD: ER 2.9% vs 2.4% · Score 1.93 vs 0.86 · RS +12.9% vs +5.3%"
        },
        {
          "symbol": "META",
          "rank": 3,
          "reasons": [
            "Win% 72 vs 66",
            "ER 2.9% vs 2.5%",
            "Score 1.93 vs 0.83",
            "RS +12.9% vs +7.9%"
          ],
          "summary": "Why ARM over META: Win% 72 vs 66 · ER 2.9% vs 2.5% · Score 1.93 vs 0.83 · RS +12.9% vs +7.9%"
        },
        {
          "symbol": "TQQQ",
          "rank": 4,
          "reasons": [
            "Win% 72 vs 66",
            "ER 2.9% vs 1.9%",
            "Score 1.93 vs 0.61",
            "RS +12.9% vs +5.8%"
          ],
          "summary": "Why ARM over TQQQ: Win% 72 vs 66 · ER 2.9% vs 1.9% · Score 1.93 vs 0.61 · RS +12.9% vs +5.8%"
        },
        {
          "symbol": "TSLA",
          "rank": 5,
          "reasons": [
            "Win% 72 vs 66",
            "ER 2.9% vs 0.5%",
            "Score 1.93 vs 0.15",
            "RS +12.9% vs +1.0%",
            "R:R 0.91 vs 0.62",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why ARM over TSLA: Win% 72 vs 66 · ER 2.9% vs 0.5% · Score 1.93 vs 0.15 · RS +12.9% vs +1.0% · R:R 0.91 vs 0.62 · Tradeable (Small) vs Pass"
        },
        {
          "symbol": "SMH",
          "rank": 6,
          "reasons": [
            "Win% 72 vs 66",
            "ER 2.9% vs 0.4%",
            "Score 1.93 vs 0.12",
            "RS +12.9% vs +0.5%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why ARM over SMH: Win% 72 vs 66 · ER 2.9% vs 0.4% · Score 1.93 vs 0.12 · RS +12.9% vs +0.5% · Tradeable (Small) vs Pass"
        }
      ],
      "avoid": [],
      "one_liner": "做多 ARM:在 326.19 附近入场,目标 335.79,预期 +2.94%",
      "p16_gate": "No Trade",
      "advisory": true
    },
    "best_trades": {
      "primary": {
        "rank": 1,
        "symbol": "ARM",
        "direction": "LONG",
        "instrument": "Stock",
        "horizon": "Intraday",
        "confidence": 72,
        "confidence_stars": "★★★☆☆",
        "expected_move": "+2.94%",
        "expected_return_pct": 2.94,
        "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.91,
        "final_score": 1.93,
        "trade_action": "Small",
        "relative_strength": 12.88,
        "entry": "Above 326.2 (ORB高点)",
        "entry_source": "orb_high",
        "entry_price": 326.19,
        "entry_zone": {
          "low": 325.21,
          "high": 327.17,
          "mid": 326.19,
          "anchors": [
            {
              "source": "orb_high",
              "label": "ORB高点",
              "price": 326.19
            }
          ],
          "display": "Entry Zone 325–327",
          "entry_source": "orb_high",
          "tolerance_pct": 0.3
        },
        "stop": "315.7 (ORB低点)",
        "stop_source": "orb_low",
        "stop_price": 315.67,
        "target": "335.8 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 335.79,
        "targets": [
          "335.8 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 320.38,
          "orb_high": 326.19,
          "orb_low": 315.67,
          "prev_high": 275.61,
          "prev_low": 275.61,
          "prior_close": 275.61,
          "orb_from_minute": true
        },
        "levels_valid": true,
        "why": [
          "RS vs QQQ +12.88%",
          "RS vs SMH +12.37%",
          "Volume 信号"
        ],
        "why_chain": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
        "why_vs_runner_up": "ARM RS +12.9% vs AMD +5.3%;ER 5.4% vs 2.4%;higher beta (5.7 vs 2.9);relative strength",
        "factor_breakdown": {
          "relative_strength_vs_qqq": 12.88,
          "relative_strength_vs_smh": 12.37,
          "relative_weakness_score": -20.3,
          "gap_pct": 16.35,
          "beta_proxy": 5.68,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(72%) × ER(5.4%) × rr_weight(0.5) / 100",
        "expected_high": 335.79,
        "expected_low": 301.57,
        "expected_close": 335.79,
        "current_price": 318.68,
        "upside_pct": 5.37,
        "downside_risk_pct": 5.37,
        "why_factors": [
          "RS vs QQQ +12.88%",
          "RS vs SMH +12.37%",
          "Volume 信号"
        ],
        "why_today": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
        "gap_pct": 16.35,
        "rr_display": {
          "reward_risk_ratio": 0.91,
          "risk_reward_ratio": 1.1,
          "reward_per_share": 9.6,
          "risk_per_share": 10.52,
          "label_reward_risk": "Reward/Risk 0.91",
          "label_risk_reward": "Risk:Reward 1:1.10",
          "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "catalyst": "Fed Headlines · Geopolitical Risk",
        "invalidation": "Close below stop $315.67 · Geopolitical escalation invalidates mean-reversion",
        "advisory": true,
        "level_reasons": {
          "entry": {
            "price": 326.19,
            "source": "orb_high",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_high",
                "label": "ORB High",
                "price": 326.19,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "stop": {
            "price": 315.67,
            "source": "orb_low",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 315.67,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 335.79,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 335.79,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "return_calculation": "(335.79-326.19)/326.19=2.94%",
        "heuristic_expected_return_pct": 5.37,
        "target_action": "卖出/获利",
        "trade_summary_cn": "做多 ARM:在 326.19 附近入场,目标 335.79,预期 +2.94%",
        "expected_r": 0.3752,
        "rr_below_hard_min": true,
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 29.4,
          "shares": 9,
          "contracts": 1,
          "max_loss_usd": 94.68,
          "win_usd": 86.4,
          "loss_usd": 94.68,
          "expected_value_usd": 35.7,
          "risk_per_share": 10.52,
          "reward_per_share": 9.6,
          "rr_display": {
            "reward_risk_ratio": 0.91,
            "risk_reward_ratio": 1.1,
            "reward_per_share": 9.6,
            "risk_per_share": 10.52,
            "label_reward_risk": "Reward/Risk 0.91",
            "label_risk_reward": "Risk:Reward 1:1.10",
            "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "size_label": "Small",
          "display": "$10,000 → Win +$86 / Loss -$95"
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 29.4,
          "contracts": 1,
          "shares": 9,
          "max_loss_usd": 94.68,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 29.4% → 1 unit(s) → Max Loss $94.68"
        },
        "why_wins_today": [
          {
            "rank": 1,
            "dimension": "relative_strength",
            "label": "Highest Relative Strength",
            "primary_value": 12.88,
            "runner_up_value": 7.87,
            "wins": true
          },
          {
            "rank": 2,
            "dimension": "expected_range",
            "label": "Largest Expected Range",
            "primary_value": 10.74,
            "runner_up_value": 5.06,
            "wins": true
          },
          {
            "rank": 3,
            "dimension": "win_prob",
            "label": "Highest Probability",
            "primary_value": 72.0,
            "runner_up_value": 72.0,
            "wins": true
          }
        ],
        "why_not_alternatives": [
          {
            "symbol": "AMD",
            "rank": 2,
            "reasons": [
              "ER 2.9% vs 2.4%",
              "Score 1.93 vs 0.86",
              "RS +12.9% vs +5.3%"
            ],
            "summary": "Why ARM over AMD: ER 2.9% vs 2.4% · Score 1.93 vs 0.86 · RS +12.9% vs +5.3%"
          },
          {
            "symbol": "META",
            "rank": 3,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.9% vs 2.5%",
              "Score 1.93 vs 0.83",
              "RS +12.9% vs +7.9%"
            ],
            "summary": "Why ARM over META: Win% 72 vs 66 · ER 2.9% vs 2.5% · Score 1.93 vs 0.83 · RS +12.9% vs +7.9%"
          },
          {
            "symbol": "TQQQ",
            "rank": 4,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.9% vs 1.9%",
              "Score 1.93 vs 0.61",
              "RS +12.9% vs +5.8%"
            ],
            "summary": "Why ARM over TQQQ: Win% 72 vs 66 · ER 2.9% vs 1.9% · Score 1.93 vs 0.61 · RS +12.9% vs +5.8%"
          },
          {
            "symbol": "TSLA",
            "rank": 5,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.9% vs 0.5%",
              "Score 1.93 vs 0.15",
              "RS +12.9% vs +1.0%",
              "R:R 0.91 vs 0.62",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why ARM over TSLA: Win% 72 vs 66 · ER 2.9% vs 0.5% · Score 1.93 vs 0.15 · RS +12.9% vs +1.0% · R:R 0.91 vs 0.62 · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "SMH",
            "rank": 6,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.9% vs 0.4%",
              "Score 1.93 vs 0.12",
              "RS +12.9% vs +0.5%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why ARM over SMH: Win% 72 vs 66 · ER 2.9% vs 0.4% · Score 1.93 vs 0.12 · RS +12.9% vs +0.5% · Tradeable (Small) vs Pass"
          }
        ],
        "rank_summary": "ARM ranked #1 because weakest RS + largest expected range + highest probability",
        "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": 35.7,
          "win_scenario_usd": 86.4,
          "loss_scenario_usd": 94.68,
          "win_prob_pct": 72.0,
          "display": "EV $+36 (win +$86 @ 72.0% · loss -$95)"
        },
        "entry_status": {
          "current_price": 318.68,
          "ideal_entry": 326.19,
          "distance_pct": -2.3,
          "remaining_er_pct": 5.37,
          "live_expected_return_pct": 5.37,
          "new_plan": null,
          "alternate_entry": null,
          "advisory": true,
          "advisory_tag": "ADVISORY — 不构成投资建议",
          "zone_low": 325.21,
          "zone_high": 327.17,
          "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": "AMD",
        "direction": "LONG",
        "instrument": "Stock",
        "horizon": "Intraday",
        "confidence": 72,
        "confidence_stars": "★★★☆☆",
        "expected_move": "+2.48%",
        "expected_return_pct": 2.48,
        "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": 33.32,
        "final_score": 0.86,
        "trade_action": "Small",
        "relative_strength": 5.32,
        "entry": "Above 605.0 (现价)",
        "entry_source": "current",
        "entry_price": 604.55,
        "entry_zone": {
          "low": 604.1,
          "high": 605.0,
          "mid": 604.55,
          "anchors": [
            {
              "source": "orb_low",
              "label": "ORB低点",
              "price": 604.1
            }
          ],
          "display": "Entry Zone 604.10–605.00",
          "entry_source": "current",
          "tolerance_pct": 0.3
        },
        "stop": "604.1 (ORB低点)",
        "stop_source": "orb_low",
        "stop_price": 604.1,
        "target": "619.5 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 619.53,
        "targets": [
          "619.5 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 609.63,
          "orb_high": 621.99,
          "orb_low": 604.1,
          "prev_high": 559.82,
          "prev_low": 559.82,
          "prior_close": 559.82,
          "orb_from_minute": true
        },
        "levels_valid": true,
        "why": [
          "RS vs QQQ +5.32%",
          "RS vs SMH +4.81%",
          "Volume 信号"
        ],
        "why_chain": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号",
        "why_vs_runner_up": "—",
        "factor_breakdown": {
          "relative_strength_vs_qqq": 5.32,
          "relative_strength_vs_smh": 4.81,
          "relative_weakness_score": -8.21,
          "gap_pct": 9.5,
          "beta_proxy": 2.93,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(72%) × ER(2.4%) × rr_weight(0.5) / 100",
        "expected_high": 619.53,
        "expected_low": 590.47,
        "expected_close": 619.53,
        "current_price": 605.0,
        "upside_pct": 2.4,
        "downside_risk_pct": 2.4,
        "why_factors": [
          "RS vs QQQ +5.32%",
          "RS vs SMH +4.81%",
          "Volume 信号"
        ],
        "why_today": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号",
        "gap_pct": 9.5,
        "rr_display": {
          "reward_risk_ratio": 33.29,
          "risk_reward_ratio": 0.03,
          "reward_per_share": 14.98,
          "risk_per_share": 0.45,
          "label_reward_risk": "Reward/Risk 33.29",
          "label_risk_reward": "Risk:Reward 1:0.03",
          "display": "Reward/Risk 33.29 · Risk:Reward 1:0.03",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "catalyst": "Fed Headlines · Geopolitical Risk",
        "invalidation": "Close below stop $604.1 · Geopolitical escalation invalidates mean-reversion",
        "advisory": true,
        "level_reasons": {
          "entry": {
            "price": 604.55,
            "source": "current",
            "confidence": 55,
            "reasons": []
          },
          "stop": {
            "price": 604.1,
            "source": "orb_low",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 604.1,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 619.53,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 619.53,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "return_calculation": "(619.53-604.55)/604.55=2.48%",
        "heuristic_expected_return_pct": 2.4,
        "target_action": "卖出/获利",
        "trade_summary_cn": "做多 AMD:在 604.55 附近入场,目标 619.53,预期 +2.48%",
        "expected_r": 23.7104,
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 100.0,
          "shares": 222,
          "contracts": 1,
          "max_loss_usd": 99.9,
          "win_usd": 3325.56,
          "loss_usd": 99.9,
          "expected_value_usd": 2366.43,
          "risk_per_share": 0.45,
          "reward_per_share": 14.98,
          "rr_display": {
            "reward_risk_ratio": 33.29,
            "risk_reward_ratio": 0.03,
            "reward_per_share": 14.98,
            "risk_per_share": 0.45,
            "label_reward_risk": "Reward/Risk 33.29",
            "label_risk_reward": "Risk:Reward 1:0.03",
            "display": "Reward/Risk 33.29 · Risk:Reward 1:0.03",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "size_label": "Small",
          "display": "$10,000 → Win +$3326 / Loss -$100"
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 100.0,
          "contracts": 1,
          "shares": 222,
          "max_loss_usd": 99.9,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 100.0% → 1 unit(s) → Max Loss $99.9"
        },
        "why_wins_today": [
          {
            "rank": 1,
            "dimension": "win_prob",
            "label": "Highest Probability",
            "primary_value": 72.0,
            "runner_up_value": 72.0,
            "wins": true
          },
          {
            "rank": 2,
            "dimension": "risk_reward",
            "label": "Best Risk Reward",
            "primary_value": 33.32,
            "runner_up_value": 1.51,
            "wins": true
          }
        ],
        "why_not_alternatives": [
          {
            "symbol": "ARM",
            "rank": 1,
            "reasons": [
              "ER 2.5% vs 5.4%",
              "Score 0.86 vs 1.93",
              "RS +5.3% vs +12.9%",
              "R:R 33.32 vs 1.0"
            ],
            "summary": "Why AMD over ARM: ER 2.5% vs 5.4% · Score 0.86 vs 1.93 · RS +5.3% vs +12.9% · R:R 33.32 vs 1.0"
          },
          {
            "symbol": "META",
            "rank": 3,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.5% vs 2.5%",
              "Score 0.86 vs 0.83",
              "RS +5.3% vs +7.9%",
              "R:R 33.32 vs 1.0"
            ],
            "summary": "Why AMD over META: Win% 72 vs 66 · ER 2.5% vs 2.5% · Score 0.86 vs 0.83 · RS +5.3% vs +7.9% · R:R 33.32 vs 1.0"
          },
          {
            "symbol": "TQQQ",
            "rank": 4,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.5% vs 1.9%",
              "Score 0.86 vs 0.61",
              "RS +5.3% vs +5.8%",
              "R:R 33.32 vs 1.0"
            ],
            "summary": "Why AMD over TQQQ: Win% 72 vs 66 · ER 2.5% vs 1.9% · Score 0.86 vs 0.61 · RS +5.3% vs +5.8% · R:R 33.32 vs 1.0"
          },
          {
            "symbol": "TSLA",
            "rank": 5,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.5% vs 0.5%",
              "Score 0.86 vs 0.15",
              "RS +5.3% vs +1.0%",
              "R:R 33.32 vs 0.62",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why AMD over TSLA: Win% 72 vs 66 · ER 2.5% vs 0.5% · Score 0.86 vs 0.15 · RS +5.3% vs +1.0% · R:R 33.32 vs 0.62 · Tradeable (Small) vs Pass"
          },
          {
            "symbol": "SMH",
            "rank": 6,
            "reasons": [
              "Win% 72 vs 66",
              "ER 2.5% vs 0.4%",
              "Score 0.86 vs 0.12",
              "RS +5.3% vs +0.5%",
              "R:R 33.32 vs 0.91",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why AMD over SMH: Win% 72 vs 66 · ER 2.5% vs 0.4% · Score 0.86 vs 0.12 · RS +5.3% vs +0.5% · R:R 33.32 vs 0.91 · Tradeable (Small) vs Pass"
          }
        ],
        "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": 2366.43,
          "win_scenario_usd": 3325.56,
          "loss_scenario_usd": 99.9,
          "win_prob_pct": 72.0,
          "display": "EV $+2366 (win +$3326 @ 72.0% · loss -$100)"
        },
        "entry_status": {
          "current_price": 605.0,
          "ideal_entry": 604.55,
          "distance_pct": 0.07,
          "remaining_er_pct": 2.4,
          "live_expected_return_pct": 2.4,
          "new_plan": null,
          "alternate_entry": null,
          "advisory": true,
          "advisory_tag": "ADVISORY — 不构成投资建议",
          "zone_low": 604.1,
          "zone_high": 605.0,
          "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": "ARM",
          "direction": "LONG",
          "confidence": 72,
          "expected_move": "+2.94%",
          "why": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号"
        },
        {
          "rank": 2,
          "symbol": "AMD",
          "direction": "LONG",
          "confidence": 72,
          "expected_move": "+2.48%",
          "why": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号"
        }
      ],
      "top_trades": [
        {
          "rank": 1,
          "symbol": "ARM",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 72,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+2.94%",
          "expected_return_pct": 2.94,
          "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.91,
          "final_score": 1.93,
          "trade_action": "Small",
          "relative_strength": 12.88,
          "entry": "Above 326.2 (ORB高点)",
          "entry_source": "orb_high",
          "entry_price": 326.19,
          "entry_zone": {
            "low": 325.21,
            "high": 327.17,
            "mid": 326.19,
            "anchors": [
              {
                "source": "orb_high",
                "label": "ORB高点",
                "price": 326.19
              }
            ],
            "display": "Entry Zone 325–327",
            "entry_source": "orb_high",
            "tolerance_pct": 0.3
          },
          "stop": "315.7 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 315.67,
          "target": "335.8 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 335.79,
          "targets": [
            "335.8 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 320.38,
            "orb_high": 326.19,
            "orb_low": 315.67,
            "prev_high": 275.61,
            "prev_low": 275.61,
            "prior_close": 275.61,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +12.88%",
            "RS vs SMH +12.37%",
            "Volume 信号"
          ],
          "why_chain": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
          "why_vs_runner_up": "ARM RS +12.9% vs AMD +5.3%;ER 5.4% vs 2.4%;higher beta (5.7 vs 2.9);relative strength",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 12.88,
            "relative_strength_vs_smh": 12.37,
            "relative_weakness_score": -20.3,
            "gap_pct": 16.35,
            "beta_proxy": 5.68,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.94,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Sector Edge",
          "score_formula_display": "final = win_prob(72%) × ER(5.4%) × rr_weight(0.5) / 100",
          "expected_high": 335.79,
          "expected_low": 301.57,
          "expected_close": 335.79,
          "current_price": 318.68,
          "upside_pct": 5.37,
          "downside_risk_pct": 5.37,
          "why_factors": [
            "RS vs QQQ +12.88%",
            "RS vs SMH +12.37%",
            "Volume 信号"
          ],
          "why_today": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
          "gap_pct": 16.35,
          "rr_display": {
            "reward_risk_ratio": 0.91,
            "risk_reward_ratio": 1.1,
            "reward_per_share": 9.6,
            "risk_per_share": 10.52,
            "label_reward_risk": "Reward/Risk 0.91",
            "label_risk_reward": "Risk:Reward 1:1.10",
            "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Geopolitical Risk",
          "invalidation": "Close below stop $315.67 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 326.19,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 326.19,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 315.67,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 315.67,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 335.79,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 335.79,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(335.79-326.19)/326.19=2.94%",
          "heuristic_expected_return_pct": 5.37,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 ARM:在 326.19 附近入场,目标 335.79,预期 +2.94%",
          "expected_r": 0.3752,
          "rr_below_hard_min": true,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 29.4,
            "shares": 9,
            "contracts": 1,
            "max_loss_usd": 94.68,
            "win_usd": 86.4,
            "loss_usd": 94.68,
            "expected_value_usd": 35.7,
            "risk_per_share": 10.52,
            "reward_per_share": 9.6,
            "rr_display": {
              "reward_risk_ratio": 0.91,
              "risk_reward_ratio": 1.1,
              "reward_per_share": 9.6,
              "risk_per_share": 10.52,
              "label_reward_risk": "Reward/Risk 0.91",
              "label_risk_reward": "Risk:Reward 1:1.10",
              "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$86 / Loss -$95"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 29.4,
            "contracts": 1,
            "shares": 9,
            "max_loss_usd": 94.68,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 29.4% → 1 unit(s) → Max Loss $94.68"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": 12.88,
              "runner_up_value": 7.87,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 10.74,
              "runner_up_value": 5.06,
              "wins": true
            },
            {
              "rank": 3,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 72.0,
              "runner_up_value": 72.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "ER 2.9% vs 2.4%",
                "Score 1.93 vs 0.86",
                "RS +12.9% vs +5.3%"
              ],
              "summary": "Why ARM over AMD: ER 2.9% vs 2.4% · Score 1.93 vs 0.86 · RS +12.9% vs +5.3%"
            },
            {
              "symbol": "META",
              "rank": 3,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.9% vs 2.5%",
                "Score 1.93 vs 0.83",
                "RS +12.9% vs +7.9%"
              ],
              "summary": "Why ARM over META: Win% 72 vs 66 · ER 2.9% vs 2.5% · Score 1.93 vs 0.83 · RS +12.9% vs +7.9%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.9% vs 1.9%",
                "Score 1.93 vs 0.61",
                "RS +12.9% vs +5.8%"
              ],
              "summary": "Why ARM over TQQQ: Win% 72 vs 66 · ER 2.9% vs 1.9% · Score 1.93 vs 0.61 · RS +12.9% vs +5.8%"
            },
            {
              "symbol": "TSLA",
              "rank": 5,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.9% vs 0.5%",
                "Score 1.93 vs 0.15",
                "RS +12.9% vs +1.0%",
                "R:R 0.91 vs 0.62",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why ARM over TSLA: Win% 72 vs 66 · ER 2.9% vs 0.5% · Score 1.93 vs 0.15 · RS +12.9% vs +1.0% · R:R 0.91 vs 0.62 · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "SMH",
              "rank": 6,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.9% vs 0.4%",
                "Score 1.93 vs 0.12",
                "RS +12.9% vs +0.5%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why ARM over SMH: Win% 72 vs 66 · ER 2.9% vs 0.4% · Score 1.93 vs 0.12 · RS +12.9% vs +0.5% · Tradeable (Small) vs Pass"
            }
          ],
          "rank_summary": "ARM ranked #1 because weakest RS + largest expected range + highest probability",
          "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": 35.7,
            "win_scenario_usd": 86.4,
            "loss_scenario_usd": 94.68,
            "win_prob_pct": 72.0,
            "display": "EV $+36 (win +$86 @ 72.0% · loss -$95)"
          },
          "entry_status": {
            "current_price": 318.68,
            "ideal_entry": 326.19,
            "distance_pct": -2.3,
            "remaining_er_pct": 5.37,
            "live_expected_return_pct": 5.37,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 325.21,
            "zone_high": 327.17,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 2,
          "symbol": "AMD",
          "direction": "LONG",
          "instrument": "Stock",
          "horizon": "Intraday",
          "confidence": 72,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+2.48%",
          "expected_return_pct": 2.48,
          "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": 33.32,
          "final_score": 0.86,
          "trade_action": "Small",
          "relative_strength": 5.32,
          "entry": "Above 605.0 (现价)",
          "entry_source": "current",
          "entry_price": 604.55,
          "entry_zone": {
            "low": 604.1,
            "high": 605.0,
            "mid": 604.55,
            "anchors": [
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 604.1
              }
            ],
            "display": "Entry Zone 604.10–605.00",
            "entry_source": "current",
            "tolerance_pct": 0.3
          },
          "stop": "604.1 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 604.1,
          "target": "619.5 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 619.53,
          "targets": [
            "619.5 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 609.63,
            "orb_high": 621.99,
            "orb_low": 604.1,
            "prev_high": 559.82,
            "prev_low": 559.82,
            "prior_close": 559.82,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +5.32%",
            "RS vs SMH +4.81%",
            "Volume 信号"
          ],
          "why_chain": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 5.32,
            "relative_strength_vs_smh": 4.81,
            "relative_weakness_score": -8.21,
            "gap_pct": 9.5,
            "beta_proxy": 2.93,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.94,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Sector Edge",
          "score_formula_display": "final = win_prob(72%) × ER(2.4%) × rr_weight(0.5) / 100",
          "expected_high": 619.53,
          "expected_low": 590.47,
          "expected_close": 619.53,
          "current_price": 605.0,
          "upside_pct": 2.4,
          "downside_risk_pct": 2.4,
          "why_factors": [
            "RS vs QQQ +5.32%",
            "RS vs SMH +4.81%",
            "Volume 信号"
          ],
          "why_today": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号",
          "gap_pct": 9.5,
          "rr_display": {
            "reward_risk_ratio": 33.29,
            "risk_reward_ratio": 0.03,
            "reward_per_share": 14.98,
            "risk_per_share": 0.45,
            "label_reward_risk": "Reward/Risk 33.29",
            "label_risk_reward": "Risk:Reward 1:0.03",
            "display": "Reward/Risk 33.29 · Risk:Reward 1:0.03",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Geopolitical Risk",
          "invalidation": "Close below stop $604.1 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 604.55,
              "source": "current",
              "confidence": 55,
              "reasons": []
            },
            "stop": {
              "price": 604.1,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 604.1,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 619.53,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 619.53,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(619.53-604.55)/604.55=2.48%",
          "heuristic_expected_return_pct": 2.4,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 AMD:在 604.55 附近入场,目标 619.53,预期 +2.48%",
          "expected_r": 23.7104,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 222,
            "contracts": 1,
            "max_loss_usd": 99.9,
            "win_usd": 3325.56,
            "loss_usd": 99.9,
            "expected_value_usd": 2366.43,
            "risk_per_share": 0.45,
            "reward_per_share": 14.98,
            "rr_display": {
              "reward_risk_ratio": 33.29,
              "risk_reward_ratio": 0.03,
              "reward_per_share": 14.98,
              "risk_per_share": 0.45,
              "label_reward_risk": "Reward/Risk 33.29",
              "label_risk_reward": "Risk:Reward 1:0.03",
              "display": "Reward/Risk 33.29 · Risk:Reward 1:0.03",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$3326 / Loss -$100"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 1,
            "shares": 222,
            "max_loss_usd": 99.9,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 100.0% → 1 unit(s) → Max Loss $99.9"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 72.0,
              "runner_up_value": 72.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 33.32,
              "runner_up_value": 1.51,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "ER 2.5% vs 5.4%",
                "Score 0.86 vs 1.93",
                "RS +5.3% vs +12.9%",
                "R:R 33.32 vs 1.0"
              ],
              "summary": "Why AMD over ARM: ER 2.5% vs 5.4% · Score 0.86 vs 1.93 · RS +5.3% vs +12.9% · R:R 33.32 vs 1.0"
            },
            {
              "symbol": "META",
              "rank": 3,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.5% vs 2.5%",
                "Score 0.86 vs 0.83",
                "RS +5.3% vs +7.9%",
                "R:R 33.32 vs 1.0"
              ],
              "summary": "Why AMD over META: Win% 72 vs 66 · ER 2.5% vs 2.5% · Score 0.86 vs 0.83 · RS +5.3% vs +7.9% · R:R 33.32 vs 1.0"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.5% vs 1.9%",
                "Score 0.86 vs 0.61",
                "RS +5.3% vs +5.8%",
                "R:R 33.32 vs 1.0"
              ],
              "summary": "Why AMD over TQQQ: Win% 72 vs 66 · ER 2.5% vs 1.9% · Score 0.86 vs 0.61 · RS +5.3% vs +5.8% · R:R 33.32 vs 1.0"
            },
            {
              "symbol": "TSLA",
              "rank": 5,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.5% vs 0.5%",
                "Score 0.86 vs 0.15",
                "RS +5.3% vs +1.0%",
                "R:R 33.32 vs 0.62",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why AMD over TSLA: Win% 72 vs 66 · ER 2.5% vs 0.5% · Score 0.86 vs 0.15 · RS +5.3% vs +1.0% · R:R 33.32 vs 0.62 · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "SMH",
              "rank": 6,
              "reasons": [
                "Win% 72 vs 66",
                "ER 2.5% vs 0.4%",
                "Score 0.86 vs 0.12",
                "RS +5.3% vs +0.5%",
                "R:R 33.32 vs 0.91",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why AMD over SMH: Win% 72 vs 66 · ER 2.5% vs 0.4% · Score 0.86 vs 0.12 · RS +5.3% vs +0.5% · R:R 33.32 vs 0.91 · Tradeable (Small) vs Pass"
            }
          ],
          "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": 2366.43,
            "win_scenario_usd": 3325.56,
            "loss_scenario_usd": 99.9,
            "win_prob_pct": 72.0,
            "display": "EV $+2366 (win +$3326 @ 72.0% · loss -$100)"
          },
          "entry_status": {
            "current_price": 605.0,
            "ideal_entry": 604.55,
            "distance_pct": 0.07,
            "remaining_er_pct": 2.4,
            "live_expected_return_pct": 2.4,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 604.1,
            "zone_high": 605.0,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        },
        {
          "rank": 3,
          "symbol": "TQQQ",
          "direction": "LONG",
          "instrument": "ETF",
          "horizon": "Intraday",
          "confidence": 66,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.81%",
          "expected_return_pct": 1.81,
          "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
          },
          "risk_reward": 1.85,
          "final_score": 0.61,
          "trade_action": "Small",
          "relative_strength": 5.84,
          "entry": "Above 78.9 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 78.91,
          "entry_zone": {
            "low": 78.67,
            "high": 79.15,
            "mid": 78.91,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 78.91
              }
            ],
            "display": "Entry Zone 78.67–79.15",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "78.1 (ORB低点)",
          "stop_source": "orb_low",
          "stop_price": 78.14,
          "target": "80.3 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 80.34,
          "targets": [
            "80.3 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 78.91,
            "orb_high": 79.61,
            "orb_low": 78.14,
            "prev_high": 72.64,
            "prev_low": 72.64,
            "prior_close": 72.64,
            "orb_from_minute": true
          },
          "levels_valid": true,
          "why": [
            "RS vs QQQ +5.84%",
            "Volume 信号"
          ],
          "why_chain": "RS vs QQQ +5.84% · Volume 信号",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": 5.84,
            "relative_strength_vs_smh": 5.33,
            "relative_weakness_score": -9.04,
            "gap_pct": 8.52,
            "beta_proxy": 3.12,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": -0.94,
            "prior_day_change_pct": 0.0
          },
          "edge_type": "Relative Strength",
          "score_formula_display": "final = win_prob(66%) × ER(1.8%) × rr_weight(0.5) / 100",
          "expected_high": 80.34,
          "expected_low": 77.42,
          "expected_close": 80.34,
          "current_price": 78.88,
          "upside_pct": 1.85,
          "downside_risk_pct": 1.85,
          "why_factors": [
            "RS vs QQQ +5.84%",
            "Volume 信号"
          ],
          "why_today": "RS vs QQQ +5.84% · Volume 信号",
          "gap_pct": 8.52,
          "rr_display": {
            "reward_risk_ratio": 1.86,
            "risk_reward_ratio": 0.54,
            "reward_per_share": 1.43,
            "risk_per_share": 0.77,
            "label_reward_risk": "Reward/Risk 1.86",
            "label_risk_reward": "Risk:Reward 1:0.54",
            "display": "Reward/Risk 1.86 · Risk:Reward 1:0.54",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Fed Headlines · Geopolitical Risk",
          "invalidation": "Close below stop $78.14 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 78.91,
              "source": "vwap",
              "confidence": 77,
              "reasons": [
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 78.91,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 78.14,
              "source": "orb_low",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 78.14,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 80.34,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 80.34,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(80.34-78.91)/78.91=1.81%",
          "heuristic_expected_return_pct": 1.85,
          "target_action": "卖出/获利",
          "trade_summary_cn": "做多 TQQQ:在 78.91 附近入场,目标 80.34,预期 +1.81%",
          "expected_r": 0.881,
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "shares": 129,
            "contracts": 1,
            "max_loss_usd": 99.33,
            "win_usd": 184.47,
            "loss_usd": 99.33,
            "expected_value_usd": 87.98,
            "risk_per_share": 0.77,
            "reward_per_share": 1.43,
            "rr_display": {
              "reward_risk_ratio": 1.86,
              "risk_reward_ratio": 0.54,
              "reward_per_share": 1.43,
              "risk_per_share": 0.77,
              "label_reward_risk": "Reward/Risk 1.86",
              "label_risk_reward": "Risk:Reward 1:0.54",
              "display": "Reward/Risk 1.86 · Risk:Reward 1:0.54",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$184 / Loss -$99"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 100.0,
            "contracts": 1,
            "shares": 129,
            "max_loss_usd": 99.33,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 100.0% → 1 unit(s) → Max Loss $99.33"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "liquidity",
              "label": "Highest Liquidity",
              "primary_value": 5.0,
              "runner_up_value": 5.0,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "risk_reward",
              "label": "Best Risk Reward",
              "primary_value": 1.85,
              "runner_up_value": 1.51,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 66 vs 72",
                "ER 1.8% vs 5.4%",
                "Score 0.61 vs 1.93",
                "RS +5.8% vs +12.9%",
                "R:R 1.85 vs 1.0"
              ],
              "summary": "Why TQQQ over ARM: Win% 66 vs 72 · ER 1.8% vs 5.4% · Score 0.61 vs 1.93 · RS +5.8% vs +12.9% · R:R 1.85 vs 1.0"
            },
            {
              "symbol": "AMD",
              "rank": 2,
              "reasons": [
                "Win% 66 vs 72",
                "ER 1.8% vs 2.4%",
                "Score 0.61 vs 0.86",
                "RS +5.8% vs +5.3%",
                "R:R 1.85 vs 1.0"
              ],
              "summary": "Why TQQQ over AMD: Win% 66 vs 72 · ER 1.8% vs 2.4% · Score 0.61 vs 0.86 · RS +5.8% vs +5.3% · R:R 1.85 vs 1.0"
            },
            {
              "symbol": "META",
              "rank": 3,
              "reasons": [
                "ER 1.8% vs 2.5%",
                "Score 0.61 vs 0.83",
                "RS +5.8% vs +7.9%",
                "R:R 1.85 vs 1.0",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why TQQQ over META: ER 1.8% vs 2.5% · Score 0.61 vs 0.83 · RS +5.8% vs +7.9% · R:R 1.85 vs 1.0 · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "TSLA",
              "rank": 5,
              "reasons": [
                "ER 1.8% vs 0.5%",
                "Score 0.61 vs 0.15",
                "RS +5.8% vs +1.0%",
                "R:R 1.85 vs 0.62",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why TQQQ over TSLA: ER 1.8% vs 0.5% · Score 0.61 vs 0.15 · RS +5.8% vs +1.0% · R:R 1.85 vs 0.62 · Tradeable (Small) vs Pass"
            },
            {
              "symbol": "SMH",
              "rank": 6,
              "reasons": [
                "ER 1.8% vs 0.4%",
                "Score 0.61 vs 0.12",
                "RS +5.8% vs +0.5%",
                "R:R 1.85 vs 0.91",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why TQQQ over SMH: ER 1.8% vs 0.4% · Score 0.61 vs 0.12 · RS +5.8% vs +0.5% · R:R 1.85 vs 0.91 · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 66.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": 87.98,
            "win_scenario_usd": 184.47,
            "loss_scenario_usd": 99.33,
            "win_prob_pct": 66.0,
            "display": "EV $+88 (win +$184 @ 66.0% · loss -$99)"
          },
          "entry_status": {
            "current_price": 78.88,
            "ideal_entry": 78.91,
            "distance_pct": -0.04,
            "remaining_er_pct": 1.85,
            "live_expected_return_pct": 1.85,
            "new_plan": null,
            "alternate_entry": null,
            "advisory": true,
            "advisory_tag": "ADVISORY — 不构成投资建议",
            "zone_low": 78.67,
            "zone_high": 79.15,
            "miss_threshold_pct": 1.0,
            "status": "PREMARKET",
            "status_reason": "Premarket Ideal Entry — plan not yet live",
            "action_hint": "Entry still valid"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "META",
          "rank": 3,
          "win_prob": 66.0,
          "expected_return_pct": 2.53,
          "trade_action": "Pass",
          "why": "RS vs QQQ +7.87% · Volume 信号",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "TSLA",
          "rank": 5,
          "win_prob": 66.0,
          "expected_return_pct": 0.47,
          "trade_action": "Pass",
          "why": "RS vs QQQ +1.03% · Volume 信号 · 期望R 0.07 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "SMH",
          "rank": 6,
          "win_prob": 66.0,
          "expected_return_pct": 0.38,
          "trade_action": "Pass",
          "why": "RS vs QQQ +0.51% · Volume 信号 · 几何上行 <1.5%(软门槛)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "QQQ",
          "rank": 7,
          "win_prob": 59.0,
          "expected_return_pct": 0.22,
          "trade_action": "Pass",
          "why": "News 1 · Volume 信号 · 期望R -0.04 < 0.20(EV门禁)",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "XLK",
          "rank": 8,
          "win_prob": 54.0,
          "expected_return_pct": 0.21,
          "trade_action": "Pass",
          "why": "Volume 信号 · 期望R -0.13 < 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 734.2 (swing zone)",
        "entry_source": "swing_zone",
        "entry_price": 734.24,
        "entry_zone": {
          "low": 720.56,
          "high": 736.45,
          "mid": 734.24,
          "display": "$720.56–$736.45",
          "source": "swing_pullback"
        },
        "stop": "693.2 (1.75xATR)",
        "stop_source": "1.75xATR",
        "stop_price": 693.2,
        "target": "789.0 (T1 ~7.5%)",
        "target_source": "2xATR_or_5pct",
        "target_price": 788.96,
        "targets": [
          {
            "price": 788.96,
            "label": "T1",
            "pct": 7.45
          },
          {
            "price": 816.32,
            "label": "T2",
            "pct": 11.18
          }
        ],
        "expected_return_pct": 7.45,
        "expected_move": "+7.45%",
        "risk_reward": 1.33,
        "win_prob": 66.0,
        "final_score": 0.83,
        "swing_quality": 7.29,
        "atr": 27.3601,
        "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": 736.45,
        "why": [
          "高流动性波段标的 META",
          "Prior day +0.0%",
          "5D momentum +11.4%",
          "RS vs QQQ +7.87%",
          "Swing score 7.3"
        ],
        "why_chain": "高流动性波段标的 META · Prior day +0.0% · 5D momentum +11.4% · RS vs QQQ +7.87%",
        "invalidation": "Close beyond stop $693.2 or thesis broken (trend flip / catalyst fade)",
        "trade_summary_cn": "波段做多 META:理想入场 $720.56–$736.45,止损 $693.2,目标 $788.96(约 +7.5%),持仓天数–数周",
        "one_liner": "波段做多 META:理想入场 $720.56–$736.45,止损 $693.2,目标 $788.96(约 +7.5%),持仓天数–数周",
        "edge_type": "Relative Strength",
        "advisory": true,
        "label": "长线 · Swing Trade",
        "separate_from_intraday": true
      }
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):Fed Headlines、Geopolitical Risk、Oil Selloff、Trade Policy",
        "catalyst": "Fed Headlines、Geopolitical Risk、Oil Selloff、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 盘前/开盘 +2.75%"
      },
      "sector_edge": {
        "edge": "YES",
        "why": "SMH 领先 QQQ +0.48%",
        "sector": "Semiconductor"
      },
      "stock_edge": {
        "edge": "NO",
        "why": "无单票 RS+新闻+量能共振"
      },
      "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": 5.37,
        "expected_high": 335.79,
        "expected_low": 301.57,
        "expected_close": 335.79,
        "current_price": 318.68,
        "upside_pct": 5.37,
        "downside_risk_pct": 5.37,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.44,
        "final_score": 1.93,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": 16.35,
        "relative_strength": 12.88,
        "relative_strength_vs_smh": 12.37,
        "relative_weakness_score": -20.3,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +12.88%",
          "RS vs SMH +12.37%",
          "Volume 信号"
        ],
        "why": "RS vs QQQ +12.88% · RS vs SMH +12.37% · Volume 信号",
        "score": 19,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 12.88,
          "relative_strength_vs_smh": 12.37,
          "relative_weakness_score": -20.3,
          "gap_pct": 16.35,
          "beta_proxy": 5.68,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(72%) × ER(5.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "ARM RS +12.9% vs AMD +5.3%;ER 5.4% vs 2.4%;higher beta (5.7 vs 2.9);relative strength",
        "advisory": true,
        "rank": 1,
        "direction": "LONG"
      },
      {
        "symbol": "AMD",
        "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": 2.4,
        "expected_high": 619.53,
        "expected_low": 590.47,
        "expected_close": 619.53,
        "current_price": 605.0,
        "upside_pct": 2.4,
        "downside_risk_pct": 2.4,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.44,
        "final_score": 0.86,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": 9.5,
        "relative_strength": 5.32,
        "relative_strength_vs_smh": 4.81,
        "relative_weakness_score": -8.21,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +5.32%",
          "RS vs SMH +4.81%",
          "Volume 信号"
        ],
        "why": "RS vs QQQ +5.32% · RS vs SMH +4.81% · Volume 信号",
        "score": 9,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 5.32,
          "relative_strength_vs_smh": 4.81,
          "relative_weakness_score": -8.21,
          "gap_pct": 9.5,
          "beta_proxy": 2.93,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(72%) × ER(2.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "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": 2.53,
        "expected_high": 755.06,
        "expected_low": 717.83,
        "expected_close": 755.06,
        "current_price": 736.45,
        "upside_pct": 2.53,
        "downside_risk_pct": 2.53,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.32,
        "final_score": 0.83,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 11.92,
        "relative_strength": 7.87,
        "relative_strength_vs_smh": 7.36,
        "relative_weakness_score": -12.29,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +7.87%",
          "Volume 信号",
          "Expected R 0.15 < 0.20 (EV gate)"
        ],
        "why": "RS vs QQQ +7.87% · Volume 信号",
        "score": 8,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 7.87,
          "relative_strength_vs_smh": 7.36,
          "relative_weakness_score": -12.29,
          "gap_pct": 11.92,
          "beta_proxy": 3.86,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(66%) × ER(2.5%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "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.85,
        "expected_high": 80.34,
        "expected_low": 77.42,
        "expected_close": 80.34,
        "current_price": 78.88,
        "upside_pct": 1.85,
        "downside_risk_pct": 1.85,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.32,
        "final_score": 0.61,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": 8.52,
        "relative_strength": 5.84,
        "relative_strength_vs_smh": 5.33,
        "relative_weakness_score": -9.04,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +5.84%",
          "Volume 信号"
        ],
        "why": "RS vs QQQ +5.84% · Volume 信号",
        "score": 6,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 5.84,
          "relative_strength_vs_smh": 5.33,
          "relative_weakness_score": -9.04,
          "gap_pct": 8.52,
          "beta_proxy": 3.12,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(66%) × ER(1.8%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "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.47,
        "expected_high": 379.94,
        "expected_low": 375.03,
        "expected_close": 379.81,
        "current_price": 378.05,
        "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.15,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.24,
        "relative_strength": 1.03,
        "relative_strength_vs_smh": 0.52,
        "relative_weakness_score": -1.34,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +1.03%",
          "Volume 信号",
          "期望R 0.07 < 0.20(EV门禁)"
        ],
        "why": "RS vs QQQ +1.03% · Volume 信号 · 期望R 0.07 < 0.20(EV门禁)",
        "score": 2,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.03,
          "relative_strength_vs_smh": 0.52,
          "relative_weakness_score": -1.34,
          "gap_pct": 3.24,
          "beta_proxy": 1.37,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(66%) × ER(0.5%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "LONG"
      },
      {
        "symbol": "SMH",
        "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.38,
        "expected_high": 596.03,
        "expected_low": 586.97,
        "expected_close": 593.94,
        "current_price": 591.7,
        "upside_pct": 0.73,
        "downside_risk_pct": 0.8,
        "risk_reward": 0.91,
        "rr_display": {
          "reward_risk_ratio": 0.91,
          "risk_reward_ratio": 1.1,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.91",
          "label_risk_reward": "Risk:Reward 1:1.10",
          "display": "Reward/Risk 0.91 · Risk:Reward 1:1.10",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.2606,
        "final_score": 0.12,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 3.45,
        "relative_strength": 0.51,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": -0.51,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS vs QQQ +0.51%",
          "Volume 信号",
          "几何上行 <1.5%(软门槛)"
        ],
        "why": "RS vs QQQ +0.51% · Volume 信号 · 几何上行 <1.5%(软门槛)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.51,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": -0.51,
          "gap_pct": 3.45,
          "beta_proxy": 1.19,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(66%) × ER(0.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "LONG"
      },
      {
        "symbol": "QQQ",
        "win_prob": 59.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 59.0,
          "raw_total": 59.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.22,
        "expected_high": 745.01,
        "expected_low": 735.37,
        "expected_close": 742.92,
        "current_price": 741.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.0442,
        "final_score": 0.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.73,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": -0.51,
        "relative_weakness_score": 0.31,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "News 1",
          "Volume 信号",
          "期望R -0.04 < 0.20(EV门禁)"
        ],
        "why": "News 1 · Volume 信号 · 期望R -0.04 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": -0.51,
          "relative_weakness_score": 0.31,
          "gap_pct": 2.73,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(59%) × ER(0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "LONG"
      },
      {
        "symbol": "XLK",
        "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.21,
        "expected_high": 195.83,
        "expected_low": 193.3,
        "expected_close": 195.27,
        "current_price": 194.86,
        "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.06,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.59,
        "relative_strength": 0.02,
        "relative_strength_vs_smh": -0.49,
        "relative_weakness_score": 0.27,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "Volume 信号",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "Volume 信号 · 期望R -0.13 < 0.20(EV门禁)",
        "score": 1,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.02,
          "relative_strength_vs_smh": -0.49,
          "relative_weakness_score": 0.27,
          "gap_pct": 2.59,
          "beta_proxy": 1.01,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "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": 8,
        "direction": "LONG"
      },
      {
        "symbol": "MSFT",
        "win_prob": 59.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 59.0,
          "raw_total": 59.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.12,
        "expected_high": 509.27,
        "expected_low": 501.61,
        "expected_close": 507.37,
        "current_price": 506.74,
        "upside_pct": 0.5,
        "downside_risk_pct": 1.01,
        "risk_reward": 0.49,
        "rr_display": {
          "reward_risk_ratio": 0.49,
          "risk_reward_ratio": 2.04,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.49",
          "label_risk_reward": "Risk:Reward 1:2.04",
          "display": "Reward/Risk 0.49 · Risk:Reward 1:2.04",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1209,
        "final_score": 0.04,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.88,
        "relative_strength": -0.13,
        "relative_strength_vs_smh": -0.64,
        "relative_weakness_score": 0.51,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "News 3",
          "Volume 信号",
          "期望R -0.12 < 0.20(EV门禁)"
        ],
        "why": "News 3 · Volume 信号 · 期望R -0.12 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 3,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.13,
          "relative_strength_vs_smh": -0.64,
          "relative_weakness_score": 0.51,
          "gap_pct": 1.88,
          "beta_proxy": 0.95,
          "volume_signal": true,
          "news_count": 3,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Range",
        "score_formula_display": "final = win_prob(59%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "LONG"
      },
      {
        "symbol": "AMZN",
        "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.12,
        "expected_high": 261.11,
        "expected_low": 257.73,
        "expected_close": 260.13,
        "current_price": 259.81,
        "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.03,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.43,
        "relative_strength": -0.35,
        "relative_strength_vs_smh": -0.86,
        "relative_weakness_score": 0.87,
        "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.35,
          "relative_strength_vs_smh": -0.86,
          "relative_weakness_score": 0.87,
          "gap_pct": 2.43,
          "beta_proxy": 0.87,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "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": 10,
        "direction": "LONG"
      },
      {
        "symbol": "GOOGL",
        "win_prob": 44.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.02,
        "expected_high": 358.26,
        "expected_low": 353.63,
        "expected_close": 356.57,
        "current_price": 356.48,
        "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.2872,
        "final_score": 0.01,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.2,
        "relative_strength": -0.76,
        "relative_strength_vs_smh": -1.27,
        "relative_weakness_score": 1.52,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.76%",
          "Volume 信号",
          "期望R -0.29 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.76% · Volume 信号 · 期望R -0.29 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.76,
          "relative_strength_vs_smh": -1.27,
          "relative_weakness_score": 1.52,
          "gap_pct": 2.2,
          "beta_proxy": 0.72,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(44%) × ER(0.0%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "LONG"
      },
      {
        "symbol": "SPY",
        "win_prob": 44.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.09,
        "expected_high": 777.94,
        "expected_low": 767.88,
        "expected_close": 773.34,
        "current_price": 774.07,
        "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.2872,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.62,
        "relative_strength": -1.12,
        "relative_strength_vs_smh": -1.63,
        "relative_weakness_score": 2.1,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.12%",
          "Volume 信号",
          "期望R -0.29 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.12% · Volume 信号 · 期望R -0.29 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.12,
          "relative_strength_vs_smh": -1.63,
          "relative_weakness_score": 2.1,
          "gap_pct": 1.62,
          "beta_proxy": 0.59,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(44%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 12,
        "direction": "LONG"
      },
      {
        "symbol": "NVDA",
        "win_prob": 43.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -16.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 43.0,
          "raw_total": 43.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.15,
        "expected_high": 227.96,
        "expected_low": 225.01,
        "expected_close": 226.49,
        "current_price": 226.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.3034,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.69,
        "relative_strength": -0.7,
        "relative_strength_vs_smh": -1.21,
        "relative_weakness_score": 1.43,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -0.70%",
          "News 5",
          "Volume 信号",
          "期望R -0.30 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -0.70% · News 5 · Volume 信号 · 期望R -0.30 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 5,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.7,
          "relative_strength_vs_smh": -1.21,
          "relative_weakness_score": 1.43,
          "gap_pct": 1.69,
          "beta_proxy": 0.75,
          "volume_signal": true,
          "news_count": 5,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(43%) × ER(-0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 13,
        "direction": "LONG"
      },
      {
        "symbol": "MU",
        "win_prob": 43.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -16.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 43.0,
          "raw_total": 43.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.25,
        "expected_high": 1043.96,
        "expected_low": 1023.22,
        "expected_close": 1028.87,
        "current_price": 1031.47,
        "upside_pct": 1.21,
        "downside_risk_pct": 0.8,
        "risk_reward": 1.51,
        "rr_display": {
          "reward_risk_ratio": 1.51,
          "risk_reward_ratio": 0.66,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.51",
          "label_risk_reward": "Risk:Reward 1:0.66",
          "display": "Reward/Risk 1.51 · Risk:Reward 1:0.66",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": 0.0793,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.46,
        "relative_strength": -1.21,
        "relative_strength_vs_smh": -1.72,
        "relative_weakness_score": 2.24,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.21%",
          "News 1",
          "Volume 信号",
          "期望R 0.08 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.21% · News 1 · Volume 信号 · 期望R 0.08 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.21,
          "relative_strength_vs_smh": -1.72,
          "relative_weakness_score": 2.24,
          "gap_pct": 2.46,
          "beta_proxy": 0.56,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(43%) × ER(-0.3%) × rr_weight(0.76) / 100",
        "rr_weight": 0.76,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 14,
        "direction": "LONG"
      },
      {
        "symbol": "AAPL",
        "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.24,
        "expected_high": 341.58,
        "expected_low": 337.17,
        "expected_close": 339.06,
        "current_price": 339.88,
        "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.05,
        "relative_strength": -1.63,
        "relative_strength_vs_smh": -2.14,
        "relative_weakness_score": 2.91,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.63%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.21 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.63% · Gap 未过度延伸 · Volume 信号 · 期望R -0.21 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.63,
          "relative_strength_vs_smh": -2.14,
          "relative_weakness_score": 2.91,
          "gap_pct": 1.05,
          "beta_proxy": 0.41,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(49%) × ER(-0.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 15,
        "direction": "LONG"
      },
      {
        "symbol": "AVGO",
        "win_prob": 43.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -16.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 43.0,
          "raw_total": 43.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.35,
        "expected_high": 365.05,
        "expected_low": 360.33,
        "expected_close": 361.97,
        "current_price": 363.23,
        "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.3034,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.15,
        "relative_strength": -1.18,
        "relative_strength_vs_smh": -1.69,
        "relative_weakness_score": 2.19,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.18%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.30 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.18% · Gap 未过度延伸 · Volume 信号 · 期望R -0.30 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.18,
          "relative_strength_vs_smh": -1.69,
          "relative_weakness_score": 2.19,
          "gap_pct": 1.15,
          "beta_proxy": 0.57,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Sector Edge",
        "score_formula_display": "final = win_prob(43%) × ER(-0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 16,
        "direction": "LONG"
      },
      {
        "symbol": "DIA",
        "win_prob": 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.29,
        "expected_high": 524.24,
        "expected_low": 517.46,
        "expected_close": 520.13,
        "current_price": 521.63,
        "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.51,
        "relative_strength": -1.64,
        "relative_strength_vs_smh": -2.15,
        "relative_weakness_score": 2.93,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -1.64%",
          "Gap 未过度延伸",
          "News 2",
          "Volume 信号",
          "期望R -0.13 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -1.64% · Gap 未过度延伸 · News 2 · Volume 信号",
        "score": 0,
        "news_count": 2,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -1.64,
          "relative_strength_vs_smh": -2.15,
          "relative_weakness_score": 2.93,
          "gap_pct": 0.51,
          "beta_proxy": 0.4,
          "volume_signal": true,
          "news_count": 2,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(54%) × ER(-0.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 17,
        "direction": "LONG"
      },
      {
        "symbol": "XLF",
        "win_prob": 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.54,
        "expected_high": 56.21,
        "expected_low": 55.49,
        "expected_close": 55.63,
        "current_price": 55.93,
        "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": -0.21,
        "relative_strength": -2.62,
        "relative_strength_vs_smh": -3.13,
        "relative_weakness_score": 4.5,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -2.62%",
          "Gap 未过度延伸",
          "Volume 信号",
          "期望R -0.21 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -2.62% · Gap 未过度延伸 · Volume 信号 · 期望R -0.21 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.62,
          "relative_strength_vs_smh": -3.13,
          "relative_weakness_score": 4.5,
          "gap_pct": -0.21,
          "beta_proxy": 0.05,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(49%) × ER(-0.5%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 18,
        "direction": "LONG"
      },
      {
        "symbol": "XLE",
        "win_prob": 44.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -10.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            }
          ],
          "total": 44.0,
          "raw_total": 44.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.61,
        "expected_high": 62.46,
        "expected_low": 60.63,
        "expected_close": 60.63,
        "current_price": 61.62,
        "upside_pct": 1.36,
        "downside_risk_pct": 1.61,
        "risk_reward": 0.84,
        "rr_display": {
          "reward_risk_ratio": 0.84,
          "risk_reward_ratio": 1.19,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.84",
          "label_risk_reward": "Risk:Reward 1:1.19",
          "display": "Reward/Risk 0.84 · Risk:Reward 1:1.19",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "expected_r": -0.1904,
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -2.81,
        "relative_strength": -6.93,
        "relative_strength_vs_smh": -7.44,
        "relative_weakness_score": 11.39,
        "prior_day_change_pct": 0.0,
        "why_factors": [
          "RS 弱于 QQQ -6.93%",
          "Volume 信号",
          "期望R -0.19 < 0.20(EV门禁)"
        ],
        "why": "RS 弱于 QQQ -6.93% · Volume 信号 · 期望R -0.19 < 0.20(EV门禁)",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -6.93,
          "relative_strength_vs_smh": -7.44,
          "relative_weakness_score": 11.39,
          "gap_pct": -2.81,
          "beta_proxy": -1.52,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": -0.94,
          "prior_day_change_pct": 0.0
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(44%) × ER(-1.6%) × 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": true,
      "action": "Hold"
    },
    "s7": {
      "actual_driver": "AI/Semiconductor",
      "attribution": {
        "ai": 0.767,
        "bond": 0.17,
        "oil": 0.0,
        "macro": 0.013,
        "other": 0.05,
        "splits": {}
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.767,
    "bond": 0.17,
    "oil": 0.0,
    "macro": 0.013,
    "other": 0.05,
    "splits": {}
  },
  "labels": {
    "actual_driver": "AI/Semiconductor",
    "agent_driver": "Fed Headlines",
    "agent_driver_type": "Fed",
    "corrected_driver_from_verify": null,
    "driver_splits": {},
    "hypothesis_correct": "部分对",
    "scenario_primary": "A",
    "scenario_actual": "A",
    "scenario_correct": true,
    "trade_recommendation": "ARM",
    "trade_direction": "LONG",
    "primary_symbol": "ARM",
    "predicted_return_pct": 2.94,
    "prediction_error_pct": null
  },
  "surprise": "AI/Semiconductor dominated more than typical day",
  "lesson": "AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量",
  "playbook_refs": [
    "Case-55"
  ],
  "bayesian_drivers": {
    "AI": 1.0,
    "Bond": 0.0,
    "Macro": 0.0,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}