← 全部 Cases · 今日流程

Market Case · 2026-07-08

Day 4

Day 4
9/9 Steps

Regime · Hypothesis

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

Labels · Attribution

真正 Driver
AI 是 Driver + 但 Iran + Fed Minutes 也是 Driver
Hypothesis 结果
Scenario 预测
B
Scenario 实际
B
Scenario 命中
AI 贡献
68%
Bond
0%

Surprise · Lesson

Surprise:AI/Semiconductor dominated more than typical day

Lesson:【核对纠正】 2026-07-08: P2 Agent 说「Driver:AI Chip Selloff」→ 用户纠正:AI Chip Selloff 是原因之一,但地缘政治(Iran)同样重要,不应只写 AI 2026-07-08: P3 Agent 说「今日无美国重大宏观数据 · 下一关键节点为 NFP」→ 用户纠正:今天真正市场关注的是 Fed Minutes + Iran 局势,不是"NFP"。这是今天最大的错误。 2026-07-08: P10 Agent 说「Type:AI · Driver:AI Chip Selloff」→ 用户纠正:AI 是 Driver,但 Iran/Fed Minutes 也是 Driver 2026-07-08: S7 Agent 说「真正 Driver:AI/Semiconductor · Attribution:AI 68% · Bond 0% · Hypothesis:对 · Scenario B→B 命中」→ 用户纠正:AI 是 Driver,但 Iran/Fed Minutes 也是 Driver AI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量

Evidence / Counter

Evidence

  • NVDA +6.0%
  • SMH +1.2%

Counter

  • VIX↑ 13.7% (risk-off pressure)
  • Breadth 14% (narrow market)

Step 快捷入口

