{
  "research_id": "res_20260819_a45f49afdc",
  "stocks": [
    {
      "ticker": "AMD",
      "name": "AMD",
      "current_price": 484.39,
      "year_high": 584.73,
      "year_low": 149.22,
      "year_high_date": "2026-06-30",
      "year_low_date": "2025-09-08",
      "pct_from_high": -17.16,
      "pct_from_low": 224.61,
      "range_position": 77.0,
      "ma50": 510.42,
      "ma200": 326.67,
      "vs_ma50": -5.1,
      "vs_ma200": 48.28,
      "ma_trend": "Strong Uptrend",
      "pe_trailing": 119.09438,
      "pe_forward": 30.182777,
      "beta": null,
      "dividend_yield": null,
      "revenue_growth": 0.501,
      "earnings_growth": 1.595,
      "debt_to_equity": null,
      "profit_margins": 0.156,
      "market_cap": 762120962048,
      "sector": null,
      "industry": null,
      "phase": "Trading Range",
      "phase_detail": "Accumulation · Phase C",
      "phase_confidence": "medium",
      "wyckoff_schematic": {
        "structure": "Accumulation",
        "sub_phase": "C",
        "phase_label": "Phase C — Spring/Shakeout (supply test)",
        "sub_phase_label": "Phase C — Spring/Shakeout (supply test)",
        "setup": "Spring 后是教科书级低吸点：止损放 Spring 低点下方，博弈 SOS 启动",
        "next_expected": "Spring 后应出现放量反弹（SOS 雏形），确认 CO 已完成洗盘",
        "confidence": "low",
        "contradiction": null,
        "evidence": [
          "SC/PS 止跌",
          "AR 自动反弹",
          "ST 缩量回测",
          "Phase C 测试(Spring)"
        ],
        "summary": "Accumulation · Phase C — Spring/Shakeout (supply test)"
      },
      "decision_phase": "Accumulation · Phase C — Spring/Shakeout (supply test)",
      "phase_conflict": true,
      "phase_conflict_reason": "coarse_phase=Trading Range 与 schematic=Accumulation 不一致",
      "vol_on_decline_ratio": 1.01,
      "supply_demand_index": {
        "latest_20d_ratio": 0.73,
        "sd_trend": "falling",
        "interpretation": "Supply dominant",
        "daily_ratios": [
          1.395,
          1.318,
          1.206,
          1.027,
          0.919,
          0.767,
          0.881,
          0.838,
          0.875,
          0.888,
          0.763,
          0.795,
          0.731,
          0.706,
          0.787,
          0.769,
          0.751,
          0.768,
          0.781,
          0.73
        ]
      },
      "recent_trend_20d": -12.3,
      "vol_trend_20d": -1.38,
      "quarterly_returns": [
        3.61,
        120.73,
        -3.07,
        32.42
      ],
      "top_vol_events": [
        {
          "date": "2025-10-06",
          "type": "BC",
          "close": 203.71,
          "volume": 248859576,
          "vol_mult": 5.73,
          "pct_change": 23.71,
          "idx": 58
        },
        {
          "date": "2025-10-08",
          "type": "BC",
          "close": 235.56,
          "volume": 159983459,
          "vol_mult": 3.68,
          "pct_change": 11.37,
          "idx": 60
        },
        {
          "date": "2025-08-06",
          "type": "SC",
          "close": 163.12,
          "volume": 133641835,
          "vol_mult": 3.08,
          "pct_change": -6.42,
          "idx": 16
        },
        {
          "date": "2025-10-10",
          "type": "SC",
          "close": 214.9,
          "volume": 118656636,
          "vol_mult": 2.73,
          "pct_change": -7.72,
          "idx": 62
        },
        {
          "date": "2025-10-07",
          "type": "HIGH_VOL",
          "close": 211.51,
          "volume": 115748143,
          "vol_mult": 2.66,
          "pct_change": 3.83,
          "idx": 59
        }
      ],
      "post_climax_analysis": [
        {
          "event_date": "2025-10-06",
          "event_type": "BC",
          "next_date": "2025-10-07",
          "next_pct": 3.83,
          "next_vol_mult": 2.66
        },
        {
          "event_date": "2025-10-08",
          "event_type": "BC",
          "next_date": "2025-10-09",
          "next_pct": -1.13,
          "next_vol_mult": 2.17
        },
        {
          "event_date": "2025-08-06",
          "event_type": "SC",
          "next_date": "2025-08-07",
          "next_pct": 5.69,
          "next_vol_mult": 2.2
        },
        {
          "event_date": "2025-10-10",
          "event_type": "SC",
          "next_date": "2025-10-13",
          "next_pct": 0.71,
          "next_vol_mult": 1.45
        },
        {
          "event_date": "2025-10-07",
          "event_type": "HIGH_VOL",
          "next_date": "2025-10-08",
          "next_pct": 11.37,
          "next_vol_mult": 3.68
        }
      ],
      "effort_vs_result": {
        "date": "2025-10-06",
        "volume_mult": 5.73,
        "price_change_pct": 23.71,
        "interpretation": "BC"
      },
      "trading_range_60d": {
        "high": 584.73,
        "low": 424.03,
        "range_pct": 37.9
      },
      "creek_ice": {
        "creek": {
          "high": 584.73,
          "low": 546.44,
          "confidence": "high"
        },
        "ice": {
          "high": 393.36,
          "low": 192.87,
          "confidence": "low"
        },
        "price_vs_creek": "below_zone -11.4%",
        "price_vs_ice": "above_zone +23.1%"
      },
      "cause_effect": {
        "trading_range": {
          "high": 584.73,
          "low": 188.22,
          "width_pct": 210.7,
          "cause_volume_multiplier": 1.0
        },
        "markup_targets": [
          {
            "level": "1.0x",
            "price": 981.24,
            "pct_from_current": 102.6
          },
          {
            "level": "1.618x",
            "price": 1226.28,
            "pct_from_current": 153.2
          },
          {
            "level": "2.0x",
            "price": 1377.75,
            "pct_from_current": 184.4
          }
        ],
        "markdown_targets": [
          {
            "level": "1.0x",
            "price": -208.29,
            "pct_from_current": -143.0
          },
          {
            "level": "1.618x",
            "price": -453.33,
            "pct_from_current": -193.6
          },
          {
            "level": "2.0x",
            "price": -604.8,
            "pct_from_current": -224.9
          }
        ],
        "strongest_sos": {
          "date": "2026-07-30",
          "close": 485.39,
          "pct": 12.997020206723157,
          "vol_ratio": 1.0925317339648801
        },
        "strongest_sow": {
          "date": "2026-08-05",
          "close": 482.05,
          "pct": 7.04423618342397,
          "vol_ratio": 1.467566738939189
        }
      },
      "pnf_target": {
        "method": "P&F横向计数法（简化估算）",
        "box_size": 3.865,
        "box_size_pct": 1.0,
        "reversal_boxes": 3,
        "estimated_columns": 32,
        "range_high": 584.73,
        "range_low": 188.22,
        "target_distance": 371.02,
        "markup_target": 955.75,
        "markup_upside_pct": 97.3,
        "markdown_target": -182.8,
        "markdown_downside_pct": -137.7,
        "note": "简化估算；精确P&F需逐笔构建。与cause_effect结果交叉验证：二者一致时置信度更高。"
      },
      "multi_timeframe": {
        "monthly": {
          "trend": "Strong Bull",
          "change_pct": 137.8,
          "lookback_days": 120
        },
        "weekly": {
          "position_pct": 51.0,
          "structure": "Mid-range — Phase B building cause",
          "volume_trend": "neutral",
          "weeks_analyzed": 12
        },
        "daily": {
          "position_pct": 43.9,
          "volume_trend": "fading",
          "signal": "Neutral — no clear daily signal"
        },
        "alignment": "One of three bullish — mixed signals, half position only",
        "bullish_count": 1,
        "bearish_count": 0,
        "monthly_veto": false
      },
      "confirmation_chain": {
        "confirmed_links": 4,
        "dominant_structure": "accumulation",
        "confidence": "partial",
        "note": "",
        "accumulation": {
          "chain": {
            "SC": true,
            "SC_context": "post_distribution: 此SC出现在分布阶段后，是Mark Down中的卖出高潮，尚不构成积累起点；需等AR→ST序列才能确认积累Phase A",
            "AR": {
              "found": true,
              "date": "2025-08-07",
              "pct": 5.69
            },
            "ST": {
              "found": true,
              "date": "2025-08-11",
              "vol_ratio": 1.63
            },
            "Spring": {
              "found": true,
              "date": "2025-09-05",
              "break_low": 150.18,
              "recovery_date": "2025-09-10"
            },
            "SOS": {
              "found": false
            },
            "BUEC": {
              "found": false
            },
            "LPS": {
              "found": false
            },
            "JOC": {
              "found": false
            }
          },
          "chain_complete": 4,
          "verdict": "Chain partial — key links present but gaps remain"
        },
        "distribution": {
          "chain": {
            "BC": true,
            "AR": {
              "found": false
            },
            "ST": {
              "found": false
            },
            "UTAD": {
              "found": true,
              "date": "2025-10-08",
              "break_high": 235.56,
              "reversal_date": "2025-10-10"
            },
            "SOW": {
              "found": false
            },
            "LPSY": {
              "found": false
            }
          },
          "chain_complete": 2,
          "verdict": "Chain incomplete — insufficient confirmation for Distribution"
        }
      },
      "ps_psy": {
        "PS": {
          "date": "2025-09-18",
          "close": 157.92,
          "vol_ratio": 1.95,
          "decline_pct": 73.0,
          "close_position": 0.9
        },
        "PSY": null
      },
      "spring_classification": {
        "type": "Spring",
        "events": [
          {
            "date": "2025-09-02",
            "low": 156.62,
            "pct_below_sc": 0.7,
            "vol_ratio": 0.89,
            "recovery_date": "2025-09-02",
            "recovery_close": 162.32
          },
          {
            "date": "2025-09-04",
            "low": 157.79,
            "pct_below_sc": 0.0,
            "vol_ratio": 0.74,
            "recovery_date": "2025-09-04",
            "recovery_close": 161.79
          },
          {
            "date": "2025-09-11",
            "low": 154.99,
            "pct_below_sc": 1.8,
            "vol_ratio": 1.12,
            "recovery_date": "2025-09-12",
            "recovery_close": 158.57
          },
          {
            "date": "2025-09-12",
            "low": 154.92,
            "pct_below_sc": 1.8,
            "vol_ratio": 0.97,
            "recovery_date": "2025-09-12",
            "recovery_close": 158.57
          },
          {
            "date": "2025-09-15",
            "low": 157.6,
            "pct_below_sc": 0.1,
            "vol_ratio": 0.85,
            "recovery_date": "2025-09-15",
            "recovery_close": 161.16
          },
          {
            "date": "2025-09-17",
            "low": 155.76,
            "pct_below_sc": 1.3,
            "vol_ratio": 0.96,
            "recovery_date": "2025-09-17",
            "recovery_close": 159.16
          },
          {
            "date": "2025-09-19",
            "low": 155.9,
            "pct_below_sc": 1.2,
            "vol_ratio": 1.28,
            "recovery_date": "2025-09-22",
            "recovery_close": 159.79
          },
          {
            "date": "2025-09-22",
            "low": 157.42,
            "pct_below_sc": 0.2,
            "vol_ratio": 1.07,
            "recovery_date": "2025-09-22",
            "recovery_close": 159.79
          },
          {
            "date": "2025-09-25",
            "low": 154.78,
            "pct_below_sc": 1.9,
            "vol_ratio": 0.85,
            "recovery_date": "2025-09-25",
            "recovery_close": 161.27
          },
          {
            "date": "2025-09-26",
            "low": 157.05,
            "pct_below_sc": 0.5,
            "vol_ratio": 0.7,
            "recovery_date": "2025-09-26",
            "recovery_close": 159.46
          }
        ],
        "interpretation": "Spring detected: 2025-09-26 broke SC low by 0.5%, recovered by 2025-09-26. Volume 0.7x avg (< 50% of SC vol). STRONG ACCUMULATION SIGNAL — CO engineered false breakdown to trigger stops. Buy on LPS pullback.",
        "signal": "STRONG_BUY"
      },
      "co_intent": {
        "phase": "Trading Range",
        "co_goal": "Unclear — waiting for structure to develop",
        "co_behavior": "Likely testing both sides, building cause",
        "retail_behavior": "Confused, range-bound trading",
        "verification": "No clear phase — insufficient data for CO intent",
        "contradiction": null
      },
      "trapped_traders": {
        "events": [
          {
            "date": "2026-06-03",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 527.2,
            "breakout_close": 542.52,
            "next_close": 523.2,
            "stop_cluster_below": 511.38,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-06-15",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 546.44,
            "breakout_close": 547.26,
            "next_close": 507.29,
            "stop_cluster_below": 530.05,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-06-30",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 562.99,
            "breakout_close": 580.91,
            "next_close": 540.88,
            "stop_cluster_below": 546.1,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 442.27,
            "breakdown_close": 429.56,
            "next_close": 485.39,
            "stop_cluster_above": 455.54,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          }
        ],
        "active_traps": [
          {
            "date": "2026-06-30",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 562.99,
            "breakout_close": 580.91,
            "next_close": 540.88,
            "stop_cluster_below": 546.1,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 442.27,
            "breakdown_close": 429.56,
            "next_close": 485.39,
            "stop_cluster_above": 455.54,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          }
        ],
        "summary": "4 false breakouts in last 60 days"
      },
      "character_change": {
        "detected": false,
        "changes": [],
        "quarterly_metrics": [
          {
            "period": "2026-05-22 to 2026-08-18",
            "up_down_vol_ratio": 0.921,
            "avg_pullback_pct": 8.27,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2026-02-26 to 2026-05-21",
            "up_down_vol_ratio": 1.101,
            "avg_pullback_pct": 4.62,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-11-28 to 2026-02-25",
            "up_down_vol_ratio": 1.072,
            "avg_pullback_pct": 6.93,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-09-04 to 2025-11-26",
            "up_down_vol_ratio": 1.118,
            "avg_pullback_pct": 5.59,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          }
        ],
        "interpretation": "No structural change detected — phase continuity likely"
      },
      "volume_by_price": {
        "window": "2026-02-26 to 2026-08-18",
        "price_range": "188.22 - 584.73",
        "current_zone": "Normal volume zone",
        "HVN": [
          {
            "price_low": 188.22,
            "price_high": 208.05,
            "volume": 742543541.0
          },
          {
            "price_low": 505.43,
            "price_high": 525.25,
            "volume": 462031087.0
          },
          {
            "price_low": 485.6,
            "price_high": 505.43,
            "volume": 371961897.0
          }
        ],
        "LVN": [
          {
            "price_low": 386.48,
            "price_high": 406.3,
            "volume": 38617704.0
          },
          {
            "price_low": 564.9,
            "price_high": 584.73,
            "volume": 29767437.0
          },
          {
            "price_low": 366.65,
            "price_high": 386.47,
            "volume": 0
          }
        ],
        "bins": [
          {
            "price_low": 188.22,
            "price_high": 208.05,
            "volume": 742543541.0
          },
          {
            "price_low": 208.05,
            "price_high": 227.87,
            "volume": 215215279.0
          },
          {
            "price_low": 227.87,
            "price_high": 247.7,
            "volume": 116664226.0
          },
          {
            "price_low": 247.7,
            "price_high": 267.52,
            "volume": 73500500.0
          },
          {
            "price_low": 267.52,
            "price_high": 287.35,
            "volume": 154973644.0
          },
          {
            "price_low": 287.35,
            "price_high": 307.17,
            "volume": 78699965.0
          },
          {
            "price_low": 307.17,
            "price_high": 327.0,
            "volume": 72132226.0
          },
          {
            "price_low": 327.0,
            "price_high": 346.82,
            "volume": 177903506.0
          },
          {
            "price_low": 346.82,
            "price_high": 366.65,
            "volume": 165791970.0
          },
          {
            "price_low": 366.65,
            "price_high": 386.47,
            "volume": 0
          },
          {
            "price_low": 386.48,
            "price_high": 406.3,
            "volume": 38617704.0
          },
          {
            "price_low": 406.3,
            "price_high": 426.13,
            "volume": 151057652.0
          },
          {
            "price_low": 426.13,
            "price_high": 445.95,
            "volume": 216233698.0
          },
          {
            "price_low": 445.95,
            "price_high": 465.78,
            "volume": 208303085.0
          },
          {
            "price_low": 465.78,
            "price_high": 485.6,
            "volume": 289786748.0
          },
          {
            "price_low": 485.6,
            "price_high": 505.43,
            "volume": 371961897.0
          },
          {
            "price_low": 505.43,
            "price_high": 525.25,
            "volume": 462031087.0
          },
          {
            "price_low": 525.25,
            "price_high": 545.08,
            "volume": 309382426.0
          },
          {
            "price_low": 545.08,
            "price_high": 564.9,
            "volume": 182421102.0
          },
          {
            "price_low": 564.9,
            "price_high": 584.73,
            "volume": 29767437.0
          }
        ]
      },
      "stop_hunts": {
        "events": [
          {
            "date": "2026-06-17",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 510.42,
            "low": 507.3,
            "close": 512.48,
            "next_close": 537.37,
            "vol_ratio": 0.62
          },
          {
            "date": "2026-06-23",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 510.42,
            "low": 506.81,
            "close": 519.85,
            "next_close": 519.74,
            "vol_ratio": 0.7
          },
          {
            "date": "2026-06-25",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 510.42,
            "low": 507.0,
            "close": 532.57,
            "next_close": 521.58,
            "vol_ratio": 0.62
          },
          {
            "date": "2026-07-02",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 510.42,
            "low": 506.0,
            "close": 517.82,
            "next_close": 552.05,
            "vol_ratio": 0.65
          }
        ],
        "count": 4,
        "implication": "CO actively engineering liquidity — confirms active smart money presence"
      },
      "four_master": {
        "duan_yongping": {
          "score": 3.5,
          "rating": 3.0,
          "max": 6,
          "details": [
            "→ 行业阈值: 通用默认阈值",
            "✅ 毛利率 55.7% > 40% 行业优质线",
            "⚠️ ROE 10.2% — 中等资本效率",
            "? D/E — 数据缺失",
            "? OCF/NI — 数据缺失",
            "✅ 净利率 15.6% > 10%",
            "✅ 营收增速 50.1% > 5%"
          ],
          "industry_profile": "通用默认阈值"
        },
        "buffett": {
          "score": 1.0,
          "rating": 2.0,
          "max": 4,
          "details": [
            "✅ PE 30.2 < 成长调整上限 45"
          ]
        },
        "munger": {
          "score": 4,
          "rating": 5.0,
          "max": 4.5,
          "details": [
            "✅ 无明显财务困境信号",
            "✅ 毛利率 56% — 强定价权/护城河",
            "✅ 无明显管理层红旗",
            "✅ 盈利和营收双增长 — 护城河完好"
          ],
          "risks": []
        },
        "lilu": {
          "score": 3.2,
          "rating": 4.0,
          "max": 4,
          "details": [
            "✅ Revenue +50% — expanding",
            "✅ Earnings +160%",
            "→ Sector \"\" — moderate complexity",
            "→ Moderate trend alignment"
          ]
        },
        "composite": 3.5,
        "coverage": "high",
        "coverage_note": "full（核心字段覆盖88%，缺失字段视为未知，不视为无风险）",
        "owner_earnings": {
          "method": "",
          "owner_earnings": null,
          "oe_yield": null,
          "risk_free_comparison": null,
          "details": []
        },
        "dcf": {
          "method": "DCF (FCF三情景)",
          "scenarios": {},
          "probability_weighted_value": null,
          "margin_of_safety": null,
          "recommendation": null,
          "caveats": [
            "亏损或无FCF股票建议用PS/EV-Sales估值替代"
          ],
          "sanity_check": {
            "status": "not_checked",
            "warnings": []
          },
          "error": "FCF非正，DCF不适用"
        },
        "breakdown": {
          "段永平_商业模式": 3.0,
          "巴菲特_估值": 2.0,
          "芒格_风险": 5.0,
          "李录_确定性": 4.0
        },
        "industry_profile": "通用默认阈值"
      },
      "fundamental_quality": {
        "status": "complete",
        "coverage_ratio": 0.88,
        "present_fields": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "missing_fields": [
          "debtToEquity"
        ],
        "industry_key": "general",
        "industry_required_metrics": [],
        "industry_available_metrics": {},
        "industry_missing_metrics": [],
        "flags": [],
        "caveats": [
          "缺失字段代表未知，不代表没有风险"
        ]
      },
      "market_regime": {
        "status": "unavailable",
        "benchmark": null,
        "regime": "unknown",
        "trend": "unknown",
        "sma50": null,
        "sma200": null,
        "return_20d_pct": null,
        "return_60d_pct": null,
        "annualized_volatility_pct": null,
        "position_size_multiplier": 1.0,
        "caveats": [
          "基准数据少于60个交易日，无法可靠判断市场状态"
        ]
      },
      "relative_strength": {
        "status": "unavailable",
        "benchmark": null,
        "windows": {},
        "trend": "unknown",
        "rank": null,
        "caveats": [
          "缺少足够的标的或基准指数数据，未计算相对强度"
        ]
      },
      "event_overlay": {
        "status": "available",
        "coverage": "partial",
        "risk_level": "medium",
        "catalysts": [
          {
            "headline": "Connection Announces Partnership With Microsoft, Qualcomm, And OEM Partners To Launch Copilot+ PCs, A New Generation Of Windows-Based Devices For AI Workloads",
            "date": "2026-08-18",
            "source": "Benzinga"
          },
          {
            "headline": "Nvidia Is the Best S&P 500 Stock of the Past 10, 15, 20 Years — but 4 Stocks Beat It Over the Past 5 Years",
            "date": "2026-08-17",
            "source": "Benzinga"
          }
        ],
        "risks": [
          {
            "headline": "AMD: On Dilution And Insider Sales",
            "date": "2026-08-19",
            "source": "SeekingAlpha"
          }
        ],
        "news": [
          {
            "headline": "Artisan Global Opportunities Fund Q2 2026 Portfolio Review",
            "source": "SeekingAlpha",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=dd9db39e8abddc3f2e8095ac1b6606266bc27875ea4002694cc82d39c229a18c",
            "category": "company"
          },
          {
            "headline": "AMD: On Dilution And Insider Sales",
            "source": "SeekingAlpha",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=66ab3affb53046c7710ef217f37050fe03579ce79910d4c241482d9ea6d6c1bc",
            "category": "company"
          },
          {
            "headline": "Nvidia, AMD, Broadcom, Meta Slide as Bond Yields Surge: Why Tech Stocks Are Getting Hit",
            "source": "Benzinga",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=8be0662f56a93fc1a3eafb7348c7ea178f1847ba7757168a8bfdfcfd45768efa",
            "category": "company"
          },
          {
            "headline": "Connection Announces Partnership With Microsoft, Qualcomm, And OEM Partners To Launch Copilot+ PCs, A New Generation Of Windows-Based Devices For AI Workloads",
            "source": "Benzinga",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=c085ce041287e2a5527a41b81085293c6acf02879a4a6f97b08300245dfb70f7",
            "category": "company"
          },
          {
            "headline": "What's Going On With AMD Stock Tuesday?",
            "source": "Benzinga",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=16fef30b843d35a67ae59b0ff83b3cec43a9dd3155b3271cc8dc40767c48071f",
            "category": "company"
          },
          {
            "headline": "Cathie Wood Buys $22.8 Million of Nvidia Stock, Ark Invest Dumps AMD and Palantir Shares",
            "source": "Benzinga",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=fd3e9ba94570bca6a5ee34786841d34189e66d4838b31aca3d46ab82ada60ccb",
            "category": "company"
          },
          {
            "headline": "Broadcom Looks Undervalued With 50% Upside",
            "source": "SeekingAlpha",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=99874d8148c4b9d33eb91e656a1e156beca9d0d7e46fbb11c6581690f70eecb3",
            "category": "company"
          },
          {
            "headline": "Nvidia Is the Best S&P 500 Stock of the Past 10, 15, 20 Years — but 4 Stocks Beat It Over the Past 5 Years",
            "source": "Benzinga",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=ce40230fb606f71ab2305d7395b5b280c15c4d8f82d10aa69714bb9bae8aa6b5",
            "category": "company"
          },
          {
            "headline": "SpaceX Stock Jumps After Multibillion-Dollar Stakes Revealed",
            "source": "Benzinga",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=4a9259df7712fc158c78483bbdba2d78dadb9171f7433956ab81bf306794ed00",
            "category": "company"
          },
          {
            "headline": "Anthropic's Revenue Jumps 14x; Chinese AI Targets Nvidia's Moat",
            "source": "Benzinga",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=55b16960fc5530a3a894d5bd5a104f289290cc1784c955f3127ce2a195b4dc6b",
            "category": "company"
          }
        ],
        "sentiment": {
          "available": false,
          "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
        },
        "earnings": [
          {
            "period": null,
            "date": "2026-11-02",
            "actual": null,
            "estimate": null,
            "surprise": null,
            "surprise_percent": null,
            "symbol": "AMD",
            "status": "upcoming",
            "days_from_today": 75
          },
          {
            "period": "2026-06-30",
            "date": "2026-06-30",
            "actual": 1.66,
            "estimate": 1.6313,
            "surprise": 0.0287,
            "surprise_percent": 1.7593,
            "symbol": "AMD",
            "status": "historical",
            "days_from_today": -50
          },
          {
            "period": "2026-03-31",
            "date": "2026-03-31",
            "actual": 1.37,
            "estimate": 1.3074,
            "surprise": 0.0626,
            "surprise_percent": 4.7881,
            "symbol": "AMD",
            "status": "historical",
            "days_from_today": -141
          },
          {
            "period": "2025-12-31",
            "date": "2025-12-31",
            "actual": 1.53,
            "estimate": 1.3324,
            "surprise": 0.1976,
            "surprise_percent": 14.8304,
            "symbol": "AMD",
            "status": "historical",
            "days_from_today": -231
          },
          {
            "period": "2025-09-30",
            "date": "2025-09-30",
            "actual": 1.2,
            "estimate": 1.175,
            "surprise": 0.025,
            "surprise_percent": 2.1277,
            "symbol": "AMD",
            "status": "historical",
            "days_from_today": -323
          }
        ],
        "earnings_surprise": {
          "sample_size": 4,
          "positive_ratio": 1.0,
          "mean_surprise_pct": 5.876,
          "latest_surprise_pct": 1.7593
        },
        "event_density": {
          "news_count": 10,
          "catalyst_count": 2,
          "risk_count": 1,
          "earnings_count": 5,
          "upcoming_earnings_count": 1
        },
        "event_factor": 0.125,
        "earnings_proximity": {
          "days": 75,
          "lock_new_entry": false
        },
        "conflicts": [],
        "caveats": [],
        "data_as_of": "2026-08-18"
      },
      "finnhub_news": [
        {
          "headline": "Artisan Global Opportunities Fund Q2 2026 Portfolio Review",
          "source": "SeekingAlpha",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=dd9db39e8abddc3f2e8095ac1b6606266bc27875ea4002694cc82d39c229a18c",
          "category": "company"
        },
        {
          "headline": "AMD: On Dilution And Insider Sales",
          "source": "SeekingAlpha",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=66ab3affb53046c7710ef217f37050fe03579ce79910d4c241482d9ea6d6c1bc",
          "category": "company"
        },
        {
          "headline": "Nvidia, AMD, Broadcom, Meta Slide as Bond Yields Surge: Why Tech Stocks Are Getting Hit",
          "source": "Benzinga",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=8be0662f56a93fc1a3eafb7348c7ea178f1847ba7757168a8bfdfcfd45768efa",
          "category": "company"
        },
        {
          "headline": "Connection Announces Partnership With Microsoft, Qualcomm, And OEM Partners To Launch Copilot+ PCs, A New Generation Of Windows-Based Devices For AI Workloads",
          "source": "Benzinga",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=c085ce041287e2a5527a41b81085293c6acf02879a4a6f97b08300245dfb70f7",
          "category": "company"
        },
        {
          "headline": "What's Going On With AMD Stock Tuesday?",
          "source": "Benzinga",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=16fef30b843d35a67ae59b0ff83b3cec43a9dd3155b3271cc8dc40767c48071f",
          "category": "company"
        },
        {
          "headline": "Cathie Wood Buys $22.8 Million of Nvidia Stock, Ark Invest Dumps AMD and Palantir Shares",
          "source": "Benzinga",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=fd3e9ba94570bca6a5ee34786841d34189e66d4838b31aca3d46ab82ada60ccb",
          "category": "company"
        },
        {
          "headline": "Broadcom Looks Undervalued With 50% Upside",
          "source": "SeekingAlpha",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=99874d8148c4b9d33eb91e656a1e156beca9d0d7e46fbb11c6581690f70eecb3",
          "category": "company"
        },
        {
          "headline": "Nvidia Is the Best S&P 500 Stock of the Past 10, 15, 20 Years — but 4 Stocks Beat It Over the Past 5 Years",
          "source": "Benzinga",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=ce40230fb606f71ab2305d7395b5b280c15c4d8f82d10aa69714bb9bae8aa6b5",
          "category": "company"
        },
        {
          "headline": "SpaceX Stock Jumps After Multibillion-Dollar Stakes Revealed",
          "source": "Benzinga",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=4a9259df7712fc158c78483bbdba2d78dadb9171f7433956ab81bf306794ed00",
          "category": "company"
        },
        {
          "headline": "Anthropic's Revenue Jumps 14x; Chinese AI Targets Nvidia's Moat",
          "source": "Benzinga",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=55b16960fc5530a3a894d5bd5a104f289290cc1784c955f3127ce2a195b4dc6b",
          "category": "company"
        }
      ],
      "finnhub_sentiment": {
        "available": false,
        "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
      },
      "finnhub_earnings": [
        {
          "period": null,
          "date": "2026-11-02",
          "actual": null,
          "estimate": null,
          "surprise": null,
          "surprise_percent": null,
          "symbol": "AMD",
          "status": "upcoming"
        },
        {
          "period": "2026-06-30",
          "date": "2026-06-30",
          "actual": 1.66,
          "estimate": 1.6313,
          "surprise": 0.0287,
          "surprise_percent": 1.7593,
          "symbol": "AMD",
          "status": "historical"
        },
        {
          "period": "2026-03-31",
          "date": "2026-03-31",
          "actual": 1.37,
          "estimate": 1.3074,
          "surprise": 0.0626,
          "surprise_percent": 4.7881,
          "symbol": "AMD",
          "status": "historical"
        },
        {
          "period": "2025-12-31",
          "date": "2025-12-31",
          "actual": 1.53,
          "estimate": 1.3324,
          "surprise": 0.1976,
          "surprise_percent": 14.8304,
          "symbol": "AMD",
          "status": "historical"
        },
        {
          "period": "2025-09-30",
          "date": "2025-09-30",
          "actual": 1.2,
          "estimate": 1.175,
          "surprise": 0.025,
          "surprise_percent": 2.1277,
          "symbol": "AMD",
          "status": "historical"
        }
      ],
      "portfolio_risk": {
        "status": "no_portfolio_supplied",
        "total_value": null,
        "sector_weights_pct": {},
        "concentrated_sectors": {},
        "correlations_20d": {
          "AMD:SOFI": 0.564,
          "AMD:COHR": 0.598,
          "AMD:OSCR": -0.005,
          "SOFI:COHR": 0.562,
          "SOFI:OSCR": 0.162,
          "COHR:OSCR": -0.011
        },
        "warnings": [],
        "limits": {
          "max_single_position_pct": 20.0,
          "max_sector_weight_pct": 35.0,
          "max_correlation_for_new_add": 0.8
        }
      },
      "position_constraint": {
        "position_cap_pct": null,
        "stop_distance_pct": null,
        "risk_at_cap_pct": null,
        "status": "unavailable",
        "reason": "缺少有效当前价或结构止损，无法计算仓位上限",
        "caveat": "这不是零仓位建议，而是没有有效交易计划",
        "market_regime_multiplier": 1.0
      },
      "context": {
        "horizon": "swing",
        "holding_status": "empty",
        "position_pct": 0.0,
        "risk_per_trade_pct": 1.0,
        "benchmark": null,
        "objective": "entry",
        "max_single_position_pct": 20.0,
        "max_sector_weight_pct": 35.0
      },
      "return_series_20d": [
        1.4511,
        -2.2885,
        -3.2871,
        -5.1729,
        -8.1483,
        -5.5123,
        12.997,
        -1.9036,
        1.7831,
        7.0031,
        -7.0442,
        1.4998,
        -1.2099,
        -2.855,
        1.0137,
        1.8152,
        0.0166,
        6.4968,
        -1.6311,
        -4.2708
      ],
      "trade_plan": {
        "bias": "NEUTRAL",
        "entry_zone": {},
        "entry_trigger": "",
        "stop": null,
        "stop_basis": "Ice低点 - 1×ATR缓冲（结构性止损）",
        "adaptive_stop": null,
        "adaptive_stop_basis": null,
        "targets": [],
        "risk_reward": null,
        "entry_status": "NO_SETUP",
        "trigger_confirmed": false,
        "trigger_volume_ratio": 0.85,
        "time_stop_days": 30,
        "invalidation_signals": [
          "日线收盘跌破结构止损位",
          "突破后连续两日无法站稳Creek且成交量转弱",
          "确认链出现反向事件（UTAD/SOW/LPSY）"
        ],
        "caveats": [
          "多时间框架一致性不足（≤1/3），建议半仓或观望",
          "空仓计划：入场后30个交易日未按预期发展时执行时间止损复核"
        ]
      },
      "kelly_position": {
        "estimated_win_rate_pct": 50.0,
        "risk_reward_ratio": 2.0,
        "full_kelly_pct": 25.0,
        "half_kelly_pct": 12.5,
        "recommended_position_pct": 0.0,
        "risk_per_trade_pct": 6.25,
        "recommendation": "建议仓位 0.0%，止损风险待数据完整后计算",
        "caveats": [
          "胜率为规则推算，非回测统计值，仅供参考",
          "仓位上限20%防止单股过度集中",
          "实际仓位须结合个人风险承受力与整体组合"
        ],
        "risk_position_cap_pct": null
      },
      "conviction": {
        "event_coverage": "partial",
        "score": 36.8,
        "grade": "D",
        "action": "证据不足/减仓 (35-49)",
        "components": {
          "technical_raw": 14.0,
          "fundamental": 21.9,
          "trade_rr": 5,
          "relative_strength_excess_1m": null,
          "event_status": "available",
          "market_regime": "unknown",
          "raw_before_haircut": 40.9,
          "haircut_factor": 0.9
        },
        "haircut_notes": [
          "基准相对强度不可用 → ×0.9"
        ]
      },
      "quadrant": {
        "quadrant": "Q1",
        "label": "⚠️ 买入/加仓（交易层 bias=NEUTRAL/置信D，暂不宜加仓）",
        "reason": "好公司 + 强趋势",
        "low_confidence": false,
        "decision_override": true
      },
      "catalyst_warning": null,
      "forecast_30d": {
        "status": "available",
        "horizon_trading_days": 30,
        "model_version": "rule-v3.6.1",
        "feature_version": "features-v1",
        "calibration_version": "9股306窗口3轮回测校准(2026-08-18)",
        "edge_label": "no_edge",
        "sample_size": 0,
        "confidence_interval": null,
        "direction": "震荡",
        "direction_reasons": {
          "momentum_slope_20d": -1.1393,
          "momentum_vote": "下行",
          "structure": "Accumulation",
          "structure_vote": "上行",
          "bias": "NEUTRAL",
          "bias_vote": "中性",
          "total_score": -0.5
        },
        "probability": 0.5,
        "probability_basis": "9股306窗口3轮回测校准(2026-08-18)",
        "target_price": 484.39,
        "target_pct": 0.0,
        "basis": "方向信号不足，按区间震荡处理",
        "clamped": true,
        "max_monthly_move_pct": 15,
        "extended_target": null,
        "reference_range": {
          "low": 429.56,
          "high": 552.33
        },
        "levels": {
          "creek_high": 584.73,
          "ice_low": 192.87,
          "markup_1x": 981.24,
          "markdown_1x": -208.29
        },
        "momentum_slope_20d": -1.1393,
        "caveats": [
          "这是基于历史价量与Wyckoff结构的统计推断，不是承诺或投资建议。",
          "目标价位为方向性参考，未包含未来财报、公告、政策等事件冲击。",
          "方向概率为定性估计（50%），应结合确认链和事件面复核。",
          "结构目标 467.3 超出单月合理幅度（±15%），已收敛至 484.39；完整结构目标见 extended_target"
        ]
      },
      "data_quality": {
        "quality_score": 100,
        "recommendation": "clean",
        "gate_status": "clean",
        "message": "数据完整性良好，可执行完整分析。",
        "issues": [],
        "warnings": [],
        "structural_issues": [],
        "missing_fundamentals": [
          "debtToEquity"
        ],
        "present_fundamentals": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "coverage_ratio": 0.88,
        "fundamental_mode": "full",
        "can_analyze": true,
        "can_execute": true,
        "stale_days": 1,
        "zero_volume_ratio": 0.0,
        "quality_scope": "OHLCV完整性评分；与 four_master.coverage 及 event_overlay.status 分开",
        "fm_coverage_explanation": "full（核心字段覆盖88%，缺失字段视为未知，不视为无风险）",
        "field_sources": {
          "trailingPE": "yfinance",
          "sharesOutstanding": "yfinance",
          "impliedSharesOutstanding": "yfinance",
          "marketCap": "yfinance",
          "forwardPE": "yfinance",
          "priceToBook": "yfinance",
          "regularMarketPrice": "yfinance",
          "pe_trailing": "yfinance",
          "pe_forward": "yfinance",
          "market_cap": "yfinance",
          "current_price": "yfinance",
          "price_to_book": "yfinance",
          "shares_outstanding": "yfinance",
          "implied_shares_outstanding": "yfinance",
          "50ma": "yfinance",
          "200ma": "yfinance",
          "revenueGrowth": "alpha_vantage",
          "earningsGrowth": "alpha_vantage",
          "returnOnEquity": "alpha_vantage",
          "grossMargins": "alpha_vantage",
          "profitMargins": "alpha_vantage",
          "revenue_growth": "alpha_vantage",
          "earnings_growth": "alpha_vantage",
          "return_on_equity": "alpha_vantage",
          "gross_margins": "alpha_vantage",
          "profit_margins": "alpha_vantage"
        }
      },
      "data_fetched_at": "2026-08-19 23:18:16",
      "data_as_of": "2026-08-18",
      "data_source": "Tiingo (OHLCV, adjusted) + Finnhub (news/sentiment)",
      "ohlcv_source": "tiingo",
      "ohlcv_adjustment": "adjusted_ohlc",
      "date_convention": "ISO-8601 trading date; source exchange timezone",
      "field_sources": {
        "trailingPE": "yfinance",
        "sharesOutstanding": "yfinance",
        "impliedSharesOutstanding": "yfinance",
        "marketCap": "yfinance",
        "forwardPE": "yfinance",
        "priceToBook": "yfinance",
        "regularMarketPrice": "yfinance",
        "pe_trailing": "yfinance",
        "pe_forward": "yfinance",
        "market_cap": "yfinance",
        "current_price": "yfinance",
        "price_to_book": "yfinance",
        "shares_outstanding": "yfinance",
        "implied_shares_outstanding": "yfinance",
        "50ma": "yfinance",
        "200ma": "yfinance",
        "revenueGrowth": "alpha_vantage",
        "earningsGrowth": "alpha_vantage",
        "returnOnEquity": "alpha_vantage",
        "grossMargins": "alpha_vantage",
        "profitMargins": "alpha_vantage",
        "revenue_growth": "alpha_vantage",
        "earnings_growth": "alpha_vantage",
        "return_on_equity": "alpha_vantage",
        "gross_margins": "alpha_vantage",
        "profit_margins": "alpha_vantage"
      },
      "provider_status": {
        "ohlcv": "tiingo",
        "yfinance": "ok",
        "finnhub": "ok"
      },
      "event_news": null,
      "disclaimer": "本结果为技术面研究框架的机械输出，基于历史价量+滞后财报，事件数据缺失时不得解释为没有风险；非投资建议，据此操作风险自负。"
    },
    {
      "ticker": "SOFI",
      "name": "SOFI",
      "current_price": 17.66,
      "year_high": 32.73,
      "year_low": 14.88,
      "year_high_date": "2025-11-12",
      "year_low_date": "2026-07-29",
      "pct_from_high": -46.04,
      "pct_from_low": 18.68,
      "range_position": 15.6,
      "ma50": 17.55,
      "ma200": 20.69,
      "vs_ma50": 0.66,
      "vs_ma200": -14.63,
      "ma_trend": "Strong Downtrend",
      "pe_trailing": 37.80612,
      "pe_forward": 22.563946,
      "beta": 2.204,
      "dividend_yield": null,
      "revenue_growth": 0.426,
      "earnings_growth": 0.404,
      "debt_to_equity": 30.835,
      "profit_margins": 0.14906,
      "market_cap": 23926339584,
      "sector": "Financial Services",
      "industry": "Credit Services",
      "phase": "Correction / Re-accumulation?",
      "phase_detail": "Accumulation · Phase C",
      "phase_confidence": "low",
      "wyckoff_schematic": {
        "structure": "Accumulation",
        "sub_phase": "C",
        "phase_label": "Phase C — Spring/Shakeout (supply test)",
        "sub_phase_label": "Phase C — Spring/Shakeout (supply test)",
        "setup": "Spring 后是教科书级低吸点：止损放 Spring 低点下方，博弈 SOS 启动",
        "next_expected": "Spring 后应出现放量反弹（SOS 雏形），确认 CO 已完成洗盘",
        "confidence": "low",
        "contradiction": null,
        "evidence": [
          "SC/PS 止跌",
          "AR 自动反弹",
          "ST 缩量回测",
          "Phase C 测试(Spring)"
        ],
        "summary": "Accumulation · Phase C — Spring/Shakeout (supply test)"
      },
      "decision_phase": "Accumulation · Phase C — Spring/Shakeout (supply test)",
      "phase_conflict": true,
      "phase_conflict_reason": "coarse_phase=Correction / Re-accumulation? 与 schematic=Accumulation 不一致",
      "vol_on_decline_ratio": 0.87,
      "supply_demand_index": {
        "latest_20d_ratio": 0.901,
        "sd_trend": "stable",
        "interpretation": "Balanced",
        "daily_ratios": [
          0.828,
          0.893,
          0.822,
          0.716,
          0.717,
          0.717,
          0.781,
          0.827,
          0.928,
          1.077,
          0.916,
          0.829,
          0.916,
          0.997,
          0.953,
          1.02,
          1.135,
          1.026,
          1.06,
          0.901
        ]
      },
      "recent_trend_20d": 3.46,
      "vol_trend_20d": -20.55,
      "quarterly_returns": [
        13.06,
        -18.06,
        -35.09,
        12.25
      ],
      "top_vol_events": [
        {
          "date": "2025-07-29",
          "type": "BC",
          "close": 22.4,
          "volume": 236127444,
          "vol_mult": 3.44,
          "pct_change": 6.57,
          "idx": 10
        },
        {
          "date": "2026-04-29",
          "type": "SC",
          "close": 15.53,
          "volume": 200480759,
          "vol_mult": 2.92,
          "pct_change": -15.41,
          "idx": 199
        },
        {
          "date": "2026-07-29",
          "type": "SC",
          "close": 15.25,
          "volume": 193584281,
          "vol_mult": 2.82,
          "pct_change": -8.9,
          "idx": 261
        },
        {
          "date": "2025-07-30",
          "type": "EXHAUSTION",
          "close": 21.87,
          "volume": 183424718,
          "vol_mult": 2.67,
          "pct_change": -2.37,
          "idx": 11,
          "level": "mid_trend"
        },
        {
          "date": "2025-10-28",
          "type": "BC",
          "close": 31.66,
          "volume": 183013567,
          "vol_mult": 2.67,
          "pct_change": 5.53,
          "idx": 74
        }
      ],
      "post_climax_analysis": [
        {
          "event_date": "2025-07-29",
          "event_type": "BC",
          "next_date": "2025-07-30",
          "next_pct": -2.37,
          "next_vol_mult": 2.67
        },
        {
          "event_date": "2026-04-29",
          "event_type": "SC",
          "next_date": "2026-04-30",
          "next_pct": 3.67,
          "next_vol_mult": 1.38
        },
        {
          "event_date": "2026-07-29",
          "event_type": "SC",
          "next_date": "2026-07-30",
          "next_pct": 8.0,
          "next_vol_mult": 1.21
        },
        {
          "event_date": "2025-07-30",
          "event_type": "EXHAUSTION",
          "next_date": "2025-07-31",
          "next_pct": 3.25,
          "next_vol_mult": 1.75
        },
        {
          "event_date": "2025-10-28",
          "event_type": "BC",
          "next_date": "2025-10-29",
          "next_pct": -2.4,
          "next_vol_mult": 1.39
        }
      ],
      "effort_vs_result": {
        "date": "2025-07-29",
        "volume_mult": 3.44,
        "price_change_pct": 6.57,
        "interpretation": "BC"
      },
      "trading_range_60d": {
        "high": 19.74,
        "low": 14.88,
        "range_pct": 32.66
      },
      "creek_ice": {
        "creek": {
          "high": 18.86,
          "low": 18.7,
          "confidence": "moderate"
        },
        "ice": {
          "high": 14.93,
          "low": 14.88,
          "confidence": "moderate"
        },
        "price_vs_creek": "below_zone -5.6%",
        "price_vs_ice": "above_zone +18.3%"
      },
      "cause_effect": {
        "trading_range": {
          "high": 20.13,
          "low": 14.88,
          "width_pct": 35.3,
          "cause_volume_multiplier": 1.0
        },
        "markup_targets": [
          {
            "level": "1.0x",
            "price": 25.38,
            "pct_from_current": 43.7
          },
          {
            "level": "1.618x",
            "price": 28.62,
            "pct_from_current": 62.1
          },
          {
            "level": "2.0x",
            "price": 30.63,
            "pct_from_current": 73.4
          }
        ],
        "markdown_targets": [
          {
            "level": "1.0x",
            "price": 9.63,
            "pct_from_current": -45.5
          },
          {
            "level": "1.618x",
            "price": 6.39,
            "pct_from_current": -63.8
          },
          {
            "level": "2.0x",
            "price": 4.38,
            "pct_from_current": -75.2
          }
        ],
        "strongest_sos": {
          "date": "2026-08-03",
          "close": 18.03,
          "pct": 10.545677498467214,
          "vol_ratio": 1.163554289736246
        },
        "strongest_sow": {
          "date": "2026-07-29",
          "close": 15.25,
          "pct": 8.90083632019115,
          "vol_ratio": 2.686385807021453
        }
      },
      "pnf_target": {
        "method": "P&F横向计数法（简化估算）",
        "box_size": 0.175,
        "box_size_pct": 1.0,
        "reversal_boxes": 3,
        "estimated_columns": 20,
        "range_high": 20.13,
        "range_low": 14.88,
        "target_distance": 10.5,
        "markup_target": 30.63,
        "markup_upside_pct": 73.5,
        "markdown_target": 4.38,
        "markdown_downside_pct": -75.2,
        "note": "简化估算；精确P&F需逐笔构建。与cause_effect结果交叉验证：二者一致时置信度更高。"
      },
      "multi_timeframe": {
        "monthly": {
          "trend": "Bear",
          "change_pct": -7.5,
          "lookback_days": 120
        },
        "weekly": {
          "position_pct": 70.6,
          "structure": "Upper half — Mark Up or Distribution Phase B",
          "volume_trend": "neutral",
          "weeks_analyzed": 12
        },
        "daily": {
          "position_pct": 68.1,
          "volume_trend": "fading",
          "signal": "Neutral — no clear daily signal"
        },
        "alignment": "No clear alignment — stay out, wait for clarity",
        "bullish_count": 0,
        "bearish_count": 1,
        "monthly_veto": false
      },
      "confirmation_chain": {
        "confirmed_links": 4,
        "dominant_structure": "accumulation",
        "confidence": "partial",
        "note": "",
        "accumulation": {
          "chain": {
            "SC": true,
            "SC_context": "post_distribution: 此SC出现在分布阶段后，是Mark Down中的卖出高潮，尚不构成积累起点；需等AR→ST序列才能确认积累Phase A",
            "AR": {
              "found": true,
              "date": "2026-04-30",
              "pct": 3.67
            },
            "ST": {
              "found": true,
              "date": "2026-05-04",
              "vol_ratio": 0.97
            },
            "Spring": {
              "found": true,
              "date": "2026-05-19",
              "break_low": 14.92,
              "recovery_date": "2026-05-20"
            },
            "SOS": {
              "found": false
            },
            "BUEC": {
              "found": false
            },
            "LPS": {
              "found": false
            },
            "JOC": {
              "found": false
            }
          },
          "chain_complete": 4,
          "verdict": "Chain partial — key links present but gaps remain"
        },
        "distribution": {
          "chain": {
            "BC": true,
            "AR": {
              "found": true,
              "date": "2025-08-01",
              "pct": -5.22
            },
            "ST": {
              "found": true,
              "date": "2025-07-31",
              "vol_ratio": 1.75
            },
            "UTAD": {
              "found": true,
              "date": "2025-08-25",
              "break_high": 26.15,
              "reversal_date": "2025-08-27"
            },
            "SOW": {
              "found": false
            },
            "LPSY": {
              "found": false
            }
          },
          "chain_complete": 4,
          "verdict": "Chain partial — key links present but gaps remain"
        }
      },
      "ps_psy": {
        "PS": null,
        "PSY": {
          "date": "2025-08-26",
          "close": 25.62,
          "vol_ratio": 1.83,
          "advance_pct": 72.2,
          "close_position": 0.11
        }
      },
      "spring_classification": {
        "type": "Spring",
        "events": [
          {
            "date": "2026-05-13",
            "low": 15.21,
            "pct_below_sc": 1.9,
            "vol_ratio": 0.87,
            "recovery_date": "2026-05-14",
            "recovery_close": 16.02
          },
          {
            "date": "2026-05-14",
            "low": 15.23,
            "pct_below_sc": 1.7,
            "vol_ratio": 1.0,
            "recovery_date": "2026-05-14",
            "recovery_close": 16.02
          },
          {
            "date": "2026-05-15",
            "low": 15.38,
            "pct_below_sc": 0.8,
            "vol_ratio": 0.73,
            "recovery_date": "2026-05-15",
            "recovery_close": 15.61
          },
          {
            "date": "2026-05-18",
            "low": 15.34,
            "pct_below_sc": 1.0,
            "vol_ratio": 0.97,
            "recovery_date": "2026-05-18",
            "recovery_close": 15.71
          },
          {
            "date": "2026-05-21",
            "low": 15.35,
            "pct_below_sc": 1.0,
            "vol_ratio": 0.71,
            "recovery_date": "2026-05-21",
            "recovery_close": 15.65
          },
          {
            "date": "2026-05-22",
            "low": 15.36,
            "pct_below_sc": 0.9,
            "vol_ratio": 0.85,
            "recovery_date": "2026-05-22",
            "recovery_close": 15.62
          }
        ],
        "interpretation": "Spring detected: 2026-05-22 broke SC low by 0.9%, recovered by 2026-05-22. Volume 0.85x avg (< 50% of SC vol). STRONG ACCUMULATION SIGNAL — CO engineered false breakdown to trigger stops. Buy on LPS pullback.",
        "signal": "STRONG_BUY"
      },
      "co_intent": {
        "phase": "Correction / Re-accumulation?",
        "co_goal": "Unclear — waiting for structure to develop",
        "co_behavior": "Likely testing both sides, building cause",
        "retail_behavior": "Confused, range-bound trading",
        "verification": "No clear phase — insufficient data for CO intent",
        "contradiction": null
      },
      "trapped_traders": {
        "events": [
          {
            "date": "2026-07-24",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 16.47,
            "breakdown_close": 16.46,
            "next_close": 16.88,
            "stop_cluster_above": 16.96,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          },
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 16.17,
            "breakdown_close": 15.25,
            "next_close": 16.47,
            "stop_cluster_above": 16.66,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          }
        ],
        "active_traps": [
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 16.17,
            "breakdown_close": 15.25,
            "next_close": 16.47,
            "stop_cluster_above": 16.66,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          }
        ],
        "summary": "2 false breakouts in last 60 days"
      },
      "character_change": {
        "detected": false,
        "changes": [],
        "quarterly_metrics": [
          {
            "period": "2026-05-22 to 2026-08-18",
            "up_down_vol_ratio": 1.081,
            "avg_pullback_pct": 6.21,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2026-02-26 to 2026-05-21",
            "up_down_vol_ratio": 0.896,
            "avg_pullback_pct": 7.06,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-11-28 to 2026-02-25",
            "up_down_vol_ratio": 0.9,
            "avg_pullback_pct": 7.86,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-09-04 to 2025-11-26",
            "up_down_vol_ratio": 0.995,
            "avg_pullback_pct": 7.69,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          }
        ],
        "interpretation": "No structural change detected — phase continuity likely"
      },
      "volume_by_price": {
        "window": "2026-02-26 to 2026-08-18",
        "price_range": "14.88 - 20.13",
        "current_zone": "Normal volume zone",
        "HVN": [
          {
            "price_low": 18.03,
            "price_high": 18.29,
            "volume": 715147264.0
          },
          {
            "price_low": 17.77,
            "price_high": 18.03,
            "volume": 699897862.0
          },
          {
            "price_low": 18.29,
            "price_high": 18.55,
            "volume": 684856312.0
          }
        ],
        "LVN": [
          {
            "price_low": 14.88,
            "price_high": 15.14,
            "volume": 116019392.0
          },
          {
            "price_low": 19.6,
            "price_high": 19.87,
            "volume": 51661234.0
          },
          {
            "price_low": 19.87,
            "price_high": 20.13,
            "volume": 26111800.0
          }
        ],
        "bins": [
          {
            "price_low": 14.88,
            "price_high": 15.14,
            "volume": 116019392.0
          },
          {
            "price_low": 15.14,
            "price_high": 15.4,
            "volume": 236217107.0
          },
          {
            "price_low": 15.41,
            "price_high": 15.67,
            "volume": 431195115.0
          },
          {
            "price_low": 15.67,
            "price_high": 15.93,
            "volume": 454448440.0
          },
          {
            "price_low": 15.93,
            "price_high": 16.19,
            "volume": 613022020.0
          },
          {
            "price_low": 16.19,
            "price_high": 16.45,
            "volume": 626287006.0
          },
          {
            "price_low": 16.45,
            "price_high": 16.72,
            "volume": 531549922.0
          },
          {
            "price_low": 16.72,
            "price_high": 16.98,
            "volume": 476367509.0
          },
          {
            "price_low": 16.98,
            "price_high": 17.24,
            "volume": 579462831.0
          },
          {
            "price_low": 17.24,
            "price_high": 17.5,
            "volume": 636939954.0
          },
          {
            "price_low": 17.5,
            "price_high": 17.77,
            "volume": 585753790.0
          },
          {
            "price_low": 17.77,
            "price_high": 18.03,
            "volume": 699897862.0
          },
          {
            "price_low": 18.03,
            "price_high": 18.29,
            "volume": 715147264.0
          },
          {
            "price_low": 18.29,
            "price_high": 18.55,
            "volume": 684856312.0
          },
          {
            "price_low": 18.55,
            "price_high": 18.82,
            "volume": 514008343.0
          },
          {
            "price_low": 18.82,
            "price_high": 19.08,
            "volume": 303356903.0
          },
          {
            "price_low": 19.08,
            "price_high": 19.34,
            "volume": 215304471.0
          },
          {
            "price_low": 19.34,
            "price_high": 19.61,
            "volume": 149741017.0
          },
          {
            "price_low": 19.6,
            "price_high": 19.87,
            "volume": 51661234.0
          },
          {
            "price_low": 19.87,
            "price_high": 20.13,
            "volume": 26111800.0
          }
        ]
      },
      "stop_hunts": {
        "events": [
          {
            "date": "2026-06-23",
            "type": "upside stop hunt",
            "level": "50DMA",
            "level_price": 17.55,
            "high": 17.68,
            "close": 17.29,
            "next_close": 17.31,
            "vol_ratio": 1.3
          },
          {
            "date": "2026-06-29",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 17.55,
            "low": 17.5,
            "close": 18.19,
            "next_close": 17.93,
            "vol_ratio": 1.12
          },
          {
            "date": "2026-07-15",
            "type": "upside stop hunt",
            "level": "Creek high",
            "level_price": 18.86,
            "high": 18.98,
            "close": 17.87,
            "next_close": 17.32,
            "vol_ratio": 1.05
          },
          {
            "date": "2026-07-17",
            "type": "upside stop hunt",
            "level": "50DMA",
            "level_price": 17.55,
            "high": 17.57,
            "close": 17.28,
            "next_close": 17.01,
            "vol_ratio": 1.31
          },
          {
            "date": "2026-07-22",
            "type": "upside stop hunt",
            "level": "50DMA",
            "level_price": 17.55,
            "high": 17.61,
            "close": 17.07,
            "next_close": 16.65,
            "vol_ratio": 1.32
          }
        ],
        "count": 5,
        "implication": "CO actively engineering liquidity — confirms active smart money presence"
      },
      "four_master": {
        "duan_yongping": {
          "score": 3.5,
          "rating": 3.0,
          "max": 6,
          "details": [
            "→ 行业阈值: 银行/金融：毛利率不适用，ROE>12%，高杠杆为行业特性",
            "→ 毛利率：行业不适用（金融/银行业），跳过",
            "❌ ROE 7.1% — 资本效率低",
            "⚠️ ROE/ROA=5.7x > 4 — ROE靠杠杆驱动，非运营质量，衰退期脆弱",
            "✅ D/E 30.8% < 800% 行业安全线",
            "❌ OCF/NI -13.36 — 盈利质量差，警惕应收款膨胀",
            "✅ 净利率 14.9% > 10%",
            "✅ 营收增速 42.6% > 5%"
          ],
          "industry_profile": "银行/金融：毛利率不适用，ROE>12%，高杠杆为行业特性"
        },
        "buffett": {
          "score": 1.0,
          "rating": 2.0,
          "max": 4,
          "details": [
            "✅ PEG 0.88 < 1.2 — 合理成长溢价",
            "→ PE交叉验证: 22.6（主要依赖PEG评分）",
            "→ D/E 30.8% — 杠杆适中"
          ]
        },
        "munger": {
          "score": 3.5,
          "rating": 5.0,
          "max": 4.5,
          "details": [
            "✅ 无明显财务困境信号",
            "❌ 杠杆质量检查失败 ROE/ROA=5.7x",
            "✅ 毛利率 84% — 强定价权/护城河",
            "✅ 无明显管理层红旗",
            "✅ 盈利和营收双增长 — 护城河完好"
          ],
          "risks": [
            "⚠️ ROE/ROA=5.7x > 4 — ROE由杠杆驱动而非运营，衰退期脆弱"
          ]
        },
        "lilu": {
          "score": 3.5,
          "rating": 5.0,
          "max": 4,
          "details": [
            "✅ Revenue +43% — expanding",
            "✅ Earnings +40%",
            "⚠️ Beta 2.20 — highly volatile",
            "✅ Sector \"Financial Services\" — understandable business",
            "→ Moderate trend alignment"
          ]
        },
        "composite": 3.8,
        "coverage": "high",
        "coverage_note": "full（核心字段覆盖100%，缺失字段视为未知，不视为无风险）",
        "owner_earnings": {
          "method": "",
          "owner_earnings": null,
          "oe_yield": null,
          "risk_free_comparison": null,
          "details": [
            "Net Debt: $48,876,032"
          ]
        },
        "dcf": {
          "method": "DCF (FCF三情景)",
          "scenarios": {},
          "probability_weighted_value": null,
          "margin_of_safety": null,
          "recommendation": null,
          "caveats": [
            "亏损或无FCF股票建议用PS/EV-Sales估值替代"
          ],
          "sanity_check": {
            "status": "not_checked",
            "warnings": []
          },
          "error": "FCF非正，DCF不适用"
        },
        "breakdown": {
          "段永平_商业模式": 3.0,
          "巴菲特_估值": 2.0,
          "芒格_风险": 5.0,
          "李录_确定性": 5.0
        },
        "industry_profile": "银行/金融：毛利率不适用，ROE>12%，高杠杆为行业特性"
      },
      "fundamental_quality": {
        "status": "complete",
        "coverage_ratio": 1.0,
        "present_fields": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "debtToEquity",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "missing_fields": [],
        "industry_key": "general",
        "industry_required_metrics": [],
        "industry_available_metrics": {},
        "industry_missing_metrics": [],
        "flags": [
          "ROE可能主要由杠杆驱动，不能直接视为经营质量"
        ],
        "caveats": []
      },
      "market_regime": {
        "status": "unavailable",
        "benchmark": null,
        "regime": "unknown",
        "trend": "unknown",
        "sma50": null,
        "sma200": null,
        "return_20d_pct": null,
        "return_60d_pct": null,
        "annualized_volatility_pct": null,
        "position_size_multiplier": 1.0,
        "caveats": [
          "基准数据少于60个交易日，无法可靠判断市场状态"
        ]
      },
      "relative_strength": {
        "status": "unavailable",
        "benchmark": null,
        "windows": {},
        "trend": "unknown",
        "rank": null,
        "caveats": [
          "缺少足够的标的或基准指数数据，未计算相对强度"
        ]
      },
      "event_overlay": {
        "status": "available",
        "coverage": "partial",
        "risk_level": "unknown",
        "catalysts": [],
        "risks": [],
        "news": [
          {
            "headline": "SoFi Stock Offers an ‘Attractive Entry Point’: Analyst",
            "source": "Benzinga",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=444de44c7763d025dfcf8e6c61028a63b2a4665079a1e116594ec17962bb9479",
            "category": "company"
          },
          {
            "headline": "SoFi Technologies Should Continue To Outperform The Market Due To Its Growth Spurt",
            "source": "SeekingAlpha",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=0a083621a19aef3c35afb51f0e1588582e917bddd194a14d9e6a55f9ce00a583",
            "category": "company"
          },
          {
            "headline": "Piper Sandler Initiates Coverage On SoFi Technologies with Overweight Rating, Announces Price Target of $22",
            "source": "Benzinga",
            "date": "2026-08-17",
            "url": "https://finnhub.io/api/news?id=329c9da1d3e6cd50ece9a64444b578463d3a6674f3c7bfadffc844686462be67",
            "category": "company"
          },
          {
            "headline": "SoFi Technologies (SOFI) Rolls Out Three New Private Market Funds",
            "source": "Yahoo",
            "date": "2026-08-15",
            "url": "https://finnhub.io/api/news?id=060805961c971883c092c30ede1faa35abc0846612bb6a46947de22781e56a68",
            "category": "company"
          },
          {
            "headline": "SoFi's Growth Looks Unstoppable, But One Weak Segment Keeps Me From A Strong Buy",
            "source": "SeekingAlpha",
            "date": "2026-08-15",
            "url": "https://finnhub.io/api/news?id=0fca1ebd9cd8508f83530e9ef9d2d255505c8e43b15d67a3842b018615cc289a",
            "category": "company"
          },
          {
            "headline": "PayPal Stock Surged On A Profit Shift Management Had Already Spelled Out",
            "source": "Yahoo",
            "date": "2026-08-15",
            "url": "https://finnhub.io/api/news?id=285b919f9243b2a1f5413dadc81d84e399cfcbdfa9cb0849fa71198f58add959",
            "category": "company"
          },
          {
            "headline": "SoFi Stock Keeps Falling Despite ‘Exceptional’ Earnings. What It Would Take to Move SOFI Again.",
            "source": "Yahoo",
            "date": "2026-08-14",
            "url": "https://finnhub.io/api/news?id=d7628eaecad2672dc5f17b96f12ebca7920df3314b3b60a2c26d1f301dacafd0",
            "category": "company"
          },
          {
            "headline": "SoFi Originated a Record $10.7 Billion in Personal Loans Last Quarter. Here's Where That Credit Risk Actually Sits.",
            "source": "Yahoo",
            "date": "2026-08-14",
            "url": "https://finnhub.io/api/news?id=520917502329efe219b43968fae72802b94fb6ff21110b21ef925f1f0151366a",
            "category": "company"
          },
          {
            "headline": "Private Markets Roundup: Alto Launches Private Deal Room; CAZ Teams with SoFi",
            "source": "Yahoo",
            "date": "2026-08-13",
            "url": "https://finnhub.io/api/news?id=9927a68bcb15eb3ea8cc6ce938276599fbdbd6a9c22d63717703839fbc1a0698",
            "category": "company"
          },
          {
            "headline": "Truist Securities Maintains Hold on SoFi Technologies, Raises Price Target to $19",
            "source": "Benzinga",
            "date": "2026-08-12",
            "url": "https://finnhub.io/api/news?id=93ec0a04dc8c5d491e299dc2e74fd8c8ed3c55ab6a3cd2ba138932850bfeb198",
            "category": "company"
          }
        ],
        "sentiment": {
          "available": false,
          "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
        },
        "earnings": [
          {
            "period": null,
            "date": "2026-10-26",
            "actual": null,
            "estimate": null,
            "surprise": null,
            "surprise_percent": null,
            "symbol": "SOFI",
            "status": "upcoming",
            "days_from_today": 68
          },
          {
            "period": "2026-06-30",
            "date": "2026-06-30",
            "actual": 0.12,
            "estimate": 0.1123,
            "surprise": 0.0077,
            "surprise_percent": 6.8566,
            "symbol": "SOFI",
            "status": "historical",
            "days_from_today": -50
          },
          {
            "period": "2026-03-31",
            "date": "2026-03-31",
            "actual": 0.12,
            "estimate": 0.1214,
            "surprise": -0.0014,
            "surprise_percent": -1.1532,
            "symbol": "SOFI",
            "status": "historical",
            "days_from_today": -141
          },
          {
            "period": "2025-12-31",
            "date": "2025-12-31",
            "actual": 0.13,
            "estimate": 0.1185,
            "surprise": 0.0115,
            "surprise_percent": 9.7046,
            "symbol": "SOFI",
            "status": "historical",
            "days_from_today": -231
          },
          {
            "period": "2025-09-30",
            "date": "2025-09-30",
            "actual": 0.11,
            "estimate": 0.083,
            "surprise": 0.027,
            "surprise_percent": 32.5301,
            "symbol": "SOFI",
            "status": "historical",
            "days_from_today": -323
          }
        ],
        "earnings_surprise": {
          "sample_size": 4,
          "positive_ratio": 0.75,
          "mean_surprise_pct": 11.985,
          "latest_surprise_pct": 6.8566
        },
        "event_density": {
          "news_count": 10,
          "catalyst_count": 0,
          "risk_count": 0,
          "earnings_count": 5,
          "upcoming_earnings_count": 1
        },
        "event_factor": 0.2,
        "earnings_proximity": {
          "days": 68,
          "lock_new_entry": false
        },
        "conflicts": [],
        "caveats": [],
        "data_as_of": "2026-08-18"
      },
      "finnhub_news": [
        {
          "headline": "SoFi Stock Offers an ‘Attractive Entry Point’: Analyst",
          "source": "Benzinga",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=444de44c7763d025dfcf8e6c61028a63b2a4665079a1e116594ec17962bb9479",
          "category": "company"
        },
        {
          "headline": "SoFi Technologies Should Continue To Outperform The Market Due To Its Growth Spurt",
          "source": "SeekingAlpha",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=0a083621a19aef3c35afb51f0e1588582e917bddd194a14d9e6a55f9ce00a583",
          "category": "company"
        },
        {
          "headline": "Piper Sandler Initiates Coverage On SoFi Technologies with Overweight Rating, Announces Price Target of $22",
          "source": "Benzinga",
          "date": "2026-08-17",
          "url": "https://finnhub.io/api/news?id=329c9da1d3e6cd50ece9a64444b578463d3a6674f3c7bfadffc844686462be67",
          "category": "company"
        },
        {
          "headline": "SoFi Technologies (SOFI) Rolls Out Three New Private Market Funds",
          "source": "Yahoo",
          "date": "2026-08-15",
          "url": "https://finnhub.io/api/news?id=060805961c971883c092c30ede1faa35abc0846612bb6a46947de22781e56a68",
          "category": "company"
        },
        {
          "headline": "SoFi's Growth Looks Unstoppable, But One Weak Segment Keeps Me From A Strong Buy",
          "source": "SeekingAlpha",
          "date": "2026-08-15",
          "url": "https://finnhub.io/api/news?id=0fca1ebd9cd8508f83530e9ef9d2d255505c8e43b15d67a3842b018615cc289a",
          "category": "company"
        },
        {
          "headline": "PayPal Stock Surged On A Profit Shift Management Had Already Spelled Out",
          "source": "Yahoo",
          "date": "2026-08-15",
          "url": "https://finnhub.io/api/news?id=285b919f9243b2a1f5413dadc81d84e399cfcbdfa9cb0849fa71198f58add959",
          "category": "company"
        },
        {
          "headline": "SoFi Stock Keeps Falling Despite ‘Exceptional’ Earnings. What It Would Take to Move SOFI Again.",
          "source": "Yahoo",
          "date": "2026-08-14",
          "url": "https://finnhub.io/api/news?id=d7628eaecad2672dc5f17b96f12ebca7920df3314b3b60a2c26d1f301dacafd0",
          "category": "company"
        },
        {
          "headline": "SoFi Originated a Record $10.7 Billion in Personal Loans Last Quarter. Here's Where That Credit Risk Actually Sits.",
          "source": "Yahoo",
          "date": "2026-08-14",
          "url": "https://finnhub.io/api/news?id=520917502329efe219b43968fae72802b94fb6ff21110b21ef925f1f0151366a",
          "category": "company"
        },
        {
          "headline": "Private Markets Roundup: Alto Launches Private Deal Room; CAZ Teams with SoFi",
          "source": "Yahoo",
          "date": "2026-08-13",
          "url": "https://finnhub.io/api/news?id=9927a68bcb15eb3ea8cc6ce938276599fbdbd6a9c22d63717703839fbc1a0698",
          "category": "company"
        },
        {
          "headline": "Truist Securities Maintains Hold on SoFi Technologies, Raises Price Target to $19",
          "source": "Benzinga",
          "date": "2026-08-12",
          "url": "https://finnhub.io/api/news?id=93ec0a04dc8c5d491e299dc2e74fd8c8ed3c55ab6a3cd2ba138932850bfeb198",
          "category": "company"
        }
      ],
      "finnhub_sentiment": {
        "available": false,
        "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
      },
      "finnhub_earnings": [
        {
          "period": null,
          "date": "2026-10-26",
          "actual": null,
          "estimate": null,
          "surprise": null,
          "surprise_percent": null,
          "symbol": "SOFI",
          "status": "upcoming"
        },
        {
          "period": "2026-06-30",
          "date": "2026-06-30",
          "actual": 0.12,
          "estimate": 0.1123,
          "surprise": 0.0077,
          "surprise_percent": 6.8566,
          "symbol": "SOFI",
          "status": "historical"
        },
        {
          "period": "2026-03-31",
          "date": "2026-03-31",
          "actual": 0.12,
          "estimate": 0.1214,
          "surprise": -0.0014,
          "surprise_percent": -1.1532,
          "symbol": "SOFI",
          "status": "historical"
        },
        {
          "period": "2025-12-31",
          "date": "2025-12-31",
          "actual": 0.13,
          "estimate": 0.1185,
          "surprise": 0.0115,
          "surprise_percent": 9.7046,
          "symbol": "SOFI",
          "status": "historical"
        },
        {
          "period": "2025-09-30",
          "date": "2025-09-30",
          "actual": 0.11,
          "estimate": 0.083,
          "surprise": 0.027,
          "surprise_percent": 32.5301,
          "symbol": "SOFI",
          "status": "historical"
        }
      ],
      "portfolio_risk": {
        "status": "no_portfolio_supplied",
        "total_value": null,
        "sector_weights_pct": {},
        "concentrated_sectors": {},
        "correlations_20d": {
          "AMD:SOFI": 0.564,
          "AMD:COHR": 0.598,
          "AMD:OSCR": -0.005,
          "SOFI:COHR": 0.562,
          "SOFI:OSCR": 0.162,
          "COHR:OSCR": -0.011
        },
        "warnings": [],
        "limits": {
          "max_single_position_pct": 20.0,
          "max_sector_weight_pct": 35.0,
          "max_correlation_for_new_add": 0.8
        }
      },
      "position_constraint": {
        "position_cap_pct": null,
        "stop_distance_pct": null,
        "risk_at_cap_pct": null,
        "status": "unavailable",
        "reason": "缺少有效当前价或结构止损，无法计算仓位上限",
        "caveat": "这不是零仓位建议，而是没有有效交易计划",
        "market_regime_multiplier": 1.0
      },
      "context": {
        "horizon": "swing",
        "holding_status": "empty",
        "position_pct": 0.0,
        "risk_per_trade_pct": 1.0,
        "benchmark": null,
        "objective": "entry",
        "max_single_position_pct": 20.0,
        "max_sector_weight_pct": 35.0
      },
      "return_series_20d": [
        -3.2313,
        -2.4605,
        -1.1411,
        2.5516,
        -0.8294,
        -8.9008,
        8.0,
        -0.9715,
        10.5457,
        3.716,
        -2.4064,
        -0.8219,
        1.547,
        -1.4146,
        -0.7726,
        -0.2225,
        2.7313,
        -0.7596,
        0.1093,
        -3.55
      ],
      "trade_plan": {
        "bias": "NEUTRAL",
        "entry_zone": {},
        "entry_trigger": "",
        "stop": null,
        "stop_basis": "Ice低点 - 1×ATR缓冲（结构性止损）",
        "adaptive_stop": null,
        "adaptive_stop_basis": null,
        "targets": [],
        "risk_reward": null,
        "entry_status": "NO_SETUP",
        "trigger_confirmed": false,
        "trigger_volume_ratio": 0.48,
        "time_stop_days": 30,
        "invalidation_signals": [
          "日线收盘跌破结构止损位",
          "突破后连续两日无法站稳Creek且成交量转弱",
          "确认链出现反向事件（UTAD/SOW/LPSY）"
        ],
        "caveats": [
          "阶段置信度低，偏向降至NEUTRAL，确认链不足",
          "多时间框架一致性不足（≤1/3），建议半仓或观望",
          "空仓计划：入场后30个交易日未按预期发展时执行时间止损复核"
        ]
      },
      "kelly_position": {
        "estimated_win_rate_pct": 40.0,
        "risk_reward_ratio": 2.0,
        "full_kelly_pct": 10.0,
        "half_kelly_pct": 5.0,
        "recommended_position_pct": 0.0,
        "risk_per_trade_pct": 2.5,
        "recommendation": "建议仓位 0.0%，止损风险待数据完整后计算",
        "caveats": [
          "胜率为规则推算，非回测统计值，仅供参考",
          "仓位上限20%防止单股过度集中",
          "实际仓位须结合个人风险承受力与整体组合"
        ],
        "risk_position_cap_pct": null
      },
      "conviction": {
        "event_coverage": "partial",
        "score": 24.9,
        "grade": "E",
        "action": "回避 (<35)",
        "components": {
          "technical_raw": 9.0,
          "fundamental": 24.5,
          "trade_rr": 5,
          "relative_strength_excess_1m": null,
          "event_status": "available",
          "market_regime": "unknown",
          "raw_before_haircut": 38.5,
          "haircut_factor": 0.648
        },
        "haircut_notes": [
          "阶段置信度低 → ×0.8",
          "基准相对强度不可用 → ×0.9",
          "事件风险未知 → ×0.9"
        ]
      },
      "quadrant": {
        "quadrant": "Q2?",
        "label": "⚠️ 等时机/逢低买（信号弱，待确认）",
        "reason": "好公司 + 弱趋势/低位 — 阶段置信度低，需确认链/多周期验证后再行动",
        "low_confidence": true
      },
      "catalyst_warning": null,
      "forecast_30d": {
        "status": "available",
        "horizon_trading_days": 30,
        "model_version": "rule-v3.6.1",
        "feature_version": "features-v1",
        "calibration_version": "9股306窗口3轮回测校准(2026-08-18)",
        "edge_label": "weak_edge",
        "sample_size": 0,
        "confidence_interval": null,
        "direction": "上行",
        "direction_reasons": {
          "momentum_slope_20d": 0.1101,
          "momentum_vote": "上行",
          "structure": "Accumulation",
          "structure_vote": "上行",
          "bias": "NEUTRAL",
          "bias_vote": "中性",
          "total_score": 1.5
        },
        "probability": 0.53,
        "probability_basis": "9股306窗口3轮回测校准(2026-08-18)",
        "target_price": 19.31,
        "target_pct": 9.4,
        "basis": "20日动量外推（收缩0.5）",
        "clamped": false,
        "max_monthly_move_pct": 15,
        "extended_target": 18.86,
        "reference_range": {
          "low": 18.57,
          "high": 20.05
        },
        "levels": {
          "creek_high": 18.86,
          "ice_low": 14.88,
          "markup_1x": 25.38,
          "markdown_1x": 9.63
        },
        "momentum_slope_20d": 0.1101,
        "caveats": [
          "这是基于历史价量与Wyckoff结构的统计推断，不是承诺或投资建议。",
          "目标价位为方向性参考，未包含未来财报、公告、政策等事件冲击。",
          "方向概率为定性估计（53%），应结合确认链和事件面复核。"
        ]
      },
      "data_quality": {
        "quality_score": 100,
        "recommendation": "clean",
        "gate_status": "clean",
        "message": "数据完整性良好，可执行完整分析。",
        "issues": [],
        "warnings": [],
        "structural_issues": [],
        "missing_fundamentals": [],
        "present_fundamentals": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "debtToEquity",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "coverage_ratio": 1.0,
        "fundamental_mode": "full",
        "can_analyze": true,
        "can_execute": true,
        "stale_days": 1,
        "zero_volume_ratio": 0.0,
        "quality_scope": "OHLCV完整性评分；与 four_master.coverage 及 event_overlay.status 分开",
        "fm_coverage_explanation": "full（核心字段覆盖100%，缺失字段视为未知，不视为无风险）",
        "field_sources": {
          "industry": "yfinance",
          "sector": "yfinance",
          "beta": "yfinance",
          "trailingPE": "yfinance",
          "forwardPE": "yfinance",
          "marketCap": "yfinance",
          "profitMargins": "yfinance",
          "sharesOutstanding": "yfinance",
          "impliedSharesOutstanding": "yfinance",
          "priceToBook": "yfinance",
          "pegRatio": "yfinance",
          "currentPrice": "yfinance",
          "debtToEquity": "yfinance",
          "returnOnAssets": "yfinance",
          "returnOnEquity": "yfinance",
          "earningsGrowth": "yfinance",
          "revenueGrowth": "yfinance",
          "grossMargins": "yfinance",
          "operatingMargins": "yfinance",
          "regularMarketPrice": "yfinance",
          "pe_trailing": "yfinance",
          "pe_forward": "yfinance",
          "revenue_growth": "yfinance",
          "earnings_growth": "yfinance",
          "debt_to_equity": "yfinance",
          "return_on_equity": "yfinance",
          "return_on_assets": "yfinance",
          "gross_margins": "yfinance",
          "operating_margins": "yfinance",
          "profit_margins": "yfinance",
          "market_cap": "yfinance",
          "current_price": "yfinance",
          "price_to_book": "yfinance",
          "shares_outstanding": "yfinance",
          "implied_shares_outstanding": "yfinance",
          "50ma": "yfinance",
          "200ma": "yfinance"
        }
      },
      "data_fetched_at": "2026-08-19 23:18:15",
      "data_as_of": "2026-08-18",
      "data_source": "Tiingo (OHLCV, adjusted) + Finnhub (news/sentiment)",
      "ohlcv_source": "tiingo",
      "ohlcv_adjustment": "adjusted_ohlc",
      "date_convention": "ISO-8601 trading date; source exchange timezone",
      "field_sources": {
        "industry": "yfinance",
        "sector": "yfinance",
        "beta": "yfinance",
        "trailingPE": "yfinance",
        "forwardPE": "yfinance",
        "marketCap": "yfinance",
        "profitMargins": "yfinance",
        "sharesOutstanding": "yfinance",
        "impliedSharesOutstanding": "yfinance",
        "priceToBook": "yfinance",
        "pegRatio": "yfinance",
        "currentPrice": "yfinance",
        "debtToEquity": "yfinance",
        "returnOnAssets": "yfinance",
        "returnOnEquity": "yfinance",
        "earningsGrowth": "yfinance",
        "revenueGrowth": "yfinance",
        "grossMargins": "yfinance",
        "operatingMargins": "yfinance",
        "regularMarketPrice": "yfinance",
        "pe_trailing": "yfinance",
        "pe_forward": "yfinance",
        "revenue_growth": "yfinance",
        "earnings_growth": "yfinance",
        "debt_to_equity": "yfinance",
        "return_on_equity": "yfinance",
        "return_on_assets": "yfinance",
        "gross_margins": "yfinance",
        "operating_margins": "yfinance",
        "profit_margins": "yfinance",
        "market_cap": "yfinance",
        "current_price": "yfinance",
        "price_to_book": "yfinance",
        "shares_outstanding": "yfinance",
        "implied_shares_outstanding": "yfinance",
        "50ma": "yfinance",
        "200ma": "yfinance"
      },
      "provider_status": {
        "ohlcv": "tiingo",
        "yfinance": "ok",
        "finnhub": "ok"
      },
      "event_news": null,
      "disclaimer": "本结果为技术面研究框架的机械输出，基于历史价量+滞后财报，事件数据缺失时不得解释为没有风险；非投资建议，据此操作风险自负。"
    },
    {
      "ticker": "COHR",
      "name": "COHR",
      "current_price": 306.43,
      "year_high": 440.0,
      "year_low": 84.35,
      "year_high_date": "2026-06-03",
      "year_low_date": "2025-08-20",
      "pct_from_high": -30.36,
      "pct_from_low": 263.28,
      "range_position": 62.4,
      "ma50": 334.49,
      "ma200": 267.48,
      "vs_ma50": -8.39,
      "vs_ma200": 14.56,
      "ma_trend": "Strong Uptrend",
      "pe_trailing": 71.94985,
      "pe_forward": 21.209135,
      "beta": 2.107,
      "dividend_yield": null,
      "revenue_growth": 0.337,
      "earnings_growth": 0.73,
      "debt_to_equity": 31.612,
      "profit_margins": 0.11309,
      "market_cap": 57910312960,
      "sector": "Technology",
      "industry": "Scientific & Technical Instruments",
      "phase": "Correction / Re-accumulation?",
      "phase_detail": "Distribution · Phase D",
      "phase_confidence": "low",
      "wyckoff_schematic": {
        "structure": "Distribution",
        "sub_phase": "D",
        "phase_label": "Phase D — markdown beginning (SOW confirmed, LPSY forming)",
        "sub_phase_label": "Phase D — markdown beginning (SOW confirmed, LPSY forming)",
        "setup": "主跌前夜：LPSY 缩量反弹至 Ice 下方是做空/离场点",
        "next_expected": "LPSY 后放量跌破 Ice → 进入 Phase E 主跌",
        "confidence": "high",
        "contradiction": null,
        "evidence": [
          "BC/PSY 滞涨",
          "AR 自动回调",
          "ST 缩量反弹",
          "SOW 放量破位",
          "LPSY 缩量反弹"
        ],
        "summary": "Distribution · Phase D — markdown beginning (SOW confirmed, LPSY forming)"
      },
      "decision_phase": "Distribution · Phase D — markdown beginning (SOW confirmed, LPSY forming)",
      "phase_conflict": true,
      "phase_conflict_reason": "coarse_phase=Correction / Re-accumulation? 与 schematic=Distribution 不一致",
      "vol_on_decline_ratio": 1.22,
      "supply_demand_index": {
        "latest_20d_ratio": 0.706,
        "sd_trend": "falling",
        "interpretation": "Supply dominant",
        "daily_ratios": [
          0.979,
          0.888,
          0.788,
          0.795,
          0.671,
          0.563,
          0.656,
          0.676,
          0.78,
          0.771,
          0.74,
          0.809,
          0.868,
          0.774,
          0.854,
          0.938,
          0.828,
          0.756,
          0.828,
          0.706
        ]
      },
      "recent_trend_20d": -1.85,
      "vol_trend_20d": 51.9,
      "quarterly_returns": [
        -18.84,
        51.12,
        63.1,
        61.05
      ],
      "top_vol_events": [
        {
          "date": "2026-03-20",
          "type": "SC",
          "close": 253.63,
          "volume": 51484838,
          "vol_mult": 9.3,
          "pct_change": -7.96,
          "idx": 172
        },
        {
          "date": "2025-08-14",
          "type": "SC",
          "close": 91.65,
          "volume": 28971756,
          "vol_mult": 5.23,
          "pct_change": -19.61,
          "idx": 22
        },
        {
          "date": "2026-02-27",
          "type": "HIGH_VOL",
          "close": 258.93,
          "volume": 15226141,
          "vol_mult": 2.75,
          "pct_change": 3.51,
          "idx": 157
        },
        {
          "date": "2026-02-04",
          "type": "SC",
          "close": 211.0,
          "volume": 13363059,
          "vol_mult": 2.41,
          "pct_change": -7.93,
          "idx": 141
        },
        {
          "date": "2026-08-13",
          "type": "SC",
          "close": 327.23,
          "volume": 13072466,
          "vol_mult": 2.36,
          "pct_change": -7.99,
          "idx": 272
        }
      ],
      "post_climax_analysis": [
        {
          "event_date": "2026-03-20",
          "event_type": "SC",
          "next_date": "2026-03-23",
          "next_pct": 0.56,
          "next_vol_mult": 1.66
        },
        {
          "event_date": "2025-08-14",
          "event_type": "SC",
          "next_date": "2025-08-15",
          "next_pct": 1.91,
          "next_vol_mult": 1.62
        },
        {
          "event_date": "2026-02-27",
          "event_type": "HIGH_VOL",
          "next_date": "2026-03-02",
          "next_pct": 15.44,
          "next_vol_mult": 1.85
        },
        {
          "event_date": "2026-02-04",
          "event_type": "SC",
          "next_date": "2026-02-05",
          "next_pct": -0.83,
          "next_vol_mult": 2.32
        },
        {
          "event_date": "2026-08-13",
          "event_type": "SC",
          "next_date": "2026-08-14",
          "next_pct": -0.43,
          "next_vol_mult": 1.58
        }
      ],
      "effort_vs_result": {
        "date": "2026-03-20",
        "volume_mult": 9.3,
        "price_change_pct": -7.96,
        "interpretation": "SC"
      },
      "trading_range_60d": {
        "high": 440.0,
        "low": 220.68,
        "range_pct": 99.38
      },
      "creek_ice": {
        "creek": {
          "high": 440.0,
          "low": 439.68,
          "confidence": "low"
        },
        "ice": {
          "high": 343.51,
          "low": 335.48,
          "confidence": "moderate"
        },
        "price_vs_creek": "below_zone -30.3%",
        "price_vs_ice": "below_zone -8.7%"
      },
      "cause_effect": {
        "trading_range": {
          "high": 440.0,
          "low": 215.55,
          "width_pct": 104.1,
          "cause_volume_multiplier": 1.0
        },
        "markup_targets": [
          {
            "level": "1.0x",
            "price": 664.45,
            "pct_from_current": 116.8
          },
          {
            "level": "1.618x",
            "price": 803.16,
            "pct_from_current": 162.1
          },
          {
            "level": "2.0x",
            "price": 888.9,
            "pct_from_current": 190.1
          }
        ],
        "markdown_targets": [
          {
            "level": "1.0x",
            "price": -8.9,
            "pct_from_current": -102.9
          },
          {
            "level": "1.618x",
            "price": -147.61,
            "pct_from_current": -148.2
          },
          {
            "level": "2.0x",
            "price": -233.35,
            "pct_from_current": -176.2
          }
        ],
        "strongest_sos": {
          "date": "2026-08-07",
          "close": 379.13,
          "pct": 13.437256896654887,
          "vol_ratio": 1.6290268564370438
        },
        "strongest_sow": {
          "date": "2026-08-10",
          "close": 325.15,
          "pct": 14.237860364518774,
          "vol_ratio": 1.4247656445568213
        }
      },
      "pnf_target": {
        "method": "P&F横向计数法（简化估算）",
        "box_size": 3.278,
        "box_size_pct": 1.0,
        "reversal_boxes": 3,
        "estimated_columns": 37,
        "range_high": 440.0,
        "range_low": 215.55,
        "target_distance": 363.83,
        "markup_target": 803.83,
        "markup_upside_pct": 162.3,
        "markdown_target": -148.28,
        "markdown_downside_pct": -148.4,
        "note": "简化估算；精确P&F需逐笔构建。与cause_effect结果交叉验证：二者一致时置信度更高。"
      },
      "multi_timeframe": {
        "monthly": {
          "trend": "Strong Bull",
          "change_pct": 22.5,
          "lookback_days": 120
        },
        "weekly": {
          "position_pct": 59.5,
          "structure": "Mid-range — Phase B building cause",
          "volume_trend": "expanding",
          "weeks_analyzed": 12
        },
        "daily": {
          "position_pct": 50.2,
          "volume_trend": "rising",
          "signal": "Neutral — no clear daily signal"
        },
        "alignment": "Two of three bullish — high confidence, normal position",
        "bullish_count": 2,
        "bearish_count": 0,
        "monthly_veto": false
      },
      "confirmation_chain": {
        "confirmed_links": 5,
        "dominant_structure": "distribution",
        "confidence": "high",
        "note": "",
        "accumulation": {
          "chain": {
            "SC": true,
            "SC_context": "post_distribution: 此SC出现在分布阶段后，是Mark Down中的卖出高潮，尚不构成积累起点；需等AR→ST序列才能确认积累Phase A",
            "AR": {
              "found": true,
              "date": "2026-03-24",
              "pct": 7.37
            },
            "ST": {
              "found": true,
              "date": "2026-03-25",
              "vol_ratio": 0.96
            },
            "Spring": {
              "found": true,
              "date": "2026-03-30",
              "break_low": 215.55,
              "recovery_date": "2026-04-01"
            },
            "SOS": {
              "found": false
            },
            "BUEC": {
              "found": false
            },
            "LPS": {
              "found": false
            },
            "JOC": {
              "found": false
            }
          },
          "chain_complete": 4,
          "verdict": "Chain partial — key links present but gaps remain"
        },
        "distribution": {
          "chain": {
            "BC": true,
            "AR": {
              "found": true,
              "date": "2026-08-13",
              "pct": -7.99
            },
            "ST": {
              "found": true,
              "date": "2026-08-17",
              "vol_ratio": 1.55
            },
            "UTAD": {
              "found": false
            },
            "SOW": {
              "found": true,
              "date": "2026-07-28",
              "close": 243.33,
              "vol_ratio": 1.51
            },
            "LPSY": {
              "found": true,
              "date": "2026-07-23",
              "close": 313.22
            }
          },
          "chain_complete": 5,
          "verdict": "Chain confirmed — Distribution structure complete"
        }
      },
      "ps_psy": {
        "PS": {
          "date": "2025-11-05",
          "close": 134.63,
          "vol_ratio": 1.58,
          "decline_pct": 69.4,
          "close_position": 0.65
        },
        "PSY": {
          "date": "2026-03-04",
          "close": 274.86,
          "vol_ratio": 1.9,
          "advance_pct": 24.6,
          "close_position": 0.36
        }
      },
      "spring_classification": {
        "type": "Spring",
        "events": [
          {
            "date": "2026-03-27",
            "low": 239.39,
            "pct_below_sc": 0.7,
            "vol_ratio": 0.98,
            "recovery_date": "2026-03-27",
            "recovery_close": 243.48
          }
        ],
        "interpretation": "Spring detected: 2026-03-27 broke SC low by 0.7%, recovered by 2026-03-27. Volume 0.98x avg (< 50% of SC vol). STRONG ACCUMULATION SIGNAL — CO engineered false breakdown to trigger stops. Buy on LPS pullback.",
        "signal": "STRONG_BUY"
      },
      "co_intent": {
        "phase": "Correction / Re-accumulation?",
        "co_goal": "Unclear — waiting for structure to develop",
        "co_behavior": "Likely testing both sides, building cause",
        "retail_behavior": "Confused, range-bound trading",
        "verification": "No clear phase — insufficient data for CO intent",
        "contradiction": null
      },
      "trapped_traders": {
        "events": [
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 228.23,
            "breakdown_close": 222.05,
            "next_close": 249.06,
            "stop_cluster_above": 235.08,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          },
          {
            "date": "2026-08-06",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 335.48,
            "breakdown_close": 334.22,
            "next_close": 379.13,
            "stop_cluster_above": 345.54,
            "fuel_for": "Mark Up",
            "severity": "moderate"
          },
          {
            "date": "2026-08-07",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 354.47,
            "breakout_close": 379.13,
            "next_close": 325.15,
            "stop_cluster_below": 343.84,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-08-11",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 335.48,
            "breakdown_close": 328.57,
            "next_close": 355.64,
            "stop_cluster_above": 345.54,
            "fuel_for": "Mark Up",
            "severity": "high"
          },
          {
            "date": "2026-08-14",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 335.48,
            "breakdown_close": 325.83,
            "next_close": 351.22,
            "stop_cluster_above": 345.54,
            "fuel_for": "Mark Up",
            "severity": "high"
          }
        ],
        "active_traps": [
          {
            "date": "2026-07-29",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 228.23,
            "breakdown_close": 222.05,
            "next_close": 249.06,
            "stop_cluster_above": 235.08,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          },
          {
            "date": "2026-08-07",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 354.47,
            "breakout_close": 379.13,
            "next_close": 325.15,
            "stop_cluster_below": 343.84,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-08-14",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 335.48,
            "breakdown_close": 325.83,
            "next_close": 351.22,
            "stop_cluster_above": 345.54,
            "fuel_for": "Mark Up",
            "severity": "high"
          }
        ],
        "summary": "7 false breakouts in last 60 days"
      },
      "character_change": {
        "detected": false,
        "changes": [],
        "quarterly_metrics": [
          {
            "period": "2026-05-22 to 2026-08-18",
            "up_down_vol_ratio": 0.961,
            "avg_pullback_pct": 12.58,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2026-02-26 to 2026-05-21",
            "up_down_vol_ratio": 0.79,
            "avg_pullback_pct": 8.7,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-11-28 to 2026-02-25",
            "up_down_vol_ratio": 0.919,
            "avg_pullback_pct": 6.39,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-09-04 to 2025-11-26",
            "up_down_vol_ratio": 1.006,
            "avg_pullback_pct": 6.69,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          }
        ],
        "interpretation": "No structural change detected — phase continuity likely"
      },
      "volume_by_price": {
        "window": "2026-02-26 to 2026-08-18",
        "price_range": "215.55 - 440.0",
        "current_zone": "Normal volume zone",
        "HVN": [
          {
            "price_low": 249.22,
            "price_high": 260.44,
            "volume": 88642897.0
          },
          {
            "price_low": 238.0,
            "price_high": 249.22,
            "volume": 70912018.0
          },
          {
            "price_low": 260.44,
            "price_high": 271.66,
            "volume": 62589433.0
          }
        ],
        "LVN": [
          {
            "price_low": 417.56,
            "price_high": 428.78,
            "volume": 8433604.0
          },
          {
            "price_low": 215.55,
            "price_high": 226.77,
            "volume": 6674789.0
          },
          {
            "price_low": 428.78,
            "price_high": 440.0,
            "volume": 4869151.0
          }
        ],
        "bins": [
          {
            "price_low": 215.55,
            "price_high": 226.77,
            "volume": 6674789.0
          },
          {
            "price_low": 226.77,
            "price_high": 238.0,
            "volume": 19677670.0
          },
          {
            "price_low": 238.0,
            "price_high": 249.22,
            "volume": 70912018.0
          },
          {
            "price_low": 249.22,
            "price_high": 260.44,
            "volume": 88642897.0
          },
          {
            "price_low": 260.44,
            "price_high": 271.66,
            "volume": 62589433.0
          },
          {
            "price_low": 271.66,
            "price_high": 282.89,
            "volume": 49696688.0
          },
          {
            "price_low": 282.88,
            "price_high": 294.11,
            "volume": 27926282.0
          },
          {
            "price_low": 294.11,
            "price_high": 305.33,
            "volume": 24629177.0
          },
          {
            "price_low": 305.33,
            "price_high": 316.55,
            "volume": 50064041.0
          },
          {
            "price_low": 316.55,
            "price_high": 327.78,
            "volume": 58846155.0
          },
          {
            "price_low": 327.77,
            "price_high": 339.0,
            "volume": 61501473.0
          },
          {
            "price_low": 339.0,
            "price_high": 350.22,
            "volume": 60809222.0
          },
          {
            "price_low": 350.22,
            "price_high": 361.44,
            "volume": 56058394.0
          },
          {
            "price_low": 361.44,
            "price_high": 372.67,
            "volume": 41718868.0
          },
          {
            "price_low": 372.67,
            "price_high": 383.89,
            "volume": 51066538.0
          },
          {
            "price_low": 383.89,
            "price_high": 395.11,
            "volume": 44396445.0
          },
          {
            "price_low": 395.11,
            "price_high": 406.33,
            "volume": 23673450.0
          },
          {
            "price_low": 406.33,
            "price_high": 417.56,
            "volume": 17056021.0
          },
          {
            "price_low": 417.56,
            "price_high": 428.78,
            "volume": 8433604.0
          },
          {
            "price_low": 428.78,
            "price_high": 440.0,
            "volume": 4869151.0
          }
        ]
      },
      "stop_hunts": {
        "events": [],
        "count": 0,
        "implication": "No stop hunt patterns detected"
      },
      "four_master": {
        "duan_yongping": {
          "score": 3.0,
          "rating": 3.0,
          "max": 6,
          "details": [
            "→ 行业阈值: 科技软件：高毛利护城河，低杠杆优先",
            "⚠️ 毛利率 37.5% — 中等定价能力",
            "❌ ROE 8.0% — 资本效率低",
            "⚠️ D/E 31.6% — 适度杠杆",
            "❌ OCF/NI 0.10 — 盈利质量差，警惕应收款膨胀",
            "✅ 净利率 11.3% > 10%",
            "✅ 营收增速 33.7% > 5%"
          ],
          "industry_profile": "科技软件：高毛利护城河，低杠杆优先"
        },
        "buffett": {
          "score": 1.0,
          "rating": 2.0,
          "max": 4,
          "details": [
            "✅ PEG 0.92 < 1.2 — 合理成长溢价",
            "❌ 负向股东收益 — 无安全边际",
            "→ PE交叉验证: 21.2（主要依赖PEG评分）",
            "⚠️ EV/EBITDA 43.5x > 20 — 高溢价",
            "→ D/E 31.6% — 杠杆适中"
          ]
        },
        "munger": {
          "score": 3.0,
          "rating": 4.0,
          "max": 4.5,
          "details": [
            "✅ 无明显财务困境信号",
            "⚠️ ROE/ROA=2.4x — 适度杠杆贡献",
            "⚠️ 毛利率 37% — 中等竞争地位",
            "⚠️ 1 项管理层风险 — 需监控",
            "✅ 盈利和营收双增长 — 护城河完好"
          ],
          "risks": [
            "自由现金流为负 — 现金消耗，可能需要摊薄融资"
          ]
        },
        "lilu": {
          "score": 3.5,
          "rating": 5.0,
          "max": 4,
          "details": [
            "✅ Revenue +34% — expanding",
            "✅ Earnings +73%",
            "⚠️ Beta 2.11 — highly volatile",
            "⚠️ Sector \"Technology\" — complex, requires deep expertise",
            "✅ In Technology with strong growth — aligned with progress"
          ]
        },
        "composite": 3.5,
        "coverage": "high",
        "coverage_note": "full（核心字段覆盖100%，缺失字段视为未知，不视为无风险）",
        "owner_earnings": {
          "method": "FCF-based",
          "owner_earnings": -649981632,
          "oe_yield": -1.12,
          "risk_free_comparison": "Negative: Owner earnings negative — no margin of safety",
          "details": [
            "Free Cash Flow: $-649,981,632",
            "FCF Yield: -1.12%",
            "Net Debt: $1,562,648,832"
          ]
        },
        "dcf": {
          "method": "DCF (FCF三情景)",
          "scenarios": {},
          "probability_weighted_value": null,
          "margin_of_safety": null,
          "recommendation": null,
          "caveats": [
            "亏损或无FCF股票建议用PS/EV-Sales估值替代"
          ],
          "sanity_check": {
            "status": "not_checked",
            "warnings": []
          },
          "error": "FCF非正，DCF不适用"
        },
        "breakdown": {
          "段永平_商业模式": 3.0,
          "巴菲特_估值": 2.0,
          "芒格_风险": 4.0,
          "李录_确定性": 5.0
        },
        "industry_profile": "科技软件：高毛利护城河，低杠杆优先"
      },
      "fundamental_quality": {
        "status": "complete",
        "coverage_ratio": 1.0,
        "present_fields": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "debtToEquity",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "missing_fields": [],
        "industry_key": "technology",
        "industry_required_metrics": [
          "arr",
          "netRevenueRetention",
          "customerConcentration",
          "freeCashflow"
        ],
        "industry_available_metrics": {
          "freeCashflow": -649981632
        },
        "industry_missing_metrics": [
          "arr",
          "netRevenueRetention",
          "customerConcentration"
        ],
        "flags": [
          "自由现金流为负"
        ],
        "caveats": []
      },
      "market_regime": {
        "status": "unavailable",
        "benchmark": null,
        "regime": "unknown",
        "trend": "unknown",
        "sma50": null,
        "sma200": null,
        "return_20d_pct": null,
        "return_60d_pct": null,
        "annualized_volatility_pct": null,
        "position_size_multiplier": 1.0,
        "caveats": [
          "基准数据少于60个交易日，无法可靠判断市场状态"
        ]
      },
      "relative_strength": {
        "status": "unavailable",
        "benchmark": null,
        "windows": {},
        "trend": "unknown",
        "rank": null,
        "caveats": [
          "缺少足够的标的或基准指数数据，未计算相对强度"
        ]
      },
      "event_overlay": {
        "status": "available",
        "coverage": "partial",
        "risk_level": "unknown",
        "catalysts": [],
        "risks": [],
        "news": [
          {
            "headline": "Wall Street Sinks as 30-Year Yield Hits 19-Year High, Chip Names Crumble",
            "source": "ChartMill",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=62931e0861f4d587e501c84a06cf467fff02e73396bc22fd37f2c5a19c943e4b",
            "category": "company"
          },
          {
            "headline": "Discover which S&P500 stocks are making waves on Tuesday.",
            "source": "ChartMill",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=0c34c0b3b03ebf33b5cdb2e2aa62df9dea0c5b400ba5098836973b6aae6b94b7",
            "category": "company"
          },
          {
            "headline": "Here’s How Much You Would Have Made Owning Coherent Stock In The Last 20 Years",
            "source": "Benzinga",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=6f73bc54df5b1d32e4595b1db64d95d2eef2f57462d082e7067913d099ce889e",
            "category": "company"
          },
          {
            "headline": "Stay informed with the top movers within the S&P500 index on Tuesday.",
            "source": "ChartMill",
            "date": "2026-08-19",
            "url": "https://finnhub.io/api/news?id=fca39c0b151eec8262878ba40ac18260199ffcf7927c70595271e1c7c746f5ee",
            "category": "company"
          },
          {
            "headline": "What's going on in today's session: S&P500 gap up and gap down stocks",
            "source": "ChartMill",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=9626c0be69139cdf2d6bf2fa947d6449bd83c3f1019a1f0e25e374ce40d657cc",
            "category": "company"
          },
          {
            "headline": "Coherent: AI Demand Is Outrunning Its Factories",
            "source": "SeekingAlpha",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=243f66202f5318fcd2bb54be24ece93941623c5771cd4711318fd9987e23581a",
            "category": "company"
          },
          {
            "headline": "Stocks making the biggest moves midday: Meta, Amylyx, Baidu, Klarna, Coherent, Sandisk & more",
            "source": "CNBC",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=c72c281529f57a71ec992c40b253a421c53b8fa4b522b66a5a9c0b159bc2e730",
            "category": "company"
          },
          {
            "headline": "Nasdaq Drops, Chip Stocks Crater As Bond Yields Bite: Stock Market Today",
            "source": "Benzinga",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=a1e896aa71ebecc79b309653ec4b85bc10559029986ca2b2de4dd3a0e243df93",
            "category": "company"
          },
          {
            "headline": "Get insights into the top movers in the S&P500 index of Tuesday's pre-market session.",
            "source": "ChartMill",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=3936e512a9b5c4ee4d76db468d0fde3622ff0d21217400bb9fb34ea96ffe8977",
            "category": "company"
          },
          {
            "headline": "Chip Rally Broadens: AI Infrastructure Supply-Chain Names Are Leading the Market",
            "source": "ChartMill",
            "date": "2026-08-18",
            "url": "https://finnhub.io/api/news?id=8b464cc9ba12dc7fc48f2f4bcd41991c3464a7427f3e8ec3c64de7216b8f61cc",
            "category": "company"
          }
        ],
        "sentiment": {
          "available": false,
          "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
        },
        "earnings": [
          {
            "period": null,
            "date": "2026-11-03",
            "actual": null,
            "estimate": null,
            "surprise": null,
            "surprise_percent": null,
            "symbol": "COHR",
            "status": "upcoming",
            "days_from_today": 76
          },
          {
            "period": "2026-06-30",
            "date": "2026-06-30",
            "actual": 1.74,
            "estimate": 1.6474,
            "surprise": 0.0926,
            "surprise_percent": 5.621,
            "symbol": "COHR",
            "status": "historical",
            "days_from_today": -50
          },
          {
            "period": "2026-03-31",
            "date": "2026-03-31",
            "actual": 1.41,
            "estimate": 1.4251,
            "surprise": -0.0151,
            "surprise_percent": -1.0596,
            "symbol": "COHR",
            "status": "historical",
            "days_from_today": -141
          },
          {
            "period": "2025-12-31",
            "date": "2025-12-31",
            "actual": 1.29,
            "estimate": 1.2318,
            "surprise": 0.0582,
            "surprise_percent": 4.7248,
            "symbol": "COHR",
            "status": "historical",
            "days_from_today": -231
          },
          {
            "period": "2025-09-30",
            "date": "2025-09-30",
            "actual": 1.16,
            "estimate": 1.0623,
            "surprise": 0.0977,
            "surprise_percent": 9.197,
            "symbol": "COHR",
            "status": "historical",
            "days_from_today": -323
          }
        ],
        "earnings_surprise": {
          "sample_size": 4,
          "positive_ratio": 0.75,
          "mean_surprise_pct": 4.621,
          "latest_surprise_pct": 5.621
        },
        "event_density": {
          "news_count": 10,
          "catalyst_count": 0,
          "risk_count": 0,
          "earnings_count": 5,
          "upcoming_earnings_count": 1
        },
        "event_factor": 0.2,
        "earnings_proximity": {
          "days": 76,
          "lock_new_entry": false
        },
        "conflicts": [],
        "caveats": [],
        "data_as_of": "2026-08-18"
      },
      "finnhub_news": [
        {
          "headline": "Wall Street Sinks as 30-Year Yield Hits 19-Year High, Chip Names Crumble",
          "source": "ChartMill",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=62931e0861f4d587e501c84a06cf467fff02e73396bc22fd37f2c5a19c943e4b",
          "category": "company"
        },
        {
          "headline": "Discover which S&P500 stocks are making waves on Tuesday.",
          "source": "ChartMill",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=0c34c0b3b03ebf33b5cdb2e2aa62df9dea0c5b400ba5098836973b6aae6b94b7",
          "category": "company"
        },
        {
          "headline": "Here’s How Much You Would Have Made Owning Coherent Stock In The Last 20 Years",
          "source": "Benzinga",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=6f73bc54df5b1d32e4595b1db64d95d2eef2f57462d082e7067913d099ce889e",
          "category": "company"
        },
        {
          "headline": "Stay informed with the top movers within the S&P500 index on Tuesday.",
          "source": "ChartMill",
          "date": "2026-08-19",
          "url": "https://finnhub.io/api/news?id=fca39c0b151eec8262878ba40ac18260199ffcf7927c70595271e1c7c746f5ee",
          "category": "company"
        },
        {
          "headline": "What's going on in today's session: S&P500 gap up and gap down stocks",
          "source": "ChartMill",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=9626c0be69139cdf2d6bf2fa947d6449bd83c3f1019a1f0e25e374ce40d657cc",
          "category": "company"
        },
        {
          "headline": "Coherent: AI Demand Is Outrunning Its Factories",
          "source": "SeekingAlpha",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=243f66202f5318fcd2bb54be24ece93941623c5771cd4711318fd9987e23581a",
          "category": "company"
        },
        {
          "headline": "Stocks making the biggest moves midday: Meta, Amylyx, Baidu, Klarna, Coherent, Sandisk & more",
          "source": "CNBC",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=c72c281529f57a71ec992c40b253a421c53b8fa4b522b66a5a9c0b159bc2e730",
          "category": "company"
        },
        {
          "headline": "Nasdaq Drops, Chip Stocks Crater As Bond Yields Bite: Stock Market Today",
          "source": "Benzinga",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=a1e896aa71ebecc79b309653ec4b85bc10559029986ca2b2de4dd3a0e243df93",
          "category": "company"
        },
        {
          "headline": "Get insights into the top movers in the S&P500 index of Tuesday's pre-market session.",
          "source": "ChartMill",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=3936e512a9b5c4ee4d76db468d0fde3622ff0d21217400bb9fb34ea96ffe8977",
          "category": "company"
        },
        {
          "headline": "Chip Rally Broadens: AI Infrastructure Supply-Chain Names Are Leading the Market",
          "source": "ChartMill",
          "date": "2026-08-18",
          "url": "https://finnhub.io/api/news?id=8b464cc9ba12dc7fc48f2f4bcd41991c3464a7427f3e8ec3c64de7216b8f61cc",
          "category": "company"
        }
      ],
      "finnhub_sentiment": {
        "available": false,
        "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
      },
      "finnhub_earnings": [
        {
          "period": null,
          "date": "2026-11-03",
          "actual": null,
          "estimate": null,
          "surprise": null,
          "surprise_percent": null,
          "symbol": "COHR",
          "status": "upcoming"
        },
        {
          "period": "2026-06-30",
          "date": "2026-06-30",
          "actual": 1.74,
          "estimate": 1.6474,
          "surprise": 0.0926,
          "surprise_percent": 5.621,
          "symbol": "COHR",
          "status": "historical"
        },
        {
          "period": "2026-03-31",
          "date": "2026-03-31",
          "actual": 1.41,
          "estimate": 1.4251,
          "surprise": -0.0151,
          "surprise_percent": -1.0596,
          "symbol": "COHR",
          "status": "historical"
        },
        {
          "period": "2025-12-31",
          "date": "2025-12-31",
          "actual": 1.29,
          "estimate": 1.2318,
          "surprise": 0.0582,
          "surprise_percent": 4.7248,
          "symbol": "COHR",
          "status": "historical"
        },
        {
          "period": "2025-09-30",
          "date": "2025-09-30",
          "actual": 1.16,
          "estimate": 1.0623,
          "surprise": 0.0977,
          "surprise_percent": 9.197,
          "symbol": "COHR",
          "status": "historical"
        }
      ],
      "portfolio_risk": {
        "status": "no_portfolio_supplied",
        "total_value": null,
        "sector_weights_pct": {},
        "concentrated_sectors": {},
        "correlations_20d": {
          "AMD:SOFI": 0.564,
          "AMD:COHR": 0.598,
          "AMD:OSCR": -0.005,
          "SOFI:COHR": 0.562,
          "SOFI:OSCR": 0.162,
          "COHR:OSCR": -0.011
        },
        "warnings": [],
        "limits": {
          "max_single_position_pct": 20.0,
          "max_sector_weight_pct": 35.0,
          "max_correlation_for_new_add": 0.8
        }
      },
      "position_constraint": {
        "position_cap_pct": null,
        "stop_distance_pct": null,
        "risk_at_cap_pct": null,
        "status": "unavailable",
        "reason": "缺少有效当前价或结构止损，无法计算仓位上限",
        "caveat": "这不是零仓位建议，而是没有有效交易计划",
        "market_regime_multiplier": 1.0
      },
      "context": {
        "horizon": "swing",
        "holding_status": "empty",
        "position_pct": 0.0,
        "risk_per_trade_pct": 1.0,
        "benchmark": null,
        "objective": "entry",
        "max_single_position_pct": 20.0,
        "max_sector_weight_pct": 35.0
      },
      "return_series_20d": [
        -1.5857,
        0.3299,
        -9.8429,
        -3.9237,
        -10.3129,
        -8.7453,
        12.1639,
        5.5529,
        9.6048,
        12.3516,
        1.387,
        1.828,
        13.4373,
        -14.2379,
        1.0518,
        8.2387,
        -7.9884,
        -0.4278,
        7.7924,
        -12.7527
      ],
      "trade_plan": {
        "bias": "NEUTRAL",
        "entry_zone": {},
        "entry_trigger": "",
        "stop": null,
        "stop_basis": "Ice低点 - 1×ATR缓冲（结构性止损）",
        "adaptive_stop": null,
        "adaptive_stop_basis": null,
        "targets": [],
        "risk_reward": null,
        "entry_status": "NO_SETUP",
        "trigger_confirmed": false,
        "trigger_volume_ratio": 1.31,
        "time_stop_days": 30,
        "invalidation_signals": [
          "日线收盘跌破结构止损位",
          "突破后连续两日无法站稳Creek且成交量转弱",
          "确认链出现反向事件（UTAD/SOW/LPSY）"
        ],
        "caveats": [
          "阶段置信度低，偏向降至NEUTRAL，确认链不足",
          "空仓计划：入场后30个交易日未按预期发展时执行时间止损复核"
        ]
      },
      "kelly_position": {
        "estimated_win_rate_pct": 50.0,
        "risk_reward_ratio": 2.0,
        "full_kelly_pct": 25.0,
        "half_kelly_pct": 12.5,
        "recommended_position_pct": 0.0,
        "risk_per_trade_pct": 6.25,
        "recommendation": "建议仓位 0.0%，止损风险待数据完整后计算",
        "caveats": [
          "胜率为规则推算，非回测统计值，仅供参考",
          "仓位上限20%防止单股过度集中",
          "实际仓位须结合个人风险承受力与整体组合"
        ],
        "risk_position_cap_pct": null
      },
      "conviction": {
        "event_coverage": "partial",
        "score": 33.6,
        "grade": "E",
        "action": "回避 (<35)",
        "components": {
          "technical_raw": 25.0,
          "fundamental": 21.9,
          "trade_rr": 5,
          "relative_strength_excess_1m": null,
          "event_status": "available",
          "market_regime": "unknown",
          "raw_before_haircut": 51.9,
          "haircut_factor": 0.648
        },
        "haircut_notes": [
          "阶段置信度低 → ×0.8",
          "基准相对强度不可用 → ×0.9",
          "事件风险未知 → ×0.9"
        ]
      },
      "quadrant": {
        "quadrant": "Q2",
        "label": "⚠️ 等时机/逢低买（结构转派发，先观望）",
        "reason": "好公司 + 强趋势 — 阶段置信度低，需确认链/多周期验证后再行动 — 但子阶段为 Distribution · Phase D — markdown beginning (SOW confirmed, LPSY forming)，技术面已转派发，象限由 Q1 下调至 Q2",
        "low_confidence": true,
        "schematic_override": true
      },
      "catalyst_warning": null,
      "forecast_30d": {
        "status": "available",
        "horizon_trading_days": 30,
        "model_version": "rule-v3.6.1",
        "feature_version": "features-v1",
        "calibration_version": "9股306窗口3轮回测校准(2026-08-18)",
        "edge_label": "no_edge",
        "sample_size": 0,
        "confidence_interval": null,
        "direction": "震荡",
        "direction_reasons": {
          "momentum_slope_20d": 4.0344,
          "momentum_vote": "上行",
          "structure": "Distribution",
          "structure_vote": "下行",
          "bias": "NEUTRAL",
          "bias_vote": "中性",
          "total_score": 0.5
        },
        "probability": 0.5,
        "probability_basis": "9股306窗口3轮回测校准(2026-08-18)",
        "target_price": 306.43,
        "target_pct": 0.0,
        "basis": "方向信号不足，按区间震荡处理",
        "clamped": true,
        "max_monthly_move_pct": 15,
        "extended_target": null,
        "reference_range": {
          "low": 222.05,
          "high": 379.13
        },
        "levels": {
          "creek_high": 440.0,
          "ice_low": 335.48,
          "markup_1x": 664.45,
          "markdown_1x": -8.9
        },
        "momentum_slope_20d": 4.0344,
        "caveats": [
          "这是基于历史价量与Wyckoff结构的统计推断，不是承诺或投资建议。",
          "目标价位为方向性参考，未包含未来财报、公告、政策等事件冲击。",
          "方向概率为定性估计（50%），应结合确认链和事件面复核。",
          "结构目标 366.95 超出单月合理幅度（±15%），已收敛至 306.43；完整结构目标见 extended_target"
        ]
      },
      "data_quality": {
        "quality_score": 100,
        "recommendation": "clean",
        "gate_status": "clean",
        "message": "数据完整性良好，可执行完整分析。",
        "issues": [],
        "warnings": [],
        "structural_issues": [],
        "missing_fundamentals": [],
        "present_fundamentals": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "debtToEquity",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "coverage_ratio": 1.0,
        "fundamental_mode": "full",
        "can_analyze": true,
        "can_execute": true,
        "stale_days": 1,
        "zero_volume_ratio": 0.0,
        "quality_scope": "OHLCV完整性评分；与 four_master.coverage 及 event_overlay.status 分开",
        "fm_coverage_explanation": "full（核心字段覆盖100%，缺失字段视为未知，不视为无风险）",
        "field_sources": {
          "industry": "yfinance",
          "sector": "yfinance",
          "beta": "yfinance",
          "trailingPE": "yfinance",
          "forwardPE": "yfinance",
          "marketCap": "yfinance",
          "profitMargins": "yfinance",
          "sharesOutstanding": "yfinance",
          "impliedSharesOutstanding": "yfinance",
          "priceToBook": "yfinance",
          "pegRatio": "yfinance",
          "currentPrice": "yfinance",
          "debtToEquity": "yfinance",
          "returnOnAssets": "yfinance",
          "returnOnEquity": "yfinance",
          "revenueGrowth": "yfinance",
          "grossMargins": "yfinance",
          "operatingMargins": "yfinance",
          "earningsGrowth": "alpha_vantage",
          "evToEbitda": "alpha_vantage",
          "pe_trailing": "yfinance",
          "pe_forward": "yfinance",
          "revenue_growth": "yfinance",
          "earnings_growth": "alpha_vantage",
          "debt_to_equity": "yfinance",
          "return_on_equity": "yfinance",
          "return_on_assets": "yfinance",
          "gross_margins": "yfinance",
          "operating_margins": "yfinance",
          "profit_margins": "yfinance",
          "market_cap": "yfinance",
          "current_price": "yfinance",
          "ev_to_ebitda": "alpha_vantage",
          "price_to_book": "yfinance",
          "shares_outstanding": "yfinance",
          "implied_shares_outstanding": "yfinance",
          "50ma": "yfinance",
          "200ma": "yfinance"
        }
      },
      "data_fetched_at": "2026-08-19 23:18:08",
      "data_as_of": "2026-08-18",
      "data_source": "Tiingo (OHLCV, adjusted) + Alpha Vantage (US fundamentals) + Finnhub (news/sentiment)",
      "ohlcv_source": "tiingo",
      "ohlcv_adjustment": "adjusted_ohlc",
      "date_convention": "ISO-8601 trading date; source exchange timezone",
      "field_sources": {
        "industry": "yfinance",
        "sector": "yfinance",
        "beta": "yfinance",
        "trailingPE": "yfinance",
        "forwardPE": "yfinance",
        "marketCap": "yfinance",
        "profitMargins": "yfinance",
        "sharesOutstanding": "yfinance",
        "impliedSharesOutstanding": "yfinance",
        "priceToBook": "yfinance",
        "pegRatio": "yfinance",
        "currentPrice": "yfinance",
        "debtToEquity": "yfinance",
        "returnOnAssets": "yfinance",
        "returnOnEquity": "yfinance",
        "revenueGrowth": "yfinance",
        "grossMargins": "yfinance",
        "operatingMargins": "yfinance",
        "earningsGrowth": "alpha_vantage",
        "evToEbitda": "alpha_vantage",
        "pe_trailing": "yfinance",
        "pe_forward": "yfinance",
        "revenue_growth": "yfinance",
        "earnings_growth": "alpha_vantage",
        "debt_to_equity": "yfinance",
        "return_on_equity": "yfinance",
        "return_on_assets": "yfinance",
        "gross_margins": "yfinance",
        "operating_margins": "yfinance",
        "profit_margins": "yfinance",
        "market_cap": "yfinance",
        "current_price": "yfinance",
        "ev_to_ebitda": "alpha_vantage",
        "price_to_book": "yfinance",
        "shares_outstanding": "yfinance",
        "implied_shares_outstanding": "yfinance",
        "50ma": "yfinance",
        "200ma": "yfinance"
      },
      "provider_status": {
        "ohlcv": "tiingo",
        "yfinance": "ok",
        "alpha_vantage": "ok",
        "finnhub": "ok"
      },
      "event_news": null,
      "disclaimer": "本结果为技术面研究框架的机械输出，基于历史价量+滞后财报，事件数据缺失时不得解释为没有风险；非投资建议，据此操作风险自负。"
    },
    {
      "ticker": "OSCR",
      "name": "OSCR",
      "current_price": 31.28,
      "year_high": 33.27,
      "year_low": 10.69,
      "year_high_date": "2026-08-14",
      "year_low_date": "2026-03-30",
      "pct_from_high": -5.98,
      "pct_from_low": 192.61,
      "range_position": 91.2,
      "ma50": 29.71,
      "ma200": 19.51,
      "vs_ma50": 5.28,
      "vs_ma200": 60.35,
      "ma_trend": "Strong Uptrend",
      "pe_trailing": 24.253847,
      "pe_forward": 16.754345,
      "beta": 2.385,
      "dividend_yield": null,
      "revenue_growth": 0.704,
      "earnings_growth": 1.256,
      "debt_to_equity": null,
      "profit_margins": 0.036,
      "market_cap": 9731576832,
      "sector": "HEALTHCARE",
      "industry": "HEALTHCARE PLANS",
      "phase": "Mark Up",
      "phase_detail": "Accumulation · Phase C",
      "phase_confidence": "medium",
      "wyckoff_schematic": {
        "structure": "Accumulation",
        "sub_phase": "C",
        "phase_label": "Phase C — Spring/Shakeout (supply test)",
        "sub_phase_label": "Phase C — Spring/Shakeout (supply test)",
        "setup": "Spring 后是教科书级低吸点：止损放 Spring 低点下方，博弈 SOS 启动",
        "next_expected": "Spring 后应出现放量反弹（SOS 雏形），确认 CO 已完成洗盘",
        "confidence": "low",
        "contradiction": "确认链偏向 Distribution（acc=4/dist=6）但当前阶段为 Mark Up → 可能是旧结构残留或结构正在转换，置信度下调",
        "evidence": [
          "SC/PS 止跌",
          "AR 自动反弹",
          "ST 缩量回测",
          "Phase C 测试(Spring)"
        ],
        "summary": "Accumulation · Phase C — Spring/Shakeout (supply test)"
      },
      "decision_phase": "Accumulation · Phase C — Spring/Shakeout (supply test)",
      "phase_conflict": false,
      "phase_conflict_reason": null,
      "vol_on_decline_ratio": 0.93,
      "supply_demand_index": {
        "latest_20d_ratio": 1.1,
        "sd_trend": "falling",
        "interpretation": "Balanced",
        "daily_ratios": [
          0.985,
          1.005,
          0.945,
          0.765,
          0.913,
          0.84,
          0.761,
          0.814,
          0.853,
          0.913,
          0.903,
          0.763,
          0.996,
          0.909,
          0.97,
          1.045,
          1.27,
          1.286,
          1.223,
          1.1
        ]
      },
      "recent_trend_20d": 6.03,
      "vol_trend_20d": 4.02,
      "quarterly_returns": [
        38.16,
        62.08,
        -27.94,
        -1.2
      ],
      "top_vol_events": [
        {
          "date": "2025-07-22",
          "type": "BC",
          "close": 14.7,
          "volume": 82717535,
          "vol_mult": 6.89,
          "pct_change": 7.93,
          "idx": 5
        },
        {
          "date": "2025-07-18",
          "type": "HIGH_VOL",
          "close": 13.42,
          "volume": 65476680,
          "vol_mult": 5.45,
          "pct_change": -3.24,
          "idx": 3
        },
        {
          "date": "2025-11-24",
          "type": "BC",
          "close": 16.49,
          "volume": 58670763,
          "vol_mult": 4.89,
          "pct_change": 22.33,
          "idx": 93
        },
        {
          "date": "2025-07-23",
          "type": "BC",
          "close": 15.87,
          "volume": 50743639,
          "vol_mult": 4.23,
          "pct_change": 7.96,
          "idx": 6
        },
        {
          "date": "2025-11-10",
          "type": "SC",
          "close": 14.61,
          "volume": 49510162,
          "vol_mult": 4.12,
          "pct_change": -17.55,
          "idx": 83
        }
      ],
      "post_climax_analysis": [
        {
          "event_date": "2025-07-22",
          "event_type": "BC",
          "next_date": "2025-07-23",
          "next_pct": 7.96,
          "next_vol_mult": 4.23
        },
        {
          "event_date": "2025-07-18",
          "event_type": "HIGH_VOL",
          "next_date": "2025-07-21",
          "next_pct": 1.49,
          "next_vol_mult": 4.01
        },
        {
          "event_date": "2025-11-24",
          "event_type": "BC",
          "next_date": "2025-11-25",
          "next_pct": 1.46,
          "next_vol_mult": 1.14
        },
        {
          "event_date": "2025-07-23",
          "event_type": "BC",
          "next_date": "2025-07-24",
          "next_pct": -10.52,
          "next_vol_mult": 3.54
        },
        {
          "event_date": "2025-11-10",
          "event_type": "SC",
          "next_date": "2025-11-11",
          "next_pct": 1.64,
          "next_vol_mult": 1.42
        }
      ],
      "effort_vs_result": {
        "date": "2025-07-22",
        "volume_mult": 6.89,
        "price_change_pct": 7.93,
        "interpretation": "BC"
      },
      "trading_range_60d": {
        "high": 33.27,
        "low": 20.09,
        "range_pct": 65.6
      },
      "creek_ice": {
        "creek": {
          "high": 33.1,
          "low": 31.94,
          "confidence": "moderate"
        },
        "ice": {
          "high": 28.0,
          "low": 27.65,
          "confidence": "moderate"
        },
        "price_vs_creek": "below_zone -2.1%",
        "price_vs_ice": "above_zone +11.7%"
      },
      "cause_effect": {
        "trading_range": {
          "high": 33.27,
          "low": 10.69,
          "width_pct": 211.2,
          "cause_volume_multiplier": 1.0
        },
        "markup_targets": [
          {
            "level": "1.0x",
            "price": 55.85,
            "pct_from_current": 78.5
          },
          {
            "level": "1.618x",
            "price": 69.8,
            "pct_from_current": 123.2
          },
          {
            "level": "2.0x",
            "price": 78.43,
            "pct_from_current": 150.7
          }
        ],
        "markdown_targets": [
          {
            "level": "1.0x",
            "price": -11.89,
            "pct_from_current": -138.0
          },
          {
            "level": "1.618x",
            "price": -25.84,
            "pct_from_current": -182.6
          },
          {
            "level": "2.0x",
            "price": -34.47,
            "pct_from_current": -210.2
          }
        ],
        "strongest_sos": {
          "date": "2026-07-28",
          "close": 31.4,
          "pct": 10.797459421312627,
          "vol_ratio": 1.1001007879949938
        },
        "strongest_sow": {
          "date": "2026-08-06",
          "close": 26.54,
          "pct": 11.856526071072734,
          "vol_ratio": 2.402056749498869
        }
      },
      "pnf_target": {
        "method": "P&F横向计数法（简化估算）",
        "box_size": 0.22,
        "box_size_pct": 1.0,
        "reversal_boxes": 3,
        "estimated_columns": 24,
        "range_high": 33.27,
        "range_low": 10.69,
        "target_distance": 15.83,
        "markup_target": 49.1,
        "markup_upside_pct": 57.0,
        "markdown_target": -5.14,
        "markdown_downside_pct": -116.4,
        "note": "简化估算；精确P&F需逐笔构建。与cause_effect结果交叉验证：二者一致时置信度更高。"
      },
      "multi_timeframe": {
        "monthly": {
          "trend": "Strong Bull",
          "change_pct": 129.0,
          "lookback_days": 120
        },
        "weekly": {
          "position_pct": 86.9,
          "structure": "Near range high — potential Distribution or Mark Up extension",
          "volume_trend": "neutral",
          "weeks_analyzed": 12
        },
        "daily": {
          "position_pct": 74.8,
          "volume_trend": "normal",
          "signal": "Neutral — no clear daily signal"
        },
        "alignment": "One of three bullish — mixed signals, half position only",
        "bullish_count": 1,
        "bearish_count": 0,
        "monthly_veto": false
      },
      "confirmation_chain": {
        "confirmed_links": 6,
        "dominant_structure": "distribution",
        "confidence": "high",
        "note": "",
        "accumulation": {
          "chain": {
            "SC": true,
            "SC_context": "post_distribution: 此SC出现在分布阶段后，是Mark Down中的卖出高潮，尚不构成积累起点；需等AR→ST序列才能确认积累Phase A",
            "AR": {
              "found": true,
              "date": "2025-11-12",
              "pct": 3.35
            },
            "ST": {
              "found": true,
              "date": "2025-11-28",
              "vol_ratio": 0.5
            },
            "Spring": {
              "found": true,
              "date": "2025-11-13",
              "break_low": 13.81,
              "recovery_date": "2025-11-18"
            },
            "SOS": {
              "found": false
            },
            "BUEC": {
              "found": false
            },
            "LPS": {
              "found": false
            },
            "JOC": {
              "found": false
            }
          },
          "chain_complete": 4,
          "verdict": "Chain partial — key links present but gaps remain"
        },
        "distribution": {
          "chain": {
            "BC": true,
            "AR": {
              "found": true,
              "date": "2025-07-24",
              "pct": -3.4
            },
            "ST": {
              "found": true,
              "date": "2025-07-23",
              "vol_ratio": 4.23
            },
            "UTAD": {
              "found": true,
              "date": "2025-07-23",
              "break_high": 15.87,
              "reversal_date": "2025-07-24"
            },
            "SOW": {
              "found": true,
              "date": "2026-08-06",
              "close": 26.54,
              "vol_ratio": 1.35
            },
            "LPSY": {
              "found": true,
              "date": "2026-07-27",
              "close": 28.34
            }
          },
          "chain_complete": 6,
          "verdict": "Chain confirmed — Distribution structure complete"
        }
      },
      "ps_psy": {
        "PS": {
          "date": "2025-09-03",
          "close": 17.68,
          "vol_ratio": 1.61,
          "decline_pct": 46.9,
          "close_position": 0.89
        },
        "PSY": null
      },
      "spring_classification": {
        "type": "Spring",
        "events": [
          {
            "date": "2025-12-29",
            "low": 14.3,
            "pct_below_sc": 1.4,
            "vol_ratio": 0.68,
            "recovery_date": "2025-12-29",
            "recovery_close": 14.53
          },
          {
            "date": "2025-12-30",
            "low": 14.4,
            "pct_below_sc": 0.7,
            "vol_ratio": 0.43,
            "recovery_date": "2025-12-30",
            "recovery_close": 14.51
          },
          {
            "date": "2025-12-31",
            "low": 14.17,
            "pct_below_sc": 2.3,
            "vol_ratio": 0.52,
            "recovery_date": "2026-01-02",
            "recovery_close": 14.97
          },
          {
            "date": "2026-01-02",
            "low": 14.26,
            "pct_below_sc": 1.7,
            "vol_ratio": 0.47,
            "recovery_date": "2026-01-02",
            "recovery_close": 14.97
          }
        ],
        "interpretation": "Spring detected: 2026-01-02 broke SC low by 1.7%, recovered by 2026-01-02. Volume 0.47x avg (< 50% of SC vol). STRONG ACCUMULATION SIGNAL — CO engineered false breakdown to trigger stops. Buy on LPS pullback.",
        "signal": "STRONG_BUY"
      },
      "co_intent": {
        "phase": "Mark Up",
        "co_goal": "Let position run, manage pullbacks",
        "co_behavior": "Support dips, allow price to rise, absorb weak-hand selling",
        "retail_behavior": "Trend following, adding on dips",
        "verification": "Accumulation base confirmed — Mark Up has structural support",
        "contradiction": "S/D falling in Mark Up — supply entering, distribution may begin"
      },
      "trapped_traders": {
        "events": [
          {
            "date": "2026-06-23",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 29.81,
            "breakout_close": 29.93,
            "next_close": 29.16,
            "stop_cluster_below": 28.92,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-07-02",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 32.06,
            "breakout_close": 32.18,
            "next_close": 31.44,
            "stop_cluster_below": 31.1,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          },
          {
            "date": "2026-08-06",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 27.65,
            "breakdown_close": 26.54,
            "next_close": 27.9,
            "stop_cluster_above": 28.48,
            "fuel_for": "Mark Up",
            "severity": "high"
          },
          {
            "date": "2026-08-06",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 27.65,
            "breakdown_close": 26.54,
            "next_close": 27.9,
            "stop_cluster_above": 28.48,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          },
          {
            "date": "2026-08-14",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 31.94,
            "breakout_close": 32.76,
            "next_close": 31.55,
            "stop_cluster_below": 30.98,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          }
        ],
        "active_traps": [
          {
            "date": "2026-08-06",
            "type": "Spring (trapped sellers)",
            "breakdown_level": 27.65,
            "breakdown_close": 26.54,
            "next_close": 27.9,
            "stop_cluster_above": 28.48,
            "fuel_for": "Mark Up",
            "severity": "high"
          },
          {
            "date": "2026-08-06",
            "type": "False breakdown (trapped sellers)",
            "breakdown_level": 27.65,
            "breakdown_close": 26.54,
            "next_close": 27.9,
            "stop_cluster_above": 28.48,
            "fuel_for": "Short-term rally",
            "severity": "moderate"
          },
          {
            "date": "2026-08-14",
            "type": "False breakout (trapped buyers)",
            "breakout_level": 31.94,
            "breakout_close": 32.76,
            "next_close": 31.55,
            "stop_cluster_below": 30.98,
            "fuel_for": "Short-term decline",
            "severity": "moderate"
          }
        ],
        "summary": "6 false breakouts in last 60 days"
      },
      "character_change": {
        "detected": false,
        "changes": [],
        "quarterly_metrics": [
          {
            "period": "2026-05-22 to 2026-08-18",
            "up_down_vol_ratio": 1.195,
            "avg_pullback_pct": 5.95,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2026-02-26 to 2026-05-21",
            "up_down_vol_ratio": 1.039,
            "avg_pullback_pct": 6.71,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-11-28 to 2026-02-25",
            "up_down_vol_ratio": 1.217,
            "avg_pullback_pct": 8.26,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          },
          {
            "period": "2025-09-04 to 2025-11-26",
            "up_down_vol_ratio": 1.104,
            "avg_pullback_pct": 10.72,
            "avg_up_streak": 1,
            "avg_down_streak": 1
          }
        ],
        "interpretation": "No structural change detected — phase continuity likely"
      },
      "volume_by_price": {
        "window": "2026-02-26 to 2026-08-18",
        "price_range": "10.69 - 33.27",
        "current_zone": "Normal volume zone",
        "HVN": [
          {
            "price_low": 12.95,
            "price_high": 14.08,
            "volume": 92084452.0
          },
          {
            "price_low": 27.62,
            "price_high": 28.75,
            "volume": 68945030.0
          },
          {
            "price_low": 28.75,
            "price_high": 29.88,
            "volume": 67605185.0
          }
        ],
        "LVN": [
          {
            "price_low": 18.59,
            "price_high": 19.72,
            "volume": 18158431.0
          },
          {
            "price_low": 25.37,
            "price_high": 26.5,
            "volume": 17696602.0
          },
          {
            "price_low": 32.14,
            "price_high": 33.27,
            "volume": 11431194.0
          }
        ],
        "bins": [
          {
            "price_low": 10.69,
            "price_high": 11.82,
            "volume": 31760195.0
          },
          {
            "price_low": 11.82,
            "price_high": 12.95,
            "volume": 42904109.0
          },
          {
            "price_low": 12.95,
            "price_high": 14.08,
            "volume": 92084452.0
          },
          {
            "price_low": 14.08,
            "price_high": 15.21,
            "volume": 51100314.0
          },
          {
            "price_low": 15.21,
            "price_high": 16.34,
            "volume": 31900757.0
          },
          {
            "price_low": 16.34,
            "price_high": 17.46,
            "volume": 22590539.0
          },
          {
            "price_low": 17.46,
            "price_high": 18.59,
            "volume": 38234457.0
          },
          {
            "price_low": 18.59,
            "price_high": 19.72,
            "volume": 18158431.0
          },
          {
            "price_low": 19.72,
            "price_high": 20.85,
            "volume": 23121021.0
          },
          {
            "price_low": 20.85,
            "price_high": 21.98,
            "volume": 32188526.0
          },
          {
            "price_low": 21.98,
            "price_high": 23.11,
            "volume": 55400679.0
          },
          {
            "price_low": 23.11,
            "price_high": 24.24,
            "volume": 46281806.0
          },
          {
            "price_low": 24.24,
            "price_high": 25.37,
            "volume": 24301603.0
          },
          {
            "price_low": 25.37,
            "price_high": 26.5,
            "volume": 17696602.0
          },
          {
            "price_low": 26.5,
            "price_high": 27.63,
            "volume": 31538993.0
          },
          {
            "price_low": 27.62,
            "price_high": 28.75,
            "volume": 68945030.0
          },
          {
            "price_low": 28.75,
            "price_high": 29.88,
            "volume": 67605185.0
          },
          {
            "price_low": 29.88,
            "price_high": 31.01,
            "volume": 54987105.0
          },
          {
            "price_low": 31.01,
            "price_high": 32.14,
            "volume": 46842543.0
          },
          {
            "price_low": 32.14,
            "price_high": 33.27,
            "volume": 11431194.0
          }
        ]
      },
      "stop_hunts": {
        "events": [
          {
            "date": "2026-06-12",
            "type": "downside stop hunt",
            "level": "Ice low",
            "level_price": 27.65,
            "low": 27.52,
            "close": 28.26,
            "next_close": 29.14,
            "vol_ratio": 0.48
          },
          {
            "date": "2026-06-16",
            "type": "upside stop hunt",
            "level": "50DMA",
            "level_price": 29.71,
            "high": 29.81,
            "close": 28.56,
            "next_close": 28.27,
            "vol_ratio": 0.36
          },
          {
            "date": "2026-06-18",
            "type": "downside stop hunt",
            "level": "Ice low",
            "level_price": 27.65,
            "low": 27.57,
            "close": 28.4,
            "next_close": 28.54,
            "vol_ratio": 0.56
          },
          {
            "date": "2026-08-13",
            "type": "downside stop hunt",
            "level": "50DMA",
            "level_price": 29.71,
            "low": 29.61,
            "close": 30.78,
            "next_close": 32.76,
            "vol_ratio": 0.45
          },
          {
            "date": "2026-08-14",
            "type": "upside stop hunt",
            "level": "Creek high",
            "level_price": 33.1,
            "high": 33.27,
            "close": 32.76,
            "next_close": 31.55,
            "vol_ratio": 0.55
          }
        ],
        "count": 5,
        "implication": "CO actively engineering liquidity — confirms active smart money presence"
      },
      "four_master": {
        "duan_yongping": {
          "score": 3.0,
          "rating": 3.0,
          "max": 6,
          "details": [
            "→ 行业阈值: 通用默认阈值",
            "⚠️ 毛利率 20.2% — 中等定价能力",
            "✅ ROE 34.3% > 15% 行业优质线",
            "⚠️ ROE/ROA=7.7x > 4 — ROE靠杠杆驱动，非运营质量，衰退期脆弱",
            "? D/E — 数据缺失",
            "? OCF/NI — 数据缺失",
            "⚠️ 净利率 3.6% — 薄利",
            "✅ 营收增速 70.4% > 5%"
          ],
          "industry_profile": "通用默认阈值"
        },
        "buffett": {
          "score": 1.5,
          "rating": 3.0,
          "max": 4,
          "details": [
            "✅ PE 16.8 << 成长调整上限 45 — 廉价"
          ]
        },
        "munger": {
          "score": 2.5,
          "rating": 4.0,
          "max": 4.5,
          "details": [
            "✅ 无明显财务困境信号",
            "❌ 杠杆质量检查失败 ROE/ROA=7.7x",
            "❌ 毛利率 20% — 护城河薄弱，价格接受者风险",
            "✅ 无明显管理层红旗",
            "✅ 盈利和营收双增长 — 护城河完好"
          ],
          "risks": [
            "⚠️ ROE/ROA=7.7x > 4 — ROE由杠杆驱动而非运营，衰退期脆弱"
          ]
        },
        "lilu": {
          "score": 3.2,
          "rating": 4.0,
          "max": 4,
          "details": [
            "✅ Revenue +70% — expanding",
            "✅ Earnings +126%",
            "⚠️ Beta 2.38 — highly volatile",
            "→ Sector \"HEALTHCARE\" — moderate complexity",
            "→ Moderate trend alignment"
          ]
        },
        "composite": 3.5,
        "coverage": "high",
        "coverage_note": "full（核心字段覆盖88%，缺失字段视为未知，不视为无风险）",
        "owner_earnings": {
          "method": "",
          "owner_earnings": null,
          "oe_yield": null,
          "risk_free_comparison": null,
          "details": []
        },
        "dcf": {
          "method": "DCF (FCF三情景)",
          "scenarios": {},
          "probability_weighted_value": null,
          "margin_of_safety": null,
          "recommendation": null,
          "caveats": [
            "亏损或无FCF股票建议用PS/EV-Sales估值替代"
          ],
          "sanity_check": {
            "status": "not_checked",
            "warnings": []
          },
          "error": "FCF非正，DCF不适用"
        },
        "breakdown": {
          "段永平_商业模式": 3.0,
          "巴菲特_估值": 3.0,
          "芒格_风险": 4.0,
          "李录_确定性": 4.0
        },
        "industry_profile": "通用默认阈值"
      },
      "fundamental_quality": {
        "status": "complete",
        "coverage_ratio": 0.88,
        "present_fields": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "missing_fields": [
          "debtToEquity"
        ],
        "industry_key": "general",
        "industry_required_metrics": [],
        "industry_available_metrics": {},
        "industry_missing_metrics": [],
        "flags": [
          "ROE可能主要由杠杆驱动，不能直接视为经营质量"
        ],
        "caveats": [
          "缺失字段代表未知，不代表没有风险"
        ]
      },
      "market_regime": {
        "status": "unavailable",
        "benchmark": null,
        "regime": "unknown",
        "trend": "unknown",
        "sma50": null,
        "sma200": null,
        "return_20d_pct": null,
        "return_60d_pct": null,
        "annualized_volatility_pct": null,
        "position_size_multiplier": 1.0,
        "caveats": [
          "基准数据少于60个交易日，无法可靠判断市场状态"
        ]
      },
      "relative_strength": {
        "status": "unavailable",
        "benchmark": null,
        "windows": {},
        "trend": "unknown",
        "rank": null,
        "caveats": [
          "缺少足够的标的或基准指数数据，未计算相对强度"
        ]
      },
      "event_overlay": {
        "status": "available",
        "coverage": "partial",
        "risk_level": "low",
        "catalysts": [
          {
            "headline": "Oscar Health Stock Falls After Earnings Beat and Guidance Hike",
            "date": "2026-08-07",
            "source": "Yahoo"
          }
        ],
        "risks": [],
        "news": [
          {
            "headline": "Wells Fargo Maintains Equal-Weight on Oscar Health, Raises Price Target to $27",
            "source": "Benzinga",
            "date": "2026-08-13",
            "url": "https://finnhub.io/api/news?id=392114184eb72d0a4087a0ca43918d20cd99601f2d0c787bdddb39efdb14ded6",
            "category": "company"
          },
          {
            "headline": "Best Growth Stocks to Buy for August 12th",
            "source": "Yahoo",
            "date": "2026-08-12",
            "url": "https://finnhub.io/api/news?id=049b15adc794e98b42a46f333f055911f55a649a7d7044cb43114294827f18bc",
            "category": "company"
          },
          {
            "headline": "Oscar Health (NYSE:OSCR) Displays Accelerating Growth and Improving Fundamentals",
            "source": "ChartMill",
            "date": "2026-08-12",
            "url": "https://finnhub.io/api/news?id=5486c0077f1fb23d0f26059dcd76f7e9d87ca1fab0e64ac3671f6154747a6974",
            "category": "company"
          },
          {
            "headline": "1 Unpopular Stock That Deserves Some Love and 2 We Avoid",
            "source": "Yahoo",
            "date": "2026-08-12",
            "url": "https://finnhub.io/api/news?id=817bfcff13785491f90d1e5843c550bf1102a3cfce0183ecd57bed4936ebf130",
            "category": "company"
          },
          {
            "headline": "OSCR Q2 Deep Dive: Individual Market Growth and AI Investments Shape Outlook",
            "source": "Yahoo",
            "date": "2026-08-10",
            "url": "https://finnhub.io/api/news?id=d1aaca79c0c35f2f004c56adfc299b27bd841a30e20ae5d54c6e9249682f76e3",
            "category": "company"
          },
          {
            "headline": "Oscar Health Q2 Earnings Call Highlights",
            "source": "Yahoo",
            "date": "2026-08-09",
            "url": "https://finnhub.io/api/news?id=7b9762934603e31bf2475a06482081470a4e4190401edaf6a44216fcbc263c5d",
            "category": "company"
          },
          {
            "headline": "UBS Maintains Neutral on Oscar Health, Raises Price Target to $26",
            "source": "Benzinga",
            "date": "2026-08-08",
            "url": "https://finnhub.io/api/news?id=951caacc54de4d7ade612c9a2ea50b21cdeeaeabefb0d96de9b19574c6719c75",
            "category": "company"
          },
          {
            "headline": "Barclays Maintains Overweight on Oscar Health, Raises Price Target to $39",
            "source": "Benzinga",
            "date": "2026-08-07",
            "url": "https://finnhub.io/api/news?id=8f15ae8e309aa426698b81115a920444c74caf0e9473b851e68da24f2775953d",
            "category": "company"
          },
          {
            "headline": "Oscar Health (OSCR) Q2 2026 Earnings Call Transcript",
            "source": "Yahoo",
            "date": "2026-08-07",
            "url": "https://finnhub.io/api/news?id=dd1aebb045e24f70d98dc36bb433d34e112bb2194bddf47546c91fb2b0692dca",
            "category": "company"
          },
          {
            "headline": "Oscar Health Stock Falls After Earnings Beat and Guidance Hike",
            "source": "Yahoo",
            "date": "2026-08-07",
            "url": "https://finnhub.io/api/news?id=2dcf4ca4082580e017b0b179a2654bdfbb66a0417e7f014bbd00506f20b656f8",
            "category": "company"
          }
        ],
        "sentiment": {
          "available": false,
          "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
        },
        "earnings": [
          {
            "period": null,
            "date": "2026-11-04",
            "actual": null,
            "estimate": null,
            "surprise": null,
            "surprise_percent": null,
            "symbol": "OSCR",
            "status": "upcoming",
            "days_from_today": 77
          },
          {
            "period": "2026-06-30",
            "date": "2026-06-30",
            "actual": 1.1,
            "estimate": 0.3935,
            "surprise": 0.7065,
            "surprise_percent": 179.5426,
            "symbol": "OSCR",
            "status": "historical",
            "days_from_today": -50
          },
          {
            "period": "2026-03-31",
            "date": "2026-03-31",
            "actual": 2.07,
            "estimate": 1.2073,
            "surprise": 0.8627,
            "surprise_percent": 71.457,
            "symbol": "OSCR",
            "status": "historical",
            "days_from_today": -141
          },
          {
            "period": "2025-12-31",
            "date": "2025-12-31",
            "actual": -1.24,
            "estimate": -0.9054,
            "surprise": -0.3346,
            "surprise_percent": -36.956,
            "symbol": "OSCR",
            "status": "historical",
            "days_from_today": -231
          },
          {
            "period": "2025-09-30",
            "date": "2025-09-30",
            "actual": -0.53,
            "estimate": -0.5677,
            "surprise": 0.0377,
            "surprise_percent": 6.6408,
            "symbol": "OSCR",
            "status": "historical",
            "days_from_today": -323
          }
        ],
        "earnings_surprise": {
          "sample_size": 4,
          "positive_ratio": 0.75,
          "mean_surprise_pct": 55.171,
          "latest_surprise_pct": 179.5426
        },
        "event_density": {
          "news_count": 10,
          "catalyst_count": 1,
          "risk_count": 0,
          "earnings_count": 5,
          "upcoming_earnings_count": 1
        },
        "event_factor": 0.3,
        "earnings_proximity": {
          "days": 77,
          "lock_new_entry": false
        },
        "conflicts": [],
        "caveats": [],
        "data_as_of": "2026-08-18"
      },
      "finnhub_news": [
        {
          "headline": "Wells Fargo Maintains Equal-Weight on Oscar Health, Raises Price Target to $27",
          "source": "Benzinga",
          "date": "2026-08-13",
          "url": "https://finnhub.io/api/news?id=392114184eb72d0a4087a0ca43918d20cd99601f2d0c787bdddb39efdb14ded6",
          "category": "company"
        },
        {
          "headline": "Best Growth Stocks to Buy for August 12th",
          "source": "Yahoo",
          "date": "2026-08-12",
          "url": "https://finnhub.io/api/news?id=049b15adc794e98b42a46f333f055911f55a649a7d7044cb43114294827f18bc",
          "category": "company"
        },
        {
          "headline": "Oscar Health (NYSE:OSCR) Displays Accelerating Growth and Improving Fundamentals",
          "source": "ChartMill",
          "date": "2026-08-12",
          "url": "https://finnhub.io/api/news?id=5486c0077f1fb23d0f26059dcd76f7e9d87ca1fab0e64ac3671f6154747a6974",
          "category": "company"
        },
        {
          "headline": "1 Unpopular Stock That Deserves Some Love and 2 We Avoid",
          "source": "Yahoo",
          "date": "2026-08-12",
          "url": "https://finnhub.io/api/news?id=817bfcff13785491f90d1e5843c550bf1102a3cfce0183ecd57bed4936ebf130",
          "category": "company"
        },
        {
          "headline": "OSCR Q2 Deep Dive: Individual Market Growth and AI Investments Shape Outlook",
          "source": "Yahoo",
          "date": "2026-08-10",
          "url": "https://finnhub.io/api/news?id=d1aaca79c0c35f2f004c56adfc299b27bd841a30e20ae5d54c6e9249682f76e3",
          "category": "company"
        },
        {
          "headline": "Oscar Health Q2 Earnings Call Highlights",
          "source": "Yahoo",
          "date": "2026-08-09",
          "url": "https://finnhub.io/api/news?id=7b9762934603e31bf2475a06482081470a4e4190401edaf6a44216fcbc263c5d",
          "category": "company"
        },
        {
          "headline": "UBS Maintains Neutral on Oscar Health, Raises Price Target to $26",
          "source": "Benzinga",
          "date": "2026-08-08",
          "url": "https://finnhub.io/api/news?id=951caacc54de4d7ade612c9a2ea50b21cdeeaeabefb0d96de9b19574c6719c75",
          "category": "company"
        },
        {
          "headline": "Barclays Maintains Overweight on Oscar Health, Raises Price Target to $39",
          "source": "Benzinga",
          "date": "2026-08-07",
          "url": "https://finnhub.io/api/news?id=8f15ae8e309aa426698b81115a920444c74caf0e9473b851e68da24f2775953d",
          "category": "company"
        },
        {
          "headline": "Oscar Health (OSCR) Q2 2026 Earnings Call Transcript",
          "source": "Yahoo",
          "date": "2026-08-07",
          "url": "https://finnhub.io/api/news?id=dd1aebb045e24f70d98dc36bb433d34e112bb2194bddf47546c91fb2b0692dca",
          "category": "company"
        },
        {
          "headline": "Oscar Health Stock Falls After Earnings Beat and Guidance Hike",
          "source": "Yahoo",
          "date": "2026-08-07",
          "url": "https://finnhub.io/api/news?id=2dcf4ca4082580e017b0b179a2654bdfbb66a0417e7f014bbd00506f20b656f8",
          "category": "company"
        }
      ],
      "finnhub_sentiment": {
        "available": false,
        "note": "Finnhub free tier does not include social sentiment (requires premium plan)"
      },
      "finnhub_earnings": [
        {
          "period": null,
          "date": "2026-11-04",
          "actual": null,
          "estimate": null,
          "surprise": null,
          "surprise_percent": null,
          "symbol": "OSCR",
          "status": "upcoming"
        },
        {
          "period": "2026-06-30",
          "date": "2026-06-30",
          "actual": 1.1,
          "estimate": 0.3935,
          "surprise": 0.7065,
          "surprise_percent": 179.5426,
          "symbol": "OSCR",
          "status": "historical"
        },
        {
          "period": "2026-03-31",
          "date": "2026-03-31",
          "actual": 2.07,
          "estimate": 1.2073,
          "surprise": 0.8627,
          "surprise_percent": 71.457,
          "symbol": "OSCR",
          "status": "historical"
        },
        {
          "period": "2025-12-31",
          "date": "2025-12-31",
          "actual": -1.24,
          "estimate": -0.9054,
          "surprise": -0.3346,
          "surprise_percent": -36.956,
          "symbol": "OSCR",
          "status": "historical"
        },
        {
          "period": "2025-09-30",
          "date": "2025-09-30",
          "actual": -0.53,
          "estimate": -0.5677,
          "surprise": 0.0377,
          "surprise_percent": 6.6408,
          "symbol": "OSCR",
          "status": "historical"
        }
      ],
      "portfolio_risk": {
        "status": "no_portfolio_supplied",
        "total_value": null,
        "sector_weights_pct": {},
        "concentrated_sectors": {},
        "correlations_20d": {
          "AMD:SOFI": 0.564,
          "AMD:COHR": 0.598,
          "AMD:OSCR": -0.005,
          "SOFI:COHR": 0.562,
          "SOFI:OSCR": 0.162,
          "COHR:OSCR": -0.011
        },
        "warnings": [],
        "limits": {
          "max_single_position_pct": 20.0,
          "max_sector_weight_pct": 35.0,
          "max_correlation_for_new_add": 0.8
        }
      },
      "position_constraint": {
        "position_cap_pct": 5.76,
        "stop_distance_pct": 17.36,
        "risk_at_cap_pct": 1.0,
        "status": "available",
        "caveat": "仓位由账户风险预算与结构止损共同约束，不是收益预测",
        "market_regime_multiplier": 1.0
      },
      "context": {
        "horizon": "swing",
        "holding_status": "empty",
        "position_pct": 0.0,
        "risk_per_trade_pct": 1.0,
        "benchmark": null,
        "objective": "entry",
        "max_single_position_pct": 20.0,
        "max_sector_weight_pct": 35.0
      },
      "return_series_20d": [
        -4.1274,
        -1.9661,
        -2.5242,
        0.5321,
        10.7975,
        -2.6433,
        2.159,
        -0.032,
        -1.5375,
        -1.1711,
        -0.8887,
        -11.8565,
        5.1243,
        -0.8244,
        1.0842,
        5.8634,
        3.9514,
        6.4327,
        -3.6935,
        -0.8558
      ],
      "trade_plan": {
        "bias": "LONG_WATCH",
        "entry_zone": {
          "low": 32.77,
          "high": 33.76
        },
        "entry_trigger": "日线收盘站稳 33.10（Creek）上方，量能≥1.3倍20日均量",
        "stop": 25.85,
        "stop_basis": "Ice低点 - 1×ATR缓冲（结构性止损）",
        "adaptive_stop": null,
        "adaptive_stop_basis": null,
        "targets": [
          {
            "label": "1.0x",
            "price": 55.85,
            "upside_pct": 78.5
          },
          {
            "label": "1.618x",
            "price": 69.8,
            "upside_pct": 123.1
          },
          {
            "label": "2.0x",
            "price": 78.43,
            "upside_pct": 150.7
          }
        ],
        "risk_reward": 2.79,
        "entry_status": "WAITING_TRIGGER",
        "trigger_confirmed": false,
        "trigger_volume_ratio": 0.74,
        "time_stop_days": 30,
        "invalidation_signals": [
          "日线收盘跌破结构止损位",
          "突破后连续两日无法站稳Creek且成交量转弱",
          "确认链出现反向事件（UTAD/SOW/LPSY）"
        ],
        "caveats": [
          "入场触发条件尚未完成，当前只观察，不立即建仓",
          "多时间框架一致性不足（≤1/3），建议半仓或观望",
          "空仓计划：入场后30个交易日未按预期发展时执行时间止损复核"
        ]
      },
      "kelly_position": {
        "estimated_win_rate_pct": 55.0,
        "risk_reward_ratio": 2.79,
        "full_kelly_pct": 38.9,
        "half_kelly_pct": 19.4,
        "recommended_position_pct": 5.8,
        "risk_per_trade_pct": 1.0,
        "recommendation": "建议仓位 5.8%（经过单股/行业/市场约束），止损触发亏损约 1.00% 本金",
        "caveats": [
          "胜率为规则推算，非回测统计值，仅供参考",
          "仓位上限20%防止单股过度集中",
          "实际仓位须结合个人风险承受力与整体组合"
        ],
        "risk_position_cap_pct": 5.76
      },
      "conviction": {
        "event_coverage": "partial",
        "score": 53.9,
        "grade": "C",
        "action": "研究有价值，等待确认 (50-64)",
        "components": {
          "technical_raw": 26.0,
          "fundamental": 21.9,
          "trade_rr": 12,
          "relative_strength_excess_1m": null,
          "event_status": "available",
          "market_regime": "unknown",
          "raw_before_haircut": 59.9,
          "haircut_factor": 0.9
        },
        "haircut_notes": [
          "基准相对强度不可用 → ×0.9"
        ]
      },
      "quadrant": {
        "quadrant": "Q1",
        "label": "买入/加仓",
        "reason": "好公司 + 强趋势",
        "low_confidence": false
      },
      "catalyst_warning": null,
      "forecast_30d": {
        "status": "available",
        "horizon_trading_days": 30,
        "model_version": "rule-v3.6.1",
        "feature_version": "features-v1",
        "calibration_version": "9股306窗口3轮回测校准(2026-08-18)",
        "edge_label": "weak_edge",
        "sample_size": 0,
        "confidence_interval": null,
        "direction": "上行",
        "direction_reasons": {
          "momentum_slope_20d": 0.0611,
          "momentum_vote": "上行",
          "structure": "Accumulation",
          "structure_vote": "上行",
          "bias": "LONG_WATCH",
          "bias_vote": "上行",
          "total_score": 2.0
        },
        "probability": 0.53,
        "probability_basis": "9股306窗口3轮回测校准(2026-08-18)",
        "target_price": 32.2,
        "target_pct": 2.9,
        "basis": "20日动量外推（收缩0.5）",
        "clamped": false,
        "max_monthly_move_pct": 15,
        "extended_target": 33.1,
        "reference_range": {
          "low": 30.4,
          "high": 34.0
        },
        "levels": {
          "creek_high": 33.1,
          "ice_low": 27.65,
          "markup_1x": 55.85,
          "markdown_1x": -11.89
        },
        "momentum_slope_20d": 0.0611,
        "caveats": [
          "这是基于历史价量与Wyckoff结构的统计推断，不是承诺或投资建议。",
          "目标价位为方向性参考，未包含未来财报、公告、政策等事件冲击。",
          "方向概率为定性估计（53%），应结合确认链和事件面复核。"
        ]
      },
      "data_quality": {
        "quality_score": 100,
        "recommendation": "clean",
        "gate_status": "clean",
        "message": "数据完整性良好，可执行完整分析。",
        "issues": [],
        "warnings": [],
        "structural_issues": [],
        "missing_fundamentals": [
          "debtToEquity"
        ],
        "present_fundamentals": [
          "trailingPE",
          "forwardPE",
          "revenueGrowth",
          "earningsGrowth",
          "returnOnEquity",
          "grossMargins",
          "profitMargins"
        ],
        "coverage_ratio": 0.88,
        "fundamental_mode": "full",
        "can_analyze": true,
        "can_execute": true,
        "stale_days": 1,
        "zero_volume_ratio": 0.0,
        "quality_scope": "OHLCV完整性评分；与 four_master.coverage 及 event_overlay.status 分开",
        "fm_coverage_explanation": "full（核心字段覆盖88%，缺失字段视为未知，不视为无风险）",
        "field_sources": {
          "regularMarketPrice": "yfinance",
          "trailingPE": "yfinance",
          "sharesOutstanding": "yfinance",
          "impliedSharesOutstanding": "yfinance",
          "marketCap": "yfinance",
          "forwardPE": "yfinance",
          "priceToBook": "yfinance",
          "revenueGrowth": "alpha_vantage",
          "earningsGrowth": "alpha_vantage",
          "returnOnEquity": "alpha_vantage",
          "grossMargins": "alpha_vantage",
          "profitMargins": "alpha_vantage",
          "beta": "alpha_vantage",
          "sector": "alpha_vantage",
          "industry": "alpha_vantage",
          "returnOnAssets": "alpha_vantage",
          "operatingMargins": "alpha_vantage",
          "pe_trailing": "yfinance",
          "pe_forward": "yfinance",
          "revenue_growth": "alpha_vantage",
          "earnings_growth": "alpha_vantage",
          "return_on_equity": "alpha_vantage",
          "return_on_assets": "alpha_vantage",
          "gross_margins": "alpha_vantage",
          "operating_margins": "alpha_vantage",
          "profit_margins": "alpha_vantage",
          "market_cap": "yfinance",
          "current_price": "yfinance",
          "price_to_book": "yfinance",
          "shares_outstanding": "yfinance",
          "implied_shares_outstanding": "yfinance",
          "50ma": "yfinance",
          "200ma": "yfinance"
        }
      },
      "data_fetched_at": "2026-08-19 23:18:10",
      "data_as_of": "2026-08-18",
      "data_source": "Tiingo (OHLCV, adjusted) + Alpha Vantage (US fundamentals) + Finnhub (news/sentiment)",
      "ohlcv_source": "tiingo",
      "ohlcv_adjustment": "adjusted_ohlc",
      "date_convention": "ISO-8601 trading date; source exchange timezone",
      "field_sources": {
        "regularMarketPrice": "yfinance",
        "trailingPE": "yfinance",
        "sharesOutstanding": "yfinance",
        "impliedSharesOutstanding": "yfinance",
        "marketCap": "yfinance",
        "forwardPE": "yfinance",
        "priceToBook": "yfinance",
        "revenueGrowth": "alpha_vantage",
        "earningsGrowth": "alpha_vantage",
        "returnOnEquity": "alpha_vantage",
        "grossMargins": "alpha_vantage",
        "profitMargins": "alpha_vantage",
        "beta": "alpha_vantage",
        "sector": "alpha_vantage",
        "industry": "alpha_vantage",
        "returnOnAssets": "alpha_vantage",
        "operatingMargins": "alpha_vantage",
        "pe_trailing": "yfinance",
        "pe_forward": "yfinance",
        "revenue_growth": "alpha_vantage",
        "earnings_growth": "alpha_vantage",
        "return_on_equity": "alpha_vantage",
        "return_on_assets": "alpha_vantage",
        "gross_margins": "alpha_vantage",
        "operating_margins": "alpha_vantage",
        "profit_margins": "alpha_vantage",
        "market_cap": "yfinance",
        "current_price": "yfinance",
        "price_to_book": "yfinance",
        "shares_outstanding": "yfinance",
        "implied_shares_outstanding": "yfinance",
        "50ma": "yfinance",
        "200ma": "yfinance"
      },
      "provider_status": {
        "ohlcv": "tiingo",
        "yfinance": "ok",
        "alpha_vantage": "ok",
        "finnhub": "ok"
      },
      "event_news": null,
      "disclaimer": "本结果为技术面研究框架的机械输出，基于历史价量+滞后财报，事件数据缺失时不得解释为没有风险；非投资建议，据此操作风险自负。"
    }
  ],
  "failed_count": 0,
  "partial": false,
  "portfolio_risk": {
    "status": "no_portfolio_supplied",
    "total_value": null,
    "sector_weights_pct": {},
    "concentrated_sectors": {},
    "correlations_20d": {
      "AMD:SOFI": 0.564,
      "AMD:COHR": 0.598,
      "AMD:OSCR": -0.005,
      "SOFI:COHR": 0.562,
      "SOFI:OSCR": 0.162,
      "COHR:OSCR": -0.011
    },
    "warnings": [],
    "limits": {
      "max_single_position_pct": 20.0,
      "max_sector_weight_pct": 35.0,
      "max_correlation_for_new_add": 0.8
    }
  }
}