原始 JSON
{
  "date": "2026-07-08",
  "features": {
    "dgs10": 4.48,
    "dgs2": null,
    "vix": 18.34,
    "vix_chg": 13.7,
    "qqq_chg": -0.6,
    "smh_chg": 1.25,
    "nvda_chg": 6.05,
    "spy_chg": 0.0,
    "oil_chg": 0.0,
    "dxy_chg": 0.04,
    "breadth_proxy": 0.14285714285714285,
    "qqq_gap": -0.81,
    "news_headline_count": 31,
    "news_bearish_ratio": 0.308,
    "news_ai_mentions": 100,
    "news_macro_mentions": 8,
    "news_oil_mentions": 0,
    "news_risk_mentions": 1
  },
  "regime": {
    "label": "AI Expansion",
    "confidence": 0.82
  },
  "hypothesis": {
    "id": "H-2026-07-08-001",
    "statement": "AI/Semiconductor leads index today; macro is secondary variable",
    "evidence": [
      "NVDA +6.0%",
      "SMH +1.2%"
    ],
    "counter_evidence": [
      "VIX↑ 13.7% (risk-off pressure)",
      "Breadth 14% (narrow market)"
    ],
    "confidence": 0.58,
    "status": "待验证"
  },
  "morning": {
    "bias": "Bear",
    "total": -3,
    "driver_type": "Political",
    "daily_driver": "Geopolitical Risk (Iran)",
    "best_opportunity": {
      "direction": "SHORT",
      "symbol": "ARM",
      "instrument": "ETF",
      "confidence": 85,
      "confidence_stars": "★★★★☆",
      "entry": "Below 290.0 (ORB低点)",
      "entry_source": "orb_low",
      "entry_price": 290.01,
      "stop": "302.6 (ORB高点)",
      "stop_source": "orb_high",
      "stop_price": 302.65,
      "target": "283.4 (预期收盘)",
      "target_source": "expected_close",
      "target_price": 283.36,
      "target_action": "买入/平空仓",
      "targets": [
        "283.4 (预期收盘)"
      ],
      "duration": "Intraday",
      "why": [
        "RS弱于QQQ -0.58%",
        "昨日弱势 -7.6% 延续下行",
        "Gap 未过度延伸",
        "VIX 走高"
      ],
      "why_chain": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
      "why_vs_runner_up": "ARM RS -0.6% vs MU -2.1%;ER 3.3% vs 2.5%;Win% 85 vs 84;relative weakness play",
      "factor_breakdown": {
        "relative_strength_vs_qqq": -0.58,
        "gap_pct": -0.61,
        "beta_proxy": 1.31,
        "volume_signal": false,
        "news_count": 0,
        "extended_gap_penalty": 0.0,
        "vix_change_pct": 13.7,
        "prior_day_change_pct": -7.57,
        "relative_strength_vs_smh": -0.19,
        "relative_weakness_score": 0.69
      },
      "edge_type": "Stock Edge",
      "score_formula_display": "final = win_prob(85%) × ER(3.3%) × rr_weight(0.5) / 100",
      "win_prob": 85.0,
      "expected_return_pct": 2.29,
      "expected_move": "+2.29%",
      "return_calculation": "(290.01-283.36)/290.01=2.29%",
      "trade_summary_cn": "做空 ARM:在 290.01 附近入场,目标 283.36,预期 +2.29%",
      "risk_reward": 0.53,
      "final_score": 1.4,
      "level_anchors": {
        "vwap": 290.98,
        "orb_high": 302.65,
        "orb_low": 290.01,
        "prev_high": null,
        "prev_low": null,
        "prior_close": 300.43,
        "orb_from_minute": true
      },
      "avoid": [],
      "one_liner": "做空 ARM:在 290.01 附近入场,目标 283.36,预期 +2.29%",
      "p16_gate": "No Trade",
      "advisory": true,
      "win_prob_breakdown": {
        "components": [
          {
            "factor": "Base",
            "key": "base",
            "points": 50.0
          },
          {
            "factor": "RS",
            "key": "rs",
            "points": 16.0
          },
          {
            "factor": "Trend",
            "key": "trend",
            "points": 8.0
          },
          {
            "factor": "Gap",
            "key": "gap",
            "points": 5.0
          },
          {
            "factor": "Macro",
            "key": "macro",
            "points": 6.0
          }
        ],
        "total": 85.0,
        "raw_total": 85.0,
        "was_clamped": false
      },
      "level_reasons": {
        "entry": {
          "price": 290.01,
          "source": "orb_low",
          "confidence": 89,
          "reasons": [
            {
              "source": "orb_low",
              "label": "ORB Low",
              "price": 290.01,
              "weight_pct": 70.0,
              "matched": true,
              "primary": true
            },
            {
              "source": "vwap",
              "label": "VWAP",
              "price": 290.98,
              "weight_pct": 30.0,
              "matched": true,
              "primary": false
            }
          ]
        },
        "stop": {
          "price": 302.65,
          "source": "orb_high",
          "confidence": 77,
          "reasons": [
            {
              "source": "orb_high",
              "label": "ORB High",
              "price": 302.65,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        },
        "target": {
          "price": 283.36,
          "source": "expected_close",
          "confidence": 77,
          "reasons": [
            {
              "source": "expected_close",
              "label": "Expected Close",
              "price": 283.36,
              "weight_pct": 100.0,
              "matched": true,
              "primary": true
            }
          ]
        }
      },
      "trade_economics": {
        "account_size": 10000.0,
        "risk_pct": 1.0,
        "position_pct": 20.3,
        "shares": 7,
        "contracts": 1,
        "max_loss_usd": 88.48,
        "win_usd": 46.55,
        "loss_usd": 88.48,
        "risk_per_share": 12.64,
        "reward_per_share": 6.65,
        "size_label": "Small",
        "display": "$10,000 → Win +$47 / Loss -$88",
        "expected_value_usd": 26.3,
        "rr_display": {
          "reward_risk_ratio": 0.53,
          "risk_reward_ratio": 1.89,
          "reward_per_share": 6.65,
          "risk_per_share": 12.64,
          "label_reward_risk": "Reward/Risk 0.53",
          "label_risk_reward": "Risk:Reward 1:1.89",
          "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        }
      },
      "position_sizing": {
        "risk_pct": 1.0,
        "position_pct": 20.3,
        "contracts": 1,
        "shares": 7,
        "max_loss_usd": 88.48,
        "size_label": "Small",
        "display": "Risk 1.0% → Position 20.3% → 1 unit(s) → Max Loss $88.48"
      },
      "why_wins_today": [
        {
          "rank": 1,
          "dimension": "expected_range",
          "label": "Largest Expected Range",
          "primary_value": 6.58,
          "runner_up_value": 5.85,
          "wins": true
        },
        {
          "rank": 2,
          "dimension": "win_prob",
          "label": "Highest Probability",
          "primary_value": 85.0,
          "runner_up_value": 84.0,
          "wins": true
        }
      ],
      "why_not_alternatives": [
        {
          "symbol": "MU",
          "rank": 2,
          "reasons": [
            "Win% 85 vs 84",
            "ER 2.3% vs 2.5%",
            "Score 1.4 vs 1.06",
            "RS -0.6% vs -2.1%"
          ],
          "summary": "Why ARM over MU: Win% 85 vs 84 · ER 2.3% vs 2.5% · Score 1.4 vs 1.06 · RS -0.6% vs -2.1%"
        },
        {
          "symbol": "AMD",
          "rank": 3,
          "reasons": [
            "Win% 85 vs 64",
            "ER 2.3% vs 2.6%",
            "Score 1.4 vs 0.85",
            "RS -0.6% vs -0.0%"
          ],
          "summary": "Why ARM over AMD: Win% 85 vs 64 · ER 2.3% vs 2.6% · Score 1.4 vs 0.85 · RS -0.6% vs -0.0%"
        },
        {
          "symbol": "TQQQ",
          "rank": 4,
          "reasons": [
            "Win% 85 vs 62",
            "ER 2.3% vs 2.3%",
            "Score 1.4 vs 0.71",
            "RS -0.6% vs -3.8%"
          ],
          "summary": "Why ARM over TQQQ: Win% 85 vs 62 · ER 2.3% vs 2.3% · Score 1.4 vs 0.71 · RS -0.6% vs -3.8%"
        },
        {
          "symbol": "SMH",
          "rank": 5,
          "reasons": [
            "Win% 85 vs 61",
            "ER 2.3% vs 1.4%",
            "Score 1.4 vs 0.44",
            "RS -0.6% vs -0.4%"
          ],
          "summary": "Why ARM over SMH: Win% 85 vs 61 · ER 2.3% vs 1.4% · Score 1.4 vs 0.44 · RS -0.6% vs -0.4%"
        },
        {
          "symbol": "TSLA",
          "rank": 6,
          "reasons": [
            "Win% 85 vs 72",
            "ER 2.3% vs 0.9%",
            "Score 1.4 vs 0.33",
            "RS -0.6% vs -2.9%",
            "Tradeable (Small) vs Pass"
          ],
          "summary": "Why ARM over TSLA: Win% 85 vs 72 · ER 2.3% vs 0.9% · Score 1.4 vs 0.33 · RS -0.6% vs -2.9% · Tradeable (Small) vs Pass"
        }
      ],
      "rr_display": {
        "reward_risk_ratio": 0.53,
        "risk_reward_ratio": 1.89,
        "reward_per_share": 6.65,
        "risk_per_share": 12.64,
        "label_reward_risk": "Reward/Risk 0.53",
        "label_risk_reward": "Risk:Reward 1:1.89",
        "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
        "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
      },
      "entry_zone": {
        "low": 289.14,
        "high": 290.88,
        "mid": 290.01,
        "anchors": [
          {
            "source": "orb_low",
            "label": "ORB低点",
            "price": 290.01
          }
        ],
        "display": "Entry Zone 289–291",
        "entry_source": "orb_low",
        "tolerance_pct": 0.3
      },
      "rank_summary": "ARM ranked #1 because largest expected range + highest probability",
      "win_prob_source": "rules",
      "calibration": {
        "calibrated_win_prob": 85.0,
        "sample_size": 0,
        "confidence_interval": null,
        "source": "rules_fallback",
        "match_quality": "insufficient",
        "win_prob_source": "rules",
        "disclaimer": "No historical matches; using rules breakdown"
      },
      "similar_days": null,
      "ev_distribution": {
        "expected_value_usd": 26.3,
        "win_scenario_usd": 46.55,
        "loss_scenario_usd": 88.48,
        "win_prob_pct": 85.0,
        "display": "EV $+26 (win +$47 @ 85.0% · loss -$88)"
      }
    },
    "best_trades": {
      "primary": {
        "rank": 1,
        "symbol": "ARM",
        "direction": "SHORT",
        "instrument": "ETF",
        "confidence": 85,
        "confidence_stars": "★★★★☆",
        "expected_move": "+2.29%",
        "expected_return_pct": 2.29,
        "win_prob": 85.0,
        "risk_reward": 0.53,
        "final_score": 1.4,
        "trade_action": "Small",
        "entry": "Below 290.0 (ORB低点)",
        "entry_source": "orb_low",
        "entry_price": 290.01,
        "stop": "302.6 (ORB高点)",
        "stop_source": "orb_high",
        "stop_price": 302.65,
        "target": "283.4 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 283.36,
        "targets": [
          "283.4 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 290.98,
          "orb_high": 302.65,
          "orb_low": 290.01,
          "prev_high": null,
          "prev_low": null,
          "prior_close": 300.43,
          "orb_from_minute": true
        },
        "why": [
          "RS弱于QQQ -0.58%",
          "昨日弱势 -7.6% 延续下行",
          "Gap 未过度延伸",
          "VIX 走高"
        ],
        "why_chain": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
        "why_vs_runner_up": "ARM RS -0.6% vs MU -2.1%;ER 3.3% vs 2.5%;Win% 85 vs 84;relative weakness play",
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.58,
          "gap_pct": -0.61,
          "beta_proxy": 1.31,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -7.57,
          "relative_strength_vs_smh": -0.19,
          "relative_weakness_score": 0.69
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(85%) × ER(3.3%) × rr_weight(0.5) / 100",
        "expected_high": 302.64,
        "expected_low": 283.36,
        "expected_close": 283.36,
        "current_price": 293.0,
        "upside_pct": 3.29,
        "why_factors": [
          "RS弱于QQQ -0.58%",
          "昨日弱势 -7.6% 延续下行",
          "Gap 未过度延伸",
          "VIX 走高"
        ],
        "advisory": true,
        "return_calculation": "(290.01-283.36)/290.01=2.29%",
        "heuristic_expected_return_pct": 3.29,
        "target_action": "买入/平空仓",
        "trade_summary_cn": "做空 ARM:在 290.01 附近入场,目标 283.36,预期 +2.29%",
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 16.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 85.0,
          "raw_total": 85.0,
          "was_clamped": false
        },
        "relative_strength": -0.58,
        "downside_risk_pct": 3.29,
        "why_today": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
        "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
        "invalidation": "Close above stop $302.65 · Geopolitical escalation invalidates mean-reversion",
        "level_reasons": {
          "entry": {
            "price": 290.01,
            "source": "orb_low",
            "confidence": 89,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 290.01,
                "weight_pct": 70.0,
                "matched": true,
                "primary": true
              },
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 290.98,
                "weight_pct": 30.0,
                "matched": true,
                "primary": false
              }
            ]
          },
          "stop": {
            "price": 302.65,
            "source": "orb_high",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_high",
                "label": "ORB High",
                "price": 302.65,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 283.36,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 283.36,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 20.3,
          "shares": 7,
          "contracts": 1,
          "max_loss_usd": 88.48,
          "win_usd": 46.55,
          "loss_usd": 88.48,
          "risk_per_share": 12.64,
          "reward_per_share": 6.65,
          "size_label": "Small",
          "display": "$10,000 → Win +$47 / Loss -$88",
          "expected_value_usd": 26.3,
          "rr_display": {
            "reward_risk_ratio": 0.53,
            "risk_reward_ratio": 1.89,
            "reward_per_share": 6.65,
            "risk_per_share": 12.64,
            "label_reward_risk": "Reward/Risk 0.53",
            "label_risk_reward": "Risk:Reward 1:1.89",
            "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          }
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 20.3,
          "contracts": 1,
          "shares": 7,
          "max_loss_usd": 88.48,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 20.3% → 1 unit(s) → Max Loss $88.48"
        },
        "why_wins_today": [
          {
            "rank": 1,
            "dimension": "expected_range",
            "label": "Largest Expected Range",
            "primary_value": 6.58,
            "runner_up_value": 5.85,
            "wins": true
          },
          {
            "rank": 2,
            "dimension": "win_prob",
            "label": "Highest Probability",
            "primary_value": 85.0,
            "runner_up_value": 84.0,
            "wins": true
          }
        ],
        "why_not_alternatives": [
          {
            "symbol": "MU",
            "rank": 2,
            "reasons": [
              "Win% 85 vs 84",
              "ER 2.3% vs 2.5%",
              "Score 1.4 vs 1.06",
              "RS -0.6% vs -2.1%"
            ],
            "summary": "Why ARM over MU: Win% 85 vs 84 · ER 2.3% vs 2.5% · Score 1.4 vs 1.06 · RS -0.6% vs -2.1%"
          },
          {
            "symbol": "AMD",
            "rank": 3,
            "reasons": [
              "Win% 85 vs 64",
              "ER 2.3% vs 2.6%",
              "Score 1.4 vs 0.85",
              "RS -0.6% vs -0.0%"
            ],
            "summary": "Why ARM over AMD: Win% 85 vs 64 · ER 2.3% vs 2.6% · Score 1.4 vs 0.85 · RS -0.6% vs -0.0%"
          },
          {
            "symbol": "TQQQ",
            "rank": 4,
            "reasons": [
              "Win% 85 vs 62",
              "ER 2.3% vs 2.3%",
              "Score 1.4 vs 0.71",
              "RS -0.6% vs -3.8%"
            ],
            "summary": "Why ARM over TQQQ: Win% 85 vs 62 · ER 2.3% vs 2.3% · Score 1.4 vs 0.71 · RS -0.6% vs -3.8%"
          },
          {
            "symbol": "SMH",
            "rank": 5,
            "reasons": [
              "Win% 85 vs 61",
              "ER 2.3% vs 1.4%",
              "Score 1.4 vs 0.44",
              "RS -0.6% vs -0.4%"
            ],
            "summary": "Why ARM over SMH: Win% 85 vs 61 · ER 2.3% vs 1.4% · Score 1.4 vs 0.44 · RS -0.6% vs -0.4%"
          },
          {
            "symbol": "TSLA",
            "rank": 6,
            "reasons": [
              "Win% 85 vs 72",
              "ER 2.3% vs 0.9%",
              "Score 1.4 vs 0.33",
              "RS -0.6% vs -2.9%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why ARM over TSLA: Win% 85 vs 72 · ER 2.3% vs 0.9% · Score 1.4 vs 0.33 · RS -0.6% vs -2.9% · Tradeable (Small) vs Pass"
          }
        ],
        "entry_zone": {
          "low": 289.14,
          "high": 290.88,
          "mid": 290.01,
          "anchors": [
            {
              "source": "orb_low",
              "label": "ORB低点",
              "price": 290.01
            }
          ],
          "display": "Entry Zone 289–291",
          "entry_source": "orb_low",
          "tolerance_pct": 0.3
        },
        "gap_pct": -0.61,
        "rr_display": {
          "reward_risk_ratio": 0.53,
          "risk_reward_ratio": 1.89,
          "reward_per_share": 6.65,
          "risk_per_share": 12.64,
          "label_reward_risk": "Reward/Risk 0.53",
          "label_risk_reward": "Risk:Reward 1:1.89",
          "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "rank_summary": "ARM ranked #1 because largest expected range + highest probability",
        "win_prob_source": "rules",
        "calibration": {
          "calibrated_win_prob": 85.0,
          "sample_size": 0,
          "confidence_interval": null,
          "source": "rules_fallback",
          "match_quality": "insufficient",
          "win_prob_source": "rules",
          "disclaimer": "No historical matches; using rules breakdown"
        },
        "ev_distribution": {
          "expected_value_usd": 26.3,
          "win_scenario_usd": 46.55,
          "loss_scenario_usd": 88.48,
          "win_prob_pct": 85.0,
          "display": "EV $+26 (win +$47 @ 85.0% · loss -$88)"
        }
      },
      "secondary": {
        "rank": 2,
        "symbol": "MU",
        "direction": "SHORT",
        "instrument": "ETF",
        "confidence": 84,
        "confidence_stars": "★★★★☆",
        "expected_move": "+1.22%",
        "expected_return_pct": 1.22,
        "win_prob": 84.0,
        "risk_reward": 0.21,
        "final_score": 1.06,
        "trade_action": "Small",
        "entry": "Below 889.0 (ORB低点)",
        "entry_source": "orb_low",
        "entry_price": 889.0,
        "stop": "940.1 (ORB高点)",
        "stop_source": "orb_high",
        "stop_price": 940.15,
        "target": "878.1 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 878.13,
        "targets": [
          "878.1 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 893.44,
          "orb_high": 940.15,
          "orb_low": 889.0,
          "prev_high": null,
          "prev_low": null,
          "prior_close": 938.38,
          "orb_from_minute": true
        },
        "why": [
          "RS弱于QQQ -2.12%",
          "RS弱于SMH -1.73%",
          "昨日弱势 -4.0% 延续下行",
          "VIX 走高"
        ],
        "why_chain": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高",
        "why_vs_runner_up": "—",
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.12,
          "gap_pct": -2.84,
          "beta_proxy": 2.12,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -4.04,
          "relative_strength_vs_smh": -1.73,
          "relative_weakness_score": 3.16
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(84%) × ER(2.5%) × rr_weight(0.5) / 100",
        "expected_high": 923.45,
        "expected_low": 878.13,
        "expected_close": 878.13,
        "current_price": 900.79,
        "upside_pct": 2.52,
        "why_factors": [
          "RS弱于QQQ -2.12%",
          "RS弱于SMH -1.73%",
          "昨日弱势 -4.0% 延续下行",
          "VIX 走高"
        ],
        "advisory": true,
        "return_calculation": "(889.0-878.13)/889.0=1.22%",
        "heuristic_expected_return_pct": 2.52,
        "target_action": "买入/平空仓",
        "trade_summary_cn": "做空 MU:在 889.0 附近入场,目标 878.13,预期 +1.22%",
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 20.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 84.0,
          "raw_total": 84.0,
          "was_clamped": false
        },
        "relative_strength": -2.12,
        "downside_risk_pct": 2.52,
        "why_today": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高",
        "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
        "invalidation": "Close above stop $940.15 · Geopolitical escalation invalidates mean-reversion",
        "level_reasons": {
          "entry": {
            "price": 889.0,
            "source": "orb_low",
            "confidence": 89,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 889.0,
                "weight_pct": 70.0,
                "matched": true,
                "primary": true
              },
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 893.44,
                "weight_pct": 30.0,
                "matched": true,
                "primary": false
              }
            ]
          },
          "stop": {
            "price": 940.15,
            "source": "orb_high",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_high",
                "label": "ORB High",
                "price": 940.15,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 878.13,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 878.13,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 8.9,
          "shares": 1,
          "contracts": 1,
          "max_loss_usd": 51.15,
          "win_usd": 10.87,
          "loss_usd": 51.15,
          "risk_per_share": 51.15,
          "reward_per_share": 10.87,
          "size_label": "Small",
          "display": "$10,000 → Win +$11 / Loss -$51",
          "expected_value_usd": 0.95,
          "rr_display": {
            "reward_risk_ratio": 0.21,
            "risk_reward_ratio": 4.76,
            "reward_per_share": 10.87,
            "risk_per_share": 51.15,
            "label_reward_risk": "Reward/Risk 0.21",
            "label_risk_reward": "Risk:Reward 1:4.76",
            "display": "Reward/Risk 0.21 · Risk:Reward 1:4.76",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          }
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 8.9,
          "contracts": 1,
          "shares": 1,
          "max_loss_usd": 51.15,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 8.9% → 1 unit(s) → Max Loss $51.15"
        },
        "why_wins_today": [],
        "why_not_alternatives": [
          {
            "symbol": "ARM",
            "rank": 1,
            "reasons": [
              "Win% 84 vs 85",
              "ER 1.2% vs 3.3%",
              "Score 1.06 vs 1.4",
              "RS -2.1% vs -0.6%"
            ],
            "summary": "Why MU over ARM: Win% 84 vs 85 · ER 1.2% vs 3.3% · Score 1.06 vs 1.4 · RS -2.1% vs -0.6%"
          },
          {
            "symbol": "AMD",
            "rank": 3,
            "reasons": [
              "Win% 84 vs 64",
              "ER 1.2% vs 2.6%",
              "Score 1.06 vs 0.85",
              "RS -2.1% vs -0.0%"
            ],
            "summary": "Why MU over AMD: Win% 84 vs 64 · ER 1.2% vs 2.6% · Score 1.06 vs 0.85 · RS -2.1% vs -0.0%"
          },
          {
            "symbol": "TQQQ",
            "rank": 4,
            "reasons": [
              "Win% 84 vs 62",
              "ER 1.2% vs 2.3%",
              "Score 1.06 vs 0.71",
              "RS -2.1% vs -3.8%"
            ],
            "summary": "Why MU over TQQQ: Win% 84 vs 62 · ER 1.2% vs 2.3% · Score 1.06 vs 0.71 · RS -2.1% vs -3.8%"
          },
          {
            "symbol": "SMH",
            "rank": 5,
            "reasons": [
              "Win% 84 vs 61",
              "ER 1.2% vs 1.4%",
              "Score 1.06 vs 0.44",
              "RS -2.1% vs -0.4%"
            ],
            "summary": "Why MU over SMH: Win% 84 vs 61 · ER 1.2% vs 1.4% · Score 1.06 vs 0.44 · RS -2.1% vs -0.4%"
          },
          {
            "symbol": "TSLA",
            "rank": 6,
            "reasons": [
              "Win% 84 vs 72",
              "ER 1.2% vs 0.9%",
              "Score 1.06 vs 0.33",
              "RS -2.1% vs -2.9%",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why MU over TSLA: Win% 84 vs 72 · ER 1.2% vs 0.9% · Score 1.06 vs 0.33 · RS -2.1% vs -2.9% · Tradeable (Small) vs Pass"
          }
        ],
        "entry_zone": {
          "low": 886.33,
          "high": 891.67,
          "mid": 889.0,
          "anchors": [
            {
              "source": "orb_low",
              "label": "ORB低点",
              "price": 889.0
            }
          ],
          "display": "Entry Zone 886–892",
          "entry_source": "orb_low",
          "tolerance_pct": 0.3
        },
        "gap_pct": -2.84,
        "rr_display": {
          "reward_risk_ratio": 0.21,
          "risk_reward_ratio": 4.76,
          "reward_per_share": 10.87,
          "risk_per_share": 51.15,
          "label_reward_risk": "Reward/Risk 0.21",
          "label_risk_reward": "Risk:Reward 1:4.76",
          "display": "Reward/Risk 0.21 · Risk:Reward 1:4.76",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "win_prob_source": "rules",
        "calibration": {
          "calibrated_win_prob": 84.0,
          "sample_size": 0,
          "confidence_interval": null,
          "source": "rules_fallback",
          "match_quality": "insufficient",
          "win_prob_source": "rules",
          "disclaimer": "No historical matches; using rules breakdown"
        },
        "ev_distribution": {
          "expected_value_usd": 0.95,
          "win_scenario_usd": 10.87,
          "loss_scenario_usd": 51.15,
          "win_prob_pct": 84.0,
          "display": "EV $+1 (win +$11 @ 84.0% · loss -$51)"
        }
      },
      "watchlist": {
        "rank": 3,
        "symbol": "AMD",
        "direction": "SHORT",
        "instrument": "ETF",
        "confidence": 64,
        "confidence_stars": "★★★☆☆",
        "expected_move": "+2.67%",
        "expected_return_pct": 2.67,
        "win_prob": 64.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 64.0,
          "raw_total": 64.0,
          "was_clamped": false
        },
        "risk_reward": 0.88,
        "final_score": 0.85,
        "trade_action": "Small",
        "relative_strength": -0.03,
        "entry": "Below 506.6 (VWAP)",
        "entry_source": "vwap",
        "entry_price": 506.32,
        "stop": "521.7 (ORB高点)",
        "stop_source": "orb_high",
        "stop_price": 521.7,
        "target": "492.8 (预期收盘)",
        "target_source": "expected_close",
        "target_price": 492.82,
        "targets": [
          "492.8 (预期收盘)"
        ],
        "level_anchors": {
          "vwap": 506.64,
          "orb_high": 521.7,
          "orb_low": 506.0,
          "prev_high": null,
          "prev_low": null,
          "prior_close": 516.11,
          "orb_from_minute": true
        },
        "why": [
          "昨日弱势 -6.6% 延续下行",
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "VIX 走高"
        ],
        "why_chain": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高",
        "why_vs_runner_up": "—",
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.03,
          "relative_strength_vs_smh": 0.36,
          "relative_weakness_score": -0.19,
          "gap_pct": 0.2,
          "beta_proxy": 1.02,
          "volume_signal": false,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -6.59
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(64%) × ER(2.6%) × rr_weight(0.5) / 100",
        "expected_high": 519.63,
        "expected_low": 492.82,
        "expected_close": 492.82,
        "current_price": 506.23,
        "upside_pct": 2.65,
        "downside_risk_pct": 2.65,
        "why_factors": [
          "昨日弱势 -6.6% 延续下行",
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "VIX 走高"
        ],
        "why_today": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高",
        "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
        "invalidation": "Close above stop $521.7 · Geopolitical escalation invalidates mean-reversion",
        "advisory": true,
        "level_reasons": {
          "entry": {
            "price": 506.32,
            "source": "vwap",
            "confidence": 98,
            "reasons": [
              {
                "source": "orb_low",
                "label": "ORB Low",
                "price": 506.0,
                "weight_pct": 23.0,
                "matched": true,
                "primary": false
              },
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 506.64,
                "weight_pct": 54.0,
                "matched": true,
                "primary": true
              },
              {
                "source": "current",
                "label": "Below Current",
                "price": 506.23,
                "weight_pct": 23.0,
                "matched": true,
                "primary": false
              }
            ]
          },
          "stop": {
            "price": 521.7,
            "source": "orb_high",
            "confidence": 77,
            "reasons": [
              {
                "source": "orb_high",
                "label": "ORB High",
                "price": 521.7,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          },
          "target": {
            "price": 492.82,
            "source": "expected_close",
            "confidence": 77,
            "reasons": [
              {
                "source": "expected_close",
                "label": "Expected Close",
                "price": 492.82,
                "weight_pct": 100.0,
                "matched": true,
                "primary": true
              }
            ]
          }
        },
        "return_calculation": "(506.32-492.82)/506.32=2.67%",
        "heuristic_expected_return_pct": 2.65,
        "target_action": "买入/平空仓",
        "trade_summary_cn": "做空 AMD:在 506.32 附近入场,目标 492.82,预期 +2.67%",
        "trade_economics": {
          "account_size": 10000.0,
          "risk_pct": 1.0,
          "position_pct": 30.4,
          "shares": 6,
          "contracts": 1,
          "max_loss_usd": 92.28,
          "win_usd": 81.0,
          "loss_usd": 92.28,
          "risk_per_share": 15.38,
          "reward_per_share": 13.5,
          "size_label": "Small",
          "display": "$10,000 → Win +$81 / Loss -$92",
          "expected_value_usd": 18.62,
          "rr_display": {
            "reward_risk_ratio": 0.88,
            "risk_reward_ratio": 1.14,
            "reward_per_share": 13.5,
            "risk_per_share": 15.38,
            "label_reward_risk": "Reward/Risk 0.88",
            "label_risk_reward": "Risk:Reward 1:1.14",
            "display": "Reward/Risk 0.88 · Risk:Reward 1:1.14",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          }
        },
        "position_sizing": {
          "risk_pct": 1.0,
          "position_pct": 30.4,
          "contracts": 1,
          "shares": 6,
          "max_loss_usd": 92.28,
          "size_label": "Small",
          "display": "Risk 1.0% → Position 30.4% → 1 unit(s) → Max Loss $92.28"
        },
        "why_wins_today": [],
        "why_not_alternatives": [
          {
            "symbol": "ARM",
            "rank": 1,
            "reasons": [
              "Win% 64 vs 85",
              "ER 2.7% vs 3.3%",
              "Score 0.85 vs 1.4",
              "RS -0.0% vs -0.6%"
            ],
            "summary": "Why AMD over ARM: Win% 64 vs 85 · ER 2.7% vs 3.3% · Score 0.85 vs 1.4 · RS -0.0% vs -0.6%"
          },
          {
            "symbol": "MU",
            "rank": 2,
            "reasons": [
              "Win% 64 vs 84",
              "ER 2.7% vs 2.5%",
              "Score 0.85 vs 1.06",
              "RS -0.0% vs -2.1%"
            ],
            "summary": "Why AMD over MU: Win% 64 vs 84 · ER 2.7% vs 2.5% · Score 0.85 vs 1.06 · RS -0.0% vs -2.1%"
          },
          {
            "symbol": "TQQQ",
            "rank": 4,
            "reasons": [
              "Win% 64 vs 62",
              "ER 2.7% vs 2.3%",
              "Score 0.85 vs 0.71",
              "RS -0.0% vs -3.8%",
              "R:R 0.88 vs 0.64"
            ],
            "summary": "Why AMD over TQQQ: Win% 64 vs 62 · ER 2.7% vs 2.3% · Score 0.85 vs 0.71 · RS -0.0% vs -3.8% · R:R 0.88 vs 0.64"
          },
          {
            "symbol": "SMH",
            "rank": 5,
            "reasons": [
              "Win% 64 vs 61",
              "ER 2.7% vs 1.4%",
              "Score 0.85 vs 0.44",
              "RS -0.0% vs -0.4%",
              "R:R 0.88 vs 0.83"
            ],
            "summary": "Why AMD over SMH: Win% 64 vs 61 · ER 2.7% vs 1.4% · Score 0.85 vs 0.44 · RS -0.0% vs -0.4% · R:R 0.88 vs 0.83"
          },
          {
            "symbol": "TSLA",
            "rank": 6,
            "reasons": [
              "Win% 64 vs 72",
              "ER 2.7% vs 0.9%",
              "Score 0.85 vs 0.33",
              "RS -0.0% vs -2.9%",
              "R:R 0.88 vs 0.71",
              "Tradeable (Small) vs Pass"
            ],
            "summary": "Why AMD over TSLA: Win% 64 vs 72 · ER 2.7% vs 0.9% · Score 0.85 vs 0.33 · RS -0.0% vs -2.9% · R:R 0.88 vs 0.71 · Tradeable (Small) vs Pass"
          }
        ],
        "entry_zone": {
          "low": 506.0,
          "high": 506.64,
          "mid": 506.32,
          "anchors": [
            {
              "source": "vwap",
              "label": "VWAP",
              "price": 506.64
            },
            {
              "source": "orb_low",
              "label": "ORB低点",
              "price": 506.0
            }
          ],
          "display": "Entry Zone 506.00–506.64",
          "entry_source": "vwap",
          "tolerance_pct": 0.3
        },
        "gap_pct": 0.2,
        "rr_display": {
          "reward_risk_ratio": 0.88,
          "risk_reward_ratio": 1.14,
          "reward_per_share": 13.5,
          "risk_per_share": 15.38,
          "label_reward_risk": "Reward/Risk 0.88",
          "label_risk_reward": "Risk:Reward 1:1.14",
          "display": "Reward/Risk 0.88 · Risk:Reward 1:1.14",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "win_prob_source": "rules",
        "calibration": {
          "calibrated_win_prob": 64.0,
          "sample_size": 0,
          "confidence_interval": null,
          "source": "rules_fallback",
          "match_quality": "insufficient",
          "win_prob_source": "rules",
          "disclaimer": "No historical matches; using rules breakdown"
        },
        "ev_distribution": {
          "expected_value_usd": 18.62,
          "win_scenario_usd": 81.0,
          "loss_scenario_usd": 92.28,
          "win_prob_pct": 64.0,
          "display": "EV $+19 (win +$81 @ 64.0% · loss -$92)"
        }
      },
      "index_trade": "NO TRADE",
      "threshold_message": null,
      "stock_trades": [
        {
          "rank": 1,
          "symbol": "ARM",
          "direction": "SHORT",
          "confidence": 85,
          "expected_move": "+2.29%",
          "why": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高"
        },
        {
          "rank": 2,
          "symbol": "MU",
          "direction": "SHORT",
          "confidence": 84,
          "expected_move": "+1.22%",
          "why": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高"
        },
        {
          "rank": 3,
          "symbol": "AMD",
          "direction": "SHORT",
          "confidence": 64,
          "expected_move": "+2.67%",
          "why": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高"
        }
      ],
      "advisory": true,
      "top_trades": [
        {
          "rank": 1,
          "symbol": "ARM",
          "direction": "SHORT",
          "instrument": "ETF",
          "confidence": 85,
          "confidence_stars": "★★★★☆",
          "expected_move": "+2.29%",
          "expected_return_pct": 2.29,
          "win_prob": 85.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 16.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Gap",
                "key": "gap",
                "points": 5.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 6.0
              }
            ],
            "total": 85.0,
            "raw_total": 85.0,
            "was_clamped": false
          },
          "risk_reward": 0.53,
          "final_score": 1.4,
          "trade_action": "Small",
          "relative_strength": -0.58,
          "entry": "Below 290.0 (ORB低点)",
          "entry_source": "orb_low",
          "entry_price": 290.01,
          "entry_zone": {
            "low": 289.14,
            "high": 290.88,
            "mid": 290.01,
            "anchors": [
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 290.01
              }
            ],
            "display": "Entry Zone 289–291",
            "entry_source": "orb_low",
            "tolerance_pct": 0.3
          },
          "stop": "302.6 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 302.65,
          "target": "283.4 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 283.36,
          "targets": [
            "283.4 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 290.98,
            "orb_high": 302.65,
            "orb_low": 290.01,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 300.43,
            "orb_from_minute": true
          },
          "why": [
            "RS弱于QQQ -0.58%",
            "昨日弱势 -7.6% 延续下行",
            "Gap 未过度延伸",
            "VIX 走高"
          ],
          "why_chain": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
          "why_vs_runner_up": "ARM RS -0.6% vs MU -2.1%;ER 3.3% vs 2.5%;Win% 85 vs 84;relative weakness play",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -0.58,
            "relative_strength_vs_smh": -0.19,
            "relative_weakness_score": 0.69,
            "gap_pct": -0.61,
            "beta_proxy": 1.31,
            "volume_signal": false,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": 13.7,
            "prior_day_change_pct": -7.57
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(85%) × ER(3.3%) × rr_weight(0.5) / 100",
          "expected_high": 302.64,
          "expected_low": 283.36,
          "expected_close": 283.36,
          "current_price": 293.0,
          "upside_pct": 3.29,
          "downside_risk_pct": 3.29,
          "why_factors": [
            "RS弱于QQQ -0.58%",
            "昨日弱势 -7.6% 延续下行",
            "Gap 未过度延伸",
            "VIX 走高"
          ],
          "why_today": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
          "gap_pct": -0.61,
          "rr_display": {
            "reward_risk_ratio": 0.53,
            "risk_reward_ratio": 1.89,
            "reward_per_share": 6.65,
            "risk_per_share": 12.64,
            "label_reward_risk": "Reward/Risk 0.53",
            "label_risk_reward": "Risk:Reward 1:1.89",
            "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $302.65 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 290.01,
              "source": "orb_low",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 290.01,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 290.98,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 302.65,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 302.65,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 283.36,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 283.36,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(290.01-283.36)/290.01=2.29%",
          "heuristic_expected_return_pct": 3.29,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 ARM:在 290.01 附近入场,目标 283.36,预期 +2.29%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 20.3,
            "shares": 7,
            "contracts": 1,
            "max_loss_usd": 88.48,
            "win_usd": 46.55,
            "loss_usd": 88.48,
            "expected_value_usd": 26.3,
            "risk_per_share": 12.64,
            "reward_per_share": 6.65,
            "rr_display": {
              "reward_risk_ratio": 0.53,
              "risk_reward_ratio": 1.89,
              "reward_per_share": 6.65,
              "risk_per_share": 12.64,
              "label_reward_risk": "Reward/Risk 0.53",
              "label_risk_reward": "Risk:Reward 1:1.89",
              "display": "Reward/Risk 0.53 · Risk:Reward 1:1.89",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$47 / Loss -$88"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 20.3,
            "contracts": 1,
            "shares": 7,
            "max_loss_usd": 88.48,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 20.3% → 1 unit(s) → Max Loss $88.48"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "expected_range",
              "label": "Largest Expected Range",
              "primary_value": 6.58,
              "runner_up_value": 5.85,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "win_prob",
              "label": "Highest Probability",
              "primary_value": 85.0,
              "runner_up_value": 84.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "MU",
              "rank": 2,
              "reasons": [
                "Win% 85 vs 84",
                "ER 2.3% vs 2.5%",
                "Score 1.4 vs 1.06",
                "RS -0.6% vs -2.1%"
              ],
              "summary": "Why ARM over MU: Win% 85 vs 84 · ER 2.3% vs 2.5% · Score 1.4 vs 1.06 · RS -0.6% vs -2.1%"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 85 vs 64",
                "ER 2.3% vs 2.6%",
                "Score 1.4 vs 0.85",
                "RS -0.6% vs -0.0%"
              ],
              "summary": "Why ARM over AMD: Win% 85 vs 64 · ER 2.3% vs 2.6% · Score 1.4 vs 0.85 · RS -0.6% vs -0.0%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 85 vs 62",
                "ER 2.3% vs 2.3%",
                "Score 1.4 vs 0.71",
                "RS -0.6% vs -3.8%"
              ],
              "summary": "Why ARM over TQQQ: Win% 85 vs 62 · ER 2.3% vs 2.3% · Score 1.4 vs 0.71 · RS -0.6% vs -3.8%"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 85 vs 61",
                "ER 2.3% vs 1.4%",
                "Score 1.4 vs 0.44",
                "RS -0.6% vs -0.4%"
              ],
              "summary": "Why ARM over SMH: Win% 85 vs 61 · ER 2.3% vs 1.4% · Score 1.4 vs 0.44 · RS -0.6% vs -0.4%"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 85 vs 72",
                "ER 2.3% vs 0.9%",
                "Score 1.4 vs 0.33",
                "RS -0.6% vs -2.9%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why ARM over TSLA: Win% 85 vs 72 · ER 2.3% vs 0.9% · Score 1.4 vs 0.33 · RS -0.6% vs -2.9% · Tradeable (Small) vs Pass"
            }
          ],
          "rank_summary": "ARM ranked #1 because largest expected range + highest probability",
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 85.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 26.3,
            "win_scenario_usd": 46.55,
            "loss_scenario_usd": 88.48,
            "win_prob_pct": 85.0,
            "display": "EV $+26 (win +$47 @ 85.0% · loss -$88)"
          }
        },
        {
          "rank": 2,
          "symbol": "MU",
          "direction": "SHORT",
          "instrument": "ETF",
          "confidence": 84,
          "confidence_stars": "★★★★☆",
          "expected_move": "+1.22%",
          "expected_return_pct": 1.22,
          "win_prob": 84.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 20.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 6.0
              }
            ],
            "total": 84.0,
            "raw_total": 84.0,
            "was_clamped": false
          },
          "risk_reward": 0.21,
          "final_score": 1.06,
          "trade_action": "Small",
          "relative_strength": -2.12,
          "entry": "Below 889.0 (ORB低点)",
          "entry_source": "orb_low",
          "entry_price": 889.0,
          "entry_zone": {
            "low": 886.33,
            "high": 891.67,
            "mid": 889.0,
            "anchors": [
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 889.0
              }
            ],
            "display": "Entry Zone 886–892",
            "entry_source": "orb_low",
            "tolerance_pct": 0.3
          },
          "stop": "940.1 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 940.15,
          "target": "878.1 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 878.13,
          "targets": [
            "878.1 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 893.44,
            "orb_high": 940.15,
            "orb_low": 889.0,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 938.38,
            "orb_from_minute": true
          },
          "why": [
            "RS弱于QQQ -2.12%",
            "RS弱于SMH -1.73%",
            "昨日弱势 -4.0% 延续下行",
            "VIX 走高"
          ],
          "why_chain": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -2.12,
            "relative_strength_vs_smh": -1.73,
            "relative_weakness_score": 3.16,
            "gap_pct": -2.84,
            "beta_proxy": 2.12,
            "volume_signal": false,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": 13.7,
            "prior_day_change_pct": -4.04
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(84%) × ER(2.5%) × rr_weight(0.5) / 100",
          "expected_high": 923.45,
          "expected_low": 878.13,
          "expected_close": 878.13,
          "current_price": 900.79,
          "upside_pct": 2.52,
          "downside_risk_pct": 2.52,
          "why_factors": [
            "RS弱于QQQ -2.12%",
            "RS弱于SMH -1.73%",
            "昨日弱势 -4.0% 延续下行",
            "VIX 走高"
          ],
          "why_today": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高",
          "gap_pct": -2.84,
          "rr_display": {
            "reward_risk_ratio": 0.21,
            "risk_reward_ratio": 4.76,
            "reward_per_share": 10.87,
            "risk_per_share": 51.15,
            "label_reward_risk": "Reward/Risk 0.21",
            "label_risk_reward": "Risk:Reward 1:4.76",
            "display": "Reward/Risk 0.21 · Risk:Reward 1:4.76",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $940.15 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 889.0,
              "source": "orb_low",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 889.0,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 893.44,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 940.15,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 940.15,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 878.13,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 878.13,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(889.0-878.13)/889.0=1.22%",
          "heuristic_expected_return_pct": 2.52,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 MU:在 889.0 附近入场,目标 878.13,预期 +1.22%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 8.9,
            "shares": 1,
            "contracts": 1,
            "max_loss_usd": 51.15,
            "win_usd": 10.87,
            "loss_usd": 51.15,
            "expected_value_usd": 0.95,
            "risk_per_share": 51.15,
            "reward_per_share": 10.87,
            "rr_display": {
              "reward_risk_ratio": 0.21,
              "risk_reward_ratio": 4.76,
              "reward_per_share": 10.87,
              "risk_per_share": 51.15,
              "label_reward_risk": "Reward/Risk 0.21",
              "label_risk_reward": "Risk:Reward 1:4.76",
              "display": "Reward/Risk 0.21 · Risk:Reward 1:4.76",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$11 / Loss -$51"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 8.9,
            "contracts": 1,
            "shares": 1,
            "max_loss_usd": 51.15,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 8.9% → 1 unit(s) → Max Loss $51.15"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 84 vs 85",
                "ER 1.2% vs 3.3%",
                "Score 1.06 vs 1.4",
                "RS -2.1% vs -0.6%"
              ],
              "summary": "Why MU over ARM: Win% 84 vs 85 · ER 1.2% vs 3.3% · Score 1.06 vs 1.4 · RS -2.1% vs -0.6%"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 84 vs 64",
                "ER 1.2% vs 2.6%",
                "Score 1.06 vs 0.85",
                "RS -2.1% vs -0.0%"
              ],
              "summary": "Why MU over AMD: Win% 84 vs 64 · ER 1.2% vs 2.6% · Score 1.06 vs 0.85 · RS -2.1% vs -0.0%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 84 vs 62",
                "ER 1.2% vs 2.3%",
                "Score 1.06 vs 0.71",
                "RS -2.1% vs -3.8%"
              ],
              "summary": "Why MU over TQQQ: Win% 84 vs 62 · ER 1.2% vs 2.3% · Score 1.06 vs 0.71 · RS -2.1% vs -3.8%"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 84 vs 61",
                "ER 1.2% vs 1.4%",
                "Score 1.06 vs 0.44",
                "RS -2.1% vs -0.4%"
              ],
              "summary": "Why MU over SMH: Win% 84 vs 61 · ER 1.2% vs 1.4% · Score 1.06 vs 0.44 · RS -2.1% vs -0.4%"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 84 vs 72",
                "ER 1.2% vs 0.9%",
                "Score 1.06 vs 0.33",
                "RS -2.1% vs -2.9%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why MU over TSLA: Win% 84 vs 72 · ER 1.2% vs 0.9% · Score 1.06 vs 0.33 · RS -2.1% vs -2.9% · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 84.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 0.95,
            "win_scenario_usd": 10.87,
            "loss_scenario_usd": 51.15,
            "win_prob_pct": 84.0,
            "display": "EV $+1 (win +$11 @ 84.0% · loss -$51)"
          }
        },
        {
          "rank": 3,
          "symbol": "AMD",
          "direction": "SHORT",
          "instrument": "ETF",
          "confidence": 64,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+2.67%",
          "expected_return_pct": 2.67,
          "win_prob": 64.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Gap",
                "key": "gap",
                "points": 5.0
              },
              {
                "factor": "Catalyst",
                "key": "catalyst",
                "points": -5.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": 6.0
              }
            ],
            "total": 64.0,
            "raw_total": 64.0,
            "was_clamped": false
          },
          "risk_reward": 0.88,
          "final_score": 0.85,
          "trade_action": "Small",
          "relative_strength": -0.03,
          "entry": "Below 506.6 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 506.32,
          "entry_zone": {
            "low": 506.0,
            "high": 506.64,
            "mid": 506.32,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 506.64
              },
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 506.0
              }
            ],
            "display": "Entry Zone 506.00–506.64",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "521.7 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 521.7,
          "target": "492.8 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 492.82,
          "targets": [
            "492.8 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 506.64,
            "orb_high": 521.7,
            "orb_low": 506.0,
            "prev_high": null,
            "prev_low": null,
            "prior_close": 516.11,
            "orb_from_minute": true
          },
          "why": [
            "昨日弱势 -6.6% 延续下行",
            "Gap 未过度延伸",
            "News 1 (利空做空)",
            "VIX 走高"
          ],
          "why_chain": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -0.03,
            "relative_strength_vs_smh": 0.36,
            "relative_weakness_score": -0.19,
            "gap_pct": 0.2,
            "beta_proxy": 1.02,
            "volume_signal": false,
            "news_count": 1,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": 13.7,
            "prior_day_change_pct": -6.59
          },
          "edge_type": "Stock Edge",
          "score_formula_display": "final = win_prob(64%) × ER(2.6%) × rr_weight(0.5) / 100",
          "expected_high": 519.63,
          "expected_low": 492.82,
          "expected_close": 492.82,
          "current_price": 506.23,
          "upside_pct": 2.65,
          "downside_risk_pct": 2.65,
          "why_factors": [
            "昨日弱势 -6.6% 延续下行",
            "Gap 未过度延伸",
            "News 1 (利空做空)",
            "VIX 走高"
          ],
          "why_today": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高",
          "gap_pct": 0.2,
          "rr_display": {
            "reward_risk_ratio": 0.88,
            "risk_reward_ratio": 1.14,
            "reward_per_share": 13.5,
            "risk_per_share": 15.38,
            "label_reward_risk": "Reward/Risk 0.88",
            "label_risk_reward": "Risk:Reward 1:1.14",
            "display": "Reward/Risk 0.88 · Risk:Reward 1:1.14",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $521.7 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 506.32,
              "source": "vwap",
              "confidence": 98,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 506.0,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 506.64,
                  "weight_pct": 54.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "current",
                  "label": "Below Current",
                  "price": 506.23,
                  "weight_pct": 23.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 521.7,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 521.7,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 492.82,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 492.82,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(506.32-492.82)/506.32=2.67%",
          "heuristic_expected_return_pct": 2.65,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 AMD:在 506.32 附近入场,目标 492.82,预期 +2.67%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 30.4,
            "shares": 6,
            "contracts": 1,
            "max_loss_usd": 92.28,
            "win_usd": 81.0,
            "loss_usd": 92.28,
            "expected_value_usd": 18.62,
            "risk_per_share": 15.38,
            "reward_per_share": 13.5,
            "rr_display": {
              "reward_risk_ratio": 0.88,
              "risk_reward_ratio": 1.14,
              "reward_per_share": 13.5,
              "risk_per_share": 15.38,
              "label_reward_risk": "Reward/Risk 0.88",
              "label_risk_reward": "Risk:Reward 1:1.14",
              "display": "Reward/Risk 0.88 · Risk:Reward 1:1.14",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$81 / Loss -$92"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 30.4,
            "contracts": 1,
            "shares": 6,
            "max_loss_usd": 92.28,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 30.4% → 1 unit(s) → Max Loss $92.28"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 64 vs 85",
                "ER 2.7% vs 3.3%",
                "Score 0.85 vs 1.4",
                "RS -0.0% vs -0.6%"
              ],
              "summary": "Why AMD over ARM: Win% 64 vs 85 · ER 2.7% vs 3.3% · Score 0.85 vs 1.4 · RS -0.0% vs -0.6%"
            },
            {
              "symbol": "MU",
              "rank": 2,
              "reasons": [
                "Win% 64 vs 84",
                "ER 2.7% vs 2.5%",
                "Score 0.85 vs 1.06",
                "RS -0.0% vs -2.1%"
              ],
              "summary": "Why AMD over MU: Win% 64 vs 84 · ER 2.7% vs 2.5% · Score 0.85 vs 1.06 · RS -0.0% vs -2.1%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 64 vs 62",
                "ER 2.7% vs 2.3%",
                "Score 0.85 vs 0.71",
                "RS -0.0% vs -3.8%",
                "R:R 0.88 vs 0.64"
              ],
              "summary": "Why AMD over TQQQ: Win% 64 vs 62 · ER 2.7% vs 2.3% · Score 0.85 vs 0.71 · RS -0.0% vs -3.8% · R:R 0.88 vs 0.64"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 64 vs 61",
                "ER 2.7% vs 1.4%",
                "Score 0.85 vs 0.44",
                "RS -0.0% vs -0.4%",
                "R:R 0.88 vs 0.83"
              ],
              "summary": "Why AMD over SMH: Win% 64 vs 61 · ER 2.7% vs 1.4% · Score 0.85 vs 0.44 · RS -0.0% vs -0.4% · R:R 0.88 vs 0.83"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 64 vs 72",
                "ER 2.7% vs 0.9%",
                "Score 0.85 vs 0.33",
                "RS -0.0% vs -2.9%",
                "R:R 0.88 vs 0.71",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why AMD over TSLA: Win% 64 vs 72 · ER 2.7% vs 0.9% · Score 0.85 vs 0.33 · RS -0.0% vs -2.9% · R:R 0.88 vs 0.71 · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 64.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": 18.62,
            "win_scenario_usd": 81.0,
            "loss_scenario_usd": 92.28,
            "win_prob_pct": 64.0,
            "display": "EV $+19 (win +$81 @ 64.0% · loss -$92)"
          }
        },
        {
          "rank": 4,
          "symbol": "TQQQ",
          "direction": "SHORT",
          "instrument": "ETF",
          "confidence": 62,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+2.22%",
          "expected_return_pct": 2.22,
          "win_prob": 62.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 12.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -12.0
              }
            ],
            "total": 62.0,
            "raw_total": 62.0,
            "was_clamped": false
          },
          "risk_reward": 0.51,
          "final_score": 0.71,
          "trade_action": "Small",
          "relative_strength": -3.8,
          "entry": "Below 69.6 (VWAP)",
          "entry_source": "vwap",
          "entry_price": 69.7,
          "entry_zone": {
            "low": 69.61,
            "high": 69.79,
            "mid": 69.7,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 69.61
              },
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 69.79
              }
            ],
            "display": "Entry Zone 69.61–69.79",
            "entry_source": "vwap",
            "tolerance_pct": 0.3
          },
          "stop": "72.8 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 72.75,
          "target": "68.2 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 68.15,
          "targets": [
            "68.2 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 69.61,
            "orb_high": 72.75,
            "orb_low": 69.79,
            "prev_high": 73.9499,
            "prev_low": 73.9499,
            "prior_close": 73.9499,
            "orb_from_minute": true
          },
          "why": [
            "RS弱于QQQ -3.80%",
            "昨日弱势 -3.2% 延续下行",
            "Volume 信号",
            "VIX 走高",
            "Geo-risk day — avoid blind TQQQ short vs escalation"
          ],
          "why_chain": "RS弱于QQQ -3.80% · 昨日弱势 -3.2% 延续下行 · Volume 信号 · VIX 走高",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -3.8,
            "relative_strength_vs_smh": -3.41,
            "relative_weakness_score": 5.85,
            "gap_pct": -2.47,
            "beta_proxy": 3.01,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": 13.7,
            "prior_day_change_pct": -3.23
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(62%) × ER(2.3%) × rr_weight(0.5) / 100",
          "expected_high": 72.23,
          "expected_low": 68.15,
          "expected_close": 68.15,
          "current_price": 69.74,
          "upside_pct": 2.28,
          "downside_risk_pct": 3.57,
          "why_factors": [
            "RS弱于QQQ -3.80%",
            "昨日弱势 -3.2% 延续下行",
            "Volume 信号",
            "VIX 走高",
            "Geo-risk day — avoid blind TQQQ short vs escalation"
          ],
          "why_today": "RS弱于QQQ -3.80% · 昨日弱势 -3.2% 延续下行 · Volume 信号 · VIX 走高 · Geo-risk day — avoid blind TQQQ short vs escalation",
          "gap_pct": -2.47,
          "rr_display": {
            "reward_risk_ratio": 0.51,
            "risk_reward_ratio": 1.96,
            "reward_per_share": 1.55,
            "risk_per_share": 3.05,
            "label_reward_risk": "Reward/Risk 0.51",
            "label_risk_reward": "Risk:Reward 1:1.96",
            "display": "Reward/Risk 0.51 · Risk:Reward 1:1.96",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $72.75 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 69.7,
              "source": "vwap",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 69.79,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 69.61,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "stop": {
              "price": 72.75,
              "source": "orb_high",
              "confidence": 77,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 72.75,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            },
            "target": {
              "price": 68.15,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 68.15,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(69.7-68.15)/69.7=2.22%",
          "heuristic_expected_return_pct": 2.28,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 TQQQ:在 69.7 附近入场,目标 68.15,预期 +2.22%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 22.3,
            "shares": 32,
            "contracts": 1,
            "max_loss_usd": 97.6,
            "win_usd": 49.6,
            "loss_usd": 97.6,
            "expected_value_usd": -6.34,
            "risk_per_share": 3.05,
            "reward_per_share": 1.55,
            "rr_display": {
              "reward_risk_ratio": 0.51,
              "risk_reward_ratio": 1.96,
              "reward_per_share": 1.55,
              "risk_per_share": 3.05,
              "label_reward_risk": "Reward/Risk 0.51",
              "label_risk_reward": "Risk:Reward 1:1.96",
              "display": "Reward/Risk 0.51 · Risk:Reward 1:1.96",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$50 / Loss -$98"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 22.3,
            "contracts": 1,
            "shares": 32,
            "max_loss_usd": 97.6,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 22.3% → 1 unit(s) → Max Loss $97.6"
          },
          "why_wins_today": [
            {
              "rank": 1,
              "dimension": "relative_strength",
              "label": "Highest Relative Strength",
              "primary_value": -3.8,
              "runner_up_value": 3.42,
              "wins": true
            },
            {
              "rank": 2,
              "dimension": "liquidity",
              "label": "Highest Liquidity",
              "primary_value": 5.0,
              "runner_up_value": 5.0,
              "wins": true
            }
          ],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 62 vs 85",
                "ER 2.2% vs 3.3%",
                "Score 0.71 vs 1.4",
                "RS -3.8% vs -0.6%"
              ],
              "summary": "Why TQQQ over ARM: Win% 62 vs 85 · ER 2.2% vs 3.3% · Score 0.71 vs 1.4 · RS -3.8% vs -0.6%"
            },
            {
              "symbol": "MU",
              "rank": 2,
              "reasons": [
                "Win% 62 vs 84",
                "ER 2.2% vs 2.5%",
                "Score 0.71 vs 1.06",
                "RS -3.8% vs -2.1%"
              ],
              "summary": "Why TQQQ over MU: Win% 62 vs 84 · ER 2.2% vs 2.5% · Score 0.71 vs 1.06 · RS -3.8% vs -2.1%"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 62 vs 64",
                "ER 2.2% vs 2.6%",
                "Score 0.71 vs 0.85",
                "RS -3.8% vs -0.0%"
              ],
              "summary": "Why TQQQ over AMD: Win% 62 vs 64 · ER 2.2% vs 2.6% · Score 0.71 vs 0.85 · RS -3.8% vs -0.0%"
            },
            {
              "symbol": "SMH",
              "rank": 5,
              "reasons": [
                "Win% 62 vs 61",
                "ER 2.2% vs 1.4%",
                "Score 0.71 vs 0.44",
                "RS -3.8% vs -0.4%"
              ],
              "summary": "Why TQQQ over SMH: Win% 62 vs 61 · ER 2.2% vs 1.4% · Score 0.71 vs 0.44 · RS -3.8% vs -0.4%"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 62 vs 72",
                "ER 2.2% vs 0.9%",
                "Score 0.71 vs 0.33",
                "RS -3.8% vs -2.9%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why TQQQ over TSLA: Win% 62 vs 72 · ER 2.2% vs 0.9% · Score 0.71 vs 0.33 · RS -3.8% vs -2.9% · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 62.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": -6.34,
            "win_scenario_usd": 49.6,
            "loss_scenario_usd": 97.6,
            "win_prob_pct": 62.0,
            "display": "EV $-6 (win +$50 @ 62.0% · loss -$98)"
          }
        },
        {
          "rank": 5,
          "symbol": "SMH",
          "direction": "SHORT",
          "instrument": "ETF",
          "confidence": 61,
          "confidence_stars": "★★★☆☆",
          "expected_move": "+1.03%",
          "expected_return_pct": 1.03,
          "win_prob": 61.0,
          "win_prob_breakdown": {
            "components": [
              {
                "factor": "Base",
                "key": "base",
                "points": 50.0
              },
              {
                "factor": "RS",
                "key": "rs",
                "points": 6.0
              },
              {
                "factor": "Trend",
                "key": "trend",
                "points": 8.0
              },
              {
                "factor": "Gap",
                "key": "gap",
                "points": 5.0
              },
              {
                "factor": "Volume",
                "key": "volume",
                "points": 4.0
              },
              {
                "factor": "Macro",
                "key": "macro",
                "points": -12.0
              }
            ],
            "total": 61.0,
            "raw_total": 61.0,
            "was_clamped": false
          },
          "risk_reward": 0.34,
          "final_score": 0.44,
          "trade_action": "Small",
          "relative_strength": -0.39,
          "entry": "Below 569.0 (ORB低点)",
          "entry_source": "orb_low",
          "entry_price": 569.37,
          "entry_zone": {
            "low": 569.0,
            "high": 569.74,
            "mid": 569.37,
            "anchors": [
              {
                "source": "vwap",
                "label": "VWAP",
                "price": 569.74
              },
              {
                "source": "orb_low",
                "label": "ORB低点",
                "price": 569.0
              }
            ],
            "display": "Entry Zone 569.00–569.74",
            "entry_source": "orb_low",
            "tolerance_pct": 0.3
          },
          "stop": "586.5 (ORB高点)",
          "stop_source": "orb_high",
          "stop_price": 586.47,
          "target": "563.5 (预期收盘)",
          "target_source": "expected_close",
          "target_price": 563.48,
          "targets": [
            "563.5 (预期收盘)"
          ],
          "level_anchors": {
            "vwap": 569.74,
            "orb_high": 586.47,
            "orb_low": 569.0,
            "prev_high": 585.0,
            "prev_low": 585.0,
            "prior_close": 585.0,
            "orb_from_minute": true
          },
          "why": [
            "RS弱于QQQ -0.39%",
            "昨日弱势 -3.2% 延续下行",
            "Gap 未过度延伸",
            "Volume 信号",
            "VIX 走高",
            "Geo-risk day — avoid blind SMH short vs escalation"
          ],
          "why_chain": "RS弱于QQQ -0.39% · 昨日弱势 -3.2% 延续下行 · Gap 未过度延伸 · Volume 信号",
          "why_vs_runner_up": "—",
          "factor_breakdown": {
            "relative_strength_vs_qqq": -0.39,
            "relative_strength_vs_smh": 0.0,
            "relative_weakness_score": 0.39,
            "gap_pct": -0.53,
            "beta_proxy": 1.21,
            "volume_signal": true,
            "news_count": 0,
            "extended_gap_penalty": 0.0,
            "vix_change_pct": 13.7,
            "prior_day_change_pct": -3.19
          },
          "edge_type": "Relative Weakness",
          "score_formula_display": "final = win_prob(61%) × ER(1.4%) × rr_weight(0.5) / 100",
          "expected_high": 581.45,
          "expected_low": 563.48,
          "expected_close": 563.48,
          "current_price": 571.64,
          "upside_pct": 1.43,
          "downside_risk_pct": 1.72,
          "why_factors": [
            "RS弱于QQQ -0.39%",
            "昨日弱势 -3.2% 延续下行",
            "Gap 未过度延伸",
            "Volume 信号",
            "VIX 走高",
            "Geo-risk day — avoid blind SMH short vs escalation"
          ],
          "why_today": "RS弱于QQQ -0.39% · 昨日弱势 -3.2% 延续下行 · Gap 未过度延伸 · Volume 信号 · VIX 走高 · Geo-risk day — avoid blind SMH short vs escalation",
          "gap_pct": -0.53,
          "rr_display": {
            "reward_risk_ratio": 0.34,
            "risk_reward_ratio": 2.94,
            "reward_per_share": 5.89,
            "risk_per_share": 17.1,
            "label_reward_risk": "Reward/Risk 0.34",
            "label_risk_reward": "Risk:Reward 1:2.94",
            "display": "Reward/Risk 0.34 · Risk:Reward 1:2.94",
            "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
          },
          "catalyst": "Geopolitical Risk (Iran) · Geopolitical Risk (Iran)",
          "invalidation": "Close above stop $586.47 · Geopolitical escalation invalidates mean-reversion",
          "advisory": true,
          "level_reasons": {
            "entry": {
              "price": 569.37,
              "source": "orb_low",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_low",
                  "label": "ORB Low",
                  "price": 569.0,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "vwap",
                  "label": "VWAP",
                  "price": 569.74,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "stop": {
              "price": 586.47,
              "source": "orb_high",
              "confidence": 89,
              "reasons": [
                {
                  "source": "orb_high",
                  "label": "ORB High",
                  "price": 586.47,
                  "weight_pct": 70.0,
                  "matched": true,
                  "primary": true
                },
                {
                  "source": "prev_high",
                  "label": "Yesterday High",
                  "price": 585.0,
                  "weight_pct": 30.0,
                  "matched": true,
                  "primary": false
                }
              ]
            },
            "target": {
              "price": 563.48,
              "source": "expected_close",
              "confidence": 77,
              "reasons": [
                {
                  "source": "expected_close",
                  "label": "Expected Close",
                  "price": 563.48,
                  "weight_pct": 100.0,
                  "matched": true,
                  "primary": true
                }
              ]
            }
          },
          "return_calculation": "(569.37-563.48)/569.37=1.03%",
          "heuristic_expected_return_pct": 1.43,
          "target_action": "买入/平空仓",
          "trade_summary_cn": "做空 SMH:在 569.37 附近入场,目标 563.48,预期 +1.03%",
          "trade_economics": {
            "account_size": 10000.0,
            "risk_pct": 1.0,
            "position_pct": 28.5,
            "shares": 5,
            "contracts": 1,
            "max_loss_usd": 85.5,
            "win_usd": 29.45,
            "loss_usd": 85.5,
            "expected_value_usd": -15.38,
            "risk_per_share": 17.1,
            "reward_per_share": 5.89,
            "rr_display": {
              "reward_risk_ratio": 0.34,
              "risk_reward_ratio": 2.94,
              "reward_per_share": 5.89,
              "risk_per_share": 17.1,
              "label_reward_risk": "Reward/Risk 0.34",
              "label_risk_reward": "Risk:Reward 1:2.94",
              "display": "Reward/Risk 0.34 · Risk:Reward 1:2.94",
              "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
            },
            "size_label": "Small",
            "display": "$10,000 → Win +$29 / Loss -$86"
          },
          "position_sizing": {
            "risk_pct": 1.0,
            "position_pct": 28.5,
            "contracts": 1,
            "shares": 5,
            "max_loss_usd": 85.5,
            "size_label": "Small",
            "display": "Risk 1.0% → Position 28.5% → 1 unit(s) → Max Loss $85.5"
          },
          "why_wins_today": [],
          "why_not_alternatives": [
            {
              "symbol": "ARM",
              "rank": 1,
              "reasons": [
                "Win% 61 vs 85",
                "ER 1.0% vs 3.3%",
                "Score 0.44 vs 1.4",
                "RS -0.4% vs -0.6%"
              ],
              "summary": "Why SMH over ARM: Win% 61 vs 85 · ER 1.0% vs 3.3% · Score 0.44 vs 1.4 · RS -0.4% vs -0.6%"
            },
            {
              "symbol": "MU",
              "rank": 2,
              "reasons": [
                "Win% 61 vs 84",
                "ER 1.0% vs 2.5%",
                "Score 0.44 vs 1.06",
                "RS -0.4% vs -2.1%"
              ],
              "summary": "Why SMH over MU: Win% 61 vs 84 · ER 1.0% vs 2.5% · Score 0.44 vs 1.06 · RS -0.4% vs -2.1%"
            },
            {
              "symbol": "AMD",
              "rank": 3,
              "reasons": [
                "Win% 61 vs 64",
                "ER 1.0% vs 2.6%",
                "Score 0.44 vs 0.85",
                "RS -0.4% vs -0.0%"
              ],
              "summary": "Why SMH over AMD: Win% 61 vs 64 · ER 1.0% vs 2.6% · Score 0.44 vs 0.85 · RS -0.4% vs -0.0%"
            },
            {
              "symbol": "TQQQ",
              "rank": 4,
              "reasons": [
                "Win% 61 vs 62",
                "ER 1.0% vs 2.3%",
                "Score 0.44 vs 0.71",
                "RS -0.4% vs -3.8%"
              ],
              "summary": "Why SMH over TQQQ: Win% 61 vs 62 · ER 1.0% vs 2.3% · Score 0.44 vs 0.71 · RS -0.4% vs -3.8%"
            },
            {
              "symbol": "TSLA",
              "rank": 6,
              "reasons": [
                "Win% 61 vs 72",
                "ER 1.0% vs 0.9%",
                "Score 0.44 vs 0.33",
                "RS -0.4% vs -2.9%",
                "Tradeable (Small) vs Pass"
              ],
              "summary": "Why SMH over TSLA: Win% 61 vs 72 · ER 1.0% vs 0.9% · Score 0.44 vs 0.33 · RS -0.4% vs -2.9% · Tradeable (Small) vs Pass"
            }
          ],
          "win_prob_source": "rules",
          "calibration": {
            "calibrated_win_prob": 61.0,
            "sample_size": 0,
            "confidence_interval": null,
            "source": "rules_fallback",
            "match_quality": "insufficient",
            "win_prob_source": "rules",
            "disclaimer": "No historical matches; using rules breakdown"
          },
          "ev_distribution": {
            "expected_value_usd": -15.38,
            "win_scenario_usd": 29.45,
            "loss_scenario_usd": 85.5,
            "win_prob_pct": 61.0,
            "display": "EV $-15 (win +$29 @ 61.0% · loss -$86)"
          }
        }
      ],
      "watchlist_items": [
        {
          "symbol": "TSLA",
          "rank": 6,
          "win_prob": 72.0,
          "expected_return_pct": 0.91,
          "trade_action": "Pass",
          "why": "RS弱于QQQ -2.92% · Volume 信号 · VIX 走高 · 上行空间 <1.0%",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "QQQ",
          "rank": 7,
          "win_prob": 60.0,
          "expected_return_pct": 0.13,
          "trade_action": "Pass",
          "why": "Gap 未过度延伸 · News 1 (利空做空) · Volume 信号 · VIX 走高",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "SPY",
          "rank": 8,
          "win_prob": 53.0,
          "expected_return_pct": -0.13,
          "trade_action": "Pass",
          "why": "板块内相对强势 +0.83% · Gap 未过度延伸 · Volume 信号 · VIX 走高",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "AVGO",
          "rank": 9,
          "win_prob": 33.0,
          "expected_return_pct": -0.69,
          "trade_action": "Pass",
          "why": "板块内相对强势 +1.28% · 半导体内领涨 +1.67% · 昨日强势 +3.8% 做空逆风 · Gap 未过度延伸",
          "note": "Monitor — below trade threshold"
        },
        {
          "symbol": "META",
          "rank": 10,
          "win_prob": 43.0,
          "expected_return_pct": -0.62,
          "trade_action": "Pass",
          "why": "板块内相对强势 +2.17% · News 2 (利空做空) · Volume 信号 · VIX 走高",
          "note": "Monitor — below trade threshold"
        }
      ]
    },
    "edges": {
      "macro_edge": {
        "edge": "YES",
        "why": "今日有重大催化剂(含地缘/突发):Geopolitical Risk (Iran)、Trade Policy",
        "catalyst": "Geopolitical Risk (Iran)、Trade Policy"
      },
      "index_edge": {
        "edge": "YES",
        "why": "QQQ 走弱 -1.89%(做空 edge)"
      },
      "sector_edge": {
        "edge": "NO",
        "why": "板块相对强度不足"
      },
      "stock_edge": {
        "edge": "YES",
        "why": "NVDA RS+新闻+量能",
        "symbol": "NVDA"
      },
      "advisory": "ADVISORY — 不构成投资建议"
    },
    "trade_candidates": [
      {
        "symbol": "ARM",
        "win_prob": 85.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 16.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 85.0,
          "raw_total": 85.0,
          "was_clamped": false
        },
        "expected_return_pct": 3.29,
        "expected_high": 302.64,
        "expected_low": 283.36,
        "expected_close": 283.36,
        "current_price": 293.0,
        "upside_pct": 3.29,
        "downside_risk_pct": 3.29,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 1.4,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -0.61,
        "relative_strength": -0.58,
        "relative_strength_vs_smh": -0.19,
        "relative_weakness_score": 0.69,
        "prior_day_change_pct": -7.57,
        "why_factors": [
          "RS弱于QQQ -0.58%",
          "昨日弱势 -7.6% 延续下行",
          "Gap 未过度延伸",
          "VIX 走高"
        ],
        "why": "RS弱于QQQ -0.58% · 昨日弱势 -7.6% 延续下行 · Gap 未过度延伸 · VIX 走高",
        "score": 14,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.58,
          "relative_strength_vs_smh": -0.19,
          "relative_weakness_score": 0.69,
          "gap_pct": -0.61,
          "beta_proxy": 1.31,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -7.57
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(85%) × ER(3.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "ARM RS -0.6% vs MU -2.1%;ER 3.3% vs 2.5%;Win% 85 vs 84;relative weakness play",
        "advisory": true,
        "rank": 1,
        "direction": "SHORT"
      },
      {
        "symbol": "MU",
        "win_prob": 84.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 20.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 84.0,
          "raw_total": 84.0,
          "was_clamped": false
        },
        "expected_return_pct": 2.52,
        "expected_high": 923.45,
        "expected_low": 878.13,
        "expected_close": 878.13,
        "current_price": 900.79,
        "upside_pct": 2.52,
        "downside_risk_pct": 2.52,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 1.06,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -2.84,
        "relative_strength": -2.12,
        "relative_strength_vs_smh": -1.73,
        "relative_weakness_score": 3.16,
        "prior_day_change_pct": -4.04,
        "why_factors": [
          "RS弱于QQQ -2.12%",
          "RS弱于SMH -1.73%",
          "昨日弱势 -4.0% 延续下行",
          "VIX 走高"
        ],
        "why": "RS弱于QQQ -2.12% · RS弱于SMH -1.73% · 昨日弱势 -4.0% 延续下行 · VIX 走高",
        "score": 11,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.12,
          "relative_strength_vs_smh": -1.73,
          "relative_weakness_score": 3.16,
          "gap_pct": -2.84,
          "beta_proxy": 2.12,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -4.04
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(84%) × ER(2.5%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 2,
        "direction": "SHORT"
      },
      {
        "symbol": "AMD",
        "win_prob": 64.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 64.0,
          "raw_total": 64.0,
          "was_clamped": false
        },
        "expected_return_pct": 2.65,
        "expected_high": 519.63,
        "expected_low": 492.82,
        "expected_close": 492.82,
        "current_price": 506.23,
        "upside_pct": 2.65,
        "downside_risk_pct": 2.65,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.85,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": 0.2,
        "relative_strength": -0.03,
        "relative_strength_vs_smh": 0.36,
        "relative_weakness_score": -0.19,
        "prior_day_change_pct": -6.59,
        "why_factors": [
          "昨日弱势 -6.6% 延续下行",
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "VIX 走高"
        ],
        "why": "昨日弱势 -6.6% 延续下行 · Gap 未过度延伸 · News 1 (利空做空) · VIX 走高",
        "score": 8,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.03,
          "relative_strength_vs_smh": 0.36,
          "relative_weakness_score": -0.19,
          "gap_pct": 0.2,
          "beta_proxy": 1.02,
          "volume_signal": false,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -6.59
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(64%) × ER(2.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 3,
        "direction": "SHORT"
      },
      {
        "symbol": "TQQQ",
        "win_prob": 62.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -12.0
            }
          ],
          "total": 62.0,
          "raw_total": 62.0,
          "was_clamped": false
        },
        "expected_return_pct": 2.28,
        "expected_high": 72.23,
        "expected_low": 68.15,
        "expected_close": 68.15,
        "current_price": 69.74,
        "upside_pct": 2.28,
        "downside_risk_pct": 3.57,
        "risk_reward": 0.64,
        "rr_display": {
          "reward_risk_ratio": 0.64,
          "risk_reward_ratio": 1.56,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.64",
          "label_risk_reward": "Risk:Reward 1:1.56",
          "display": "Reward/Risk 0.64 · Risk:Reward 1:1.56",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.71,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -2.47,
        "relative_strength": -3.8,
        "relative_strength_vs_smh": -3.41,
        "relative_weakness_score": 5.85,
        "prior_day_change_pct": -3.23,
        "why_factors": [
          "RS弱于QQQ -3.80%",
          "昨日弱势 -3.2% 延续下行",
          "Volume 信号",
          "VIX 走高",
          "Geo-risk day — avoid blind TQQQ short vs escalation"
        ],
        "why": "RS弱于QQQ -3.80% · 昨日弱势 -3.2% 延续下行 · Volume 信号 · VIX 走高",
        "score": 7,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -3.8,
          "relative_strength_vs_smh": -3.41,
          "relative_weakness_score": 5.85,
          "gap_pct": -2.47,
          "beta_proxy": 3.01,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -3.23
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(62%) × ER(2.3%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 4,
        "direction": "SHORT"
      },
      {
        "symbol": "SMH",
        "win_prob": 61.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 6.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -12.0
            }
          ],
          "total": 61.0,
          "raw_total": 61.0,
          "was_clamped": false
        },
        "expected_return_pct": 1.43,
        "expected_high": 581.45,
        "expected_low": 563.48,
        "expected_close": 563.48,
        "current_price": 571.64,
        "upside_pct": 1.43,
        "downside_risk_pct": 1.72,
        "risk_reward": 0.83,
        "rr_display": {
          "reward_risk_ratio": 0.83,
          "risk_reward_ratio": 1.2,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.83",
          "label_risk_reward": "Risk:Reward 1:1.20",
          "display": "Reward/Risk 0.83 · Risk:Reward 1:1.20",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.44,
        "trade_action": "Small",
        "trade": "Small",
        "gap_pct": -0.53,
        "relative_strength": -0.39,
        "relative_strength_vs_smh": 0.0,
        "relative_weakness_score": 0.39,
        "prior_day_change_pct": -3.19,
        "why_factors": [
          "RS弱于QQQ -0.39%",
          "昨日弱势 -3.2% 延续下行",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 走高",
          "Geo-risk day — avoid blind SMH short vs escalation"
        ],
        "why": "RS弱于QQQ -0.39% · 昨日弱势 -3.2% 延续下行 · Gap 未过度延伸 · Volume 信号",
        "score": 4,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -0.39,
          "relative_strength_vs_smh": 0.0,
          "relative_weakness_score": 0.39,
          "gap_pct": -0.53,
          "beta_proxy": 1.21,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -3.19
        },
        "edge_type": "Relative Weakness",
        "score_formula_display": "final = win_prob(61%) × ER(1.4%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 5,
        "direction": "SHORT"
      },
      {
        "symbol": "TSLA",
        "win_prob": 72.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": 12.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 72.0,
          "raw_total": 72.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.91,
        "expected_high": 402.9,
        "expected_low": 394.23,
        "expected_close": 394.23,
        "current_price": 397.83,
        "upside_pct": 0.91,
        "downside_risk_pct": 1.27,
        "risk_reward": 0.71,
        "rr_display": {
          "reward_risk_ratio": 0.71,
          "risk_reward_ratio": 1.41,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.71",
          "label_risk_reward": "Risk:Reward 1:1.41",
          "display": "Reward/Risk 0.71 · Risk:Reward 1:1.41",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.33,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -3.69,
        "relative_strength": -2.92,
        "relative_strength_vs_smh": -2.53,
        "relative_weakness_score": 4.44,
        "prior_day_change_pct": -0.44,
        "why_factors": [
          "RS弱于QQQ -2.92%",
          "Volume 信号",
          "VIX 走高",
          "上行空间 <1.0%"
        ],
        "why": "RS弱于QQQ -2.92% · Volume 信号 · VIX 走高 · 上行空间 <1.0%",
        "score": 3,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": -2.92,
          "relative_strength_vs_smh": -2.53,
          "relative_weakness_score": 4.44,
          "gap_pct": -3.69,
          "beta_proxy": 2.54,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -0.44
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(72%) × ER(0.9%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 6,
        "direction": "SHORT"
      },
      {
        "symbol": "QQQ",
        "win_prob": 60.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 60.0,
          "raw_total": 60.0,
          "was_clamped": false
        },
        "expected_return_pct": 0.13,
        "expected_high": 709.43,
        "expected_low": 695.82,
        "expected_close": 700.52,
        "current_price": 701.43,
        "upside_pct": 0.8,
        "downside_risk_pct": 1.14,
        "risk_reward": 0.7,
        "rr_display": {
          "reward_risk_ratio": 0.7,
          "risk_reward_ratio": 1.43,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.70",
          "label_risk_reward": "Risk:Reward 1:1.43",
          "display": "Reward/Risk 0.70 · Risk:Reward 1:1.43",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.04,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.81,
        "relative_strength": 0.0,
        "relative_strength_vs_smh": 0.39,
        "relative_weakness_score": -0.23,
        "prior_day_change_pct": -1.09,
        "why_factors": [
          "Gap 未过度延伸",
          "News 1 (利空做空)",
          "Volume 信号",
          "VIX 走高",
          "上行空间 <1.0%"
        ],
        "why": "Gap 未过度延伸 · News 1 (利空做空) · Volume 信号 · VIX 走高",
        "score": 0,
        "news_count": 1,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.0,
          "relative_strength_vs_smh": 0.39,
          "relative_weakness_score": -0.23,
          "gap_pct": -0.81,
          "beta_proxy": 1.0,
          "volume_signal": true,
          "news_count": 1,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -1.09
        },
        "edge_type": "Index Edge",
        "score_formula_display": "final = win_prob(60%) × ER(0.1%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 7,
        "direction": "SHORT"
      },
      {
        "symbol": "SPY",
        "win_prob": 53.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -12.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 53.0,
          "raw_total": 53.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.13,
        "expected_high": 747.71,
        "expected_low": 735.92,
        "expected_close": 742.81,
        "current_price": 741.85,
        "upside_pct": 0.8,
        "downside_risk_pct": 0.79,
        "risk_reward": 1.01,
        "rr_display": {
          "reward_risk_ratio": 1.01,
          "risk_reward_ratio": 0.99,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.01",
          "label_risk_reward": "Risk:Reward 1:0.99",
          "display": "Reward/Risk 1.01 · Risk:Reward 1:0.99",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": -0.3,
        "relative_strength": 0.83,
        "relative_strength_vs_smh": 1.22,
        "relative_weakness_score": -1.56,
        "prior_day_change_pct": -0.2,
        "why_factors": [
          "板块内相对强势 +0.83%",
          "Gap 未过度延伸",
          "Volume 信号",
          "VIX 走高",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +0.83% · Gap 未过度延伸 · Volume 信号 · VIX 走高",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 0.83,
          "relative_strength_vs_smh": 1.22,
          "relative_weakness_score": -1.56,
          "gap_pct": -0.3,
          "beta_proxy": 0.56,
          "volume_signal": true,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -0.2
        },
        "edge_type": "Relative Strength",
        "score_formula_display": "final = win_prob(53%) × ER(-0.1%) × rr_weight(0.51) / 100",
        "rr_weight": 0.51,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 8,
        "direction": "SHORT"
      },
      {
        "symbol": "AVGO",
        "win_prob": 33.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": -6.0
            },
            {
              "factor": "Gap",
              "key": "gap",
              "points": 5.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 33.0,
          "raw_total": 33.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.69,
        "expected_high": 372.2,
        "expected_low": 364.82,
        "expected_close": 371.06,
        "current_price": 368.51,
        "upside_pct": 1.0,
        "downside_risk_pct": 1.0,
        "risk_reward": 1.0,
        "rr_display": {
          "reward_risk_ratio": 1.0,
          "risk_reward_ratio": 1.0,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 1.00",
          "label_risk_reward": "Risk:Reward 1:1.00",
          "display": "Reward/Risk 1.00 · Risk:Reward 1:1.00",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 0.08,
        "relative_strength": 1.28,
        "relative_strength_vs_smh": 1.67,
        "relative_weakness_score": -2.28,
        "prior_day_change_pct": 3.83,
        "why_factors": [
          "板块内相对强势 +1.28%",
          "半导体内领涨 +1.67%",
          "昨日强势 +3.8% 做空逆风",
          "Gap 未过度延伸",
          "VIX 走高",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +1.28% · 半导体内领涨 +1.67% · 昨日强势 +3.8% 做空逆风 · Gap 未过度延伸",
        "score": 0,
        "news_count": 0,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 1.28,
          "relative_strength_vs_smh": 1.67,
          "relative_weakness_score": -2.28,
          "gap_pct": 0.08,
          "beta_proxy": 0.32,
          "volume_signal": false,
          "news_count": 0,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": 3.83
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(33%) × ER(-0.7%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 9,
        "direction": "SHORT"
      },
      {
        "symbol": "META",
        "win_prob": 43.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -12.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": 6.0
            }
          ],
          "total": 43.0,
          "raw_total": 43.0,
          "was_clamped": false
        },
        "expected_return_pct": -0.62,
        "expected_high": 615.58,
        "expected_low": 603.14,
        "expected_close": 611.76,
        "current_price": 608.0,
        "upside_pct": 0.8,
        "downside_risk_pct": 1.25,
        "risk_reward": 0.64,
        "rr_display": {
          "reward_risk_ratio": 0.64,
          "risk_reward_ratio": 1.56,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.64",
          "label_risk_reward": "Risk:Reward 1:1.56",
          "display": "Reward/Risk 0.64 · Risk:Reward 1:1.56",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 1.55,
        "relative_strength": 2.17,
        "relative_strength_vs_smh": 2.56,
        "relative_weakness_score": -3.71,
        "prior_day_change_pct": 1.0,
        "why_factors": [
          "板块内相对强势 +2.17%",
          "News 2 (利空做空)",
          "Volume 信号",
          "VIX 走高",
          "上行空间 <1.0%"
        ],
        "why": "板块内相对强势 +2.17% · News 2 (利空做空) · Volume 信号 · VIX 走高",
        "score": 0,
        "news_count": 2,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 2.17,
          "relative_strength_vs_smh": 2.56,
          "relative_weakness_score": -3.71,
          "gap_pct": 1.55,
          "beta_proxy": -0.15,
          "volume_signal": true,
          "news_count": 2,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": 1.0
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(43%) × ER(-0.6%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 10,
        "direction": "SHORT"
      },
      {
        "symbol": "NVDA",
        "win_prob": 23.0,
        "win_prob_breakdown": {
          "components": [
            {
              "factor": "Base",
              "key": "base",
              "points": 50.0
            },
            {
              "factor": "RS",
              "key": "rs",
              "points": -22.0
            },
            {
              "factor": "Trend",
              "key": "trend",
              "points": 8.0
            },
            {
              "factor": "Catalyst",
              "key": "catalyst",
              "points": -5.0
            },
            {
              "factor": "Volume",
              "key": "volume",
              "points": 4.0
            },
            {
              "factor": "Macro",
              "key": "macro",
              "points": -12.0
            }
          ],
          "total": 23.0,
          "raw_total": 23.0,
          "was_clamped": false
        },
        "expected_return_pct": -1.22,
        "expected_high": 196.93,
        "expected_low": 192.75,
        "expected_close": 196.68,
        "current_price": 194.3,
        "upside_pct": 0.8,
        "downside_risk_pct": 1.35,
        "risk_reward": 0.59,
        "rr_display": {
          "reward_risk_ratio": 0.59,
          "risk_reward_ratio": 1.69,
          "reward_per_share": null,
          "risk_per_share": null,
          "label_reward_risk": "Reward/Risk 0.59",
          "label_risk_reward": "Risk:Reward 1:1.69",
          "display": "Reward/Risk 0.59 · Risk:Reward 1:1.69",
          "convention": "reward_risk_ratio = reward ÷ risk; Risk:Reward shows risk per unit reward"
        },
        "final_score": 0.0,
        "trade_action": "Pass",
        "trade": "Pass",
        "gap_pct": 2.62,
        "relative_strength": 3.42,
        "relative_strength_vs_smh": 3.81,
        "relative_weakness_score": -5.71,
        "prior_day_change_pct": -2.13,
        "why_factors": [
          "板块内相对强势 +3.42%",
          "半导体内领涨 +3.81%",
          "昨日弱势 -2.1% 延续下行",
          "News 7 (利空做空)",
          "Volume 信号",
          "VIX 走高"
        ],
        "why": "板块内相对强势 +3.42% · 半导体内领涨 +3.81% · 昨日弱势 -2.1% 延续下行 · News 7 (利空做空)",
        "score": 0,
        "news_count": 7,
        "factor_breakdown": {
          "relative_strength_vs_qqq": 3.42,
          "relative_strength_vs_smh": 3.81,
          "relative_weakness_score": -5.71,
          "gap_pct": 2.62,
          "beta_proxy": -0.81,
          "volume_signal": true,
          "news_count": 7,
          "extended_gap_penalty": 0.0,
          "vix_change_pct": 13.7,
          "prior_day_change_pct": -2.13
        },
        "edge_type": "Stock Edge",
        "score_formula_display": "final = win_prob(23%) × ER(-1.2%) × rr_weight(0.5) / 100",
        "rr_weight": 0.5,
        "why_vs_runner_up": "—",
        "advisory": true,
        "rank": 11,
        "direction": "SHORT"
      }
    ]
  },
  "intraday": {
    "s5": {
      "driver_still_valid": true,
      "action": "Hold"
    },
    "s6": {
      "trade_valid": true,
      "action": "Hold"
    },
    "s7": {
      "actual_driver": "AI/Semiconductor",
      "attribution": {
        "ai": 0.675,
        "bond": 0.0,
        "oil": 0.0,
        "macro": 0.275,
        "other": 0.05,
        "splits": {}
      }
    }
  },
  "trade_plan": {},
  "actual": {},
  "attribution": {
    "ai": 0.675,
    "bond": 0.0,
    "oil": 0.0,
    "macro": 0.275,
    "other": 0.05,
    "splits": {}
  },
  "labels": {
    "actual_driver": "AI 是 Driver + 但 Iran + Fed Minutes 也是 Driver",
    "agent_driver": "Geopolitical Risk (Iran)",
    "agent_driver_type": "Political",
    "corrected_driver_from_verify": "AI 是 Driver + 但 Iran + Fed Minutes 也是 Driver",
    "driver_splits": {},
    "hypothesis_correct": "对",
    "scenario_primary": "B",
    "scenario_actual": "B",
    "scenario_correct": true,
    "trade_recommendation": "ARM",
    "trade_direction": "SHORT",
    "primary_symbol": "ARM",
    "predicted_return_pct": 2.29,
    "prediction_error_pct": -6.0
  },
  "surprise": "AI/Semiconductor dominated more than typical day",
  "lesson": "【核对纠正】\n2026-07-08: P2 Agent 说「Driver:AI Chip Selloff」→ 用户纠正:AI Chip Selloff 是原因之一,但地缘政治(Iran)同样重要,不应只写 AI\n2026-07-08: P3 Agent 说「今日无美国重大宏观数据 · 下一关键节点为 NFP」→ 用户纠正:今天真正市场关注的是 Fed Minutes + Iran 局势,不是\"NFP\"。这是今天最大的错误。\n2026-07-08: P10 Agent 说「Type:AI · Driver:AI Chip Selloff」→ 用户纠正:AI 是 Driver,但 Iran/Fed Minutes 也是 Driver\n2026-07-08: S7 Agent 说「真正 Driver:AI/Semiconductor · Attribution:AI 68% · Bond 0% · Hypothesis:对 · Scenario B→B 命中」→ 用户纠正:AI 是 Driver,但 Iran/Fed Minutes 也是 Driver\n\nAI Expansion Regime 下,单日 SMH/NVDA 抛售可压过 Macro 利好,指数分化(Dow+ / QQQ-)比「大盘涨跌」更有信息量",
  "playbook_refs": [
    "Case-4"
  ],
  "bayesian_drivers": {
    "AI": 0.9997,
    "Bond": 0.0001,
    "Macro": 0.0002,
    "Oil": 0.0,
    "Risk": 0.0
  },
  "data_gaps": []
}