{
  "snapshot_id": "20260417T041043_kis_68944660-01",
  "snapshot_health": "VALID",
  "account_value_krw": 22264411,
  "cash_diagnostics": {
    "summary_fields_present": [
      "buy_mgn_amt",
      "cma_evlu_amt",
      "dncl_amt",
      "etc_mgna",
      "evlu_amt_smtl",
      "evlu_amt_smtl_amt",
      "evlu_erng_rt1",
      "evlu_pfls_amt_smtl",
      "frcr_evlu_tota",
      "frcr_use_psbl_amt",
      "mgna_tota",
      "pchs_amt_smtl",
      "pchs_amt_smtl_amt",
      "tot_asst_amt",
      "tot_dncl_amt",
      "tot_evlu_pfls_amt",
      "tot_frcr_cblc_smtl",
      "tot_loan_amt",
      "ustl_buy_amt_smtl",
      "ustl_sll_amt_smtl",
      "wdrw_psbl_tot_amt"
    ],
    "parsed_numeric_fields": {
      "dncl_amt": 0,
      "tot_dncl_amt": 3695340,
      "wdrw_psbl_tot_amt": 2709750,
      "frcr_evlu_tota": 1985797,
      "pchs_amt_smtl_amt": 16184548,
      "evlu_amt_smtl_amt": 16270550,
      "tot_asst_amt": 22264411,
      "buy_mgn_amt": 0,
      "frcr_use_psbl_amt": 1985797
    },
    "positions_market_value_krw": 16270550,
    "selected_fields": {
      "settled_cash": "dncl_amt",
      "available_cash": "wdrw_psbl_tot_amt",
      "buying_power": "frcr_use_psbl_amt",
      "total_equity": "tot_asst_amt"
    }
  },
  "decision_distribution": {
    "OVERWEIGHT": 15,
    "HOLD": 5
  },
  "legacy_rating_distribution": {
    "OVERWEIGHT": 15,
    "HOLD": 5
  },
  "stance_distribution": {
    "BULLISH": 20
  },
  "entry_action_distribution": {
    "WAIT": 20
  },
  "translated_action_distribution": {
    "WATCH_TRIGGER": 20
  },
  "portfolio_summary_counts": {
    "decision_distribution": {
      "OVERWEIGHT": 15,
      "HOLD": 5
    },
    "stance_distribution": {
      "BULLISH": 20
    },
    "entry_action_distribution": {
      "WAIT": 20
    },
    "avg_confidence": 0.6745,
    "company_news_zero_ratio": 0.0,
    "snapshot_health": "VALID",
    "warning_flags": [
      "Wait-heavy constructive batch: WAIT 20/20 with BULLISH 20/20; review entry-action calibration."
    ],
    "actionable_now_count": 0,
    "triggerable_candidates_count": 20,
    "strategic_trigger_candidates_count": 20,
    "budgeted_trigger_candidates_count": 0,
    "immediate_candidates_count": 0,
    "funding_candidates_count": 20,
    "held_add_if_triggered_count": 12,
    "watch_if_triggered_count": 8,
    "watch_candidates_count": 8,
    "held_watch_count": 12,
    "review_required_count": 3,
    "rule_only_fallback_count": 0,
    "funding_plan_available": true
  },
  "warnings": [
    "Wait-heavy constructive batch: WAIT 20/20 with BULLISH 20/20; review entry-action calibration."
  ],
  "semantic_verdicts": [
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is constructive for an existing holding, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not yet actionable because price is pressing the 266.43-272 resistance zone after a sharp rebound and earnings gap risk remains before 2026-04-30. Add only after a volume-backed close above 266.43 with RSI/MACD confirmation or a controlled pullback holding 260-262; otherwise maintain current exposure.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded about 8% from 246.63 to 266.43 and is near resistance rather than a clean entry zone.",
        "2026-04-30 earnings creates gap risk and could invalidate the premium valuation if guidance, iPhone demand, services growth, AI roadmap, margins, or buyback commentary disappoint.",
        "A close below 256 or decisive break of the 200-day SMA near 251.51 would weaken or invalidate the bullish setup.",
        "Data coverage has no disclosures, social sentiment is news-derived, and quality flags include token_usage_unavailable."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_zone",
        "earnings_gap_risk",
        "support_hold_required",
        "held_position_can_hold",
        "premium_valuation_risk",
        "limited_data_quality_flag"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.63,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "COST has a constructive medium-term quality thesis supported by revenue and EPS growth, cash generation, membership-model durability, and a dividend increase, but timing is not actionable now. The stock is below the key 994-1000 reclaim zone, below near-term moving/VWMA references, and momentum has faded. A starter is only justified after a confirmed close back above 994-1000 with stronger volume and MACD stabilization, or a clearly absorbed support retest near 966-968; otherwise this remains watch-only.",
      "counter_evidence": [
        "2026-04-15 close of 984.75 is below the 50-day SMA 994.28, 10-day EMA 995.78, and VWMA 998.18.",
        "MACD momentum has faded and RSI 46.18 does not confirm a rebound.",
        "New entry is explicitly marked WAIT, with setup quality only DEVELOPING.",
        "Premium valuation near P/E 51 and forward P/E 44 leaves elevated downside risk if fundamentals or margins disappoint.",
        "Same-day intraday snapshot is missing and execution feasibility is marked blocked_stale_or_degraded_data."
      ],
      "reason_codes": [
        "constructive_quality_thesis",
        "entry_wait_for_confirmation",
        "below_key_reclaim_zone",
        "momentum_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_retest_alternative",
        "valuation_risk_elevated",
        "stale_intraday_data"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETHU has a constructive short-term rebound thesis and existing held exposure can be maintained, but timing is not yet actionable for adding. The key confirmation is a daily close above 29.5-30.0 on volume clearly above the 2026-04-15 level, or a controlled pullback that holds near 25.3 with improving ETH-USD and volume. Until then this remains a wait-for-confirmation setup, especially given leveraged-product risk and stale/incomplete intraday data.",
      "counter_evidence": [
        "29.5-30.0 resistance has not been confirmed by a closing breakout.",
        "The 2026-04-15 high was lower than the 2026-04-14 high, leaving breakout-failure risk.",
        "Execution feasibility is marked blocked due to stale or degraded data and no same-day intraday snapshot.",
        "ETHU is a 2x Ether product with daily reset, volatility decay, gap risk, and high ATR relative to price.",
        "Social sentiment is news-derived rather than direct and fund-flow confirmation is still pending."
      ],
      "reason_codes": [
        "constructive_momentum_above_key_averages",
        "breakout_not_confirmed",
        "entry_action_wait",
        "held_position_hold_only",
        "volume_confirmation_required",
        "leveraged_etf_risk",
        "stale_intraday_data",
        "explicit_invalidation_levels"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETN has a constructive medium-term overweight thesis supported by trend position above key moving averages, solid fundamentals, AI/data-center/grid demand, and analyst target upgrades, but the action is not ready now. The plan explicitly says WAIT/HOLD: add only after confirmation via $387-$390 support stabilization or a volume-backed close above $407.83 with sustained trade above $400, with earnings and guidance as additional confirmation catalysts.",
      "counter_evidence": [
        "Immediate entry is deferred because ETN failed to hold above $400 and failed to break $407.83.",
        "Momentum is not fully confirmed: MACD histogram is decelerating and RSI has fallen from the high 60s to about 62.",
        "Execution feasibility is blocked by stale or degraded data, including missing same-day intraday snapshot.",
        "Valuation is elevated, with high PER/PB metrics and risk of compression if growth or guidance disappoints.",
        "Risk triggers remain nearby: below $387.81 is a warning zone, $382-$385 is a stronger de-risk zone, and below $369.65 invalidates the medium-term trend."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "support_confirmation_required",
        "momentum_decelerating",
        "stale_intraday_data",
        "elevated_valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "FANG has a constructive medium-term overweight thesis supported by cash flow, oil leverage, debt reduction, and analyst target upgrades, but entry timing is not confirmed. Price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says WAIT until either 180-181 support is confirmed or a 193+ close with momentum improvement occurs.",
      "counter_evidence": [
        "Current price is below 10-day EMA 189.26 and VWMA 192.78, so near-term trend confirmation is incomplete.",
        "RSI 47.42 and MACD histogram -1.98 indicate momentum has not yet turned constructive.",
        "ATR 6.67 implies elevated volatility and smaller-than-normal sizing if triggered.",
        "Same-day intraday snapshot is missing and execution feasibility is marked blocked_stale_or_degraded_data.",
        "Liquidity and balance-sheet risks remain material, including low cash, negative working capital, low current ratio, and high net debt."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "technical_confirmation_missing",
        "breakout_trigger_defined",
        "support_retest_alternative",
        "stale_intraday_data",
        "elevated_volatility",
        "balance_sheet_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, cash generation, and an intact uptrend above key moving averages. Timing is not ready now because price is just below the $1000-$1007.38 resistance zone, momentum is stretched, MACD is slowing, and prior resistance tests lacked convincing volume. Action should remain watch-only until a volume-backed close above $1007.38 with follow-through above $1000, or a confirmed orderly pullback near the 10-day EMA around $952.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not immediate buy.",
        "Price is near major $1000-$1007.38 resistance with RSI close to overbought.",
        "MACD histogram is decelerating and the recent resistance test had weak volume.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with no same-day intraday snapshot.",
        "Vineyard Wind litigation, high valuation, and potential earnings-quality concerns remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "resistance_nearby",
        "momentum_stretched_and_slowing",
        "volume_confirmation_missing",
        "pullback_support_alternative",
        "stale_or_degraded_data",
        "unresolved_project_litigation_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GLDM has a constructive medium-term overweight thesis and existing holdings can be maintained, but timing is not yet actionable for meaningful adds. Price remains below the 50-day SMA/resistance cluster near 97.00-98.00, so the setup needs either a daily close above 98.00 with volume confirmation or a controlled pullback holding the 93.89-95.00 EMA support area before adding.",
      "counter_evidence": [
        "Entry action is explicitly WAIT, not immediate add.",
        "Price is still below the 50-day SMA near 96.98 and near Bollinger resistance around 97.85.",
        "97.00-98.00 is an unconfirmed resistance zone with risk of repeated rejection.",
        "Execution feasibility is marked blocked_stale_or_degraded_data with intraday_snapshot_missing_same_day.",
        "ETF inflow evidence may be temporary and needs confirmation of persistence.",
        "Close below 92.50 or break below 90.00 would weaken or invalidate the medium-term bullish thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "support_retest_alternative",
        "held_position_can_hold",
        "stale_or_degraded_data",
        "risk_levels_defined"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by recovered trend, positive MACD, strong fundamentals, AI/cloud catalysts, and existing core-holder suitability. Timing is not actionable now because the decision explicitly says WAIT, setup is developing, price is extended with overbought RSI and elevated ATR, same-day intraday confirmation is missing, and adds require either a volume-confirmed close above 337.48 or a controlled pullback holding 323.75-317.19 with higher-low confirmation.",
      "counter_evidence": [
        "Entry action is WAIT and immediate chase buying is explicitly rejected.",
        "Latest usable price data is stale through 2026-04-15 and intraday snapshot is missing for the same day.",
        "RSI around 71, elevated ATR, and price extension above the 10-day EMA weaken immediate timing.",
        "Regulatory, earnings, AI capex, and AI search competition risks remain material.",
        "Position sizing is limited to starter tranche only after confirmation, not normal allocation now."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "developing_setup",
        "volume_confirmed_breakout_required",
        "pullback_support_alternative",
        "stale_or_degraded_timing_data",
        "overbought_and_extended_price",
        "event_and_regulatory_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LHX has a constructive medium-term thesis supported by defense demand, rocket-motor capacity investment, Aerojet integration, and identifiable program catalysts, but the current setup is still unconfirmed. Price remains trapped in the 353-365 range near key moving averages with neutral RSI and only modest MACD support, so the table supports holding existing exposure and waiting for a volume-backed breakout above 365 or a confirmed 353-355 support retest before adding.",
      "counter_evidence": [
        "Entry action is WAIT, not BUY or ADD now.",
        "Price is still inside the 353-365 consolidation range and has not cleared resistance near 365.",
        "RSI around 49 and MACD only modestly positive do not confirm strong upside momentum.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Margin weakness near 6.66%, working-capital-driven free cash flow concerns, valuation, insider selling, and event volatility remain unresolved risks."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_bound_price_action",
        "breakout_not_confirmed",
        "support_retest_needed",
        "volume_confirmation_required",
        "stale_or_degraded_data",
        "existing_holder_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LLY has a constructive medium-term growth thesis supported by GLP-1 demand, strong margins, recent earnings strength, analyst support, and pipeline optionality, but timing is not actionable now. Price is only slightly above the 200-day area near 902-905 while still below the 10-day EMA/VWMA near 925-926 and the 50-day area near 976-977, with RSI and MACD not yet confirming trend repair. Treat this as a watchlist setup requiring daily-close confirmation above 925-926 before starter exposure, with stronger confirmation above 955 and 976-977.",
      "counter_evidence": [
        "Current price is below the 10-day EMA, VWMA, and 50-day moving average, so trend recovery is incomplete.",
        "RSI near 42 and negative MACD do not confirm momentum reversal.",
        "Price is only marginally above the 200-day support area, leaving downside invalidation risk close by.",
        "Execution feasibility is flagged as blocked by stale or degraded data, with no intraday snapshot used.",
        "High valuation, debt, weak free cash flow, and potential GLP-1 or Foundayo disappointments could compress the thesis."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "price_below_short_term_averages",
        "momentum_not_confirmed",
        "near_critical_support",
        "starter_only_after_trigger",
        "stale_or_degraded_data",
        "high_volume_break_below_support_invalidates"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term bullish thesis supported by strong trend structure and AI/HBM/memory equipment demand, but the current action is wait/watch rather than immediate entry. Timing is incomplete because price is extended near 273.50 resistance, confirmation requires either a volume-backed breakout, a supported pullback into 253-258, or post-earnings/export-control clarity.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and suggested action now is WATCH, not buy/add.",
        "Price is near 273.50 resistance with signs of distribution/fading momentum, so chasing is discouraged.",
        "2026-04-22 earnings and US export-control uncertainty create near-term event risk.",
        "Valuation, beta, ATR, and volatility are elevated, requiring partial sizing only after confirmation.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with stale_but_triggerable true."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_pullback_confirmation_needed",
        "earnings_event_risk_pending",
        "export_control_uncertainty",
        "extended_near_resistance",
        "stale_or_degraded_data",
        "partial_sizing_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.68,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "MU has a constructive medium-term overweight thesis supported by AI server memory demand, HBM/high-end DRAM strength, improving trend indicators, strong reported profitability and cash flow, and net cash-like balance sheet support. Timing is not ready for immediate entry because price is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires either confirmed 426 support with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 support retest.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, not buy/add.",
        "Price is extended after a move from 318.40 to 465.78, leaving unfavorable chase risk near 52-week resistance.",
        "ATR around 26, roughly 5.7% of price, and beta 1.606 imply high execution risk and smaller starter sizing only.",
        "Execution feasibility is marked blocked_stale_or_degraded_data and no intraday snapshot was used.",
        "Insider selling, high P/B, export-control/China risk, capex intensity, and receivables growth cap position size."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_support_confirmation_needed",
        "extended_near_resistance",
        "high_volatility_position_sizing",
        "stale_or_degraded_data",
        "clear_downside_invalidation"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NET has a constructive medium-term thesis supported by improving momentum, strong gross margin, positive free cash flow, AI/security demand, and analyst support, but the action signal is not ready. The plan explicitly waits for a daily close above 195 as the first starter trigger, with higher-quality confirmation only after reclaiming 202-204 and holding it as support. Current timing remains incomplete because price is still below key moving-average resistance and recent high-volume selling creates overhead supply.",
      "counter_evidence": [
        "New entry is explicitly deferred until a daily close above 195.",
        "NET has not reclaimed the 50-day SMA, 10-day EMA, 200-day SMA, or Bollinger midline resistance zones.",
        "April 9-10 heavy down-volume suggests overhead supply and weak confirmation quality.",
        "Higher-quality entry requires 202-204 recovery plus support confirmation, which has not occurred.",
        "Valuation, dilution, stock-based compensation, high beta, elevated ATR, and macro multiple-compression risks remain material.",
        "Intraday snapshot was unavailable and execution feasibility is marked blocked_stale_or_degraded_data."
      ],
      "reason_codes": [
        "constructive_thesis_waiting_for_confirmation",
        "daily_close_trigger_required",
        "below_key_moving_averages",
        "overhead_supply_from_heavy_sell_volume",
        "starter_only_after_breakout",
        "higher_quality_entry_requires_support_retest",
        "stale_or_degraded_execution_data"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NVDA thesis is constructive for an existing held position, supported by trend recovery above key moving averages, improving MACD, strong AI/data-center fundamentals, high margins, and net cash. Timing is not yet actionable for adding because the plan explicitly says WAIT, price is near the 198.87-200.40 resistance zone, RSI is near 70, volatility is elevated, and confirmation requires either a daily close above 200.40 with volume or a controlled pullback holding near 189.26 with momentum stability.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, not confirmed.",
        "Price is testing 198.87-200.40 resistance without confirmed breakout or volume expansion.",
        "RSI near 69.98 and ATR around 5.27 argue against immediate chase entry.",
        "Execution feasibility is marked blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Valuation is elevated with P/E 40.66 and P/B 30.72, while inventory and receivables increases require confirmation of end demand and cash conversion."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_hold_ok",
        "entry_wait_not_actionable",
        "breakout_requires_close_above_resistance",
        "pullback_support_trigger_alternative",
        "overbought_near_resistance",
        "stale_or_degraded_data",
        "risk_lines_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ORCL has a constructive medium-term AI infrastructure and multicloud thesis, supported by backlog, cloud demand, recent operating improvement, and a high-volume rebound. Timing is not ready for immediate entry because the setup is still developing, price is extended near resistance, and the plan explicitly waits for either a confirmed breakout above 170.64/172.56 with sustained volume or a controlled pullback that holds key support near 156.84 or 150.54.",
      "counter_evidence": [
        "Immediate entry is described as chase buying after a sharp event-driven rally.",
        "RSI around 70.79 and proximity to the 170.64 Bollinger upper band indicate short-term overextension.",
        "Large negative free cash flow, high debt, interest expense, and possible data-center financing risk weaken timing confidence.",
        "Execution feasibility is marked as blocked by stale or degraded data, so confirmation should be required before action."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "setup_developing",
        "overbought_near_resistance",
        "explicit_breakout_trigger_required",
        "pullback_support_confirmation_required",
        "fcf_and_debt_risk",
        "stale_or_degraded_data"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.7,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "RSP has a constructive medium-term allocation thesis: price is above key moving averages, momentum has improved, and broader market breadth could support equal-weight exposure. However, the setup is still developing because price is near the 200.00-201.88 resistance zone and the plan explicitly says to wait for either a successful 197.50-198.00 support retest or a confirmed close above 200.20 with volume and acceptance above 201.88 before adding. Current action is hold, not immediate add.",
      "counter_evidence": [
        "Entry action is WAIT despite bullish/overweight stance.",
        "Price is directly below 200.00-201.88 resistance with nearby 52-week high risk, creating failed-breakout risk.",
        "New capital requires confirmation through support retest or breakout with volume; neither is stated as already confirmed.",
        "Execution feasibility is flagged as blocked_stale_or_degraded_data, with no intraday snapshot used.",
        "Risk triggers at 196.00 and 195.00 remain close enough to require discipline before adding."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "support_retest_alternative_trigger",
        "near_resistance_failed_breakout_risk",
        "held_position_hold_ok",
        "stale_or_degraded_execution_data"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSLA has a constructive but not yet actionable bullish hold setup. The thesis is supported by a high-volume rebound, recovery near the 50-day SMA, improving MACD, RSI around the mid-50s, balance-sheet strength, and AI/autonomy optionality, but timing remains incomplete because price is still below the 200-day SMA near 398.37 and has not confirmed follow-through above 400. Existing holders can maintain reduced core exposure, while new adds require a confirmed daily close above resistance with volume or a controlled pullback that proves support near 390.43.",
      "counter_evidence": [
        "Price remains below the 200-day SMA near 398.37 and has not cleared the 400 resistance area.",
        "The stated entry action is WAIT and execution feasibility now is not actionable.",
        "Recent fundamentals include revenue and net income deceleration, thin margins, and elevated valuation multiples.",
        "High ATR and beta increase timing risk if entering before confirmation.",
        "Dilution, stock-based compensation, Cybertruck demand, autonomy competition, and Nasdaq/growth multiple compression remain meaningful risks."
      ],
      "reason_codes": [
        "constructive_hold_thesis",
        "entry_wait_not_actionable_now",
        "breakout_level_defined",
        "needs_volume_confirmation",
        "below_200_day_sma",
        "support_retest_alternative",
        "high_volatility_requires_small_sizing",
        "fundamental_quality_mixed",
        "valuation_risk_elevated"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.82,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong earnings, AI and advanced-node demand, and an intact trend above key moving averages. Timing is not actionable now because price is near 375-382 resistance after a sharp rebound and the plan explicitly says to wait for either a controlled 362-365 support retest or a confirmed close above 382.16 on above-average volume.",
      "counter_evidence": [
        "Current action is WAIT and execution feasibility is not actionable now.",
        "Price has already rebounded quickly from 316.50 to 375.10 and is near 379.89-382.16 resistance.",
        "Strong earnings were met with selling, increasing the risk of chasing before confirmation.",
        "A close below 352-353 would damage the April rebound and key support cluster.",
        "Geopolitical, supply-chain, customer concentration, overseas fab margin, and valuation-gap risks remain material."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_waits_for_confirmation",
        "near_resistance_after_fast_rebound",
        "explicit_breakout_or_pullback_trigger",
        "held_position_supports_hold_not_add",
        "defined_risk_invalidators"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VRT has a constructive medium-term AI infrastructure thesis and existing holders can maintain exposure, but the action table explicitly says WAIT for new/additional buying until confirmation. Timing is not ready because the setup is developing, price is extended, momentum has cooled, volatility and earnings/event risk are elevated, and add triggers require either a daily close above 312.46 with stronger volume or a confirmed reversal from the 296.64-288.22 support zone.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable_now.",
        "Momentum has cooled with RSI declining and MACD histogram weakening after the recent high.",
        "Valuation is premium with trailing P/E around 86.5, forward P/E around 36.2, and P/B around 28.5.",
        "ATR is elevated and earnings/event gap risk remains meaningful.",
        "Data coverage is limited with only one company news item and no disclosures."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "confirmation_required",
        "specific_breakout_level_defined",
        "support_reversal_alternative",
        "extended_price_and_high_volatility",
        "earnings_event_risk",
        "premium_valuation_risk",
        "limited_data_coverage"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, international diversification demand, weak-dollar tailwinds, and dividend support. However, the action is explicitly WAIT/HOLD because price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, so timing requires either support confirmation near 81.0-81.5 or a volume-confirmed close above 82.90 before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable.",
        "Price has already rebounded sharply from 74.71 to 82.65 and is close to resistance.",
        "82.90 breakout has not yet been confirmed by above-average volume and closing price.",
        "84.11-84.28 resistance is nearby, creating unfavorable chase risk.",
        "ATR 1.3766 indicates elevated volatility and position size should remain reduced.",
        "Data coverage is limited, with only one company-news item and news-derived social input."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_not_confirmed",
        "near_resistance_after_rebound",
        "support_retest_needed",
        "elevated_volatility",
        "held_position_hold_now",
        "limited_data_coverage"
      ],
      "review_required": false
    }
  ],
  "action_judge": {
    "status": "success",
    "provider": "codex",
    "model": "gpt-5.4",
    "priority_order": [
      "TSM",
      "NVDA",
      "GLDM",
      "ORCL",
      "NET"
    ],
    "portfolio_note": "All candidates are WAIT/trigger-based in a wait-heavy bullish batch, with strict cash available for new buys only about KRW 52k after the required buffer. Preserve existing high-quality holds first, avoid immediate new entries, and require fresh confirmation plus manual review for degraded-data or non-held watch names. Sector concentration in AI/semiconductors argues for conservative sizing even if triggers fire.",
    "reason_by_ticker": {
      "TSM": {
        "summary": "Highest-quality hold/add-if-triggered candidate: strongest confidence, best data coverage, high trigger quality, intact AI foundry thesis, and existing position can be maintained, but no immediate add while price is near resistance and cash buffer is tight.",
        "reason_codes": [
          "highest_quality_existing_hold",
          "constructive_medium_term_thesis",
          "strong_data_coverage",
          "high_trigger_quality",
          "near_resistance_wait_for_confirmation",
          "cash_buffer_limits_new_buys"
        ],
        "review_required": false
      },
      "NVDA": {
        "summary": "Strong existing AI leader hold with constructive fundamentals and defined breakout/pullback triggers, but ranked behind TSM due to stale/degraded execution flag, near-resistance/overbought conditions, and already meaningful portfolio exposure.",
        "reason_codes": [
          "strong_existing_hold",
          "bullish_medium_term_thesis",
          "defined_entry_triggers",
          "overbought_near_resistance",
          "stale_or_degraded_data",
          "position_concentration_watch"
        ],
        "review_required": false
      },
      "GLDM": {
        "summary": "Useful diversifier versus the AI/semiconductor cluster and existing position can be held, but high fallback count, degraded data, and need for a 98 breakout or 93.89-95 support retest keep it below the top equity holds.",
        "reason_codes": [
          "portfolio_diversifier",
          "held_position_can_hold",
          "constructive_medium_term_thesis",
          "breakout_not_confirmed",
          "high_fallback_count",
          "manual_review_required"
        ],
        "review_required": true
      },
      "ORCL": {
        "summary": "Constructive AI infrastructure and multicloud thesis with better trigger quality than NET, but it is a non-held watch candidate with negative immediate score, cash-flow/debt concerns, and explicit need for breakout or pullback confirmation.",
        "reason_codes": [
          "watch_only_not_held",
          "constructive_but_unconfirmed",
          "explicit_breakout_trigger_required",
          "pullback_support_confirmation_required",
          "fcf_and_debt_risk",
          "cash_buffer_limits_new_buys"
        ],
        "review_required": true
      },
      "NET": {
        "summary": "Constructive growth thesis remains possible, but it is the lowest priority because it is non-held, below key moving averages, affected by overhead supply from heavy sell volume, carries high valuation/volatility risk, and has weaker trigger quality than ORCL.",
        "reason_codes": [
          "watch_only_not_held",
          "below_key_moving_averages",
          "overhead_supply_from_heavy_sell_volume",
          "high_valuation_and_volatility_risk",
          "lower_trigger_quality",
          "cash_buffer_limits_new_buys"
        ],
        "review_required": true
      }
    }
  },
  "report_writer": {
    "status": "success",
    "scope": "portfolio",
    "provider": "codex",
    "model": "gpt-5.4"
  },
  "candidates": [
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "AAPL",
        "canonical_ticker": "AAPL",
        "yahoo_symbol": "AAPL",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "AAPL",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 1167446,
      "quantity": 3.0,
      "available_qty": 3.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.66,
        "time_horizon": "medium",
        "entry_logic": "AAPL에 대한 최종 판단은 중기적으로 소폭 OVERWEIGHT를 유지하는 BULLISH 관점이지만, 오늘 즉시 추격 매수할 자리는 아니다. 공격적 분석가가 지적한 대로 가격은 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 위를 회복했고, MACD는 2026-04-10의 -0.16에서 2026-04-16의 1.30으로 플러스 전환했으며 RSI 57.86은 과열권이 아니다. 또한 최근 분기 매출 143.756 billion, 순이익 42.097 billion, 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion은 우량성과 주주환원 기반을 뒷받침한다. 다만 보수적·중립 분석가가 강조한 것처럼 246.63에서 266.43까지 이미 약 8% 반등했고, 현재는 266.43 1차 저항과 272 이전 매물대 앞이며 2026-04-30 실적 갭 리스크가 남아 있다. 따라서 신규 자금은 WAIT가 맞다. 진입은 266.43 위 거래량 동반 일간 종가, RSI 60 회복 또는 유지, MACD 양수 유지가 동시에 확인될 때 작은 starter로 허용하거나, 260-262로 질서 있는 눌림이 발생하고 10일 EMA 및 50일 SMA 부근에서 종가 지지가 확인될 때만 단계적으로 허용한다.",
        "exit_logic": "신규 전술 포지션은 AAPL이 256 아래로 일간 종가 이탈하면 감액하거나 회피한다. 이는 공격적·중립 분석가가 공통으로 인정한 VWMA 지지 상실 및 반등 품질 약화 신호다. 260-262 지지 실패가 반복되거나 266.43 돌파 실패 후 되밀림이 나타나면 실적 전 노출을 먼저 낮춘다. 200일 SMA 부근인 251.51을 결정적으로 이탈하면 중기 BULLISH thesis를 재검토한다. 2026-04-30 실적 이후 iPhone 수요, 서비스 성장, AI 로드맵, 마진, 가이던스, buyback commentary가 프리미엄 밸류에이션을 방어하지 못하면 OVERWEIGHT를 HOLD 또는 그 이하로 낮춘다.",
        "position_sizing": "기존 보유자는 적정 범위의 소폭 OVERWEIGHT를 유지할 수 있지만, 이미 과도한 overweight라면 2026-04-30 실적 전 이벤트 노출 상한을 정하고 일부 축소를 고려한다. 신규 자금은 정상 포지션보다 작게 시작해야 하며, ATR 5.90, 현재가 대비 약 2.2% 변동성과 실적 갭 리스크를 반영해 partial starter만 허용한다. 돌파 진입 후 266.43 위 안착 또는 272 돌파 및 post-earnings 확인이 나오기 전까지 추가 매수는 제한한다. 눌림 진입의 경우 260-262 지지 확인 뒤에만 1차 진입하고, 지지 재확인 또는 실적 확인 후 단계적으로 확대한다.",
        "risk_limits": "266-272 저항권에서 확인 없는 추격 매수는 금지한다. 향후 starter는 1 ATR 불리한 움직임이 포트폴리오 위험 예산을 넘지 않도록 산정한다. 256 일간 종가 이탈은 전술적 감액 기준, 251.51 부근 200일 SMA 결정적 이탈은 중기 thesis review 기준으로 둔다. 실적 전후 갭 리스크는 종가 손절만으로 통제되지 않으므로 2026-04-30 전 포지션 크기를 제한한다. P/E 33.3배, 선행 P/E 28.3배, P/B 43.9배는 우량성을 반영한 프리미엄인 만큼, 기대 미달 시 멀티플 압축 위험을 명시적으로 관리한다.",
        "catalysts": [
          "2026-04-30 실적에서 revenue, EPS, services growth, iPhone demand, margins, buyback commentary가 기대를 상회할 가능성",
          "BofAS 목표가 325 상향과 평균 목표가 301.37이 시사하는 중기 상방 여지",
          "MACD 1.30 플러스 전환, 가격의 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 회복, RSI 57.86의 비과열 모멘텀",
          "최근 분기 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion에 기반한 EPS 및 주주환원 지원",
          "TSMC 58% 이익 증가, 첨단 칩 수요, WWDC, Siri 개선, Gemini AI 통합 가능성, foldable iPhone optionality가 만드는 AI·프리미엄 기기 사이클 기대"
        ],
        "invalidators": [
          "AAPL이 256 아래로 일간 종가 이탈해 VWMA 지지와 반등 품질을 훼손하는 경우",
          "200일 SMA 부근 251.51을 결정적으로 이탈해 중기 추세 기반이 약화되는 경우",
          "260-262 지지 확인 실패가 반복되거나 266.43 돌파 실패 후 거래량을 동반해 되밀리는 경우",
          "2026-04-30 실적 또는 가이던스에서 iPhone demand, services growth, margins, AI roadmap, capital return 기대를 충족하지 못하는 경우",
          "AI 기능 지연, 수익화 부족, Gemini 통합 또는 Siri 개선 기대 약화로 프리미엄 밸류에이션 방어 논리가 약해지는 경우",
          "지정학 또는 공급망 스트레스가 반도체 비용, 핵심 화학·가스 공급, 생산 일정에 부담을 주는 경우",
          "고밸류에이션 구간에서 내부자 계획 매도와 기관 수급 혼재가 투자심리를 추가로 약화시키는 경우"
        ],
        "watchlist_triggers": [
          "거래량을 동반한 AAPL의 266.43 위 일간 종가와 이후 해당 가격대 지지 확인",
          "RSI가 60을 회복 또는 유지하고 MACD가 양수를 유지하며 히스토그램 둔화가 제한적인 경우",
          "260-262로 질서 있는 눌림이 발생하고 10일 EMA 259.93 및 50일 SMA 260.68 부근에서 종가 지지가 확인되는 경우",
          "272 위 안착으로 이전 매물대와 prior congestion을 넘어서는 follow-through가 확인되는 경우",
          "2026-04-30 실적 이후 guidance, iPhone demand, services growth, AI roadmap, buyback commentary가 프리미엄 밸류에이션을 지지하는 경우",
          "256 아래 종가 이탈, 260-262 지지 실패, 또는 실적 후 갭다운이 발생해 setup_quality를 WEAK로 낮춰야 하는 경우"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "거래량을 동반한 AAPL의 266.43 위 일간 종가와 이후 해당 가격대 지지 확인",
        "RSI가 60을 회복 또는 유지하고 MACD가 양수를 유지하며 히스토그램 둔화가 제한적인 경우",
        "260-262로 질서 있는 눌림이 발생하고 10일 EMA 259.93 및 50일 SMA 260.68 부근에서 종가 지지가 확인되는 경우",
        "272 위 안착으로 이전 매물대와 prior congestion을 넘어서는 follow-through가 확인되는 경우",
        "2026-04-30 실적 이후 guidance, iPhone demand, services growth, AI roadmap, buyback commentary가 프리미엄 밸류에이션을 지지하는 경우",
        "256 아래 종가 이탈, 260-262 지지 실패, 또는 실적 후 갭다운이 발생해 setup_quality를 WEAK로 낮춰야 하는 경우",
        "2026-04-30 실적에서 revenue, EPS, services growth, iPhone demand, margins, buyback commentary가 기대를 상회할 가능성",
        "BofAS 목표가 325 상향과 평균 목표가 301.37이 시사하는 중기 상방 여지",
        "MACD 1.30 플러스 전환, 가격의 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 회복, RSI 57.86의 비과열 모멘텀",
        "최근 분기 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion에 기반한 EPS 및 주주환원 지원",
        "TSMC 58% 이익 증가, 첨단 칩 수요, WWDC, Siri 개선, Gemini AI 통합 가능성, foldable iPhone optionality가 만드는 AI·프리미엄 기기 사이클 기대",
        "AAPL이 256 아래로 일간 종가 이탈해 VWMA 지지와 반등 품질을 훼손하는 경우",
        "200일 SMA 부근 251.51을 결정적으로 이탈해 중기 추세 기반이 약화되는 경우",
        "260-262 지지 확인 실패가 반복되거나 266.43 돌파 실패 후 거래량을 동반해 되밀리는 경우",
        "2026-04-30 실적 또는 가이던스에서 iPhone demand, services growth, margins, AI roadmap, capital return 기대를 충족하지 못하는 경우",
        "AI 기능 지연, 수익화 부족, Gemini 통합 또는 Siri 개선 기대 약화로 프리미엄 밸류에이션 방어 논리가 약해지는 경우",
        "지정학 또는 공급망 스트레스가 반도체 비용, 핵심 화학·가스 공급, 생산 일정에 부담을 주는 경우",
        "고밸류에이션 구간에서 내부자 계획 매도와 기관 수급 혼재가 투자심리를 추가로 약화시키는 경우"
      ],
      "confidence": 0.66,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "AAPL thesis is constructive for an existing holding, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not yet actionable because price is pressing the 266.43-272 resistance zone after a sharp rebound and earnings gap risk remains before 2026-04-30. Add only after a volume-backed close above 266.43 with RSI/MACD confirmation or a controlled pullback holding 260-262; otherwise maintain current exposure.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.28,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.62,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "AAPL thesis is constructive for an existing holding, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not yet actionable because price is pressing the 266.43-272 resistance zone after a sharp rebound and earnings gap risk remains before 2026-04-30. Add only after a volume-backed close above 266.43 with RSI/MACD confirmation or a controlled pullback holding 260-262; otherwise maintain current exposure."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_zone",
        "earnings_gap_risk",
        "support_hold_required",
        "held_position_can_hold",
        "premium_valuation_risk",
        "limited_data_quality_flag"
      ],
      "review_required": false,
      "score_now": 0.07845562880000002,
      "score_triggered": 0.22113907200000002,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.28
      },
      "broker_symbol": "AAPL",
      "canonical_ticker": "AAPL",
      "display_name": "AAPL"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "COST",
        "canonical_ticker": "COST",
        "yahoo_symbol": "COST",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "COST",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "COST는 기존 보유를 유지할 수 있는 우량 복합 성장주이지만, 오늘 신규 진입은 아직 확인되지 않았다. 공격적 분석가가 지적한 대로 최근 분기 매출 695.97억 달러, 희석 EPS 4.58, ROE 약 29.65%, 현금성 자산 173.83억 달러, 5개 분기 연속 양의 잉여현금흐름, 13.1% 배당 인상은 중기 투자 가능성을 뒷받침한다. 다만 보수적·중립적 분석가가 강조한 것처럼 2026-04-15 종가 984.75는 50일 SMA 994.28, 10일 EMA 995.78, VWMA 998.18 아래이고, MACD는 9.61에서 1.56으로 둔화됐으며 RSI 46.18은 확정적 반등 신호가 아니다. 따라서 방향성은 조건부 긍정으로 유지하되, 즉시 매수하지 않고 994-1000 종가 회복과 거래량 개선, 또는 966-968 지지에서 명확한 매도 흡수 확인을 기다린다. 966-968 지지 반전만 확인될 경우에는 일반 starter의 절반 이하만 검토하고, 더 신뢰도 높은 starter는 994-1000 회복 및 VWMA 위 안착 이후로 제한한다.",
        "exit_logic": "기존 중기 보유분은 COST가 966-968 지지대를 방어하고 회원제 모델, 동일매장매출, 갱신률, 마진, 현금흐름이 훼손되지 않는 한 유지한다. 966을 종가로 이탈한 뒤 빠르게 회복하지 못하면 952 부근까지 하방이 열릴 수 있으므로 비중을 줄이거나 방어적으로 전환한다. 1014-1020은 1차 반등 관리 구간, 1032-1036은 최근 실패한 돌파 구간이므로 해당 구간 접근 시 추격 매수보다 일부 이익 관리 또는 비중 점검을 우선한다. 실적 발표에서 comparable sales, 회원 갱신률, 트래픽, 마진, 가이던스가 프리미엄 밸류에이션을 훼손하면 HOLD 판단을 재검토한다.",
        "position_sizing": "기존 핵심 보유는 정상 비중 또는 정상보다 약간 낮은 비중으로 유지한다. 신규 자금은 오늘 투입하지 않는다. 966-968에서 명확한 지지와 반전이 확인되면 일반 starter의 절반 이하로만 탐색 가능하며, 994-1000을 종가 기준으로 회복하고 거래량이 개선되며 MACD 둔화가 안정될 때 정상 starter를 검토한다. 추가 매수는 994 위에서 higher low가 형성되고 VWMA 998.18 위 안착이 확인된 뒤 단계적으로 집행한다. ATR 18.86과 최근 1035.82에서 966.00까지의 69.82포인트 변동을 고려해 한 번에 전량 진입하지 않는다.",
        "risk_limits": "994-1000 아래에서는 확인 없는 추격 매수를 금지한다. 966은 핵심 종가 기준 지지선, 952는 다음 하방 위험 구간으로 둔다. ATR 18.86이 높기 때문에 일반적인 일중 흔들림이 아니라 종가 이탈과 회복 실패를 기준으로 위험을 판단한다. P/E 약 51, forward P/E 약 44, P/B 약 26.5와 순이익률 약 2.99%, 영업이익률 약 3.67%를 감안해 작은 실적 실망이나 마진 압박에도 밸류에이션 압축이 커질 수 있으므로 총 비중은 제한한다.",
        "catalysts": [
          "분기 배당을 1.30달러에서 1.47달러로 13.1% 인상했고, 2026-05-01 기준 주주에게 2026-05-15 지급 예정이라는 점은 현금흐름 신뢰를 뒷받침한다.",
          "최근 분기 매출 695.97억 달러와 희석 EPS 4.58은 전년 동기 EPS 4.02보다 개선되어 고품질 성장 논리를 지지한다.",
          "회원제 반복 수익, Kirkland Signature, 높은 고객 충성도, 방어적 소비 수요, 국제 확장, 디지털 성장, 신규 창고 개설은 중기 복리 성장 근거다.",
          "50일선이 1월 896.23에서 4월 994.28까지 상승했고 200일 평균 949.10보다 위에 있어 중기 구조가 완전히 훼손됐다고 보기 어렵다.",
          "평균 목표가 약 1043 및 일부 더 높은 목표가는 994-1000 회복과 모멘텀 안정 시 1014-1020, 1032-1036 재시험의 근거가 될 수 있다."
        ],
        "invalidators": [
          "966 종가 이탈 후 빠른 회복 실패로 952 부근까지 하방 위험이 열리는 경우.",
          "994-1000 회복 시도가 반복적으로 실패하고 down-day volume이 up-day volume보다 무거운 경우.",
          "comparable sales, 회원 갱신률, 회원 수수료 성장, 트래픽, 객단가가 둔화되어 P/E 약 51과 forward P/E 약 44를 정당화하기 어려워지는 경우.",
          "임금, 운송비, 식품비, shrink, FX, 가격 경쟁으로 gross margin 또는 operating margin 압박이 커지는 경우.",
          "로티세리 치킨 식품 안전 소송이 추가 소송, 규제 관심, 브랜드 신뢰 훼손, 방문 빈도 약화로 확대되는 경우."
        ],
        "watchlist_triggers": [
          "강세 전환 조건: COST가 1000 위에서 종가 마감하고 거래량이 최근 평균을 웃돌며 MACD가 안정되거나 상승 전환하는 경우.",
          "정상 starter 조건: 994-1000 회복 후 VWMA 998.18 위에 안착하고 50일 SMA 994.28 위에서 매물이 흡수되는 경우.",
          "제한적 탐색 조건: 966-968에서 명확한 반전 캔들과 매도 흡수가 나타나고 부정적 회사 뉴스가 없을 경우, 일반 starter의 절반 이하만 허용.",
          "추가 매수 조건: 994 위에서 higher low가 형성되고 상대강도와 거래량이 개선되는 경우.",
          "위험 축소 조건: 966 종가 이탈 또는 일중 이탈 후 빠른 회복 실패.",
          "이익 관리 조건: 1014-1020 접근 시 1차 점검, 1032-1036 접근 시 최근 실패한 돌파 구간으로 비중과 손익비 재평가."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "강세 전환 조건: COST가 1000 위에서 종가 마감하고 거래량이 최근 평균을 웃돌며 MACD가 안정되거나 상승 전환하는 경우.",
        "정상 starter 조건: 994-1000 회복 후 VWMA 998.18 위에 안착하고 50일 SMA 994.28 위에서 매물이 흡수되는 경우.",
        "제한적 탐색 조건: 966-968에서 명확한 반전 캔들과 매도 흡수가 나타나고 부정적 회사 뉴스가 없을 경우, 일반 starter의 절반 이하만 허용.",
        "추가 매수 조건: 994 위에서 higher low가 형성되고 상대강도와 거래량이 개선되는 경우.",
        "위험 축소 조건: 966 종가 이탈 또는 일중 이탈 후 빠른 회복 실패.",
        "이익 관리 조건: 1014-1020 접근 시 1차 점검, 1032-1036 접근 시 최근 실패한 돌파 구간으로 비중과 손익비 재평가.",
        "분기 배당을 1.30달러에서 1.47달러로 13.1% 인상했고, 2026-05-01 기준 주주에게 2026-05-15 지급 예정이라는 점은 현금흐름 신뢰를 뒷받침한다.",
        "최근 분기 매출 695.97억 달러와 희석 EPS 4.58은 전년 동기 EPS 4.02보다 개선되어 고품질 성장 논리를 지지한다.",
        "회원제 반복 수익, Kirkland Signature, 높은 고객 충성도, 방어적 소비 수요, 국제 확장, 디지털 성장, 신규 창고 개설은 중기 복리 성장 근거다.",
        "50일선이 1월 896.23에서 4월 994.28까지 상승했고 200일 평균 949.10보다 위에 있어 중기 구조가 완전히 훼손됐다고 보기 어렵다.",
        "평균 목표가 약 1043 및 일부 더 높은 목표가는 994-1000 회복과 모멘텀 안정 시 1014-1020, 1032-1036 재시험의 근거가 될 수 있다.",
        "966 종가 이탈 후 빠른 회복 실패로 952 부근까지 하방 위험이 열리는 경우.",
        "994-1000 회복 시도가 반복적으로 실패하고 down-day volume이 up-day volume보다 무거운 경우.",
        "comparable sales, 회원 갱신률, 회원 수수료 성장, 트래픽, 객단가가 둔화되어 P/E 약 51과 forward P/E 약 44를 정당화하기 어려워지는 경우.",
        "임금, 운송비, 식품비, shrink, FX, 가격 경쟁으로 gross margin 또는 operating margin 압박이 커지는 경우.",
        "로티세리 치킨 식품 안전 소송이 추가 소송, 규제 관심, 브랜드 신뢰 훼손, 방문 빈도 약화로 확대되는 경우."
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "COST has a constructive medium-term quality thesis supported by revenue and EPS growth, cash generation, membership-model durability, and a dividend increase, but timing is not actionable now. The stock is below the key 994-1000 reclaim zone, below near-term moving/VWMA references, and momentum has faded. A starter is only justified after a confirmed close back above 994-1000 with stronger volume and MACD stabilization, or a clearly absorbed support retest near 966-968; otherwise this remains watch-only.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.63,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "COST has a constructive medium-term quality thesis supported by revenue and EPS growth, cash generation, membership-model durability, and a dividend increase, but timing is not actionable now. The stock is below the key 994-1000 reclaim zone, below near-term moving/VWMA references, and momentum has faded. A starter is only justified after a confirmed close back above 994-1000 with stronger volume and MACD stabilization, or a clearly absorbed support retest near 966-968; otherwise this remains watch-only."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_quality_thesis",
        "entry_wait_for_confirmation",
        "below_key_reclaim_zone",
        "momentum_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_retest_alternative",
        "valuation_risk_elevated",
        "stale_intraday_data"
      ],
      "review_required": false,
      "score_now": -0.036622668799999994,
      "score_triggered": 0.18344332800000002,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.63,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.102,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "COST",
      "canonical_ticker": "COST",
      "display_name": "COST"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "ETHU",
        "canonical_ticker": "ETHU",
        "yahoo_symbol": "ETHU",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "ETHU",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 162217,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.61,
        "time_horizon": "short",
        "entry_logic": "ETHU의 방향성 평가는 단기적으로 건설적이지만, 오늘 즉시 추격 매수할 정도로 완성된 셋업은 아니다. 공격적 분석가가 지적한 대로 2026-04-15 종가 28.43은 10일 EMA 25.34, 50일 SMA 23.05, VWMA 23.73을 모두 상회했고, MACD도 0.3530으로 0선 위에 있으며 RSI 60.64는 과매수권 전 단계다. 또한 2026-04-10 348만 달러, 2026-04-13 740만 달러 이상 유입은 단기 레버리지 ETH 반등 수요가 재개됐다는 증거다. 그러나 보수적·중립 분석가가 모두 지적했듯 29.5-30.0 저항 돌파가 아직 확인되지 않았고, 2026-04-14 고가 29.42 뒤 2026-04-15 고가가 28.71로 낮아져 돌파 실패 위험이 남아 있다. 따라서 기존 보유는 유지 가능하지만 신규 진입은 WAIT가 맞다. 선호 진입은 ETHU가 29.5-30.0 위에서 2026-04-15 거래량 4,920,400주를 뚜렷하게 웃도는 거래량으로 종가를 형성할 때의 아주 작은 starter이며, 대안은 25.3 부근 눌림에서 지지가 확인되고 ETH-USD와 거래량이 함께 개선될 때다.",
        "exit_logic": "기존 또는 향후 starter 노출은 종가 기준으로 관리한다. ETHU가 25.3 부근 10일 EMA를 종가로 이탈하면 단기 모멘텀 훼손으로 보고 축소한다. 23.7-23.0 VWMA·50일 SMA 지지권을 종가로 이탈하면 반등 구조가 훼손된 것으로 보고 퇴출 또는 대폭 축소한다. 29.5-30.0 돌파 시도 후 거래량이 따라오지 않거나 ETH-USD가 동반 회복하지 못하고 빠르게 되밀리면 25.3까지 기다리지 않고 일부 리스크를 줄인다. 급등 구간에서는 2배 레버리지 상품의 변동성 소모와 갭 리스크를 감안해 부분 이익 실현을 우선한다.",
        "position_sizing": "일반 주식 포지션보다 현저히 작은 단기 전술 비중만 허용한다. ATR 2.34가 종가 대비 약 8.2%이고 ETHU가 2배 Ether 레버리지 상품이므로, 확인된 돌파가 나오더라도 full size가 아니라 최소 단위 starter로 시작한다. 추가 매수는 돌파 후 30 부근 지지 재확인, 또는 25.3 부근 눌림 후 반등 확인이 있을 때만 검토한다. 23.7-23.0 지지권 아래에서는 평균단가 낮추기를 금지한다.",
        "risk_limits": "위험 한도는 장중 잡음보다 종가 기준 레벨로 둔다. 25.3 종가 이탈은 1차 경고, 23.0 종가 이탈은 thesis invalidation으로 처리한다. 하루 ATR 수준의 정상 변동이나 overnight ETH gap이 포트폴리오 손실 한도를 흔들지 않도록 포지션을 제한한다. 2배 레버리지, 일일 리셋, 변동성 소모, slippage, 유동성 충격, ETH-USD 헤드라인 리스크, 위험자산 심리 급변을 모두 반영한다.",
        "catalysts": [
          "ETHU가 29.5-30.0 위에서 2026-04-15 거래량 4,920,400주를 뚜렷하게 웃도는 거래량으로 종가 돌파",
          "2026-04-10 348만 달러 및 2026-04-13 740만 달러 이상 유입 이후 추가 ETHU 유입 확인",
          "ETH-USD 기술적 회복이 단순 short-covering bounce를 넘어 연장",
          "미국 위험자산과 기술·성장주 심리 개선이 crypto beta 수요를 지지",
          "MACD가 0선 위에서 유지되고 RSI가 과열 없이 상승 지속"
        ],
        "invalidators": [
          "ETHU가 25.3 부근을 종가로 이탈해 단기 모멘텀을 상실",
          "ETHU가 23.7-23.0 지지권을 종가로 이탈해 VWMA와 50일 SMA 회복 구조를 훼손",
          "29.5-30.0 돌파 시도가 거래량 없이 빠르게 실패",
          "3월 말 1,475만 달러 또는 4월 초 840만 달러 유출과 유사한 대규모 자금 이탈 재개",
          "ETH-USD 급반전, 규제·유동성 충격, 또는 위험자산 선호 약화",
          "뉴스 기반 심리 개선이 재차 악화되고 전용 사회 데이터 부재로 투자 근거가 약화"
        ],
        "watchlist_triggers": [
          "ETHU 일간 종가가 29.5-30.0 위에서 형성되고 거래량이 2026-04-15의 4,920,400주를 상회",
          "돌파 후 30 부근을 지지하며 재상승",
          "25.3 부근 눌림에서 지지 확인 후 거래량 개선",
          "ETH-USD가 ETHU 돌파와 동시에 회복세를 유지",
          "MACD가 0선 위에서 양의 histogram을 유지",
          "RSI가 70을 급격히 넘지 않고 상승 여지를 보존",
          "신규 fund-flow 보고서에서 ETHU 추가 유입 확인",
          "ETHU가 23.0 아래로 종가 이탈하면 stance 하향 검토"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "ETHU 일간 종가가 29.5-30.0 위에서 형성되고 거래량이 2026-04-15의 4,920,400주를 상회",
        "돌파 후 30 부근을 지지하며 재상승",
        "25.3 부근 눌림에서 지지 확인 후 거래량 개선",
        "ETH-USD가 ETHU 돌파와 동시에 회복세를 유지",
        "MACD가 0선 위에서 양의 histogram을 유지",
        "RSI가 70을 급격히 넘지 않고 상승 여지를 보존",
        "신규 fund-flow 보고서에서 ETHU 추가 유입 확인",
        "ETHU가 23.0 아래로 종가 이탈하면 stance 하향 검토",
        "ETHU가 29.5-30.0 위에서 2026-04-15 거래량 4,920,400주를 뚜렷하게 웃도는 거래량으로 종가 돌파",
        "2026-04-10 348만 달러 및 2026-04-13 740만 달러 이상 유입 이후 추가 ETHU 유입 확인",
        "ETH-USD 기술적 회복이 단순 short-covering bounce를 넘어 연장",
        "미국 위험자산과 기술·성장주 심리 개선이 crypto beta 수요를 지지",
        "MACD가 0선 위에서 유지되고 RSI가 과열 없이 상승 지속",
        "ETHU가 25.3 부근을 종가로 이탈해 단기 모멘텀을 상실",
        "ETHU가 23.7-23.0 지지권을 종가로 이탈해 VWMA와 50일 SMA 회복 구조를 훼손",
        "29.5-30.0 돌파 시도가 거래량 없이 빠르게 실패",
        "3월 말 1,475만 달러 또는 4월 초 840만 달러 유출과 유사한 대규모 자금 이탈 재개",
        "ETH-USD 급반전, 규제·유동성 충격, 또는 위험자산 선호 약화",
        "뉴스 기반 심리 개선이 재차 악화되고 전용 사회 데이터 부재로 투자 근거가 약화"
      ],
      "confidence": 0.61,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "ETHU has a constructive short-term rebound thesis and existing held exposure can be maintained, but timing is not yet actionable for adding. The key confirmation is a daily close above 29.5-30.0 on volume clearly above the 2026-04-15 level, or a controlled pullback that holds near 25.3 with improving ETH-USD and volume. Until then this remains a wait-for-confirmation setup, especially given leveraged-product risk and stale/incomplete intraday data.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.3096,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.68,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "ETHU has a constructive short-term rebound thesis and existing held exposure can be maintained, but timing is not yet actionable for adding. The key confirmation is a daily close above 29.5-30.0 on volume clearly above the 2026-04-15 level, or a controlled pullback that holds near 25.3 with improving ETH-USD and volume. Until then this remains a wait-for-confirmation setup, especially given leveraged-product risk and stale/incomplete intraday data."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_momentum_above_key_averages",
        "breakout_not_confirmed",
        "entry_action_wait",
        "held_position_hold_only",
        "volume_confirmation_required",
        "leveraged_etf_risk",
        "stale_intraday_data",
        "explicit_invalidation_levels"
      ],
      "review_required": false,
      "score_now": 0.05361333760000001,
      "score_triggered": 0.15903334400000002,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3096
      },
      "broker_symbol": "ETHU",
      "canonical_ticker": "ETHU",
      "display_name": "ETHU"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "ETN",
        "canonical_ticker": "ETN",
        "yahoo_symbol": "ETN",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "ETN",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 578582,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.67,
        "time_horizon": "medium",
        "entry_logic": "ETN은 중기적으로 투자 가능한 상승 우위가 유지된다. 공격적 분석가와 중립 분석가가 지적했듯이 가격은 50일 SMA $369.65와 200일 SMA $357.80 위에 있고, 10일 EMA $387.81도 아직 방어 중이며, 최근 분기 매출 $7.055B, EPS $2.91, 영업이익률 약 19.65%, 잉여현금흐름 $1.573B가 품질을 뒷받침한다. AI 데이터센터, 전력망, 스위치기어 수요와 Citigroup $464, Jefferies $460, RBC $457 목표가 상향도 구조적 재평가 논리를 보강한다. 다만 보수적·중립 분석가가 강조한 대로 2026-04-15 종가 $395.06은 $400을 유지하지 못했고 $407.83 돌파도 실패했으며, MACD 히스토그램은 5.10에서 4.94, 4.11로 둔화되고 RSI도 68대에서 62.17로 내려왔다. 따라서 오늘 즉시 신규 매수나 추가 매수는 보류하고, $387-$390 지지 확인 또는 $407.83 이상 거래량 동반 종가 돌파가 나올 때만 스타터 진입을 검토한다.",
        "exit_logic": "기존 전술적 장기 노출은 $387.81 부근 10일 EMA 아래 종가와 RSI 60 하회가 함께 나타나면 일부 축소한다. $382-$385 지지 이탈은 단기 추세 훼손으로 보고 더 적극적으로 위험을 줄인다. $369.65 부근 50일 SMA 아래 종가는 중기 상승 추세 무효화로 간주해 전술적 롱 포지션을 종료한다. Q1 실적 또는 가이던스에서 수주, 데이터센터 수요, 마진, 생산 확대 전환이 기대에 못 미치면 밸류에이션 프리미엄 축소 위험을 반영해 비중을 낮춘다.",
        "position_sizing": "신규 자금은 확인 전 투입하지 않는다. 기존 보유자는 OVERWEIGHT 성향을 유지할 수 있지만 과도한 비중은 실적 전 관리한다. $387-$390에서 거래량 안정, RSI 60 이상, MACD 히스토그램 안정 또는 반등이 확인되면 의도한 비중의 약 1/3 스타터만 허용한다. $407.83 이상을 거래량 증가와 함께 종가 돌파하고 $400 위를 유지하면 1/3 스타터를 실행하고, 실적과 가이던스가 수주·마진·데이터센터 및 전력망 수요를 확인할 때만 단계적으로 확대한다. ATR이 약 $12.70, 종가 대비 약 3.21%이고 밸류에이션이 높으므로 정상보다 작은 크기로 운용한다.",
        "risk_limits": "$395-$400 정체 구간에서는 추격하지 않는다. 선행 PER 25.1배, PER 37.2배, P/B 7.78배는 이미 높은 기대를 반영하므로 실적 이벤트 전 공격적 증액은 피한다. 전술 리스크는 최소 1 ATR 변동성을 견딜 수 있게 잡되, $387.81 아래는 경고 구간, $382-$385 아래는 강한 디리스크 구간, $369.65 아래는 중기 무효화 구간으로 둔다. S&P 500 상승일에도 ETN이 약세를 보이는 상대 약세가 지속되면 비중 확대를 중단한다.",
        "catalysts": [
          "Q1 2026 EPS가 $2.75 기대치를 웃돌고 가이던스가 프리미엄 밸류에이션을 정당화하는 경우",
          "데이터센터, 전력망, 스위치기어 주문이 실제 매출 성장으로 전환되고 있다는 증거",
          "운영비, 노동, 공급망 압박에도 마진이 약 19%대에서 유지되는 흐름",
          "$407.83 이상 거래량 동반 종가 돌파와 $400 위 유지",
          "Citigroup $464, Jefferies $460, RBC $457 이후 추가 목표가 또는 추정치 상향"
        ],
        "invalidators": [
          "$369.65 부근 50일 SMA 아래 종가로 중기 상승 추세가 훼손되는 경우",
          "Q1 실적 또는 가이던스에서 주문 둔화, 데이터센터 수요 약화, 마진 압박이 확인되는 경우",
          "$400 회복 실패 후 $382-$385 지지가 이탈되는 경우",
          "EPS 성장률이 낮은 한 자릿수에 머무는 가운데 PER 37.2배 수준의 밸류에이션 압축이 발생하는 경우",
          "생산 확대, Nebraska 스위치기어 시설, 공급망, 노동비 관련 실행 문제나 비용 초과가 드러나는 경우"
        ],
        "watchlist_triggers": [
          "$387-$390 지지 확인과 RSI 60 이상 안정",
          "$407.83 이상 거래량 동반 종가 돌파 및 $400 위 유지",
          "MACD 히스토그램 둔화 중단 또는 재상승",
          "Q1 코멘터리에서 백로그, 가격 결정력, 데이터센터 및 전력망 수요 지속성이 확인되는 경우",
          "$382-$385 아래 종가 또는 상승장에서도 S&P 500 대비 상대 약세가 이어지는 경우"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 2
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 2
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "$387-$390 지지 확인과 RSI 60 이상 안정",
        "$407.83 이상 거래량 동반 종가 돌파 및 $400 위 유지",
        "MACD 히스토그램 둔화 중단 또는 재상승",
        "Q1 코멘터리에서 백로그, 가격 결정력, 데이터센터 및 전력망 수요 지속성이 확인되는 경우",
        "$382-$385 아래 종가 또는 상승장에서도 S&P 500 대비 상대 약세가 이어지는 경우",
        "Q1 2026 EPS가 $2.75 기대치를 웃돌고 가이던스가 프리미엄 밸류에이션을 정당화하는 경우",
        "데이터센터, 전력망, 스위치기어 주문이 실제 매출 성장으로 전환되고 있다는 증거",
        "운영비, 노동, 공급망 압박에도 마진이 약 19%대에서 유지되는 흐름",
        "$407.83 이상 거래량 동반 종가 돌파와 $400 위 유지",
        "Citigroup $464, Jefferies $460, RBC $457 이후 추가 목표가 또는 추정치 상향",
        "$369.65 부근 50일 SMA 아래 종가로 중기 상승 추세가 훼손되는 경우",
        "Q1 실적 또는 가이던스에서 주문 둔화, 데이터센터 수요 약화, 마진 압박이 확인되는 경우",
        "$400 회복 실패 후 $382-$385 지지가 이탈되는 경우",
        "EPS 성장률이 낮은 한 자릿수에 머무는 가운데 PER 37.2배 수준의 밸류에이션 압축이 발생하는 경우",
        "생산 확대, Nebraska 스위치기어 시설, 공급망, 노동비 관련 실행 문제나 비용 초과가 드러나는 경우"
      ],
      "confidence": 0.67,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "ETN has a constructive medium-term overweight thesis supported by trend position above key moving averages, solid fundamentals, AI/data-center/grid demand, and analyst target upgrades, but the action is not ready now. The plan explicitly says WAIT/HOLD: add only after confirmation via $387-$390 support stabilization or a volume-backed close above $407.83 with sustained trade above $400, with earnings and guidance as additional confirmation catalysts.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2872,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.58,
        "entry_readiness": 0.36,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "ETN has a constructive medium-term overweight thesis supported by trend position above key moving averages, solid fundamentals, AI/data-center/grid demand, and analyst target upgrades, but the action is not ready now. The plan explicitly says WAIT/HOLD: add only after confirmation via $387-$390 support stabilization or a volume-backed close above $407.83 with sustained trade above $400, with earnings and guidance as additional confirmation catalysts."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.36,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "support_confirmation_required",
        "momentum_decelerating",
        "stale_intraday_data",
        "elevated_valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false,
      "score_now": 0.06696788480000002,
      "score_triggered": 0.192419712,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.108,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "funding_source_score": 0.2872
      },
      "broker_symbol": "ETN",
      "canonical_ticker": "ETN",
      "display_name": "ETN"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "FANG",
        "canonical_ticker": "FANG",
        "yahoo_symbol": "FANG",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "FANG",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.67,
        "time_horizon": "medium",
        "entry_logic": "FANG에 대한 최종 판단은 조건부 OVERWEIGHT이다. 공격적 분석가가 강조한 대로 2026-04-15 종가 185.87은 50일선 180.83과 200일선 153.37 위에 있어 중기 추세가 아직 훼손되지 않았고, 2025-12-31 분기 영업현금흐름 2.343B, 잉여현금흐름 873M, 순부채 감소, 장기채 776.763M 재매입, UBS 246 및 JPMorgan 228 목표가 상향은 투자 가능한 원유 레버리지 논리를 뒷받침한다. 다만 보수적·중립 분석가가 지적한 것처럼 현재 가격은 10일 EMA 189.26과 VWMA 192.78 아래이고, RSI 47.42, MACD 히스토그램 -1.98, ATR 6.67로 단기 매수세와 변동성 조건이 아직 불완전하다. 따라서 방향성은 BULLISH로 유지하되 오늘 즉시 신규 진입은 WAIT가 맞다. 180-181 지지 확인 또는 193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선이 나타나면 작은 starter가 정당화될 수 있고, 본격 증액은 189-193 공급대와 VWMA 회복 뒤에만 허용한다.",
        "exit_logic": "기존 보유분은 중기 추세가 유지되는 동안만 보유한다. 50일선 180.83을 종가 기준으로 이탈하고 빠르게 회복하지 못하면 일부 축소하며, 최근 조정 저점 175.14를 결정적으로 하회하면 controlled correction 논리가 훼손되므로 강한 축소 또는 청산한다. Q1 실적에서 낮은 가스 실현가, capex, 현금흐름 질, 부채 궤적, 주주환원 여력이 기존의 정상화 이익 및 원유 레버리지 논리를 확인하지 못하면 포트폴리오 스탠스를 재평가한다.",
        "position_sizing": "오늘은 신규 full position을 열지 않는다. 기존 보유자는 180.83 위에서는 partial exposure를 유지할 수 있으나, ATR 6.67이 종가의 약 3.6%이고 에너지주 특성상 유가·지정학 뉴스에 갭 리스크가 있으므로 정상보다 작은 비중을 유지한다. 신규 매수자는 180-181 지지가 거래량과 유가 흐름으로 확인될 때 매우 작은 starter만 검토하고, 193 이상 종가 회복, VWMA 192.78 회복, RSI 50 상회, MACD 히스토그램 개선이 동반될 때 단계적으로 확대한다.",
        "risk_limits": "핵심 위험선은 175.14이며, 이탈 시 단순 손절선이 아니라 투자 논리 무효화 기준으로 본다. 180.83 하회 후 회복 실패는 setup_quality 하향 및 비중 축소 신호다. 189.26 10일 EMA와 192.78 VWMA 아래에서 MACD 히스토그램이 계속 음수이면 추가 매수 금지다. 재무 리스크는 현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B로 관리해야 하며, 보수적 분석가가 지적한 대로 장기채 재매입은 긍정적 자본구조 관리인 동시에 단기 유동성 완충력을 낮출 수 있다.",
        "catalysts": [
          "WTI와 Brent가 강세를 유지하고, 특히 WTI가 FANG의 Q1 비헤지 실현 유가 73.47/bbl보다 충분히 높은 수준을 유지하는 경우",
          "Q1 실적에서 원유 실현가격과 약 133M 예상 파생상품 현금 이익이 낮은 가스 가격 영향을 상쇄하는 것이 확인되는 경우",
          "영업현금흐름 2.343B와 잉여현금흐름 873M 수준의 현금창출력이 일회성이 아니라는 증거와 순부채 감소 지속",
          "장기채 776.763M 재매입이 이자 부담 완화와 만기 구조 개선으로 이어지면서 주주환원을 훼손하지 않는다는 확인",
          "UBS 246 및 JPMorgan 228 목표가 상향이 193 이상 기술적 회복과 함께 기관 수요로 연결되는 경우",
          "193 이상 종가 회복, RSI 50 상회, VWMA 192.78 회복, MACD 히스토그램 개선이 동시에 나타나는 경우"
        ],
        "invalidators": [
          "175.14를 결정적으로 하회해 최근 조정 저점과 50일선 지지 논리가 무너지는 경우",
          "180.83 아래에서 빠른 회복에 실패하며 중기 추세가 약화되는 경우",
          "WTI가 low-to-mid 70s로 되돌아가거나 Iran/Hormuz 관련 지정학 프리미엄이 빠르게 사라지는 경우",
          "Q1 실적에서 약한 잉여현금흐름, 반복적인 대규모 조정, capex 부담, 낮은 가스 가격 영향이 원유 강세를 압도하는 경우",
          "현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B와 관련된 유동성 또는 신용 압박이 커지는 경우",
          "SGF FANG HOLDINGS 및 내부자 매도가 반등 구간에서 추가 공급 부담으로 반복되는 경우"
        ],
        "watchlist_triggers": [
          "193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선, VWMA 192.78 회복이 동반되면 starter 또는 add 검토",
          "180-181 지지 테스트 후 거래량과 유가 흐름이 constructive하면 매우 작은 starter 검토, 단 175.14 아래 위험 통제 필수",
          "180.83 하회 뒤 빠른 회복 실패 시 setup_quality를 WEAK로 낮추고 기존 노출 축소",
          "WTI가 low-to-mid 70s로 하락하거나 Brent의 지정학 프리미엄이 약화되면 BULLISH 스탠스 재평가",
          "Q1 실적에서 실현가격, 파생상품 현금 이익, capex, 잉여현금흐름, 부채 감축, 주주환원 내용을 확인",
          "190-193 구간에서 내부자·대주주 매도성 공급이나 거래량 동반 실패가 나타나면 돌파 신뢰도 하향"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선, VWMA 192.78 회복이 동반되면 starter 또는 add 검토",
        "180-181 지지 테스트 후 거래량과 유가 흐름이 constructive하면 매우 작은 starter 검토, 단 175.14 아래 위험 통제 필수",
        "180.83 하회 뒤 빠른 회복 실패 시 setup_quality를 WEAK로 낮추고 기존 노출 축소",
        "WTI가 low-to-mid 70s로 하락하거나 Brent의 지정학 프리미엄이 약화되면 BULLISH 스탠스 재평가",
        "Q1 실적에서 실현가격, 파생상품 현금 이익, capex, 잉여현금흐름, 부채 감축, 주주환원 내용을 확인",
        "190-193 구간에서 내부자·대주주 매도성 공급이나 거래량 동반 실패가 나타나면 돌파 신뢰도 하향",
        "WTI와 Brent가 강세를 유지하고, 특히 WTI가 FANG의 Q1 비헤지 실현 유가 73.47/bbl보다 충분히 높은 수준을 유지하는 경우",
        "Q1 실적에서 원유 실현가격과 약 133M 예상 파생상품 현금 이익이 낮은 가스 가격 영향을 상쇄하는 것이 확인되는 경우",
        "영업현금흐름 2.343B와 잉여현금흐름 873M 수준의 현금창출력이 일회성이 아니라는 증거와 순부채 감소 지속",
        "장기채 776.763M 재매입이 이자 부담 완화와 만기 구조 개선으로 이어지면서 주주환원을 훼손하지 않는다는 확인",
        "UBS 246 및 JPMorgan 228 목표가 상향이 193 이상 기술적 회복과 함께 기관 수요로 연결되는 경우",
        "193 이상 종가 회복, RSI 50 상회, VWMA 192.78 회복, MACD 히스토그램 개선이 동시에 나타나는 경우",
        "175.14를 결정적으로 하회해 최근 조정 저점과 50일선 지지 논리가 무너지는 경우",
        "180.83 아래에서 빠른 회복에 실패하며 중기 추세가 약화되는 경우",
        "WTI가 low-to-mid 70s로 되돌아가거나 Iran/Hormuz 관련 지정학 프리미엄이 빠르게 사라지는 경우",
        "Q1 실적에서 약한 잉여현금흐름, 반복적인 대규모 조정, capex 부담, 낮은 가스 가격 영향이 원유 강세를 압도하는 경우",
        "현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B와 관련된 유동성 또는 신용 압박이 커지는 경우",
        "SGF FANG HOLDINGS 및 내부자 매도가 반등 구간에서 추가 공급 부담으로 반복되는 경우"
      ],
      "confidence": 0.67,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "FANG has a constructive medium-term overweight thesis supported by cash flow, oil leverage, debt reduction, and analyst target upgrades, but entry timing is not confirmed. Price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says WAIT until either 180-181 support is confirmed or a 193+ close with momentum improvement occurs.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.62,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "FANG has a constructive medium-term overweight thesis supported by cash flow, oil leverage, debt reduction, and analyst target upgrades, but entry timing is not confirmed. Price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says WAIT until either 180-181 support is confirmed or a 193+ close with momentum improvement occurs."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.67,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "technical_confirmation_missing",
        "breakout_trigger_defined",
        "support_retest_alternative",
        "stale_intraday_data",
        "elevated_volatility",
        "balance_sheet_risk"
      ],
      "review_required": false,
      "score_now": -0.03770174719999998,
      "score_triggered": 0.18074563200000002,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.102,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "FANG",
      "canonical_ticker": "FANG",
      "display_name": "FANG"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "GEV",
        "canonical_ticker": "GEV",
        "yahoo_symbol": "GEV",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "GEV",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.67,
        "time_horizon": "medium",
        "entry_logic": "GEV의 중기 방향성은 여전히 우호적이다. 공격적 분석가와 중립 분석가가 공통으로 지적했듯 전력 인프라, AI 데이터센터 전력 수요, 원전·SMR, 가스발전, 전력망 투자 수혜가 살아 있고, 최근 매출 10.956 billion, 영업이익 602 million, 자유현금흐름 1.808 billion, 현금 8.848 billion, 총부채 1.172 billion은 단순 테마주가 아니라 현금 창출력이 있는 산업재 성장주라는 근거를 제공한다. 기술적으로도 2026-04-15 종가 985.92가 10일 EMA 952, 50일 SMA 857.55, 200일 SMA 675.93 위에 있어 중기 상승 추세는 훼손되지 않았다. 다만 오늘 즉시 신규 매수나 추가 매수는 보류한다. 보수적·중립 분석가가 강조했듯 가격은 $1000-$1007.38 저항권 바로 아래에 있고, RSI 67.99는 과열권에 근접했으며, MACD 히스토그램은 10.05에서 9.71, 8.63으로 둔화되고, 4월 13일 $1007.38 테스트 때 거래량이 1.636 million으로 줄어 돌파 신뢰가 부족하다. 따라서 기존 보유분은 유지하되 신규 자본은 $1007.38 위 거래량 동반 종가와 다음 세션 $1000 위 유지, 또는 10일 EMA 약 $952 부근의 질서 있는 눌림과 지지 확인이 있을 때만 작은 starter를 검토한다.",
        "exit_logic": "기존 노출은 가격이 단기 추세권 위에 있고 전력 인프라·AI 전력·가스·원전·전력망 수요 논리가 유지되는 한 보유한다. 단, $952 부근 10일 EMA를 종가 기준으로 이탈하고 MACD 히스토그램 둔화나 약한 거래량이 이어지면 전술적 비중 축소 또는 신규 진입 철회를 실행한다. $914.25 VWMA 이탈은 단순 변동성이 아니라 더 깊은 리스크 재평가 구간으로 보고 실질적 노출 축소를 검토한다. $857.55 50일 SMA 훼손은 중기 추세 손상으로 간주해 OVERWEIGHT 자체를 재검토한다. Vineyard Wind 관련 비용, 품질, 현금 회수, 평판 문제가 제한적 프로젝트 이슈를 넘어 확대되거나 다음 실적에서 세금 효과·운전자본 기여를 제외한 영업이익과 자유현금흐름 품질이 약해지면 방어적으로 전환한다.",
        "position_sizing": "기존 overweight 노출은 유지할 수 있지만 $1000-$1007.38 저항권에서 공격적으로 키우지 않는다. 신규 자본은 확인 후 단계적으로만 투입한다. 돌파 매수는 $1007.38 위 종가, 최근 2.0M-share 수준을 웃도는 거래량, 다음 세션 $1000 위 유지가 함께 확인될 때 작은 starter로 제한한다. 눌림 매수는 $952 근처 도달 자체가 아니라 지지 확인, 거래량 안정, MACD 둔화 중단, Vineyard Wind 추가 악재 부재가 확인될 때만 허용한다. 평균진폭 약 $37.97, 종가 대비 약 3.85% 변동성을 반영해 1회 평균 변동으로 포트폴리오 위험 한도를 넘지 않도록 축소된 크기로 시작하고, 실적·소송·정책·금리 이벤트 전에는 더 작게 운용한다.",
        "risk_limits": "$1000 위 가격을 추격하지 않는다. $1007.38 위 고거래량 종가와 후속 $1000 위 안착이 없으면 신규/add 금지다. 돌파나 눌림 진입 후 $952를 지속적으로 잃으면 전술 리스크를 줄인다. $914.25 아래에서는 bullish watchlist보다 리스크 축소 논의를 우선한다. $857.55 50일 SMA 이탈은 중기 상승 구조 훼손으로 본다. PER 55배, 선행 PER 42.8배, P/B 23.6배 수준의 밸류에이션은 실적 품질 실망, 금리·인플레이션, AI 전력·원전·전력망 테마 피로에 취약하므로 포지션 상한을 둔다. Vineyard Wind의 68 of 72 blades 결함 주장, $853 million 비용 영향, $308 million 지급 보류는 상단을 제한할 수 있는 미해결 리스크로 관리한다.",
        "catalysts": [
          "$1007.38 위 종가, 최근 약 2.0M-share 세션을 웃도는 거래량, 다음 거래일 $1000 위 유지가 함께 나타나는 돌파 확인.",
          "다음 실적 또는 가이던스에서 세금 효과나 운전자본 일시 효과가 아니라 반복 가능한 영업이익, 마진, 자유현금흐름 개선이 확인되는 경우.",
          "전력망, 가스발전, 원전·SMR 서비스, 전력 인프라, AI 데이터센터 전력 수요가 수익성 있는 수주와 매출로 연결된다는 추가 증거.",
          "Vineyard Wind 분쟁이 비용 한도화, 합의, 충당금 가시화 등으로 회사 전체 현금흐름과 평판에 미치는 위험이 제한된다고 확인되는 경우.",
          "현재 데이터에 기반한 신뢰도 높은 애널리스트 추정치 상향이나 기관 수요 재확인."
        ],
        "invalidators": [
          "Vineyard Wind 소송이 품질 신뢰, 보증비용, 현금 회수, 평판, 수주 손상으로 확대되는 경우.",
          "다음 실적에서 EPS 개선이 세금 효과나 운전자본 효과에 과도하게 의존했고 정상화 영업이익, 마진, 자유현금흐름이 약하다고 확인되는 경우.",
          "$914.25 VWMA를 지속적으로 이탈하거나 $857.55 50일 SMA를 하향 돌파하는 경우.",
          "금리, 인플레이션, 또는 AI 전력·원전·전력망 테마 피로로 고밸류에이션 산업재 성장주 전반의 멀티플이 압축되는 경우.",
          "매출채권, 재고, 이연수익, 백로그, 풍력 부문 수익성에서 현금 전환과 실행 품질 악화 신호가 나타나는 경우."
        ],
        "watchlist_triggers": [
          "강세 진입 조건: $1007.38 위 종가, 최근 약 2.0M-share 수준을 웃도는 거래량, 다음 세션 $1000 위 유지.",
          "눌림 진입 조건: $952 부근 10일 EMA 테스트 후 가격 안정, 반등 확인, 거래량 안정, Vineyard Wind 추가 악재 부재.",
          "위험 조건: $952 종가 이탈과 MACD 히스토그램 둔화 지속.",
          "심화 재평가 조건: $914.25 VWMA 반응 확인. 실패하면 $857.55 50일 SMA 방향의 하방 위험을 우선 관리.",
          "뉴스 조건: Vineyard Wind blade defects 관련 회사 대응, 합의 조건, 충당금, 신규 청구, 지급 보류 관련 업데이트.",
          "펀더멘털 조건: 다음 분기 매출 성장, 영업마진, 운전자본 효과 제외 자유현금흐름, 풍력 부문 수익성, 백로그와 재고·매출채권 품질."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "강세 진입 조건: $1007.38 위 종가, 최근 약 2.0M-share 수준을 웃도는 거래량, 다음 세션 $1000 위 유지.",
        "눌림 진입 조건: $952 부근 10일 EMA 테스트 후 가격 안정, 반등 확인, 거래량 안정, Vineyard Wind 추가 악재 부재.",
        "위험 조건: $952 종가 이탈과 MACD 히스토그램 둔화 지속.",
        "심화 재평가 조건: $914.25 VWMA 반응 확인. 실패하면 $857.55 50일 SMA 방향의 하방 위험을 우선 관리.",
        "뉴스 조건: Vineyard Wind blade defects 관련 회사 대응, 합의 조건, 충당금, 신규 청구, 지급 보류 관련 업데이트.",
        "펀더멘털 조건: 다음 분기 매출 성장, 영업마진, 운전자본 효과 제외 자유현금흐름, 풍력 부문 수익성, 백로그와 재고·매출채권 품질.",
        "$1007.38 위 종가, 최근 약 2.0M-share 세션을 웃도는 거래량, 다음 거래일 $1000 위 유지가 함께 나타나는 돌파 확인.",
        "다음 실적 또는 가이던스에서 세금 효과나 운전자본 일시 효과가 아니라 반복 가능한 영업이익, 마진, 자유현금흐름 개선이 확인되는 경우.",
        "전력망, 가스발전, 원전·SMR 서비스, 전력 인프라, AI 데이터센터 전력 수요가 수익성 있는 수주와 매출로 연결된다는 추가 증거.",
        "Vineyard Wind 분쟁이 비용 한도화, 합의, 충당금 가시화 등으로 회사 전체 현금흐름과 평판에 미치는 위험이 제한된다고 확인되는 경우.",
        "현재 데이터에 기반한 신뢰도 높은 애널리스트 추정치 상향이나 기관 수요 재확인.",
        "Vineyard Wind 소송이 품질 신뢰, 보증비용, 현금 회수, 평판, 수주 손상으로 확대되는 경우.",
        "다음 실적에서 EPS 개선이 세금 효과나 운전자본 효과에 과도하게 의존했고 정상화 영업이익, 마진, 자유현금흐름이 약하다고 확인되는 경우.",
        "$914.25 VWMA를 지속적으로 이탈하거나 $857.55 50일 SMA를 하향 돌파하는 경우.",
        "금리, 인플레이션, 또는 AI 전력·원전·전력망 테마 피로로 고밸류에이션 산업재 성장주 전반의 멀티플이 압축되는 경우.",
        "매출채권, 재고, 이연수익, 백로그, 풍력 부문 수익성에서 현금 전환과 실행 품질 악화 신호가 나타나는 경우."
      ],
      "confidence": 0.67,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, cash generation, and an intact uptrend above key moving averages. Timing is not ready now because price is just below the $1000-$1007.38 resistance zone, momentum is stretched, MACD is slowing, and prior resistance tests lacked convincing volume. Action should remain watch-only until a volume-backed close above $1007.38 with follow-through above $1000, or a confirmed orderly pullback near the 10-day EMA around $952.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.68,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, cash generation, and an intact uptrend above key moving averages. Timing is not ready now because price is just below the $1000-$1007.38 resistance zone, momentum is stretched, MACD is slowing, and prior resistance tests lacked convincing volume. Action should remain watch-only until a volume-backed close above $1007.38 with follow-through above $1000, or a confirmed orderly pullback near the 10-day EMA around $952."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "resistance_nearby",
        "momentum_stretched_and_slowing",
        "volume_confirmation_missing",
        "pullback_support_alternative",
        "stale_or_degraded_data",
        "unresolved_project_litigation_risk"
      ],
      "review_required": false,
      "score_now": -0.035733555199999975,
      "score_triggered": 0.18566611200000002,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "GEV",
      "canonical_ticker": "GEV",
      "display_name": "GEV"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "GLDM",
        "canonical_ticker": "GLDM",
        "yahoo_symbol": "GLDM",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "GLDM",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 838252,
      "quantity": 6.0,
      "available_qty": 6.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.66,
        "time_horizon": "medium",
        "entry_logic": "GLDM의 중기 배분 관점은 OVERWEIGHT로 유지한다. 세 분석가 모두 장기 상승 구조 자체는 인정했으며, 근거는 2026-04-15 종가 94.91이 200일 SMA 82.67을 크게 웃돌고, 10일 EMA 93.89 위에서 반등했으며, RSI가 27.37 과매도권에서 51.59로 회복되고 MACD도 -3.11 부근에서 -0.50으로 개선됐다는 점이다. 다만 Conservative와 Neutral이 지적했듯 가격은 아직 50일 SMA 96.98 아래이고 97.00-98.00 구간에 50일선과 볼린저 상단 97.85가 겹쳐 있어 오늘 즉시 본격 신규 진입은 보류한다. 방향성은 BULLISH이지만 즉시 실행은 WAIT이며, 93.89-95.00 구간에서 10일 EMA 지지가 확인되거나 98.00 위 일간 종가가 나오면 작은 starter는 정당화될 수 있다. 의미 있는 증액은 98.00 돌파 후 일부, 이후 96.50-97.00 재지지 또는 100.00 위 거래량 동반 지속이 확인될 때 단계적으로 진행한다.",
        "exit_logic": "기존 보유분은 GLDM이 10일 EMA 93.89 부근을 유지하고 금 매크로 헤지 수요가 훼손되지 않는 한 유지한다. 92.50 아래 일간 종가는 Neutral과 Conservative가 모두 최근 반등 실패 가능성을 높이는 신호로 본 만큼 1차 감축 기준으로 삼는다. 90.00 이탈은 단순 재점검이 아니라 중기 BULLISH 및 OVERWEIGHT 근거가 크게 약해지는 가격 경고로 보고 실질적 축소 또는 철수를 검토한다. 97.00-98.00 저항대에서 반복적으로 거절되고 거래량 확인이 없으면 부분 이익 실현 또는 손절 기준 상향으로 방어한다.",
        "position_sizing": "98.00 위 종가 확인 전에는 정상 비중보다 낮게 유지한다. 93.89-95.00 지지 확인만으로 진입할 경우에는 Neutral의 조언처럼 매우 작은 starter로 제한하고, 이는 추세 회복 확정 포지션이 아니라 조건부 선제 포지션으로 취급한다. 98.00 위 일간 종가가 나오면 일부 추가를 허용하되, 이후 96.50-97.00 재지지 또는 100.00 위 거래량 동반 지속이 확인될 때만 추가 증액한다. ATR 2.20, 현재가 대비 약 2.3% 변동성을 반영해 너무 촘촘한 장중 손절보다 종가 기준 위험 관리와 분할 집행을 우선한다.",
        "risk_limits": "97.00-98.00 저항대에 바로 진입하며 추격하지 않는다. 단일 포지션 위험은 낮게 유지하고, 92.50 종가 이탈 시 노출을 줄이며 신규 starter는 중단한다. 90.00 이탈 시 OVERWEIGHT 유지 근거를 재평가하고 방어 우선으로 전환한다. GLDM은 배당과 자체 현금흐름이 없어 금 가격, 실질금리, USD, CPI, Fed 발언, 지정학적 위험, ETF 자금 흐름 변화에 직접 노출된다는 Conservative의 지적을 반영한다. ETF 유입은 긍정적이지만 2026-04-09의 일간 상위 10개 유입 신호만으로 지속성을 단정하지 않는다.",
        "catalysts": [
          "GLDM이 98.00 위에서 일간 종가를 형성해 50일 SMA 96.98과 볼린저 상단 97.85 저항대를 회복하는 경우.",
          "93.89-95.00 pullback 구간에서 10일 EMA 지지가 확인되고 거래량과 가격 반응이 개선되는 경우.",
          "2026-04-09 일간 ETF 자금 유입 상위 10개 신호 이후 GLDM 및 금 ETF 유입이 지속되는 경우.",
          "실질금리 하락, USD 약세, Fed 금리 인하 기대 강화가 금 수요를 뒷받침하는 경우.",
          "인플레이션, M2 확대 우려, 중앙은행 금 매입, 지정학적 리스크가 안전자산 및 인플레이션 헤지 수요를 유지하는 경우.",
          "100.00 위 돌파와 거래량 확인으로 100.00-102.00 구간을 향한 추세추종 수요가 붙는 경우."
        ],
        "invalidators": [
          "GLDM이 92.50 아래에서 일간 종가를 형성해 최근 반등 실패 가능성이 커지는 경우.",
          "90.00 이탈로 중기 BULLISH 및 OVERWEIGHT 논리가 가격 측면에서 훼손되는 경우.",
          "50일 SMA 96.98과 볼린저 상단 97.85가 겹친 97.00-98.00 구간에서 반복적으로 거절되고 거래량 확인이 없는 경우.",
          "실질금리 또는 USD가 급등해 우호적 금 내러티브에도 GLDM 가격이 압박받는 경우.",
          "2026-04-09 ETF 유입 신호가 일회성으로 끝나고 지속적 유출로 전환되는 경우.",
          "위험자산 선호 회복, 지정학적 긴장 완화, 금리 상승이 동시에 나타나 금 헤지 수요가 약해지는 경우."
        ],
        "watchlist_triggers": [
          "GLDM 일간 종가가 98.00 위에서 형성되고 거래량 확인이 동반되는지 확인한다.",
          "93.89-95.00 구간으로 되돌림이 나올 때 10일 EMA 부근을 지키는지 확인한다.",
          "96.98-97.85 저항대에서 돌파, 실패, 또는 반복 거절 중 어느 흐름이 나타나는지 추적한다.",
          "92.50 아래 종가 또는 장중 이탈 후 종가 회복 실패가 발생하는지 감시한다.",
          "90.00 이탈 여부를 중기 thesis 훼손 기준으로 감시한다.",
          "금 가격, USD, Treasury yields, real yields, CPI, Fed 발언, 지정학적 뉴스, 금 ETF flow 업데이트를 함께 점검한다."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 6
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 6
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 16,
          "alpha_vantage": 4
        },
        "fallback_count": 3
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "GLDM 일간 종가가 98.00 위에서 형성되고 거래량 확인이 동반되는지 확인한다.",
        "93.89-95.00 구간으로 되돌림이 나올 때 10일 EMA 부근을 지키는지 확인한다.",
        "96.98-97.85 저항대에서 돌파, 실패, 또는 반복 거절 중 어느 흐름이 나타나는지 추적한다.",
        "92.50 아래 종가 또는 장중 이탈 후 종가 회복 실패가 발생하는지 감시한다.",
        "90.00 이탈 여부를 중기 thesis 훼손 기준으로 감시한다.",
        "금 가격, USD, Treasury yields, real yields, CPI, Fed 발언, 지정학적 뉴스, 금 ETF flow 업데이트를 함께 점검한다.",
        "GLDM이 98.00 위에서 일간 종가를 형성해 50일 SMA 96.98과 볼린저 상단 97.85 저항대를 회복하는 경우.",
        "93.89-95.00 pullback 구간에서 10일 EMA 지지가 확인되고 거래량과 가격 반응이 개선되는 경우.",
        "2026-04-09 일간 ETF 자금 유입 상위 10개 신호 이후 GLDM 및 금 ETF 유입이 지속되는 경우.",
        "실질금리 하락, USD 약세, Fed 금리 인하 기대 강화가 금 수요를 뒷받침하는 경우.",
        "인플레이션, M2 확대 우려, 중앙은행 금 매입, 지정학적 리스크가 안전자산 및 인플레이션 헤지 수요를 유지하는 경우.",
        "100.00 위 돌파와 거래량 확인으로 100.00-102.00 구간을 향한 추세추종 수요가 붙는 경우.",
        "GLDM이 92.50 아래에서 일간 종가를 형성해 최근 반등 실패 가능성이 커지는 경우.",
        "90.00 이탈로 중기 BULLISH 및 OVERWEIGHT 논리가 가격 측면에서 훼손되는 경우.",
        "50일 SMA 96.98과 볼린저 상단 97.85가 겹친 97.00-98.00 구간에서 반복적으로 거절되고 거래량 확인이 없는 경우.",
        "실질금리 또는 USD가 급등해 우호적 금 내러티브에도 GLDM 가격이 압박받는 경우.",
        "2026-04-09 ETF 유입 신호가 일회성으로 끝나고 지속적 유출로 전환되는 경우.",
        "위험자산 선호 회복, 지정학적 긴장 완화, 금리 상승이 동시에 나타나 금 헤지 수요가 약해지는 경우."
      ],
      "confidence": 0.66,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "GLDM has a constructive medium-term overweight thesis and existing holdings can be maintained, but timing is not yet actionable for meaningful adds. Price remains below the 50-day SMA/resistance cluster near 97.00-98.00, so the setup needs either a daily close above 98.00 with volume confirmation or a controlled pullback holding the 93.89-95.00 EMA support area before adding.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.318,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "GLDM has a constructive medium-term overweight thesis and existing holdings can be maintained, but timing is not yet actionable for meaningful adds. Price remains below the 50-day SMA/resistance cluster near 97.00-98.00, so the setup needs either a daily close above 98.00 with volume confirmation or a controlled pullback holding the 93.89-95.00 EMA support area before adding."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "support_retest_alternative",
        "held_position_can_hold",
        "stale_or_degraded_data",
        "risk_levels_defined"
      ],
      "review_required": true,
      "score_now": 0.053331614720000024,
      "score_triggered": 0.15832903680000004,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.7200000000000001,
        "vendor_calls": {
          "yfinance": 16,
          "alpha_vantage": 4
        },
        "fallback_count": 3,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.318
      },
      "broker_symbol": "GLDM",
      "canonical_ticker": "GLDM",
      "display_name": "GLDM"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "GOOGL",
        "canonical_ticker": "GOOGL",
        "yahoo_symbol": "GOOGL",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "GOOGL",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 5427401,
      "quantity": 10.0,
      "available_qty": 11.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.69,
        "time_horizon": "medium",
        "entry_logic": "GOOGL의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가는 2026-03-30 종가 273.50에서 2026-04-15 종가 337.12까지 약 23% 회복했고, 10일 EMA 317.19, 50일 SMA 307.67, 200일 SMA 270.60을 모두 상회하며 MACD가 -1.63에서 6.24로 전환됐다는 점을 근거로 추세 회복을 강조했다. 중립 분석가도 Gemini, Google Cloud, Cadence-Google 협업, 대형 AI 플랫폼 선호가 동시에 개선되고 있어 단순 과열로만 볼 수 없다고 판단했다. 다만 보수적 분석가가 지적한 RSI 71.34, ATR 8.51, 10일 EMA 대비 약 19.93달러 괴리, 규제와 실적 이벤트 위험 때문에 오늘 즉시 추격 매수는 보류한다. 신규 진입은 GOOGL이 337.48을 종가로 돌파하고 거래량이 최소 25M, 가능하면 30M에 근접하거나, 323.75-317.19 구간으로 통제된 되돌림 후 지지와 higher low가 확인될 때 starter만 허용한다.",
        "exit_logic": "돌파 진입 후 337.48 돌파가 실패하고 323.75를 상승 거래량으로 이탈하면 전술 노출을 줄인다. 되돌림 진입은 317.19 부근 10일 EMA를 종가로 이탈한 뒤 빠르게 회복하지 못하면 종료한다. 307.67의 50일 SMA 이탈은 중기 회복 시나리오 훼손으로 보고 OVERWEIGHT를 재검토한다. 실적에서 검색 성장, Google Cloud 가속, AI 수익화, 영업이익률, 자유현금흐름이 AI capex 부담을 상쇄하지 못하거나, DOJ 또는 EU 조치가 Chrome, 검색 유통, 데이터 접근, 광고 경제성에 구조적 타격을 줄 경우 즉시 하향 조정한다.",
        "position_sizing": "기존 보유자는 core exposure를 유지하되, 가격이 확장된 현재 구간에서 공격적 추가 매수는 피한다. 신규 자금은 돌파든 되돌림이든 정상 비중보다 작은 starter tranche로만 시작한다. 337.48 돌파와 25M 이상 거래량은 starter에는 충분하지만, 공격적 분석가가 주장한 즉시 의미 있는 전술 비중 확대는 보류한다. 342.05 위에서 유지되거나 337.48-330.90 재시험이 성공하면 두 번째 tranche를 검토하고, 실적에서 검색, Cloud, margin, 자유현금흐름, AI capex 효율이 확인될 때만 정상 비중으로 확대한다.",
        "risk_limits": "단일 종목 위험은 modest로 제한한다. 돌파 진입 시 위험 기준은 330.90 아래 또는 1 ATR 하단에 가까운 328.61 부근으로 둔다. 되돌림 진입 시 위험 기준은 317.19 아래이며, 중기 계정은 307.67의 50일 SMA를 더 넓은 thesis stop으로 사용할 수 있다. 보수적 분석가가 지적한 갭다운과 규제 헤드라인 위험 때문에 기술적 손절만으로 충분하다고 보지 말고, DOJ, EU, OpenAI 광고 플랫폼화, 실적 관련 뉴스가 멀티플을 훼손하면 가격 수준과 별개로 노출을 축소한다.",
        "catalysts": [
          "337.48 종가 돌파와 25M 이상, 가능하면 30M에 가까운 거래량이 확인되면 상승 참여 신뢰도가 높아진다.",
          "GOOGL은 10일 EMA 317.19, 50일 SMA 307.67, 200일 SMA 270.60을 모두 상회하고 MACD가 양수로 전환돼 추세 회복 근거가 있다.",
          "Gemini macOS 앱, 정부 또는 방위 배포 논의, Google Cloud AI 통합 기대가 AI 재평가 서사를 지지한다.",
          "Cadence-Google 칩 설계 협업과 자체 AI 인프라 진전은 장기 선택 가치를 높인다.",
          "순이익률 32.8%, 영업이익률 31.6%, ROE 35.7%, 현금 및 단기투자 1,268억 달러는 높은 품질과 투자 여력을 뒷받침한다.",
          "최근 분기 매출이 902억 달러, 964억 달러, 1,023억 달러, 1,138억 달러로 순차 증가했다는 공격적 분석가의 근거는 성장 지속성을 지지한다."
        ],
        "invalidators": [
          "317.19 아래 종가 이탈 후 10일 EMA를 빠르게 회복하지 못하는 경우.",
          "307.67 아래 이탈로 50일 SMA와 중기 회복 구조가 훼손되는 경우.",
          "337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈하는 경우.",
          "실적 또는 가이던스에서 검색, Google Cloud, AI monetization, 영업이익률, 자유현금흐름 중 핵심 항목이 기대를 충족하지 못하는 경우.",
          "AI capex가 2025-12-31 분기 -278.51억 달러 수준으로 확대된 부담을 매출 가속이나 margin leverage가 상쇄하지 못하는 경우.",
          "DOJ의 Chrome 관련 요구 또는 EU DMA 압박이 검색 유통, 데이터 접근, 광고 경제성에 예상보다 큰 구조적 영향을 주는 경우.",
          "OpenAI 또는 다른 AI 검색 경쟁자가 광고 예산과 사용자 검색 습관에서 신뢰할 만한 침투를 보이는 경우."
        ],
        "watchlist_triggers": [
          "조건부 starter: GOOGL이 337.48을 종가로 돌파하고 거래량이 25M 이상, 신뢰도 개선은 30M 이상일 때.",
          "돌파 후 확인: 342.05 위에서 유지되거나 337.48-330.90 구간 재시험이 성공하면 추가 tranche 검토.",
          "선호 손익비 진입: 323.75-317.19 구간으로 통제된 되돌림이 나오고 지지와 higher low가 확인될 때 starter 검토.",
          "위험 축소: 337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈할 때.",
          "중기 하향 재검토: 307.67의 50일 SMA를 이탈할 때.",
          "실적 확인: 검색 성장, Google Cloud 가속, margin resilience, 자유현금흐름 안정성, AI capex 효율이 동시에 확인될 때 정상 비중 확대 검토.",
          "뉴스 재평가: DOJ, EU, Chrome, 검색 유통, DMA, 광고 경제성 관련 헤드라인이 예상보다 더 악화되거나 완화될 때."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable",
        "intraday_snapshot_missing_same_day"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "조건부 starter: GOOGL이 337.48을 종가로 돌파하고 거래량이 25M 이상, 신뢰도 개선은 30M 이상일 때.",
        "돌파 후 확인: 342.05 위에서 유지되거나 337.48-330.90 구간 재시험이 성공하면 추가 tranche 검토.",
        "선호 손익비 진입: 323.75-317.19 구간으로 통제된 되돌림이 나오고 지지와 higher low가 확인될 때 starter 검토.",
        "위험 축소: 337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈할 때.",
        "중기 하향 재검토: 307.67의 50일 SMA를 이탈할 때.",
        "실적 확인: 검색 성장, Google Cloud 가속, margin resilience, 자유현금흐름 안정성, AI capex 효율이 동시에 확인될 때 정상 비중 확대 검토.",
        "뉴스 재평가: DOJ, EU, Chrome, 검색 유통, DMA, 광고 경제성 관련 헤드라인이 예상보다 더 악화되거나 완화될 때.",
        "337.48 종가 돌파와 25M 이상, 가능하면 30M에 가까운 거래량이 확인되면 상승 참여 신뢰도가 높아진다.",
        "GOOGL은 10일 EMA 317.19, 50일 SMA 307.67, 200일 SMA 270.60을 모두 상회하고 MACD가 양수로 전환돼 추세 회복 근거가 있다.",
        "Gemini macOS 앱, 정부 또는 방위 배포 논의, Google Cloud AI 통합 기대가 AI 재평가 서사를 지지한다.",
        "Cadence-Google 칩 설계 협업과 자체 AI 인프라 진전은 장기 선택 가치를 높인다.",
        "순이익률 32.8%, 영업이익률 31.6%, ROE 35.7%, 현금 및 단기투자 1,268억 달러는 높은 품질과 투자 여력을 뒷받침한다.",
        "최근 분기 매출이 902억 달러, 964억 달러, 1,023억 달러, 1,138억 달러로 순차 증가했다는 공격적 분석가의 근거는 성장 지속성을 지지한다.",
        "317.19 아래 종가 이탈 후 10일 EMA를 빠르게 회복하지 못하는 경우.",
        "307.67 아래 이탈로 50일 SMA와 중기 회복 구조가 훼손되는 경우.",
        "337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈하는 경우.",
        "실적 또는 가이던스에서 검색, Google Cloud, AI monetization, 영업이익률, 자유현금흐름 중 핵심 항목이 기대를 충족하지 못하는 경우.",
        "AI capex가 2025-12-31 분기 -278.51억 달러 수준으로 확대된 부담을 매출 가속이나 margin leverage가 상쇄하지 못하는 경우.",
        "DOJ의 Chrome 관련 요구 또는 EU DMA 압박이 검색 유통, 데이터 접근, 광고 경제성에 예상보다 큰 구조적 영향을 주는 경우.",
        "OpenAI 또는 다른 AI 검색 경쟁자가 광고 예산과 사용자 검색 습관에서 신뢰할 만한 침투를 보이는 경우."
      ],
      "confidence": 0.69,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "GOOGL has a constructive medium-term overweight thesis supported by recovered trend, positive MACD, strong fundamentals, AI/cloud catalysts, and existing core-holder suitability. Timing is not actionable now because the decision explicitly says WAIT, setup is developing, price is extended with overbought RSI and elevated ATR, same-day intraday confirmation is missing, and adds require either a volume-confirmed close above 337.48 or a controlled pullback holding 323.75-317.19 with higher-low confirmation.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.282,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by recovered trend, positive MACD, strong fundamentals, AI/cloud catalysts, and existing core-holder suitability. Timing is not actionable now because the decision explicitly says WAIT, setup is developing, price is extended with overbought RSI and elevated ATR, same-day intraday confirmation is missing, and adds require either a volume-confirmed close above 337.48 or a controlled pullback holding 323.75-317.19 with higher-low confirmation."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "developing_setup",
        "volume_confirmed_breakout_required",
        "pullback_support_alternative",
        "stale_or_degraded_timing_data",
        "overbought_and_extended_price",
        "event_and_regulatory_risk"
      ],
      "review_required": false,
      "score_now": 0.07548139520000001,
      "score_triggered": 0.21370348799999997,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.282
      },
      "broker_symbol": "GOOGL",
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "LHX",
        "canonical_ticker": "LHX",
        "yahoo_symbol": "LHX",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "LHX",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 522847,
      "quantity": 0.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "LHX에 대한 중기 방향성은 긍정적이다. 공격적 분석가는 $1.27 billion 규모 Virginia solid rocket motor 투자, 보고된 $1 billion 정부 지원, Aerojet Rocketdyne 통합, missile replenishment와 hypersonics 수요를 근거로 재평가 가능성을 강조했고, 중립 분석가도 촉매 묶음이 단순한 방산 낙관론보다 구체적이라고 평가했다. 다만 보수적 분석가가 지적한 대로 가격은 353-365 박스권 안에 있으며 355.92 부근에서 10일 EMA 355.26, 50일 SMA 354.64와 거의 겹쳐 있고 RSI 49.14, MACD 0.31은 강한 추세 확인으로 보기 어렵다. 따라서 오늘 즉시 공격적으로 진입하지 않고 WAIT를 유지한다. 신규 자금은 353-355 지지 확인 후 358-362를 회복하고 거래량이 개선될 때 소규모 starter가 정당화될 수 있으며, 365 위 일간 종가와 20일 평균 이상 거래량이 동반될 때 추가 진입을 검토한다. 365 돌파만으로 전량 진입하지 않고, 돌파 후 후속 흐름이나 358-365 재시험 성공을 확인해야 한다.",
        "exit_logic": "353 아래 일간 종가는 근접한 VWMA 352.97 및 50일 SMA 354.64 부근 지지 실패 신호로 보며 신규 매수를 중단하고 전술 노출을 줄인다. 353 이탈 후 50일선 회복에 실패하면 보수적 분석가가 지적한 박스권 하방 위험이 커지므로 감축을 우선한다. 340 아래 일간 종가는 2026-03-30 저점 337.02와 하단 박스권 붕괴에 가까운 regime-change 신호로 보고 전술 포지션을 대부분 축소하거나 청산한다. 다음 실적에서 6.66% 수준의 최근 분기 영업마진 약화가 지속되거나, $1.804 billion 자유현금흐름이 주로 $1.201 billion 운전자본 효과였다는 우려가 현실화되면 OVERWEIGHT 논리를 재평가한다.",
        "position_sizing": "기존 보유자는 핵심 노출을 유지하되 353-365 박스권 안에서는 공격적 추가 매수를 피한다. 신규 포지션은 조건 충족 전에는 대기하고, 353-355 지지 확인 및 358-362 회복 시 의도한 배분의 1/3 이하로 starter를 허용한다. 365 위 거래량 동반 종가 확인 시 1/3-1/2 수준까지 확대할 수 있으나, 의미 있는 추가 확대는 돌파 구간 재시험 성공이나 실적에서 마진 회복 및 반복 가능한 자유현금흐름 확인 후로 제한한다. 내부자 매도, 높은 trailing P/E 약 41 및 forward P/E 약 26, 평균 변동폭 8.79를 감안해 초기 크기는 보수적으로 둔다.",
        "risk_limits": "위험 관리는 평균 변동폭 8.79를 기준으로 한다. 진입 후 전술 손실 관리는 349 아래에서 엄격히 적용하고, 340-345 지지 실패는 중기 논리 훼손 구간으로 본다. 365 근처는 Bollinger 상단 365.34와 겹치는 저항 구간이므로 돌파 매수는 거래량과 후속 확인 없이는 확대하지 않는다. 실적 발표, 방위예산 헤드라인, 대형 프로그램 또는 자금지원 뉴스 전에는 과대 포지션을 피한다. 2026-03-02 고점 377.91에서 2026-03-30 저점 337.02까지 급락한 이력이 있어 이벤트 변동성을 핵심 위험으로 반영한다.",
        "catalysts": [
          "Virginia solid rocket motor capacity expansion과 연결된 $1.27 billion 투자 및 보고된 $1 billion 미국 정부 지원 약속.",
          "Aerojet Rocketdyne 통합을 통한 missile propulsion 병목 완화와 방산 공급망 내 전략적 가치 상승.",
          "U.S. Army binocular night observation device 프로그램의 최대 $465 million, 7년 잠재 가치.",
          "missile replenishment, hypersonics, space tracking, electronic warfare, defense budget 관련 뉴스 흐름.",
          "최근 약화된 6.66% 영업마진의 정상화, 반복 가능한 자유현금흐름, 순부채 감소, 배당 및 자사주 매입 지속.",
          "MACD가 0 위에 머무르고 353-355 지지가 유지되는 가운데 365 위 거래량 동반 돌파가 발생하는 기술적 확인."
        ],
        "invalidators": [
          "340 아래 일간 종가로 하단 박스권 및 Bollinger 지지 구간이 붕괴되는 경우.",
          "353-355 지지 이탈 후 VWMA 352.97 및 50일 SMA 354.64 부근을 빠르게 회복하지 못하는 경우.",
          "다음 실적에서 6.66% 수준의 영업마진 부진이 지속되고 비용 정상화 신뢰도가 낮아지는 경우.",
          "2025-12-31 분기의 $1.804 billion 자유현금흐름이 반복 가능하지 않고 주로 $1.201 billion 운전자본 효과였다는 점이 확인되는 경우.",
          "Virginia rocket motor 증설에서 비용 초과, 일정 지연, 마진 희석 또는 정부 예산 의존 위험이 커지는 경우.",
          "고점 부근 내부자 매도가 계속되는데 실적 개선이나 기관 매집 신호가 이를 상쇄하지 못하는 경우."
        ],
        "watchlist_triggers": [
          "365 위 일간 종가와 20일 평균 이상 거래량으로 박스권 돌파가 확인되는 경우.",
          "358-362 회복과 거래량 개선, MACD 0 상회가 동시에 나타나는 경우.",
          "353-355 지지 재시험 성공 및 VWMA 352.97, 50일 SMA 354.64 위 유지.",
          "353 아래 종가 발생 시 근접 지지 실패 경고로 신규 매수 중단 및 전술 리스크 점검.",
          "340 아래 종가 발생 시 regime-change 신호로 방어적 감축 또는 청산 검토.",
          "다음 실적에서 영업마진이 최근 약 6.66% 수준에서 회복되고 자유현금흐름이 반복 가능하다는 증거가 나오는 경우.",
          "365 돌파 후 358-365 구간 재시험을 성공적으로 버티는 경우 추가 배분 검토."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "365 위 일간 종가와 20일 평균 이상 거래량으로 박스권 돌파가 확인되는 경우.",
        "358-362 회복과 거래량 개선, MACD 0 상회가 동시에 나타나는 경우.",
        "353-355 지지 재시험 성공 및 VWMA 352.97, 50일 SMA 354.64 위 유지.",
        "353 아래 종가 발생 시 근접 지지 실패 경고로 신규 매수 중단 및 전술 리스크 점검.",
        "340 아래 종가 발생 시 regime-change 신호로 방어적 감축 또는 청산 검토.",
        "다음 실적에서 영업마진이 최근 약 6.66% 수준에서 회복되고 자유현금흐름이 반복 가능하다는 증거가 나오는 경우.",
        "365 돌파 후 358-365 구간 재시험을 성공적으로 버티는 경우 추가 배분 검토.",
        "Virginia solid rocket motor capacity expansion과 연결된 $1.27 billion 투자 및 보고된 $1 billion 미국 정부 지원 약속.",
        "Aerojet Rocketdyne 통합을 통한 missile propulsion 병목 완화와 방산 공급망 내 전략적 가치 상승.",
        "U.S. Army binocular night observation device 프로그램의 최대 $465 million, 7년 잠재 가치.",
        "missile replenishment, hypersonics, space tracking, electronic warfare, defense budget 관련 뉴스 흐름.",
        "최근 약화된 6.66% 영업마진의 정상화, 반복 가능한 자유현금흐름, 순부채 감소, 배당 및 자사주 매입 지속.",
        "MACD가 0 위에 머무르고 353-355 지지가 유지되는 가운데 365 위 거래량 동반 돌파가 발생하는 기술적 확인.",
        "340 아래 일간 종가로 하단 박스권 및 Bollinger 지지 구간이 붕괴되는 경우.",
        "353-355 지지 이탈 후 VWMA 352.97 및 50일 SMA 354.64 부근을 빠르게 회복하지 못하는 경우.",
        "다음 실적에서 6.66% 수준의 영업마진 부진이 지속되고 비용 정상화 신뢰도가 낮아지는 경우.",
        "2025-12-31 분기의 $1.804 billion 자유현금흐름이 반복 가능하지 않고 주로 $1.201 billion 운전자본 효과였다는 점이 확인되는 경우.",
        "Virginia rocket motor 증설에서 비용 초과, 일정 지연, 마진 희석 또는 정부 예산 의존 위험이 커지는 경우.",
        "고점 부근 내부자 매도가 계속되는데 실적 개선이나 기관 매집 신호가 이를 상쇄하지 못하는 경우."
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LHX has a constructive medium-term thesis supported by defense demand, rocket-motor capacity investment, Aerojet integration, and identifiable program catalysts, but the current setup is still unconfirmed. Price remains trapped in the 353-365 range near key moving averages with neutral RSI and only modest MACD support, so the table supports holding existing exposure and waiting for a volume-backed breakout above 365 or a confirmed 353-355 support retest before adding.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2888,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.62,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LHX has a constructive medium-term thesis supported by defense demand, rocket-motor capacity investment, Aerojet integration, and identifiable program catalysts, but the current setup is still unconfirmed. Price remains trapped in the 353-365 range near key moving averages with neutral RSI and only modest MACD support, so the table supports holding existing exposure and waiting for a volume-backed breakout above 365 or a confirmed 353-355 support retest before adding."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_bound_price_action",
        "breakout_not_confirmed",
        "support_retest_needed",
        "volume_confirmation_required",
        "stale_or_degraded_data",
        "existing_holder_hold_not_add"
      ],
      "review_required": false,
      "score_now": 0.06377684480000002,
      "score_triggered": 0.18444211200000005,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.2888
      },
      "broker_symbol": "LHX",
      "canonical_ticker": "LHX",
      "display_name": "LHX"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "LLY",
        "canonical_ticker": "LLY",
        "yahoo_symbol": "LLY",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "LLY",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "LLY의 중기 방향성은 우호적으로 유지한다. 공격적 분석은 Mounjaro와 Zepbound 수요, 영업이익률 44.90%, 순이익률 31.67%, 최근 분기 매출 19.292B와 순이익 6.638B, 선행 P/E 21.49, 애널리스트 목표가 1300을 근거로 구조적 성장주 조정 구간이라고 보았다. 다만 보수적·중립적 분석이 지적한 것처럼 현재 905.03은 200일선 902.67 바로 위에 있고, 10일 EMA 924.68, VWMA 925.86, 50일선 976.87을 모두 밑돌며 RSI 42.16과 MACD -13.75도 아직 추세 회복을 확인하지 못한다. 따라서 legacy rating은 OVERWEIGHT, 방향성은 BULLISH이나, 오늘의 즉시 실행은 WAIT이다. 902-905 종가 방어가 확인되고 거래량이 안정되면 아주 작은 starter는 정당화될 수 있으나, 기본 진입은 925-926 종가 회복 후가 더 적절하다. 955 돌파와 RSI 50 회복은 추가 매수 조건이고, 976-977 회복은 본격적인 중기 overweight 전환 신호다.",
        "exit_logic": "전술 포지션은 902 아래 고거래량 종가가 나오면 신규 매수를 중단하고 축소한다. 877-878 이탈은 200일선 방어 실패와 3월 저점 및 하단 Bollinger 지지 훼손으로 보고 전술 노출을 철수한다. 중기 thesis는 Q1에서 GLP-1 수요 둔화, 마진 압박, 공급 확대의 sell-through 부진, 약한 가이던스, Foundayo 규제 조건 악화가 확인되면 하향 조정한다.",
        "position_sizing": "확인 전에는 full overweight를 실행하지 않는다. ATR 27.64, 약 3% 일간 변동성을 감안해 902-905 방어가 반복될 때만 탐색적 starter를 매우 작게 허용하고, 925-926 회복 후 1차 비중을 늘린다. 955 돌파와 RSI 50 회복 전에는 제한적 비중을 유지하며, 976-977 회복 전에는 포트폴리오상 본격적인 overweight까지 확대하지 않는다. 1 ATR 변동이 강제 청산을 유발하지 않도록 손실 허용액 기준으로 역산해 sizing한다.",
        "risk_limits": "925-926 회복 전 추격 매수는 금지한다. 902-905 부근은 ATR 27.64 때문에 흔들림이 큰 구간이므로 장중 이탈보다 종가와 거래량을 우선한다. 902 아래 고거래량 종가는 경고, 877-878 이탈은 전술 thesis 무효화로 본다. 가격이 VWMA 925.86 아래에 머물거나 하락일 거래량이 4,230,100처럼 확대되면 반등 신뢰도를 낮춘다. P/E 39.27, P/B 30.45, 순부채 35.235B, 부채비율 165.31, 낮은 자유현금흐름 254.2M은 기대 미달 실적 시 밸류에이션 압축 위험을 키우므로 과도한 선취 비중을 피한다.",
        "catalysts": [
          "Q1 결과에서 Mounjaro와 Zepbound 매출 가속, 마진 유지, EPS 성장 지속이 확인되는 경우",
          "공급 확대, 재고 13.744B, 건설중인 자산 13.013B, capex가 실제 sell-through와 매출 포착 능력으로 연결된다는 경영진 설명",
          "Foundayo 후속 자료나 FDA 소통에서 안전성, label, post-marketing 요구가 상업성을 훼손하지 않는다는 명확성",
          "925-926 회복 후 955 돌파, RSI 50 회복, MACD 개선이 동반되는 기술적 회복",
          "Centessa, CrossBridge Bio, AC Immune 관련 파이프라인 다각화가 GLP-1 의존도 완화와 장기 옵션으로 인정받는 경우",
          "추가 애널리스트 목표가 상향 또는 추정치 상향이 GLP-1 수요와 마진 내구성을 반영하는 경우"
        ],
        "invalidators": [
          "902 아래 고거래량 종가 후 200일선 902.67을 빠르게 회복하지 못하는 경우",
          "877-878 이탈로 3월 저점과 하단 지지대가 동시에 훼손되는 경우",
          "Q1에서 GLP-1 수요 둔화, margin compression, 약한 가이던스, 공급 확장의 sell-through 부진이 확인되는 경우",
          "Foundayo에 대한 FDA 요구가 예상보다 제한적 label, 높은 비용, 상업화 지연을 의미하는 경우",
          "자유현금흐름 254.2M 수준의 약세가 지속되는 가운데 capex -2.9704B, 배당 -1.3455B, 자사주 매입 -1.5077B, 순부채 35.235B 부담이 커지는 경우",
          "10일 EMA 924.68과 VWMA 925.86 회복 시도가 반복적으로 실패하고 하락일 거래량이 확대되는 경우"
        ],
        "watchlist_triggers": [
          "902-905 위에서 일간 종가 방어가 반복되고 거래량이 안정되는지 확인: 이 조건 충족 시 제한적 starter 검토",
          "925-926 종가 회복: 10일 EMA 924.68과 VWMA 925.86 회복으로 1차 진입 조건 확인",
          "RSI 50 회복과 MACD의 양호한 개선: 과매도 반등에서 추세 회복으로 전환되는지 확인",
          "955 돌파: 200일선 방어 이후 반등 신뢰도 강화 및 추가 매수 검토",
          "976-977 회복: 50일선 976.87 회복으로 중기 추세 복구와 본격 overweight 확대 검토",
          "902 아래 고거래량 종가: 신규 매수 중단 및 877-878 지지 재시험 경보"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 3
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 3
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "902-905 위에서 일간 종가 방어가 반복되고 거래량이 안정되는지 확인: 이 조건 충족 시 제한적 starter 검토",
        "925-926 종가 회복: 10일 EMA 924.68과 VWMA 925.86 회복으로 1차 진입 조건 확인",
        "RSI 50 회복과 MACD의 양호한 개선: 과매도 반등에서 추세 회복으로 전환되는지 확인",
        "955 돌파: 200일선 방어 이후 반등 신뢰도 강화 및 추가 매수 검토",
        "976-977 회복: 50일선 976.87 회복으로 중기 추세 복구와 본격 overweight 확대 검토",
        "902 아래 고거래량 종가: 신규 매수 중단 및 877-878 지지 재시험 경보",
        "Q1 결과에서 Mounjaro와 Zepbound 매출 가속, 마진 유지, EPS 성장 지속이 확인되는 경우",
        "공급 확대, 재고 13.744B, 건설중인 자산 13.013B, capex가 실제 sell-through와 매출 포착 능력으로 연결된다는 경영진 설명",
        "Foundayo 후속 자료나 FDA 소통에서 안전성, label, post-marketing 요구가 상업성을 훼손하지 않는다는 명확성",
        "925-926 회복 후 955 돌파, RSI 50 회복, MACD 개선이 동반되는 기술적 회복",
        "Centessa, CrossBridge Bio, AC Immune 관련 파이프라인 다각화가 GLP-1 의존도 완화와 장기 옵션으로 인정받는 경우",
        "추가 애널리스트 목표가 상향 또는 추정치 상향이 GLP-1 수요와 마진 내구성을 반영하는 경우",
        "902 아래 고거래량 종가 후 200일선 902.67을 빠르게 회복하지 못하는 경우",
        "877-878 이탈로 3월 저점과 하단 지지대가 동시에 훼손되는 경우",
        "Q1에서 GLP-1 수요 둔화, margin compression, 약한 가이던스, 공급 확장의 sell-through 부진이 확인되는 경우",
        "Foundayo에 대한 FDA 요구가 예상보다 제한적 label, 높은 비용, 상업화 지연을 의미하는 경우",
        "자유현금흐름 254.2M 수준의 약세가 지속되는 가운데 capex -2.9704B, 배당 -1.3455B, 자사주 매입 -1.5077B, 순부채 35.235B 부담이 커지는 경우",
        "10일 EMA 924.68과 VWMA 925.86 회복 시도가 반복적으로 실패하고 하락일 거래량이 확대되는 경우"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LLY has a constructive medium-term growth thesis supported by GLP-1 demand, strong margins, recent earnings strength, analyst support, and pipeline optionality, but timing is not actionable now. Price is only slightly above the 200-day area near 902-905 while still below the 10-day EMA/VWMA near 925-926 and the 50-day area near 976-977, with RSI and MACD not yet confirming trend repair. Treat this as a watchlist setup requiring daily-close confirmation above 925-926 before starter exposure, with stronger confirmation above 955 and 976-977.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.58,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LLY has a constructive medium-term growth thesis supported by GLP-1 demand, strong margins, recent earnings strength, analyst support, and pipeline optionality, but timing is not actionable now. Price is only slightly above the 200-day area near 902-905 while still below the 10-day EMA/VWMA near 925-926 and the 50-day area near 976-977, with RSI and MACD not yet confirming trend repair. Treat this as a watchlist setup requiring daily-close confirmation above 925-926 before starter exposure, with stronger confirmation above 955 and 976-977."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "price_below_short_term_averages",
        "momentum_not_confirmed",
        "near_critical_support",
        "starter_only_after_trigger",
        "stale_or_degraded_data",
        "high_volume_break_below_support_invalidates"
      ],
      "review_required": false,
      "score_now": -0.03782120959999999,
      "score_triggered": 0.18044697600000004,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.084,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "LLY",
      "canonical_ticker": "LLY",
      "display_name": "LLY"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "LRCX",
        "canonical_ticker": "LRCX",
        "yahoo_symbol": "LRCX",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "LRCX",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "LRCX의 중기 배분 관점은 긍정적으로 유지한다. 공격적 분석가는 10일 지수이동평균 253.46, 50일 단순이동평균 230.49, 200일 단순이동평균 165.14 위에 있는 강한 추세와 인공지능, 고대역폭 메모리, 메모리 회복, 선단 공정 장비 수요를 근거로 프리미엄 노출을 지지했다. 중립 분석가도 추세 훼손은 아니며 보유 노출은 유지할 만하다고 봤다. 다만 보수적 분석가가 지적한 273.50 저항 부근의 분배성 하락, 2026-04-22 실적 발표, 미국 수출통제 불확실성, 고평가, 높은 변동성을 반영해 오늘은 추격 매수하지 않는다. 신규 자금은 273.50 위의 거래량 동반 종가 확인 또는 253-258 구간의 저거래량 조정 후 지지 확인까지 기다린다. 조건이 충족되면 소규모 시작 포지션은 정당화될 수 있다.",
        "exit_logic": "기존 핵심 보유분은 LRCX가 253-258 지지권과 10일 지수이동평균 부근 253.46을 유지하고, 실적 발표에서 인공지능, 고대역폭 메모리, 메모리 회복, 선단 공정 장비 수요가 확인되는 동안 유지한다. 253.46 아래로 거래량이 확대되며 결정적으로 종가 이탈하면 일부 축소한다. 50일 단순이동평균 230.49 이탈, 중국 관련 장비나 서비스 매출 압박, 주문 지연, 마진 훼손, 잉여현금흐름 전환 약화가 확인되면 중기 배분 관점을 재평가한다.",
        "position_sizing": "실적 및 수출통제 위험 구간이 지나기 전까지 부분 규모만 허용한다. 기존 보유자는 핵심 노출을 유지하되 과도한 추가 매수는 피한다. 신규 진입은 돌파 확인 또는 지지 확인 후 단계적으로 시작하며, 1.0-1.5 평균진폭 변동이 사전 정의한 단일 종목 위험 한도를 넘지 않도록 산정한다. 2026-04-22 전에는 전체 규모 투입을 피한다.",
        "risk_limits": "273.50 저항 위를 거래량 확인 없이 추격하지 않는다. 253.46 아래 종가 이탈은 단기 위험 경고가 아니라 부분 축소 신호로 취급한다. 230.49 아래 종가 이탈은 중기 추세 훼손으로 본다. 베타 1.79, 평균진폭 11.84, 선행 주가수익비율 약 37, 후행 주가수익비율 54.09, 주가순자산비율 32.55, 실적 및 수출통제 이벤트 위험을 감안해 단일 종목 비중을 제한한다.",
        "catalysts": [
          "2026-04-22 Q3 2026 실적과 인공지능, 고대역폭 메모리, 메모리 회복, 선단 공정 장비 수요에 대한 강한 가이던스",
          "미국 수출통제가 중국 장비, 서비스, 유지보수, 설치 기반 매출에 미치는 영향이 제한적이라는 경영진 설명",
          "273.50 위 거래량 동반 종가 돌파와 양호한 모멘텀 유지",
          "TSMC 등 인공지능 반도체 공급망 선도 고객의 강한 설비투자 신호 지속",
          "분석가 목표가 상향 또는 기관 매집으로 높은 이익 기대가 검증되는 흐름"
        ],
        "invalidators": [
          "Q3 가이던스가 프리미엄 밸류에이션과 맞지 않는 고객 설비투자 둔화, 주문 지연, 마진 압박을 시사",
          "미국 수출통제 업데이트가 중국 장비, 서비스, 유지보수, 설치 기반 매출을 중대하게 제한",
          "LRCX가 50일 단순이동평균 230.49 아래로 종가 이탈해 중기 추세가 훼손",
          "잉여현금흐름 전환이 더 약해지는 가운데 자사주 매입과 배당이 잉여현금흐름을 계속 초과",
          "수요나 이익 상향 증거 없이 최고경영자, 최고재무책임자, 이사 매도가 더 확대"
        ],
        "watchlist_triggers": [
          "273.50 위 강한 거래량 종가와 함께 모멘텀이 양호하고 과열이 무질서하게 확대되지 않는 흐름",
          "253-258 구간 조정에서 매도 거래량이 줄고 10일 지수이동평균 부근을 지키는 안정화",
          "실적 발표 후 중국 노출이 관리 가능하고 인공지능 및 메모리 장비 수요가 강하다는 확인",
          "상대강도지수가 조정 중 60 위를 유지하면 긍정적이며, 55 아래로 내려가면 경계",
          "253.46 아래 고거래량 하락일은 최근 분배가 추세 훼손으로 번지는 신호"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "273.50 위 강한 거래량 종가와 함께 모멘텀이 양호하고 과열이 무질서하게 확대되지 않는 흐름",
        "253-258 구간 조정에서 매도 거래량이 줄고 10일 지수이동평균 부근을 지키는 안정화",
        "실적 발표 후 중국 노출이 관리 가능하고 인공지능 및 메모리 장비 수요가 강하다는 확인",
        "상대강도지수가 조정 중 60 위를 유지하면 긍정적이며, 55 아래로 내려가면 경계",
        "253.46 아래 고거래량 하락일은 최근 분배가 추세 훼손으로 번지는 신호",
        "2026-04-22 Q3 2026 실적과 인공지능, 고대역폭 메모리, 메모리 회복, 선단 공정 장비 수요에 대한 강한 가이던스",
        "미국 수출통제가 중국 장비, 서비스, 유지보수, 설치 기반 매출에 미치는 영향이 제한적이라는 경영진 설명",
        "273.50 위 거래량 동반 종가 돌파와 양호한 모멘텀 유지",
        "TSMC 등 인공지능 반도체 공급망 선도 고객의 강한 설비투자 신호 지속",
        "분석가 목표가 상향 또는 기관 매집으로 높은 이익 기대가 검증되는 흐름",
        "Q3 가이던스가 프리미엄 밸류에이션과 맞지 않는 고객 설비투자 둔화, 주문 지연, 마진 압박을 시사",
        "미국 수출통제 업데이트가 중국 장비, 서비스, 유지보수, 설치 기반 매출을 중대하게 제한",
        "LRCX가 50일 단순이동평균 230.49 아래로 종가 이탈해 중기 추세가 훼손",
        "잉여현금흐름 전환이 더 약해지는 가운데 자사주 매입과 배당이 잉여현금흐름을 계속 초과",
        "수요나 이익 상향 증거 없이 최고경영자, 최고재무책임자, 이사 매도가 더 확대"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LRCX has a constructive medium-term bullish thesis supported by strong trend structure and AI/HBM/memory equipment demand, but the current action is wait/watch rather than immediate entry. Timing is incomplete because price is extended near 273.50 resistance, confirmation requires either a volume-backed breakout, a supported pullback into 253-258, or post-earnings/export-control clarity.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LRCX has a constructive medium-term bullish thesis supported by strong trend structure and AI/HBM/memory equipment demand, but the current action is wait/watch rather than immediate entry. Timing is incomplete because price is extended near 273.50 resistance, confirmation requires either a volume-backed breakout, a supported pullback into 253-258, or post-earnings/export-control clarity."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_pullback_confirmation_needed",
        "earnings_event_risk_pending",
        "export_control_uncertainty",
        "extended_near_resistance",
        "stale_or_degraded_data",
        "partial_sizing_only"
      ],
      "review_required": false,
      "score_now": -0.027543526399999976,
      "score_triggered": 0.20614118400000003,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0
      },
      "broker_symbol": "LRCX",
      "canonical_ticker": "LRCX",
      "display_name": "LRCX"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "MU",
        "canonical_ticker": "MU",
        "yahoo_symbol": "MU",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "MU",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "MU의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가가 지적한 대로 2026-04-15 종가 456.23은 50일선 약 404와 200일선 254.72를 크게 웃돌고, 10일 EMA 426.49가 50일 SMA 404.80 위에 있으며 MACD도 4월 10일 -1.10에서 4월 16일 13.02로 개선되어 추세 회복 증거가 있다. 또한 최근 분기 매출 23.86B, 순이익 13.785B, 영업이익 16.135B, 자유현금흐름 5.516B, 현금 및 단기투자 14.589B가 총부채 10.798B를 웃도는 점은 AI 서버, HBM, 고급 DRAM 수요에 기반한 구조적 재평가 논리를 뒷받침한다. 다만 보수적 및 중립 분석가가 강조한 것처럼 2026-03-30 저가 318.40에서 2026-04-14 고가 465.78까지 단기 급등했고, ATR 26.03은 가격 대비 약 5.7%로 커서 오늘 추격 진입은 손익비가 불완전하다. 신규 진입 또는 추가 매수는 426 부근 지지가 확인되고 RSI가 55 이상을 유지하며 거래량이 안정될 때, 또는 465.78-471.14를 거래량으로 돌파한 뒤 465가 지지로 전환되는 재시험이 성공할 때만 허용한다.",
        "exit_logic": "405 종가 이탈은 50일선 방어 실패이자 중기 상승 전환 훼손으로 보고 감축 또는 철수를 실행한다. 426 지지 이탈과 RSI 50 하회가 함께 나오면 신규 매수 논리를 중단한다. 471.14 돌파 후 465 지지 전환에 실패하고 426 아래로 되밀리면 돌파 실패로 간주해 리스크를 줄인다. 다음 실적 또는 가이던스에서 HBM, DRAM, NAND 가격, AI 서버 주문, 고객 수요, 마진, 자유현금흐름, 매출채권 회수 품질이 약화되면 중기 OVERWEIGHT 논리를 재평가한다.",
        "position_sizing": "기존 보유자는 405 방어선이 유지되는 한 조건부 OVERWEIGHT 노출을 유지할 수 있으나, 현재 저항권 근처에서는 추가하지 않는다. 신규 자금은 확인 전 대기하고, 조건 충족 시에도 정상 비중보다 작은 starter만 사용한다. ATR 26.03과 베타 1.606을 감안해 한 번에 전체 포지션을 만들지 말고 426 지지 확인, 465 재시험 성공, 후속 거래량 확인에 맞춰 단계적으로만 확대한다. 내부자 매도와 매출채권 급증이 확인될 때까지 full overweight 크기는 피한다.",
        "risk_limits": "405까지의 하락이 포트폴리오 허용 손실을 넘지 않도록 최초 starter 크기를 제한한다. MU의 정상 일중 변동폭이 크므로 ATR 내부의 너무 촘촘한 손절은 피하되, 405 종가 이탈은 재량이 아니라 방어 기준으로 둔다. 405가 깨지면 377 및 356까지의 하방 재평가를 스트레스 테스트한다. 주가순자산비율 7.13, 52주 고점 471.34 근접, 최근 고점권 내부자 매도, 수출통제 및 중국 수요 리스크, 설비투자 부담, 매출채권 15.389B로의 급증은 포지션 상한을 낮추는 요인이다.",
        "catalysts": [
          "AI 서버 수요가 HBM과 고급 DRAM 부족을 지속시키는 경우",
          "2027년까지의 장기 물량 배정 또는 capacity visibility 보도가 추가로 확인되는 경우",
          "DRAM/NAND 가격 강세와 고부가 제품 믹스가 매출총이익률 및 영업이익률을 방어하는 경우",
          "다음 실적에서 높은 마진, 자유현금흐름 5.516B 수준의 개선, 매출채권 회수 품질이 확인되는 경우",
          "465.78 및 471.14 상단을 거래량으로 돌파하고 465가 지지로 전환되는 경우",
          "Nasdaq 및 AI 반도체 위험선호가 유지되어 베타 1.606이 상승 방향으로 작동하는 경우"
        ],
        "invalidators": [
          "405 아래 일간 종가로 50일선 방어와 중기 상승 전환이 훼손되는 경우",
          "426 지지 이탈과 RSI 50 하회가 동시에 발생해 반등이 단순 과매도 해소로 확인되는 경우",
          "HBM, DRAM, NAND 가격, AI 서버 수요, 고객 주문에 대한 가이던스가 약화되는 경우",
          "매출채권이 15.389B로 급증한 배경이 매출 성장보다 회수 지연 또는 매출 품질 문제로 드러나는 경우",
          "수출통제, 중국 수요, 반도체 공급망 정책 리스크가 MU 수요나 업종 밸류에이션을 훼손하는 경우",
          "고베타 AI 반도체 전반의 위험회피 전환으로 MU가 426 아래에서 빠르게 약해지는 경우"
        ],
        "watchlist_triggers": [
          "426 부근 지지 확인, 거래량 안정, RSI 55 이상 유지",
          "465.78 및 471.14를 거래량으로 돌파하는지 여부",
          "돌파 후 465가 저항이 아니라 지지로 전환되는 재시험 성공 여부",
          "405 아래 종가 발생 시 377 및 356 하방 위험 재평가",
          "다음 실적의 HBM 수요, DRAM/NAND 가격, 매출총이익률, 설비투자, 자유현금흐름, 매출채권 회수 추세",
          "2026-04-10 Sumit Sadana 24,000주 매도, 2026-04-09 Michael Cordano 매도, 2026-04-01 April Arnzen 매도 이후 추가 내부자 매도 집중 여부"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "426 부근 지지 확인, 거래량 안정, RSI 55 이상 유지",
        "465.78 및 471.14를 거래량으로 돌파하는지 여부",
        "돌파 후 465가 저항이 아니라 지지로 전환되는 재시험 성공 여부",
        "405 아래 종가 발생 시 377 및 356 하방 위험 재평가",
        "다음 실적의 HBM 수요, DRAM/NAND 가격, 매출총이익률, 설비투자, 자유현금흐름, 매출채권 회수 추세",
        "2026-04-10 Sumit Sadana 24,000주 매도, 2026-04-09 Michael Cordano 매도, 2026-04-01 April Arnzen 매도 이후 추가 내부자 매도 집중 여부",
        "AI 서버 수요가 HBM과 고급 DRAM 부족을 지속시키는 경우",
        "2027년까지의 장기 물량 배정 또는 capacity visibility 보도가 추가로 확인되는 경우",
        "DRAM/NAND 가격 강세와 고부가 제품 믹스가 매출총이익률 및 영업이익률을 방어하는 경우",
        "다음 실적에서 높은 마진, 자유현금흐름 5.516B 수준의 개선, 매출채권 회수 품질이 확인되는 경우",
        "465.78 및 471.14 상단을 거래량으로 돌파하고 465가 지지로 전환되는 경우",
        "Nasdaq 및 AI 반도체 위험선호가 유지되어 베타 1.606이 상승 방향으로 작동하는 경우",
        "405 아래 일간 종가로 50일선 방어와 중기 상승 전환이 훼손되는 경우",
        "426 지지 이탈과 RSI 50 하회가 동시에 발생해 반등이 단순 과매도 해소로 확인되는 경우",
        "HBM, DRAM, NAND 가격, AI 서버 수요, 고객 주문에 대한 가이던스가 약화되는 경우",
        "매출채권이 15.389B로 급증한 배경이 매출 성장보다 회수 지연 또는 매출 품질 문제로 드러나는 경우",
        "수출통제, 중국 수요, 반도체 공급망 정책 리스크가 MU 수요나 업종 밸류에이션을 훼손하는 경우",
        "고베타 AI 반도체 전반의 위험회피 전환으로 MU가 426 아래에서 빠르게 약해지는 경우"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "MU has a constructive medium-term overweight thesis supported by AI server memory demand, HBM/high-end DRAM strength, improving trend indicators, strong reported profitability and cash flow, and net cash-like balance sheet support. Timing is not ready for immediate entry because price is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires either confirmed 426 support with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 support retest.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.68,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "MU has a constructive medium-term overweight thesis supported by AI server memory demand, HBM/high-end DRAM strength, improving trend indicators, strong reported profitability and cash flow, and net cash-like balance sheet support. Timing is not ready for immediate entry because price is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires either confirmed 426 support with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 support retest."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_support_confirmation_needed",
        "extended_near_resistance",
        "high_volatility_position_sizing",
        "stale_or_degraded_data",
        "clear_downside_invalidation"
      ],
      "review_required": false,
      "score_now": -0.030191283200000002,
      "score_triggered": 0.19952179199999998,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "MU",
      "canonical_ticker": "MU",
      "display_name": "MU"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "NET",
        "canonical_ticker": "NET",
        "yahoo_symbol": "NET",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "NET",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.64,
        "time_horizon": "medium",
        "entry_logic": "NET의 중기 방향성은 건설적이지만 오늘 신규 진입은 보류한다. 공격적 분석가는 166.99에서 190대까지의 반등, MACD 히스토그램 개선(-4.78에서 -2.39), RSI 회복(32.97에서 52.02), 73.6% 수준의 총마진, 최근 분기 자유현금흐름 99.4백만, AI 및 보안 인프라 수요를 근거로 투자 가능성을 강조했다. 그러나 보수적 및 중립 분석가가 지적했듯이 NET은 아직 50일선 194.49, 10일 EMA 194.93, 200일선 202.04, 볼린저 중심선 203.77을 종가 기준으로 회복하지 못했고, 4월 9-10일의 11.4백만 및 13.7백만 주 하락 거래량은 상단 매물 부담을 시사한다. 따라서 기존 일부 보유는 유지하되, 신규 자금은 일봉 종가가 195를 회복할 때까지 기다린다. 195 상향 돌파는 소규모 starter를 정당화할 수 있는 첫 신호이며, 더 높은 품질의 진입은 202-204 회복 후 그 구간을 지지로 확인하는 조정에서만 인정한다.",
        "exit_logic": "기존 보유는 반등 구조가 유지될 때만 보유한다. 일봉 종가가 184 아래로 내려가면 반등 실패와 166.99 재시험 위험이 커지므로 축소 또는 청산한다. 166.99 이탈은 기술적 회복 논리의 명확한 무효화로 보고 더 단호히 청산한다. 하락 거래량 확대와 함께 MACD 개선이 되돌려지거나, 다음 실적에서 매출 성장 둔화가 확인되고 마진 개선 또는 자유현금흐름 레버리지가 이를 상쇄하지 못하면 투자 논리를 재평가한다.",
        "position_sizing": "ATR 13.84와 beta 약 1.875를 고려해 일반 성장주 배정보다 낮게 유지한다. 기존 포지션은 부분 또는 핵심 보유 수준으로 제한한다. 195 종가 회복 전 신규 매수는 하지 않는다. 195 회복 후에도 starter는 작게만 허용하며, 의미 있는 증액은 202-204 회복과 지지 확인, 그리고 다음 실적에서 매출 성장, 영업손실 축소, 자유현금흐름 지속성, 희석 완화가 확인된 뒤로 미룬다. 184 아래에서는 평균단가 낮추기를 금지한다.",
        "risk_limits": "184를 전술적 위험선, 166.99를 논리 무효화선으로 둔다. 일중 강세는 추격하지 않으며 종가 확인을 기준으로 한다. 기대 P/E 약 140, 주가순자산비율 약 49, EPS -0.29, TTM 순손실 약 102백만, 최근 분기 주식보상비용 123.6백만이 자유현금흐름 99.4백만을 초과한다는 점 때문에 밸류에이션과 희석 위험을 크게 반영한다. 금리, 인플레이션, Nasdaq 위험선호 약화, 소프트웨어 멀티플 압축이 심해지면 포지션을 재검토한다.",
        "catalysts": [
          "NET이 195 위에서 일봉 종가를 형성해 50일선 194.49와 10일 EMA 194.93 저항군을 회복한다.",
          "NET이 202-204 위에서 일봉 종가를 형성해 200일선 202.04와 볼린저 중심선 203.77을 회복하고, 이후 그 구간을 지지로 확인한다.",
          "다음 실적에서 매출 성장 지속, 영업손실 축소, 양의 자유현금흐름, AI 및 보안 수요의 매출 전환이 확인된다.",
          "Baird $260 및 TD Cowen $265 같은 우호적 목표가가 유지되고, 상향 추정치 조정이 동반된다.",
          "고성장 소프트웨어, 사이버보안, AI 인프라 종목에 대한 시장 위험선호가 유지된다."
        ],
        "invalidators": [
          "NET이 184 아래에서 일봉 종가를 형성해 반등 구조가 실패한다.",
          "NET이 166.99를 이탈해 고변동성 하락 국면 재개를 시사한다.",
          "매출 성장 둔화 또는 약한 가이던스가 프리미엄 밸류에이션을 훼손한다.",
          "자유현금흐름이 악화되거나 주식보상비용 및 주식 수 증가가 영업 레버리지 없이 확대된다.",
          "주요 임원과 이사들의 반복적 대규모 매도가 가격이 핵심 이동평균 아래에 머무는 동안 심리적 부담을 키운다.",
          "금리 상승, 인플레이션 압력, Nasdaq 위험회피로 고성장 소프트웨어 멀티플 압축이 심화된다."
        ],
        "watchlist_triggers": [
          "NET이 확대되지만 질서 있는 거래량으로 195 위에서 마감한다.",
          "NET이 VWMA 약 192.59 위를 여러 거래일 유지한다.",
          "MACD 히스토그램이 0에 접근하거나 상회하고 RSI가 60 위로 확장되되 가격 거절이 나타나지 않는다.",
          "NET이 202-204를 회복한 뒤 해당 구간을 지지로 재시험한다.",
          "4월 9-10일 매도 거래량 이후 상승일 거래량이 하락일 거래량을 지속적으로 앞선다.",
          "다음 실적에서 자유현금흐름 지속성, 영업 레버리지, 희석 완화가 확인된다."
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 1,
          "social_source": "news_derived",
          "macro_items_count": 2
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 1,
        "social_source": "news_derived",
        "macro_items_count": 2
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "NET이 확대되지만 질서 있는 거래량으로 195 위에서 마감한다.",
        "NET이 VWMA 약 192.59 위를 여러 거래일 유지한다.",
        "MACD 히스토그램이 0에 접근하거나 상회하고 RSI가 60 위로 확장되되 가격 거절이 나타나지 않는다.",
        "NET이 202-204를 회복한 뒤 해당 구간을 지지로 재시험한다.",
        "4월 9-10일 매도 거래량 이후 상승일 거래량이 하락일 거래량을 지속적으로 앞선다.",
        "다음 실적에서 자유현금흐름 지속성, 영업 레버리지, 희석 완화가 확인된다.",
        "NET이 195 위에서 일봉 종가를 형성해 50일선 194.49와 10일 EMA 194.93 저항군을 회복한다.",
        "NET이 202-204 위에서 일봉 종가를 형성해 200일선 202.04와 볼린저 중심선 203.77을 회복하고, 이후 그 구간을 지지로 확인한다.",
        "다음 실적에서 매출 성장 지속, 영업손실 축소, 양의 자유현금흐름, AI 및 보안 수요의 매출 전환이 확인된다.",
        "Baird $260 및 TD Cowen $265 같은 우호적 목표가가 유지되고, 상향 추정치 조정이 동반된다.",
        "고성장 소프트웨어, 사이버보안, AI 인프라 종목에 대한 시장 위험선호가 유지된다.",
        "NET이 184 아래에서 일봉 종가를 형성해 반등 구조가 실패한다.",
        "NET이 166.99를 이탈해 고변동성 하락 국면 재개를 시사한다.",
        "매출 성장 둔화 또는 약한 가이던스가 프리미엄 밸류에이션을 훼손한다.",
        "자유현금흐름이 악화되거나 주식보상비용 및 주식 수 증가가 영업 레버리지 없이 확대된다.",
        "주요 임원과 이사들의 반복적 대규모 매도가 가격이 핵심 이동평균 아래에 머무는 동안 심리적 부담을 키운다.",
        "금리 상승, 인플레이션 압력, Nasdaq 위험회피로 고성장 소프트웨어 멀티플 압축이 심화된다."
      ],
      "confidence": 0.64,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "NET has a constructive medium-term thesis supported by improving momentum, strong gross margin, positive free cash flow, AI/security demand, and analyst support, but the action signal is not ready. The plan explicitly waits for a daily close above 195 as the first starter trigger, with higher-quality confirmation only after reclaiming 202-204 and holding it as support. Current timing remains incomplete because price is still below key moving-average resistance and recent high-volume selling creates overhead supply.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.58,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "NET has a constructive medium-term thesis supported by improving momentum, strong gross margin, positive free cash flow, AI/security demand, and analyst support, but the action signal is not ready. The plan explicitly waits for a daily close above 195 as the first starter trigger, with higher-quality confirmation only after reclaiming 202-204 and holding it as support. Current timing remains incomplete because price is still below key moving-average resistance and recent high-volume selling creates overhead supply."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_thesis_waiting_for_confirmation",
        "daily_close_trigger_required",
        "below_key_moving_averages",
        "overhead_supply_from_heavy_sell_volume",
        "starter_only_after_breakout",
        "higher_quality_entry_requires_support_retest",
        "stale_or_degraded_execution_data"
      ],
      "review_required": true,
      "score_now": -0.04879068671999998,
      "score_triggered": 0.11476746240000002,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.8200000000000001,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "NET",
      "canonical_ticker": "NET",
      "display_name": "NET"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "NVDA",
        "canonical_ticker": "NVDA",
        "yahoo_symbol": "NVDA",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "NVDA",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 3211247,
      "quantity": 10.0,
      "available_qty": 11.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "NVDA에 대한 최종 판단은 조건부 초과비중이다. 공격적 분석가는 2026-03-30 종가 165.17에서 2026-04-15 종가 198.87까지의 급반등, 10일 EMA 189.26·50일 SMA 182.76·200일 SMA 181.52 동시 상회, MACD 3.97과 MACD 히스토그램 3.00 개선을 근거로 추세 회복을 강조했다. 중립적 분석가도 이 기술적 회복과 순현금 재무구조, 현금 및 단기투자 62.556B 대비 총부채 11.040B, HPE 협력과 TSMC AI 수요 확인이 중기 강세 논리를 지지한다고 봤다. 다만 보수적 분석가가 지적한 RSI 69.98, ATR 5.27, 198.87-200.40 저항 근접, P/E 40.66과 P/B 30.72, 재고 21.403B 및 매출채권 38.466B 증가는 즉시 추격 진입을 제한한다. 따라서 방향성은 BULLISH로 유지하되 오늘 신규 진입은 WAIT이며, 200.40 위 종가와 거래량 확장 또는 189.26 부근 눌림에서 종가 기준 지지와 모멘텀 안정이 확인될 때만 starter가 정당화된다.",
        "exit_logic": "기존 전술 노출은 200.40 돌파 실패 후 189.26 아래 종가가 나오고 MACD 히스토그램이 약화되면 일부 축소한다. 181-183의 50일·200일 평균선 지지 구간은 중기 추세 검증선이며, 181 아래 종가는 강세 회복 논리 훼손으로 보고 노출을 크게 줄이거나 종료한다. 다음 실적 또는 가이던스에서 데이터센터 수요 둔화, 총마진 약 75% 수준의 의미 있는 훼손, 영업마진 약 65%에서의 압박, 재고·매출채권 증가 대비 현금전환 악화, TSMC 공급망 차질, AMD·custom ASIC·hyperscaler 자체 칩에 따른 가격 결정력 약화가 확인되면 중기 투자 논리를 재평가한다.",
        "position_sizing": "이미 보유한 포지션은 조건부 OVERWEIGHT로 유지할 수 있으나 신규 자금은 분할 진입만 허용한다. 200.40 위 종가와 강한 거래량이 확인되거나 189.26 부근에서 지지가 확인되면 작은 starter로 시작하고, 이후 1-2거래일 동안 200.40 위 유지 또는 MACD 안정과 거래량 기반 추세 지속이 확인될 때만 추가한다. ATR 5.27과 beta 2.335를 반영해 일반 성장주보다 작은 단위로 배정하고, 저항 바로 아래에서 집중 매수하지 않는다.",
        "risk_limits": "1차 전술 리스크 라인은 189.26 아래 종가다. 이탈 시 신규 진입 대기는 유지하고 기존 초과비중은 축소 검토한다. 181-183은 중기 thesis support이며 181 아래 종가는 강세 회복 무효화 신호다. NVDA는 beta 2.335, 높은 밸류에이션, 4.83T 시가총액에 반영된 높은 기대치, 공급망·지정학 리스크 때문에 Nasdaq 또는 AI 반도체 심리 악화 시 시장보다 큰 하락이 가능하므로 손실 허용폭은 최소 1 ATR 이상의 정상 변동성을 감안하되 포트폴리오 손실 한도 안에서 제한한다.",
        "catalysts": [
          "200.40 위 일간 종가와 거래량 확장으로 저항 돌파가 확인되는 경우",
          "189.26 부근 눌림에서 종가 기준 지지와 MACD 히스토그램 안정이 확인되는 경우",
          "다음 실적 또는 가이던스에서 데이터센터 성장 지속과 총마진 약 75% 수준 방어가 확인되는 경우",
          "TSMC의 AI 수요 강세, hyperscaler 투자 확대, 기업 private AI 인프라 수요가 추가로 확인되는 경우",
          "재고 21.403B와 매출채권 38.466B 증가가 실제 최종 수요와 현금전환으로 뒷받침되는 경우",
          "AI 반도체 시장 확대가 AMD 경쟁 심화보다 NVDA의 플랫폼 리더십과 가격 결정력을 더 강화하는 경우"
        ],
        "invalidators": [
          "181-183 지지 구간 이탈 또는 181 아래 종가",
          "200.40 돌파 실패 후 189.26 아래 종가와 MACD 히스토그램 약화가 동시에 발생하는 경우",
          "총마진 가이던스가 의미 있게 낮아지거나 가격 압박 신호가 확인되는 경우",
          "재고와 매출채권 증가가 매출 성장보다 빠르고 현금전환이 악화되는 경우",
          "TSMC 생산 차질, 수출통제, 지정학 리스크가 AI 칩 납품 또는 원가에 실질적 타격을 주는 경우",
          "AMD, custom ASIC, hyperscaler 자체 칩이 NVDA의 점유율·마진·가격 결정력을 훼손한다는 증거가 확인되는 경우"
        ],
        "watchlist_triggers": [
          "NVDA가 200.40 위에서 종가를 형성하고 거래량 확장을 동반하는지 확인",
          "돌파 후 1-2거래일 동안 200.40 위 유지 여부 확인",
          "189.26 부근 눌림에서 종가 기준 방어, 변동성 완화, MACD 안정 여부 확인",
          "200.40 저항 실패 뒤 189.26 아래 종가가 나오는지 감시",
          "181-183 지지 구간과 181 아래 종가 이탈 여부 감시",
          "RSI 69.98 이후 70 이상 구간에서 모멘텀이 확장되는지 또는 둔화되는지 확인",
          "다음 공시에서 데이터센터 수요, 마진 가이던스, 재고, 매출채권, 현금전환, 인수 관련 무형자산 영향을 확인"
        ],
        "data_coverage": {
          "company_news_count": 2,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 3
        }
      },
      "data_coverage": {
        "company_news_count": 2,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 3
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "NVDA가 200.40 위에서 종가를 형성하고 거래량 확장을 동반하는지 확인",
        "돌파 후 1-2거래일 동안 200.40 위 유지 여부 확인",
        "189.26 부근 눌림에서 종가 기준 방어, 변동성 완화, MACD 안정 여부 확인",
        "200.40 저항 실패 뒤 189.26 아래 종가가 나오는지 감시",
        "181-183 지지 구간과 181 아래 종가 이탈 여부 감시",
        "RSI 69.98 이후 70 이상 구간에서 모멘텀이 확장되는지 또는 둔화되는지 확인",
        "다음 공시에서 데이터센터 수요, 마진 가이던스, 재고, 매출채권, 현금전환, 인수 관련 무형자산 영향을 확인",
        "200.40 위 일간 종가와 거래량 확장으로 저항 돌파가 확인되는 경우",
        "189.26 부근 눌림에서 종가 기준 지지와 MACD 히스토그램 안정이 확인되는 경우",
        "다음 실적 또는 가이던스에서 데이터센터 성장 지속과 총마진 약 75% 수준 방어가 확인되는 경우",
        "TSMC의 AI 수요 강세, hyperscaler 투자 확대, 기업 private AI 인프라 수요가 추가로 확인되는 경우",
        "재고 21.403B와 매출채권 38.466B 증가가 실제 최종 수요와 현금전환으로 뒷받침되는 경우",
        "AI 반도체 시장 확대가 AMD 경쟁 심화보다 NVDA의 플랫폼 리더십과 가격 결정력을 더 강화하는 경우",
        "181-183 지지 구간 이탈 또는 181 아래 종가",
        "200.40 돌파 실패 후 189.26 아래 종가와 MACD 히스토그램 약화가 동시에 발생하는 경우",
        "총마진 가이던스가 의미 있게 낮아지거나 가격 압박 신호가 확인되는 경우",
        "재고와 매출채권 증가가 매출 성장보다 빠르고 현금전환이 악화되는 경우",
        "TSMC 생산 차질, 수출통제, 지정학 리스크가 AI 칩 납품 또는 원가에 실질적 타격을 주는 경우",
        "AMD, custom ASIC, hyperscaler 자체 칩이 NVDA의 점유율·마진·가격 결정력을 훼손한다는 증거가 확인되는 경우"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "NVDA thesis is constructive for an existing held position, supported by trend recovery above key moving averages, improving MACD, strong AI/data-center fundamentals, high margins, and net cash. Timing is not yet actionable for adding because the plan explicitly says WAIT, price is near the 198.87-200.40 resistance zone, RSI is near 70, volatility is elevated, and confirmation requires either a daily close above 200.40 with volume or a controlled pullback holding near 189.26 with momentum stability.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "NVDA thesis is constructive for an existing held position, supported by trend recovery above key moving averages, improving MACD, strong AI/data-center fundamentals, high margins, and net cash. Timing is not yet actionable for adding because the plan explicitly says WAIT, price is near the 198.87-200.40 resistance zone, RSI is near 70, volatility is elevated, and confirmation requires either a daily close above 200.40 with volume or a controlled pullback holding near 189.26 with momentum stability."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_hold_ok",
        "entry_wait_not_actionable",
        "breakout_requires_close_above_resistance",
        "pullback_support_trigger_alternative",
        "overbought_near_resistance",
        "stale_or_degraded_data",
        "risk_lines_defined"
      ],
      "review_required": false,
      "score_now": 0.0791979776,
      "score_triggered": 0.22299494399999997,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2784
      },
      "broker_symbol": "NVDA",
      "canonical_ticker": "NVDA",
      "display_name": "NVDA"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "ORCL",
        "canonical_ticker": "ORCL",
        "yahoo_symbol": "ORCL",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "ORCL",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": false,
      "market_value_krw": 0,
      "quantity": 0.0,
      "available_qty": 0.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.62,
        "time_horizon": "medium",
        "entry_logic": "ORCL의 중기 방향성은 건설적이다. 공격적 분석가는 AWS 멀티클라우드 확장, AI 인프라 수요, Bloom Energy 전력 협력, DENSO 채택, 보고된 $553B 백로그, 최근 매출 $17.19B 및 정상화 EBITDA $8.393B 개선, 49.99M·59.78M·42.85M의 고거래량 반등, MACD 2.98 전환을 근거로 초기 재평가 가능성을 강조했다. 그러나 보수적·중립적 분석이 지적한 대로 RSI 70.79, 170.64 볼린저 상단 근접, ATR 8.16, 200일 SMA 214.26과의 큰 괴리, TTM 자유현금흐름 약 -$22.3B, 분기 자유현금흐름 약 -$11.48B, 총부채 약 $153.1B, 순부채 약 $96.2B, 이자비용 약 $1.18B, $38B 데이터센터 금융 리스크 때문에 오늘 신규 진입은 추격 매수로 판단된다. 기존 보유는 유지 가능하지만, 신규 자금은 156.84 10일 EMA 또는 150.54 50일 SMA 부근의 저거래량 지지 확인, 또는 170.64 및 172.56 상향 돌파 후 거래량 유지와 즉시 되돌림 부재가 확인될 때까지 대기한다.",
        "exit_logic": "기존 노출은 ORCL이 150 부근을 종가 기준으로 지키고 AI·클라우드 백로그 전환 논리가 훼손되지 않을 때만 유지한다. 150 하회 종가, 150.54 50일 SMA 이탈과 매도 거래량 확대, 170-180 구간 반복 실패와 모멘텀 둔화, 또는 CAPEX·부채·리스·$38B 금융 패키지가 클라우드 매출과 현금흐름 가시성으로 이어지지 않는다는 증거가 나오면 축소 또는 청산한다. 172.56 돌파 후 거래량이 급감하거나 돌파선을 빠르게 반납하면 실패한 돌파로 보고 추가 매수하지 않는다.",
        "position_sizing": "기존 포지션은 중간 이하로 유지한다. 신규 진입은 확인 이후에만 정상 비중보다 작은 시작 물량으로 제한한다. ATR 8.16과 베타 약 1.60 수준의 변동성을 감안해 레버리지는 사용하지 않고, 지지 확인 또는 돌파 지속성이 확인된 뒤에만 단계적으로 추가한다. 돌파 진입은 풀백 지지 진입보다 더 작게 시작한다.",
        "risk_limits": "150 종가 이탈은 단순 관찰이 아니라 강제 위험 축소 검토 지점이다. 150 하회가 거래량 확대, 자유현금흐름 악화, 신용 스프레드 확대, 부채 조달 우려, CAPEX 상승, $38B 데이터센터 금융 패키지 관련 부정적 뉴스와 동반되면 즉시 비중을 줄인다. 신규 거래의 손실 한도는 최소 1 ATR의 정상 변동성을 허용하되 포트폴리오 위험 한도를 넘지 않게 설정하고, 악재성 하락에서는 물타기를 금지한다.",
        "catalysts": [
          "AWS 멀티클라우드 네트워킹 확장은 Oracle Database와 OCI의 기업 접근성을 높여 백로그 전환 가능성을 강화한다.",
          "보고된 $553B 백로그와 AI 인프라 수요는 중기 클라우드 매출 재평가의 핵심 근거다.",
          "Bloom Energy와의 데이터센터 전력 협력은 인프라 병목 완화 가능성을 제공한다.",
          "최근 분기 매출 $17.19B와 정상화 EBITDA $8.393B 개선은 단순 테마주가 아니라 수익성 있는 핵심 사업 기반이 있음을 보여준다.",
          "고거래량 반등, VWMA 152.21 상회, MACD 2.98 전환은 단기 하락 모멘텀이 끊겼다는 기술적 증거다."
        ],
        "invalidators": [
          "ORCL이 150 아래로 종가 마감하고 150.54 50일 SMA를 빠르게 회복하지 못한다.",
          "$553B 백로그가 클라우드 매출 성장, 마진 유지, 자유현금흐름 회복으로 연결되지 않는다.",
          "TTM 자유현금흐름 약 -$22.3B와 분기 자유현금흐름 약 -$11.48B가 개선되지 않는 가운데 부채·리스·이자비용이 더 빠르게 증가한다.",
          "$38B 데이터센터 금융 패키지, 신용 스프레드, 조달 수요가 주가에 부정적 헤드라인으로 작용한다.",
          "AI 인프라 수요 둔화 또는 AWS·Microsoft·Google 등 하이퍼스케일러 경쟁으로 가격과 마진 압박이 커진다."
        ],
        "watchlist_triggers": [
          "강세 진입 조건: ORCL이 170.64와 172.56 위에서 종가 마감하고 거래량이 최근 평균 이상으로 유지된다.",
          "선호 진입 조건: ORCL이 156.84 또는 150.54 부근으로 조정된 뒤 낮은 거래량으로 지지되고 RSI가 대략 60 이상을 유지한다.",
          "위험 조건: ORCL이 150 또는 VWMA 152.21 아래로 종가 이탈하고 매도 거래량이 확대된다.",
          "기본 조건: 다음 회사 업데이트에서 CAPEX, 자유현금흐름 회복 시점, 클라우드 성장률, 이자비용에 대한 더 명확한 가이던스가 나온다.",
          "심리 조건: AWS, Bloom Energy, 주요 기업 AI·클라우드 고객 수주 관련 후속 뉴스가 이어지거나 반대로 평판·인력·거버넌스 악재가 확대된다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "WATCH",
      "suggested_action_if_triggered": "STARTER_IF_TRIGGERED",
      "trigger_conditions": [
        "강세 진입 조건: ORCL이 170.64와 172.56 위에서 종가 마감하고 거래량이 최근 평균 이상으로 유지된다.",
        "선호 진입 조건: ORCL이 156.84 또는 150.54 부근으로 조정된 뒤 낮은 거래량으로 지지되고 RSI가 대략 60 이상을 유지한다.",
        "위험 조건: ORCL이 150 또는 VWMA 152.21 아래로 종가 이탈하고 매도 거래량이 확대된다.",
        "기본 조건: 다음 회사 업데이트에서 CAPEX, 자유현금흐름 회복 시점, 클라우드 성장률, 이자비용에 대한 더 명확한 가이던스가 나온다.",
        "심리 조건: AWS, Bloom Energy, 주요 기업 AI·클라우드 고객 수주 관련 후속 뉴스가 이어지거나 반대로 평판·인력·거버넌스 악재가 확대된다.",
        "AWS 멀티클라우드 네트워킹 확장은 Oracle Database와 OCI의 기업 접근성을 높여 백로그 전환 가능성을 강화한다.",
        "보고된 $553B 백로그와 AI 인프라 수요는 중기 클라우드 매출 재평가의 핵심 근거다.",
        "Bloom Energy와의 데이터센터 전력 협력은 인프라 병목 완화 가능성을 제공한다.",
        "최근 분기 매출 $17.19B와 정상화 EBITDA $8.393B 개선은 단순 테마주가 아니라 수익성 있는 핵심 사업 기반이 있음을 보여준다.",
        "고거래량 반등, VWMA 152.21 상회, MACD 2.98 전환은 단기 하락 모멘텀이 끊겼다는 기술적 증거다.",
        "ORCL이 150 아래로 종가 마감하고 150.54 50일 SMA를 빠르게 회복하지 못한다.",
        "$553B 백로그가 클라우드 매출 성장, 마진 유지, 자유현금흐름 회복으로 연결되지 않는다.",
        "TTM 자유현금흐름 약 -$22.3B와 분기 자유현금흐름 약 -$11.48B가 개선되지 않는 가운데 부채·리스·이자비용이 더 빠르게 증가한다.",
        "$38B 데이터센터 금융 패키지, 신용 스프레드, 조달 수요가 주가에 부정적 헤드라인으로 작용한다.",
        "AI 인프라 수요 둔화 또는 AWS·Microsoft·Google 등 하이퍼스케일러 경쟁으로 가격과 마진 압박이 커진다."
      ],
      "confidence": 0.62,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "ORCL has a constructive medium-term AI infrastructure and multicloud thesis, supported by backlog, cloud demand, recent operating improvement, and a high-volume rebound. Timing is not ready for immediate entry because the setup is still developing, price is extended near resistance, and the plan explicitly waits for either a confirmed breakout above 170.64/172.56 with sustained volume or a controlled pullback that holds key support near 156.84 or 150.54.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.72,
        "entry_readiness": 0.36,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "ORCL has a constructive medium-term AI infrastructure and multicloud thesis, supported by backlog, cloud demand, recent operating improvement, and a high-volume rebound. Timing is not ready for immediate entry because the setup is still developing, price is extended near resistance, and the plan explicitly waits for either a confirmed breakout above 170.64/172.56 with sustained volume or a controlled pullback that holds key support near 156.84 or 150.54."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.36,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "setup_developing",
        "overbought_near_resistance",
        "explicit_breakout_trigger_required",
        "pullback_support_confirmation_required",
        "fcf_and_debt_risk",
        "stale_or_degraded_data"
      ],
      "review_required": true,
      "score_now": -0.04651263488,
      "score_triggered": 0.11903880960000002,
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "data_health": {
        "coverage_score": 0.8200000000000001,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.084,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "funding_source_score": 0.0
      },
      "broker_symbol": "ORCL",
      "canonical_ticker": "ORCL",
      "display_name": "ORCL"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "RSP",
        "canonical_ticker": "RSP",
        "yahoo_symbol": "RSP",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "RSP",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 295540,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "RSP의 중기 배분 관점은 건설적이지만, 오늘 즉시 추격 매수할 자리는 아니다. 공격적 분석가는 RSP가 2026-04-15 종가 199.73으로 10일 EMA 197.56, 50일 SMA 197.50, 상승 중인 200일 SMA 190.22 위에 있고 MACD가 -0.23에서 1.03으로 개선됐으며 RSI 63.50도 과열권 전이라고 지적했다. 이는 강세 전환 근거다. 다만 보수적 및 중립 분석가가 강조한 대로 현재 가격은 200.00-201.88 저항권 바로 아래이고 52주 고점 205.24도 가까워 실패 돌파 위험이 있다. 따라서 기존 보유분은 유지하거나 조건부로 비중확대 관찰을 지속하되, 신규 자금은 197.50-198.00 되돌림 지지 확인 또는 200.20 상향 종가와 거래량 확대, 이후 201.88 위 안착이 확인될 때만 단계적으로 투입한다. 조건이 충족되면 소규모 시작 포지션은 정당화될 수 있지만, 현재는 WAIT가 적절하다.",
        "exit_logic": "전술 포지션은 RSP가 196.00 아래로 종가 이탈하면 축소하고, 195.00 아래 이탈은 4월 반등 실패 확인으로 보고 단기 포지션을 정리한다. 200일 SMA 190.22 상실은 중기 강세 구조 훼손으로 간주한다. 201.88-204.00 구간에서는 거래량이 약하거나 모멘텀이 둔화되면 일부 이익을 실현한다. RSP가 시장 상승 중에도 SPY 또는 VOO 대비 상대강도를 잃으면 equal-weight 로테이션 논리가 약해지는 조기 경고로 본다.",
        "position_sizing": "저항권 추격을 피하고 중간 수준의 단계적 비중만 사용한다. 이미 분산형 주식 포트폴리오를 가진 투자자는 RSP를 보유하거나 소폭 비중확대할 수 있지만, 신규 매수는 197.50-198.00 지지 확인 또는 200.20 및 201.88 돌파 확인 후 여러 차례로 나눈다. 201.88-204.00 위에서 거래량 확인 없이 전량 진입하지 않는다.",
        "risk_limits": "초기 전술 위험 기준은 빠른 대응형으로 196.00, 넓은 ATR 조정 기준으로 195.00에 둔다. 200일 SMA 190.22는 중기 구조적 무효화선이다. 가격이 200.00-201.88 저항권에 근접한 상태에서는 보수적 분석가가 지적한 실패 돌파 위험을 반영해 진입 기준을 엄격히 유지한다. 금리 상승, 끈적한 인플레이션, Fed 긴축 기대, 지정학 충격이 금융, 산업재, 경기소비재 등 평균 S&P 500 구성종목에 더 큰 압박을 주면 노출을 재평가한다.",
        "catalysts": [
          "대형 기술주와 AI 중심 리더십을 넘어 시장 폭이 지속적으로 확장되는 흐름.",
          "RSP가 200.20 위에서 종가 확인 후 거래량 확대와 함께 201.88 위에 안착하는 돌파.",
          "RSP가 SPY 또는 VOO 대비 여러 거래일 동안 상대강도 개선을 이어가는 흐름.",
          "equal-weight 및 분산투자형 ETF로의 자금 유입 지속, 예를 들어 2026-03-27 보고된 305 million USD 유입 같은 수급 신호.",
          "금융, 산업재, 헬스케어, 경기소비재 등에서 미국 기업 이익 폭이 넓어지는 환경."
        ],
        "invalidators": [
          "197.50 아래 종가 이탈로 10일 EMA와 50일 SMA 부근 지지 클러스터가 저항으로 바뀌는 경우.",
          "195.00 아래 이탈로 4월 반등 모멘텀 실패가 확인되는 경우.",
          "상승 중인 200일 SMA 190.22 상실.",
          "대형 기술주 중심의 좁은 리더십이 재개되어 RSP가 SPY 또는 VOO 대비 재차 뒤처지는 경우.",
          "금리 또는 인플레이션 압력이 평균 S&P 500 구성종목에 대형 현금창출 기술주보다 더 큰 부담을 주는 경우."
        ],
        "watchlist_triggers": [
          "지지 매수 조건: 197.50-198.00으로 되돌림 후 해당 구간을 지키고 장중 시장 폭이 개선될 때.",
          "돌파 조건: 200.20 위 종가와 거래량 확대, 이후 201.88 위 안착이 확인될 때.",
          "위험 조건: 196.00 아래 종가 이탈, 특히 195.00 아래 이탈.",
          "상대강도 조건: RSP/SPY 또는 RSP/VOO 상대강도가 여러 거래일 동안 개선될 때.",
          "거시 조건: Treasury 금리, Fed 기대, 인플레이션 지표가 광범위한 주식 참여에 우호적으로 유지될 때."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "지지 매수 조건: 197.50-198.00으로 되돌림 후 해당 구간을 지키고 장중 시장 폭이 개선될 때.",
        "돌파 조건: 200.20 위 종가와 거래량 확대, 이후 201.88 위 안착이 확인될 때.",
        "위험 조건: 196.00 아래 종가 이탈, 특히 195.00 아래 이탈.",
        "상대강도 조건: RSP/SPY 또는 RSP/VOO 상대강도가 여러 거래일 동안 개선될 때.",
        "거시 조건: Treasury 금리, Fed 기대, 인플레이션 지표가 광범위한 주식 참여에 우호적으로 유지될 때.",
        "대형 기술주와 AI 중심 리더십을 넘어 시장 폭이 지속적으로 확장되는 흐름.",
        "RSP가 200.20 위에서 종가 확인 후 거래량 확대와 함께 201.88 위에 안착하는 돌파.",
        "RSP가 SPY 또는 VOO 대비 여러 거래일 동안 상대강도 개선을 이어가는 흐름.",
        "equal-weight 및 분산투자형 ETF로의 자금 유입 지속, 예를 들어 2026-03-27 보고된 305 million USD 유입 같은 수급 신호.",
        "금융, 산업재, 헬스케어, 경기소비재 등에서 미국 기업 이익 폭이 넓어지는 환경.",
        "197.50 아래 종가 이탈로 10일 EMA와 50일 SMA 부근 지지 클러스터가 저항으로 바뀌는 경우.",
        "195.00 아래 이탈로 4월 반등 모멘텀 실패가 확인되는 경우.",
        "상승 중인 200일 SMA 190.22 상실.",
        "대형 기술주 중심의 좁은 리더십이 재개되어 RSP가 SPY 또는 VOO 대비 재차 뒤처지는 경우.",
        "금리 또는 인플레이션 압력이 평균 S&P 500 구성종목에 대형 현금창출 기술주보다 더 큰 부담을 주는 경우."
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "RSP has a constructive medium-term allocation thesis: price is above key moving averages, momentum has improved, and broader market breadth could support equal-weight exposure. However, the setup is still developing because price is near the 200.00-201.88 resistance zone and the plan explicitly says to wait for either a successful 197.50-198.00 support retest or a confirmed close above 200.20 with volume and acceptance above 201.88 before adding. Current action is hold, not immediate add.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.3012,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.7,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "RSP has a constructive medium-term allocation thesis: price is above key moving averages, momentum has improved, and broader market breadth could support equal-weight exposure. However, the setup is still developing because price is near the 200.00-201.88 resistance zone and the plan explicitly says to wait for either a successful 197.50-198.00 support retest or a confirmed close above 200.20 with volume and acceptance above 201.88 before adding. Current action is hold, not immediate add."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "support_retest_alternative_trigger",
        "near_resistance_failed_breakout_risk",
        "held_position_hold_ok",
        "stale_or_degraded_execution_data"
      ],
      "review_required": false,
      "score_now": 0.06250083840000004,
      "score_triggered": 0.18125209600000003,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.7,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3012
      },
      "broker_symbol": "RSP",
      "canonical_ticker": "RSP",
      "display_name": "RSP"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "TSLA",
        "canonical_ticker": "TSLA",
        "yahoo_symbol": "TSLA",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "TSLA",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 571621,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.63,
        "time_horizon": "medium",
        "entry_logic": "TSLA의 중기 배분 관점은 보유 가능한 강세 편향이지만, 오늘 신규 자본을 즉시 투입할 만큼 확정된 자리는 아니다. 공격적 분석이 지적한 2026-04-15 종가 391.95, 거래량 113,381,300주, 50일선 390.43 회복, MACD 히스토그램 -0.96에서 4.63 개선, RSI 56 부근은 반등의 질이 개선됐다는 근거다. 그러나 보수적·중립 분석이 공통으로 지적했듯 가격은 아직 200일선 398.37 아래이고 2026-04-15 고가 394.65도 저항을 넘지 못했다. 따라서 기존 보유자는 축소된 핵심 노출을 유지하되, 신규 진입은 398.37 위 일간 종가와 400 위 후속 흐름이 거래량을 동반하거나, 390.43 부근의 통제된 되돌림이 지지로 확인될 때 작은 초기 포지션만 정당화된다.",
        "exit_logic": "390.43의 50일선 아래 종가 이탈이 발생하면 최근 고거래량 반등의 품질이 훼손된 것으로 보고 일부 축소한다. 10일 EMA/VWMA 구간인 고점 360달러대, 특히 368.27 부근을 이탈하면 반등 실패 가능성이 커지므로 더 적극적으로 줄인다. 분기 매출이 280.95억 달러에서 249.01억 달러로 감소하고 순이익이 13.73억 달러에서 8.4억 달러로 줄었다는 보수적 분석의 우려가 다음 실적, 인도량, 마진, 잉여현금흐름에서 반복되면 AI·자율주행 재평가 논리를 낮추고 퇴출을 검토한다.",
        "position_sizing": "기존 보유분은 정상 성장주 비중을 넘기지 않는 축소-정상 범위의 핵심 노출로 제한한다. 신규 진입은 지금 추격하지 않고, 398.37 위 종가와 400 위 후속 확인 또는 390.43 지지 확인 뒤 작은 초기 포지션으로 시작한다. ATR 15.36과 beta 1.915가 손실 속도를 키울 수 있으므로 첫 진입은 표준 고성장주 포지션보다 작게 하고, 200일선 위 안착과 거래량 유지, 이후 390.43 지지 재확인 때만 단계적으로 증액한다.",
        "risk_limits": "거래당 위험은 낮게 유지하고, TSLA의 정상 변동성을 감안해 손절은 최소 1 ATR 이상의 여유를 두되 포지션 크기로 달러 손실을 통제한다. TTM PE 351, Forward PE 139, P/B 17.64, TTM 순이익률 약 4.0%, 영업이익률 약 4.7%는 AI·자율주행 기대가 이미 높은 가격에 반영됐음을 뜻하므로 헤드라인만으로 비중을 키우지 않는다. Nasdaq과 AI·성장주 위험선호가 약해지거나, Cybertruck 수요·희석·주식보상비용·현금흐름 우려가 커지면 신규 매수 기준을 더 엄격히 한다.",
        "catalysts": [
          "398.37의 200일선 위 일간 종가와 거래량 유지",
          "400 위 후속 흐름으로 저항 돌파가 확인되는 경우",
          "AI5, AI6, Dojo3, Optimus, FSD, 로보택시 관련 상용화 신뢰도를 높이는 구체적 진전",
          "인도량, 마진, 잉여현금흐름, 유기적 차량 수요가 기대보다 개선되는 경우",
          "현금 및 단기투자 440.59억 달러, 유동비율 2.164, 양의 영업현금흐름이 장기 투자 여력을 뒷받침한다는 인식 강화",
          "UBS 업그레이드 이후 추가 목표가 상향이나 애널리스트 시각 개선",
          "Nasdaq과 AI·성장주 위험선호가 유지되는 거시 환경"
        ],
        "invalidators": [
          "398.37과 400 돌파 실패 후 390.43의 50일선 아래 종가 이탈",
          "368.27 부근의 10일 EMA/VWMA 구간 이탈로 단기 반등 실패가 확인되는 경우",
          "분기 매출, 순이익, 잉여현금흐름, 마진의 추가 악화",
          "Cybertruck 또는 broader vehicle demand가 비유기적·관계사 수요에 의존한다는 증거 확대",
          "Waymo 등 자율주행 경쟁사가 상용화 격차를 더 벌리고 TSLA 일정이 지연되는 경우",
          "희석, 주식보상비용, 내부자 매도 부담이 주당 가치에 계속 압력을 주는 경우",
          "고평가 성장주 전반의 멀티플 압축과 Nasdaq 조정"
        ],
        "watchlist_triggers": [
          "TSLA가 398.37 위에서 일간 종가를 만들고 거래량이 유지되는지 확인",
          "400 위 후속 거래와 숏커버링·모멘텀 매수 지속 여부 확인",
          "되돌림 시 390.43 부근을 지키고 부정적 회사 뉴스가 없는지 확인",
          "368.27 부근 이탈 여부를 반등 실패 경고로 감시",
          "다음 인도량, 마진, 잉여현금흐름 업데이트가 기대 대비 개선되는지 확인",
          "FSD, 로보택시, AI 칩, Optimus, 에너지 저장 관련 규제·상업화 이정표 확인",
          "TSLL 콜 비중 78.56%, 거래량 252.24K 계약, 미결제약정 850.08K 계약처럼 치우친 옵션 수급이 돌파 시 추격 매수로 작동하는지 또는 실패 시 되돌림 압력으로 바뀌는지 감시"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "TSLA가 398.37 위에서 일간 종가를 만들고 거래량이 유지되는지 확인",
        "400 위 후속 거래와 숏커버링·모멘텀 매수 지속 여부 확인",
        "되돌림 시 390.43 부근을 지키고 부정적 회사 뉴스가 없는지 확인",
        "368.27 부근 이탈 여부를 반등 실패 경고로 감시",
        "다음 인도량, 마진, 잉여현금흐름 업데이트가 기대 대비 개선되는지 확인",
        "FSD, 로보택시, AI 칩, Optimus, 에너지 저장 관련 규제·상업화 이정표 확인",
        "TSLL 콜 비중 78.56%, 거래량 252.24K 계약, 미결제약정 850.08K 계약처럼 치우친 옵션 수급이 돌파 시 추격 매수로 작동하는지 또는 실패 시 되돌림 압력으로 바뀌는지 감시",
        "398.37의 200일선 위 일간 종가와 거래량 유지",
        "400 위 후속 흐름으로 저항 돌파가 확인되는 경우",
        "AI5, AI6, Dojo3, Optimus, FSD, 로보택시 관련 상용화 신뢰도를 높이는 구체적 진전",
        "인도량, 마진, 잉여현금흐름, 유기적 차량 수요가 기대보다 개선되는 경우",
        "현금 및 단기투자 440.59억 달러, 유동비율 2.164, 양의 영업현금흐름이 장기 투자 여력을 뒷받침한다는 인식 강화",
        "UBS 업그레이드 이후 추가 목표가 상향이나 애널리스트 시각 개선",
        "Nasdaq과 AI·성장주 위험선호가 유지되는 거시 환경",
        "398.37과 400 돌파 실패 후 390.43의 50일선 아래 종가 이탈",
        "368.27 부근의 10일 EMA/VWMA 구간 이탈로 단기 반등 실패가 확인되는 경우",
        "분기 매출, 순이익, 잉여현금흐름, 마진의 추가 악화",
        "Cybertruck 또는 broader vehicle demand가 비유기적·관계사 수요에 의존한다는 증거 확대",
        "Waymo 등 자율주행 경쟁사가 상용화 격차를 더 벌리고 TSLA 일정이 지연되는 경우",
        "희석, 주식보상비용, 내부자 매도 부담이 주당 가치에 계속 압력을 주는 경우",
        "고평가 성장주 전반의 멀티플 압축과 Nasdaq 조정"
      ],
      "confidence": 0.63,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "TSLA has a constructive but not yet actionable bullish hold setup. The thesis is supported by a high-volume rebound, recovery near the 50-day SMA, improving MACD, RSI around the mid-50s, balance-sheet strength, and AI/autonomy optionality, but timing remains incomplete because price is still below the 200-day SMA near 398.37 and has not confirmed follow-through above 400. Existing holders can maintain reduced core exposure, while new adds require a confirmed daily close above resistance with volume or a controlled pullback that proves support near 390.43.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2892,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.74,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "TSLA has a constructive but not yet actionable bullish hold setup. The thesis is supported by a high-volume rebound, recovery near the 50-day SMA, improving MACD, RSI around the mid-50s, balance-sheet strength, and AI/autonomy optionality, but timing remains incomplete because price is still below the 200-day SMA near 398.37 and has not confirmed follow-through above 400. Existing holders can maintain reduced core exposure, while new adds require a confirmed daily close above resistance with volume or a controlled pullback that proves support near 390.43."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_hold_thesis",
        "entry_wait_not_actionable_now",
        "breakout_level_defined",
        "needs_volume_confirmation",
        "below_200_day_sma",
        "support_retest_alternative",
        "high_volatility_requires_small_sizing",
        "fundamental_quality_mixed",
        "valuation_risk_elevated"
      ],
      "review_required": false,
      "score_now": 0.06391139840000003,
      "score_triggered": 0.18477849600000001,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2892
      },
      "broker_symbol": "TSLA",
      "canonical_ticker": "TSLA",
      "display_name": "TSLA"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "TSM",
        "canonical_ticker": "TSM",
        "yahoo_symbol": "TSM",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "TSM",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 2136230,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.74,
        "time_horizon": "medium",
        "entry_logic": "TSM의 중기 배분 관점은 긍정적이다. 공격적 분석가는 Q1 이익 58% 증가, 매출 약 NT$1.13조, 전년 대비 약 35% 성장, March 매출 45.2% 증가, 3nm와 5nm 고가동률, 약 69.9% 파운드리 점유율을 근거로 AI 인프라 핵심 병목 자산이라고 평가했다. 중립 분석가도 가격이 10일 지수이동평균 부근인 362.5, 50일 평균과 거래량가중평균 클러스터인 352.5-352.8, 200일 평균 295.6 위에 있어 추세가 훼손되지 않았다고 보았다. 다만 보수적 분석가가 지적한 대로 316.50에서 375.10까지 빠르게 반등했고 379.89-382.16 저항에 근접했으며, 강한 실적 이후 매도가 나온 점은 당일 신규 진입의 위험을 높인다. 따라서 오늘은 추격 매수하지 않고 대기한다. 신규 진입은 TSM이 362-365 구간을 통제된 조정으로 시험한 뒤 종가 기준으로 지지를 확인하거나, 382.16 위에서 평균 이상 거래량으로 종가 돌파하고 즉시 반락하지 않을 때만 정당화된다. 조건이 충족되면 부분 스타터는 가능하지만 현재 행동은 WAIT이다.",
        "exit_logic": "기존 보유분은 중기 상승 구조가 유지되는 한 보유하되, 위험 신호는 단계적으로 적용한다. 중립 분석가의 제안처럼 362 아래 종가가 RSI 약화, MACD 히스토그램 악화, 분산 거래량과 함께 나타나면 전술 노출을 부분 축소하거나 재검토한다. 352 아래 종가는 50일 평균과 거래량가중평균 지지 클러스터 및 April 반등 구조를 훼손하므로 더 강한 축소 또는 전술 청산 신호로 본다. 345-348 돌파 구간이 실패하면 최근 모멘텀 기반 OVERWEIGHT 논리를 재평가한다. AI 주문, 선단공정 가동률, 마진, 자유현금흐름, 해외 팹 비용에 대한 가정이 악화될 경우에도 중기 배분을 낮춘다.",
        "position_sizing": "ATR가 약 12.5포인트, 주가의 약 3% 수준이므로 신규 포지션은 전량 진입이 아니라 단계적으로만 집행한다. 확인 신호가 나오면 최소 1 ATR 이상의 위험 폭을 기준으로 작은 스타터를 사용하고, 성공적인 재시험 또는 추가 상승 확인 이후에만 증액한다. 기존 보유자는 OVERWEIGHT 노출을 유지할 수 있지만, 375-382 저항대에서는 공격적 추가 매수를 피한다. Taiwan Strait, 공급망, 고객 집중, 밸류에이션 갭, 해외 팹 마진 압박을 반영해 일반적인 반도체 기술주보다 총 비중 상한을 더 보수적으로 둔다.",
        "risk_limits": "일상 변동성 안에 있는 촘촘한 손절은 피한다. 362 아래 종가와 약한 모멘텀은 신규 매수분 또는 전술 비중의 1차 감축 검토선이다. 352 아래 종가는 핵심 전술 위험 한도이며, 345-348 실패는 돌파 실패 및 중기 논리 재검토 신호다. 보수적 분석가가 강조한 것처럼 지정학적 뉴스는 기술적 종가 손절을 뛰어넘는 갭 위험을 만들 수 있으므로 단일 종목 손실 한도와 총 포트폴리오 집중도를 사전에 제한한다.",
        "catalysts": [
          "Q1 2026 이익이 58% 증가했고 실적과 Q2 매출 전망이 기대를 웃돌았다는 점은 공격적 분석가와 트레이더가 공통으로 제시한 핵심 근거다.",
          "Q1 매출 약 NT$1.13조, 약 US$35.6 billion, 전년 대비 약 35% 증가와 March 매출 45.2% 증가는 수요 강도를 뒷받침한다.",
          "AI 칩 수요와 3nm 및 5nm 고가동률은 가격 결정력과 마진 지속성을 지지한다.",
          "약 69.9% 글로벌 파운드리 점유율은 TSM의 전략적 병목성과 고객 의존도를 강화한다.",
          "가격이 상승 중인 50일 평균과 200일 평균 위에 있고 RSI가 55.38로 50 위, MACD가 7.10으로 양호하다는 중립 분석가의 근거는 추세 유지 판단을 뒷받침한다."
        ],
        "invalidators": [
          "352-353 아래 종가는 April 반등 구조와 50일 평균 및 거래량가중평균 지지 클러스터를 훼손한다.",
          "RSI가 50 아래로 내려가고 MACD 히스토그램이 악화되면 건강한 조정이 아니라 모멘텀 상실로 해석한다.",
          "AI 주문 둔화, 고객 재고 조정, 선단공정 가동률 약화, 가이던스 하향은 프리미엄 성장 논리를 약화시킨다.",
          "Taiwan Strait 긴장 고조나 핵심 소재 공급 차질은 중립 및 보수 분석가가 강조한 대로 할인율과 갭 위험을 빠르게 높인다.",
          "해외 팹 확장이 마진 또는 자유현금흐름을 의미 있게 압박한다는 증거가 나오면 밸류에이션 정당성이 약해진다."
        ],
        "watchlist_triggers": [
          "매수 가능 조정: TSM이 362-365를 시험한 뒤 종가 기준으로 지지를 확인하거나 10일 지수이동평균 부근을 지키고 거래량이 건설적으로 유지될 때.",
          "돌파 조건: TSM이 382.16 위에서 평균 이상 거래량으로 종가 마감하고 즉시 반락하지 않을 때.",
          "1차 위험 조건: TSM이 362 아래에서 마감하고 RSI 약화, MACD 히스토그램 악화, 분산 거래량이 동반될 때.",
          "핵심 위험 조건: TSM이 352 아래에서 종가 마감하거나 345-348 April 돌파 구간 재시험에 실패할 때.",
          "뉴스 조건: 경영진 발언이 AI 수요 지속성, 선단공정 가격 결정력, 자본지출 규율, 해외 팹 마진 영향을 확인하거나 반대로 약화시킬 때."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 2,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 2,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "매수 가능 조정: TSM이 362-365를 시험한 뒤 종가 기준으로 지지를 확인하거나 10일 지수이동평균 부근을 지키고 거래량이 건설적으로 유지될 때.",
        "돌파 조건: TSM이 382.16 위에서 평균 이상 거래량으로 종가 마감하고 즉시 반락하지 않을 때.",
        "1차 위험 조건: TSM이 362 아래에서 마감하고 RSI 약화, MACD 히스토그램 악화, 분산 거래량이 동반될 때.",
        "핵심 위험 조건: TSM이 352 아래에서 종가 마감하거나 345-348 April 돌파 구간 재시험에 실패할 때.",
        "뉴스 조건: 경영진 발언이 AI 수요 지속성, 선단공정 가격 결정력, 자본지출 규율, 해외 팹 마진 영향을 확인하거나 반대로 약화시킬 때.",
        "Q1 2026 이익이 58% 증가했고 실적과 Q2 매출 전망이 기대를 웃돌았다는 점은 공격적 분석가와 트레이더가 공통으로 제시한 핵심 근거다.",
        "Q1 매출 약 NT$1.13조, 약 US$35.6 billion, 전년 대비 약 35% 증가와 March 매출 45.2% 증가는 수요 강도를 뒷받침한다.",
        "AI 칩 수요와 3nm 및 5nm 고가동률은 가격 결정력과 마진 지속성을 지지한다.",
        "약 69.9% 글로벌 파운드리 점유율은 TSM의 전략적 병목성과 고객 의존도를 강화한다.",
        "가격이 상승 중인 50일 평균과 200일 평균 위에 있고 RSI가 55.38로 50 위, MACD가 7.10으로 양호하다는 중립 분석가의 근거는 추세 유지 판단을 뒷받침한다.",
        "352-353 아래 종가는 April 반등 구조와 50일 평균 및 거래량가중평균 지지 클러스터를 훼손한다.",
        "RSI가 50 아래로 내려가고 MACD 히스토그램이 악화되면 건강한 조정이 아니라 모멘텀 상실로 해석한다.",
        "AI 주문 둔화, 고객 재고 조정, 선단공정 가동률 약화, 가이던스 하향은 프리미엄 성장 논리를 약화시킨다.",
        "Taiwan Strait 긴장 고조나 핵심 소재 공급 차질은 중립 및 보수 분석가가 강조한 대로 할인율과 갭 위험을 빠르게 높인다.",
        "해외 팹 확장이 마진 또는 자유현금흐름을 의미 있게 압박한다는 증거가 나오면 밸류에이션 정당성이 약해진다."
      ],
      "confidence": 0.74,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "TSM has a constructive medium-term overweight thesis supported by strong earnings, AI and advanced-node demand, and an intact trend above key moving averages. Timing is not actionable now because price is near 375-382 resistance after a sharp rebound and the plan explicitly says to wait for either a controlled 362-365 support retest or a confirmed close above 382.16 on above-average volume.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.276,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.82,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong earnings, AI and advanced-node demand, and an intact trend above key moving averages. Timing is not actionable now because price is near 375-382 resistance after a sharp rebound and the plan explicitly says to wait for either a controlled 362-365 support retest or a confirmed close above 382.16 on above-average volume."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_waits_for_confirmation",
        "near_resistance_after_fast_rebound",
        "explicit_breakout_or_pullback_trigger",
        "held_position_supports_hold_not_add",
        "defined_risk_invalidators"
      ],
      "review_required": false,
      "score_now": 0.0826475264,
      "score_triggered": 0.23161881599999998,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.82,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.144,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.276
      },
      "broker_symbol": "TSM",
      "canonical_ticker": "TSM",
      "display_name": "TSM"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "VRT",
        "canonical_ticker": "VRT",
        "yahoo_symbol": "VRT",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "VRT",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 872193,
      "quantity": 2.0,
      "available_qty": 2.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "VRT의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가가 지적한 것처럼 최신 분기 매출 2.88B, 영업이익 606.9M, 희석 EPS 1.14, 잉여현금흐름 883.9M은 AI 데이터센터 전력·냉각·모듈형 인프라 수요가 실제 실적으로 전환되고 있음을 보여준다. 또한 가격은 10일 EMA 288.22, VWMA 272.84, 50일 평균 254.47, 200일 평균 181.44 위에 있어 추세는 훼손되지 않았다. 다만 보수적·중립적 분석가가 강조한 trailing P/E 약 86.5, forward P/E 약 36.2, P/B 약 28.5, ATR 약 13.55, RSI 70.99에서 62.35로 둔화, MACD 히스토그램 4.27에서 3.21로 약화, 실적 이벤트 위험을 고려하면 오늘 즉시 추격 매수할 자리는 아니다. 신규 진입은 312.46 위 일간 종가와 최근 4월 대비 뚜렷한 거래량 증가가 확인되거나, 296.64-288.22 지지 구간에서 안정화 후 상승 반전이 확인될 때만 허용한다. 조건 충족 시 소규모 starter는 정당화될 수 있지만, 현재 즉시 실행은 WAIT이다.",
        "exit_logic": "기존 보유분은 AI 인프라 수요, 수주·백로그, 마진, 잉여현금흐름 전환이 유지되고 VRT가 288.22 부근의 단기 상승 추세를 지키는 동안 보유한다. 288.22 아래 일간 종가가 나오면 전술적 익스포저를 축소하고, 이어 272.84 VWMA가 실패하면 추세 후원이 약해졌다고 판단한다. 약한 실적, 가이던스, 현금 전환 악화와 함께 50일 평균 254.47 부근이 깨지면 중기 OVERWEIGHT 논리를 재검토한다. 단순 변동성만으로 퇴출하지는 않되, 프리미엄 밸류에이션에서는 ‘기대 부합’ 실적도 리스크가 될 수 있다는 보수적 분석가의 지적을 반영한다.",
        "position_sizing": "실적 전에는 정상 비중보다 낮게 운용한다. 기존 보유자는 핵심 익스포저를 유지하되 확인 없는 강세에 추가하지 않는다. 신규 자금은 312.46 상향 돌파 또는 296.64-288.22 지지 반전이 확인될 때 정상 비중의 약 1/3-1/2 수준 starter로 시작한다. 돌파 후 성공적 재시험, 실적 이후 300 이상 유지, 상향 추정치 조정, 백로그·마진·현금 전환 확인이 동반될 때만 단계적으로 추가한다. 고ATR, 프리미엄 밸류에이션, 내부자 매도, BMarko 통합 리스크, AI 인프라 포지셔닝 집중을 감안해 실적 전 전체 익스포저는 full overweight보다 낮게 둔다.",
        "risk_limits": "전술적 신규 진입의 위험 기준은 288.22로 둔다. 272.84는 중기 경고선, 254.47은 하드 thesis review 기준이다. ATR이 약 13.55로 최근 종가 대비 약 4.5% 수준이므로 스톱은 가격 노이즈를 감안하되 손실 허용액은 사전에 제한한다. 312.46 돌파를 매수하더라도 거래량이 약하거나 재시험에 실패하면 추가를 금지한다. 실적 전 갭 리스크, trailing P/E 약 86.5, forward P/E 약 36.2, P/B 약 28.5, RBC 구조화상품의 35% 버퍼가 시사하는 높은 변동성, 내부자 매도, BMarko 관련 goodwill·무형자산 증가와 963.1M 인수 현금 유출을 모두 포지션 한도에 반영한다.",
        "catalysts": [
          "실적과 가이던스가 AI 데이터센터 수요, 백로그 증가, 마진 확대, 잉여현금흐름 전환을 기대 이상으로 확인",
          "하이퍼스케일러와 AI 인프라 설비투자 확대가 전력·냉각·모듈형 배치 수요를 지속적으로 지지",
          "BMarko Structures 통합이 모듈형 데이터센터 구축 속도와 실행 역량을 개선",
          "Barclays 목표가 300 및 Evercore의 긍정적 시각처럼 추가 애널리스트 상향이나 추정치 개선 발생",
          "312.46 위 일간 종가와 최근 4월 대비 뚜렷하게 강한 거래량을 동반한 기술적 돌파"
        ],
        "invalidators": [
          "프리미엄 밸류에이션에도 실적 또는 가이던스가 기대에 부합하는 수준에 그치거나 하회",
          "데이터센터 주문, 백로그 성장, AI 인프라 설비투자 관련 경영진 코멘트가 둔화",
          "매출채권 또는 재고 증가로 잉여현금흐름 전환이 약화",
          "BMarko 통합 비용, 마진 희석, goodwill·무형자산 손상 우려가 확대",
          "288.22 아래 일간 종가 이후 272.84까지 실패해 추세 후원이 약화",
          "금리·인플레이션 압력 또는 위험회피 장세가 고성장 AI 인프라 종목의 멀티플 압축을 유발",
          "2월 말부터 3월 초까지의 대규모 내부자 매도 신호가 약한 가격 흐름이나 추정치 하향과 결합"
        ],
        "watchlist_triggers": [
          "312.46 위 일간 종가와 최근 4월 대비 명확히 높은 거래량",
          "296.64-288.22 지지 구간에서 매도 압력 둔화 후 상승 반전",
          "RSI가 55-65 구간에서 안정되고 MACD가 양수를 유지",
          "실적 이후 가격이 300 위를 유지하고 forward estimates가 상향",
          "296.64 이탈 후 288.22 이탈로 pullback 리스크 확대",
          "272.84 VWMA 실패 여부와 50일 평균 254.47 접근 여부",
          "다음 보고서의 매출채권, 재고, goodwill, 현금 전환, BMarko 통합 비용 추이"
        ],
        "data_coverage": {
          "company_news_count": 1,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 3
        }
      },
      "data_coverage": {
        "company_news_count": 1,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 3
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "312.46 위 일간 종가와 최근 4월 대비 명확히 높은 거래량",
        "296.64-288.22 지지 구간에서 매도 압력 둔화 후 상승 반전",
        "RSI가 55-65 구간에서 안정되고 MACD가 양수를 유지",
        "실적 이후 가격이 300 위를 유지하고 forward estimates가 상향",
        "296.64 이탈 후 288.22 이탈로 pullback 리스크 확대",
        "272.84 VWMA 실패 여부와 50일 평균 254.47 접근 여부",
        "다음 보고서의 매출채권, 재고, goodwill, 현금 전환, BMarko 통합 비용 추이",
        "실적과 가이던스가 AI 데이터센터 수요, 백로그 증가, 마진 확대, 잉여현금흐름 전환을 기대 이상으로 확인",
        "하이퍼스케일러와 AI 인프라 설비투자 확대가 전력·냉각·모듈형 배치 수요를 지속적으로 지지",
        "BMarko Structures 통합이 모듈형 데이터센터 구축 속도와 실행 역량을 개선",
        "Barclays 목표가 300 및 Evercore의 긍정적 시각처럼 추가 애널리스트 상향이나 추정치 개선 발생",
        "312.46 위 일간 종가와 최근 4월 대비 뚜렷하게 강한 거래량을 동반한 기술적 돌파",
        "프리미엄 밸류에이션에도 실적 또는 가이던스가 기대에 부합하는 수준에 그치거나 하회",
        "데이터센터 주문, 백로그 성장, AI 인프라 설비투자 관련 경영진 코멘트가 둔화",
        "매출채권 또는 재고 증가로 잉여현금흐름 전환이 약화",
        "BMarko 통합 비용, 마진 희석, goodwill·무형자산 손상 우려가 확대",
        "288.22 아래 일간 종가 이후 272.84까지 실패해 추세 후원이 약화",
        "금리·인플레이션 압력 또는 위험회피 장세가 고성장 AI 인프라 종목의 멀티플 압축을 유발",
        "2월 말부터 3월 초까지의 대규모 내부자 매도 신호가 약한 가격 흐름이나 추정치 하향과 결합"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "VRT has a constructive medium-term AI infrastructure thesis and existing holders can maintain exposure, but the action table explicitly says WAIT for new/additional buying until confirmation. Timing is not ready because the setup is developing, price is extended, momentum has cooled, volatility and earnings/event risk are elevated, and add triggers require either a daily close above 312.46 with stronger volume or a confirmed reversal from the 296.64-288.22 support zone.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.284,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "VRT has a constructive medium-term AI infrastructure thesis and existing holders can maintain exposure, but the action table explicitly says WAIT for new/additional buying until confirmation. Timing is not ready because the setup is developing, price is extended, momentum has cooled, volatility and earnings/event risk are elevated, and add triggers require either a daily close above 312.46 with stronger volume or a confirmed reversal from the 296.64-288.22 support zone."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "confirmation_required",
        "specific_breakout_level_defined",
        "support_reversal_alternative",
        "extended_price_and_high_volatility",
        "earnings_event_risk",
        "premium_valuation_risk",
        "limited_data_coverage"
      ],
      "review_required": false,
      "score_now": 0.0698087168,
      "score_triggered": 0.19952179199999998,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.66,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.284
      },
      "broker_symbol": "VRT",
      "canonical_ticker": "VRT",
      "display_name": "VRT"
    },
    {
      "snapshot_id": "20260417T041043_kis_68944660-01",
      "instrument": {
        "broker_symbol": "VXUS",
        "canonical_ticker": "VXUS",
        "yahoo_symbol": "VXUS",
        "krx_code": null,
        "dart_corp_code": null,
        "display_name": "VXUS",
        "exchange": "US",
        "country": "US",
        "currency": "USD"
      },
      "is_held": true,
      "market_value_krw": 486974,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.67,
        "time_horizon": "medium",
        "entry_logic": "VXUS의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가와 중립 분석가가 공통으로 지적했듯이 2026-04-15 종가 82.65는 10일선 80.9 부근, 50일선 79.8 부근, 200일선 74.3 부근을 모두 상회하고, MACD는 2026-04-09 이후 양수권을 유지해 회복 모멘텀이 확인된다. RSI 64.5960은 강하지만 아직 70 이상 과열 확정은 아니며, 약달러, 미국 주식 집중 완화, 국제 분산 수요, Dividend Yield 2.99는 중기 총수익 논리를 보강한다. 다만 보수적·중립 분석가가 강조한 대로 74.71에서 82.65까지 단기 반등 폭이 크고, 82.90 돌파선과 84.11~84.28 저항권이 가까우며 ATR 1.3766으로 변동성이 높다. 따라서 방향성은 BULLISH이나 오늘 즉시 추격 매수하지 않고 WAIT한다. 81.0~81.5 지지 확인과 매수 반응이 나오면 제한적 STARTER가 가능하고, 82.90을 평균 이상 거래량과 종가 기준으로 돌파하면 추가 편입을 검토한다.",
        "exit_logic": "진입 후 80.9 부근 10일선 이탈은 단기 경고로 보고 추가 매수를 중단한다. 79.8 부근 50일선 이탈 뒤 빠른 회복에 실패하거나 79.5 아래 종가가 나오면 상승 전환 논리가 훼손된 것으로 간주해 감축 또는 청산한다. 78.0~78.8 VWMA권까지 밀리면서 거래량이 증가하면 반등의 질이 약해진 것으로 보고 방어를 우선한다. 반대로 84.11~84.28 저항권에 접근할 때 거래량이 약하거나 RSI가 70 이상으로 올라가면 신규 추가보다 일부 이익 실현을 우선한다.",
        "position_sizing": "신규 자금은 확인 전 집행하지 않는다. 81.0~81.5 지지 확인 시 의도한 VXUS 목표 비중의 40~50% 이하로 STARTER를 허용하고, 82.90을 평균 이상 거래량과 종가 기준으로 돌파하면 60~70%까지 단계적으로 확대할 수 있다. 보수적 분석가의 25~40% 제안은 기술적 회복을 과소평가하지만, 공격적 분석가의 조건 충족 즉시 50~70% 접근은 현재 저항과 ATR 1.3766을 감안하면 빠르다. 변동성이 높으므로 정상보다 수량을 줄이고 분할 진입만 사용한다.",
        "risk_limits": "첫 진입 위험은 포트폴리오 기준 약 0.50%로 제한하고, 추가 후 총 위험도 0.75%를 넘기지 않는다. 79.5 아래 종가 또는 50일선 79.8 회복 실패를 주요 방어선으로 둔다. 10일선 80.9 이탈과 MACD 둔화가 동시에 나오면 추가 매수 금지다. 달러 강세 재개, 글로벌 위험 회피 확대, 유럽·일본·신흥국 이익 전망 동반 하향이 나타나면 VXUS의 국제 분산 및 약달러 수혜 논리를 재평가한다.",
        "catalysts": [
          "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하면 84.11~84.28 고점권 재시험 가능성 확대",
          "2026-04-15 종가 82.65가 10일선, 50일선, 200일선을 모두 상회하는 추세 회복 유지",
          "MACD가 2026-04-09 이후 양수권을 유지하며 중기 모멘텀 개선 지속",
          "약달러와 미국 주식 집중 완화로 국제 주식 상대 선호가 이어질 가능성",
          "Dividend Yield 2.99와 PE Ratio 17.907825가 미국 대형 성장주 집중 노출 대비 총수익 및 밸류에이션 완충 요인으로 작동"
        ],
        "invalidators": [
          "79.8 부근 50일선 이탈 후 빠른 회복 실패",
          "79.5 아래 종가 이탈로 구조적 방어선 훼손",
          "80.9 부근 10일선 이탈과 MACD 상승 둔화 동반",
          "달러 강세 재개로 USD 기준 국제 주식 수익률 압박",
          "84.11~84.28 저항권에서 거래량 없이 반복 실패하거나 RSI 70 이상 과열 신호 발생"
        ],
        "watchlist_triggers": [
          "VXUS가 81.0~81.5에서 지지를 확인하고 장중 매수 반응을 보이는지 점검",
          "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하는지 확인",
          "50일선 79.8 방어 또는 일시 이탈 후 빠른 회복 여부 확인",
          "ATR 1.3766 대비 변동성이 축소되어 진입 위험보상이 개선되는지 관찰",
          "달러 지수 방향, 국제 주식의 미국 주식 대비 상대 성과, 유럽·일본·신흥국 이익 전망 변화를 함께 추적"
        ],
        "data_coverage": {
          "company_news_count": 1,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 3
        }
      },
      "data_coverage": {
        "company_news_count": 1,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 3
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 14,
          "alpha_vantage": 4
        },
        "fallback_count": 2
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "VXUS가 81.0~81.5에서 지지를 확인하고 장중 매수 반응을 보이는지 점검",
        "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하는지 확인",
        "50일선 79.8 방어 또는 일시 이탈 후 빠른 회복 여부 확인",
        "ATR 1.3766 대비 변동성이 축소되어 진입 위험보상이 개선되는지 관찰",
        "달러 지수 방향, 국제 주식의 미국 주식 대비 상대 성과, 유럽·일본·신흥국 이익 전망 변화를 함께 추적",
        "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하면 84.11~84.28 고점권 재시험 가능성 확대",
        "2026-04-15 종가 82.65가 10일선, 50일선, 200일선을 모두 상회하는 추세 회복 유지",
        "MACD가 2026-04-09 이후 양수권을 유지하며 중기 모멘텀 개선 지속",
        "약달러와 미국 주식 집중 완화로 국제 주식 상대 선호가 이어질 가능성",
        "Dividend Yield 2.99와 PE Ratio 17.907825가 미국 대형 성장주 집중 노출 대비 총수익 및 밸류에이션 완충 요인으로 작동",
        "79.8 부근 50일선 이탈 후 빠른 회복 실패",
        "79.5 아래 종가 이탈로 구조적 방어선 훼손",
        "80.9 부근 10일선 이탈과 MACD 상승 둔화 동반",
        "달러 강세 재개로 USD 기준 국제 주식 수익률 압박",
        "84.11~84.28 저항권에서 거래량 없이 반복 실패하거나 RSI 70 이상 과열 신호 발생"
      ],
      "confidence": 0.67,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, international diversification demand, weak-dollar tailwinds, and dividend support. However, the action is explicitly WAIT/HOLD because price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, so timing requires either support confirmation near 81.0-81.5 or a volume-confirmed close above 82.90 before adding.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2968,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, international diversification demand, weak-dollar tailwinds, and dividend support. However, the action is explicitly WAIT/HOLD because price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, so timing requires either support confirmation near 81.0-81.5 or a volume-confirmed close above 82.90 before adding."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_not_confirmed",
        "near_resistance_after_rebound",
        "support_retest_needed",
        "elevated_volatility",
        "held_position_hold_now",
        "limited_data_coverage"
      ],
      "review_required": false,
      "score_now": 0.06981854720000003,
      "score_triggered": 0.19954636800000006,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 14,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2968
      },
      "broker_symbol": "VXUS",
      "canonical_ticker": "VXUS",
      "display_name": "VXUS"
    }
  ],
  "actions": [
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "priority": 1,
      "confidence": 0.74,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0959,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0959,
      "trigger_conditions": [
        "매수 가능 조정: TSM이 362-365를 시험한 뒤 종가 기준으로 지지를 확인하거나 10일 지수이동평균 부근을 지키고 거래량이 건설적으로 유지될 때.",
        "돌파 조건: TSM이 382.16 위에서 평균 이상 거래량으로 종가 마감하고 즉시 반락하지 않을 때.",
        "1차 위험 조건: TSM이 362 아래에서 마감하고 RSI 약화, MACD 히스토그램 악화, 분산 거래량이 동반될 때.",
        "핵심 위험 조건: TSM이 352 아래에서 종가 마감하거나 345-348 April 돌파 구간 재시험에 실패할 때.",
        "뉴스 조건: 경영진 발언이 AI 수요 지속성, 선단공정 가격 결정력, 자본지출 규율, 해외 팹 마진 영향을 확인하거나 반대로 약화시킬 때.",
        "Q1 2026 이익이 58% 증가했고 실적과 Q2 매출 전망이 기대를 웃돌았다는 점은 공격적 분석가와 트레이더가 공통으로 제시한 핵심 근거다.",
        "Q1 매출 약 NT$1.13조, 약 US$35.6 billion, 전년 대비 약 35% 증가와 March 매출 45.2% 증가는 수요 강도를 뒷받침한다.",
        "AI 칩 수요와 3nm 및 5nm 고가동률은 가격 결정력과 마진 지속성을 지지한다.",
        "약 69.9% 글로벌 파운드리 점유율은 TSM의 전략적 병목성과 고객 의존도를 강화한다.",
        "가격이 상승 중인 50일 평균과 200일 평균 위에 있고 RSI가 55.38로 50 위, MACD가 7.10으로 양호하다는 중립 분석가의 근거는 추세 유지 판단을 뒷받침한다.",
        "352-353 아래 종가는 April 반등 구조와 50일 평균 및 거래량가중평균 지지 클러스터를 훼손한다.",
        "RSI가 50 아래로 내려가고 MACD 히스토그램이 악화되면 건강한 조정이 아니라 모멘텀 상실로 해석한다.",
        "AI 주문 둔화, 고객 재고 조정, 선단공정 가동률 약화, 가이던스 하향은 프리미엄 성장 논리를 약화시킨다.",
        "Taiwan Strait 긴장 고조나 핵심 소재 공급 차질은 중립 및 보수 분석가가 강조한 대로 할인율과 갭 위험을 빠르게 높인다.",
        "해외 팹 확장이 마진 또는 자유현금흐름을 의미 있게 압박한다는 증거가 나오면 밸류에이션 정당성이 약해진다."
      ],
      "rationale": "Highest-quality hold/add-if-triggered candidate: strongest confidence, best data coverage, high trigger quality, intact AI foundry thesis, and existing position can be maintained, but no immediate add while price is near resistance and cash buffer is tight.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.82,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.144,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.276,
        "score_now": 0.0826,
        "score_triggered": 0.2316,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.276,
      "capital_reallocation_rank": 12,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_waits_for_confirmation",
        "near_resistance_after_fast_rebound",
        "explicit_breakout_or_pullback_trigger",
        "held_position_supports_hold_not_add",
        "defined_risk_invalidators",
        "highest_quality_existing_hold",
        "strong_data_coverage",
        "high_trigger_quality",
        "near_resistance_wait_for_confirmation",
        "cash_buffer_limits_new_buys"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "priority": 2,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.1442,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.1442,
      "trigger_conditions": [
        "NVDA가 200.40 위에서 종가를 형성하고 거래량 확장을 동반하는지 확인",
        "돌파 후 1-2거래일 동안 200.40 위 유지 여부 확인",
        "189.26 부근 눌림에서 종가 기준 방어, 변동성 완화, MACD 안정 여부 확인",
        "200.40 저항 실패 뒤 189.26 아래 종가가 나오는지 감시",
        "181-183 지지 구간과 181 아래 종가 이탈 여부 감시",
        "RSI 69.98 이후 70 이상 구간에서 모멘텀이 확장되는지 또는 둔화되는지 확인",
        "다음 공시에서 데이터센터 수요, 마진 가이던스, 재고, 매출채권, 현금전환, 인수 관련 무형자산 영향을 확인",
        "200.40 위 일간 종가와 거래량 확장으로 저항 돌파가 확인되는 경우",
        "189.26 부근 눌림에서 종가 기준 지지와 MACD 히스토그램 안정이 확인되는 경우",
        "다음 실적 또는 가이던스에서 데이터센터 성장 지속과 총마진 약 75% 수준 방어가 확인되는 경우",
        "TSMC의 AI 수요 강세, hyperscaler 투자 확대, 기업 private AI 인프라 수요가 추가로 확인되는 경우",
        "재고 21.403B와 매출채권 38.466B 증가가 실제 최종 수요와 현금전환으로 뒷받침되는 경우",
        "AI 반도체 시장 확대가 AMD 경쟁 심화보다 NVDA의 플랫폼 리더십과 가격 결정력을 더 강화하는 경우",
        "181-183 지지 구간 이탈 또는 181 아래 종가",
        "200.40 돌파 실패 후 189.26 아래 종가와 MACD 히스토그램 약화가 동시에 발생하는 경우",
        "총마진 가이던스가 의미 있게 낮아지거나 가격 압박 신호가 확인되는 경우",
        "재고와 매출채권 증가가 매출 성장보다 빠르고 현금전환이 악화되는 경우",
        "TSMC 생산 차질, 수출통제, 지정학 리스크가 AI 칩 납품 또는 원가에 실질적 타격을 주는 경우",
        "AMD, custom ASIC, hyperscaler 자체 칩이 NVDA의 점유율·마진·가격 결정력을 훼손한다는 증거가 확인되는 경우"
      ],
      "rationale": "Strong existing AI leader hold with constructive fundamentals and defined breakout/pullback triggers, but ranked behind TSM due to stale/degraded execution flag, near-resistance/overbought conditions, and already meaningful portfolio exposure.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2784,
        "score_now": 0.0792,
        "score_triggered": 0.223,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": 11,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_hold_ok",
        "entry_wait_not_actionable",
        "breakout_requires_close_above_resistance",
        "pullback_support_trigger_alternative",
        "overbought_near_resistance",
        "stale_or_degraded_data",
        "risk_lines_defined",
        "strong_existing_hold",
        "defined_entry_triggers",
        "position_concentration_watch"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "priority": 3,
      "confidence": 0.66,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0376,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0376,
      "trigger_conditions": [
        "GLDM 일간 종가가 98.00 위에서 형성되고 거래량 확인이 동반되는지 확인한다.",
        "93.89-95.00 구간으로 되돌림이 나올 때 10일 EMA 부근을 지키는지 확인한다.",
        "96.98-97.85 저항대에서 돌파, 실패, 또는 반복 거절 중 어느 흐름이 나타나는지 추적한다.",
        "92.50 아래 종가 또는 장중 이탈 후 종가 회복 실패가 발생하는지 감시한다.",
        "90.00 이탈 여부를 중기 thesis 훼손 기준으로 감시한다.",
        "금 가격, USD, Treasury yields, real yields, CPI, Fed 발언, 지정학적 뉴스, 금 ETF flow 업데이트를 함께 점검한다.",
        "GLDM이 98.00 위에서 일간 종가를 형성해 50일 SMA 96.98과 볼린저 상단 97.85 저항대를 회복하는 경우.",
        "93.89-95.00 pullback 구간에서 10일 EMA 지지가 확인되고 거래량과 가격 반응이 개선되는 경우.",
        "2026-04-09 일간 ETF 자금 유입 상위 10개 신호 이후 GLDM 및 금 ETF 유입이 지속되는 경우.",
        "실질금리 하락, USD 약세, Fed 금리 인하 기대 강화가 금 수요를 뒷받침하는 경우.",
        "인플레이션, M2 확대 우려, 중앙은행 금 매입, 지정학적 리스크가 안전자산 및 인플레이션 헤지 수요를 유지하는 경우.",
        "100.00 위 돌파와 거래량 확인으로 100.00-102.00 구간을 향한 추세추종 수요가 붙는 경우.",
        "GLDM이 92.50 아래에서 일간 종가를 형성해 최근 반등 실패 가능성이 커지는 경우.",
        "90.00 이탈로 중기 BULLISH 및 OVERWEIGHT 논리가 가격 측면에서 훼손되는 경우.",
        "50일 SMA 96.98과 볼린저 상단 97.85가 겹친 97.00-98.00 구간에서 반복적으로 거절되고 거래량 확인이 없는 경우.",
        "실질금리 또는 USD가 급등해 우호적 금 내러티브에도 GLDM 가격이 압박받는 경우.",
        "2026-04-09 ETF 유입 신호가 일회성으로 끝나고 지속적 유출로 전환되는 경우.",
        "위험자산 선호 회복, 지정학적 긴장 완화, 금리 상승이 동시에 나타나 금 헤지 수요가 약해지는 경우."
      ],
      "rationale": "Useful diversifier versus the AI/semiconductor cluster and existing position can be held, but high fallback count, degraded data, and need for a 98 breakout or 93.89-95 support retest keep it below the top equity holds.",
      "data_health": {
        "coverage_score": 0.72,
        "vendor_calls": {
          "yfinance": 16,
          "alpha_vantage": 4
        },
        "fallback_count": 3,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.318,
        "score_now": 0.0533,
        "score_triggered": 0.1583,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.318,
      "capital_reallocation_rank": 1,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "resistance_cluster_overhead",
        "support_retest_alternative",
        "held_position_can_hold",
        "stale_or_degraded_data",
        "risk_levels_defined",
        "portfolio_diversifier",
        "high_fallback_count",
        "manual_review_required"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "priority": 4,
      "confidence": 0.62,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "강세 진입 조건: ORCL이 170.64와 172.56 위에서 종가 마감하고 거래량이 최근 평균 이상으로 유지된다.",
        "선호 진입 조건: ORCL이 156.84 또는 150.54 부근으로 조정된 뒤 낮은 거래량으로 지지되고 RSI가 대략 60 이상을 유지한다.",
        "위험 조건: ORCL이 150 또는 VWMA 152.21 아래로 종가 이탈하고 매도 거래량이 확대된다.",
        "기본 조건: 다음 회사 업데이트에서 CAPEX, 자유현금흐름 회복 시점, 클라우드 성장률, 이자비용에 대한 더 명확한 가이던스가 나온다.",
        "심리 조건: AWS, Bloom Energy, 주요 기업 AI·클라우드 고객 수주 관련 후속 뉴스가 이어지거나 반대로 평판·인력·거버넌스 악재가 확대된다.",
        "AWS 멀티클라우드 네트워킹 확장은 Oracle Database와 OCI의 기업 접근성을 높여 백로그 전환 가능성을 강화한다.",
        "보고된 $553B 백로그와 AI 인프라 수요는 중기 클라우드 매출 재평가의 핵심 근거다.",
        "Bloom Energy와의 데이터센터 전력 협력은 인프라 병목 완화 가능성을 제공한다.",
        "최근 분기 매출 $17.19B와 정상화 EBITDA $8.393B 개선은 단순 테마주가 아니라 수익성 있는 핵심 사업 기반이 있음을 보여준다.",
        "고거래량 반등, VWMA 152.21 상회, MACD 2.98 전환은 단기 하락 모멘텀이 끊겼다는 기술적 증거다.",
        "ORCL이 150 아래로 종가 마감하고 150.54 50일 SMA를 빠르게 회복하지 못한다.",
        "$553B 백로그가 클라우드 매출 성장, 마진 유지, 자유현금흐름 회복으로 연결되지 않는다.",
        "TTM 자유현금흐름 약 -$22.3B와 분기 자유현금흐름 약 -$11.48B가 개선되지 않는 가운데 부채·리스·이자비용이 더 빠르게 증가한다.",
        "$38B 데이터센터 금융 패키지, 신용 스프레드, 조달 수요가 주가에 부정적 헤드라인으로 작용한다.",
        "AI 인프라 수요 둔화 또는 AWS·Microsoft·Google 등 하이퍼스케일러 경쟁으로 가격과 마진 압박이 커진다."
      ],
      "rationale": "Constructive AI infrastructure and multicloud thesis with better trigger quality than NET, but it is a non-held watch candidate with negative immediate score, cash-flow/debt concerns, and explicit need for breakout or pullback confirmation.",
      "data_health": {
        "coverage_score": 0.82,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.084,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "funding_source_score": 0.0,
        "score_now": -0.0465,
        "score_triggered": 0.119,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 19,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.36,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "setup_developing",
        "overbought_near_resistance",
        "explicit_breakout_trigger_required",
        "pullback_support_confirmation_required",
        "fcf_and_debt_risk",
        "stale_or_degraded_data",
        "watch_only_not_held",
        "constructive_but_unconfirmed",
        "cash_buffer_limits_new_buys"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "priority": 5,
      "confidence": 0.64,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "NET이 확대되지만 질서 있는 거래량으로 195 위에서 마감한다.",
        "NET이 VWMA 약 192.59 위를 여러 거래일 유지한다.",
        "MACD 히스토그램이 0에 접근하거나 상회하고 RSI가 60 위로 확장되되 가격 거절이 나타나지 않는다.",
        "NET이 202-204를 회복한 뒤 해당 구간을 지지로 재시험한다.",
        "4월 9-10일 매도 거래량 이후 상승일 거래량이 하락일 거래량을 지속적으로 앞선다.",
        "다음 실적에서 자유현금흐름 지속성, 영업 레버리지, 희석 완화가 확인된다.",
        "NET이 195 위에서 일봉 종가를 형성해 50일선 194.49와 10일 EMA 194.93 저항군을 회복한다.",
        "NET이 202-204 위에서 일봉 종가를 형성해 200일선 202.04와 볼린저 중심선 203.77을 회복하고, 이후 그 구간을 지지로 확인한다.",
        "다음 실적에서 매출 성장 지속, 영업손실 축소, 양의 자유현금흐름, AI 및 보안 수요의 매출 전환이 확인된다.",
        "Baird $260 및 TD Cowen $265 같은 우호적 목표가가 유지되고, 상향 추정치 조정이 동반된다.",
        "고성장 소프트웨어, 사이버보안, AI 인프라 종목에 대한 시장 위험선호가 유지된다.",
        "NET이 184 아래에서 일봉 종가를 형성해 반등 구조가 실패한다.",
        "NET이 166.99를 이탈해 고변동성 하락 국면 재개를 시사한다.",
        "매출 성장 둔화 또는 약한 가이던스가 프리미엄 밸류에이션을 훼손한다.",
        "자유현금흐름이 악화되거나 주식보상비용 및 주식 수 증가가 영업 레버리지 없이 확대된다.",
        "주요 임원과 이사들의 반복적 대규모 매도가 가격이 핵심 이동평균 아래에 머무는 동안 심리적 부담을 키운다.",
        "금리 상승, 인플레이션 압력, Nasdaq 위험회피로 고성장 소프트웨어 멀티플 압축이 심화된다."
      ],
      "rationale": "Constructive growth thesis remains possible, but it is the lowest priority because it is non-held, below key moving averages, affected by overhead supply from heavy sell volume, carries high valuation/volatility risk, and has weaker trigger quality than ORCL.",
      "data_health": {
        "coverage_score": 0.82,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0488,
        "score_triggered": 0.1148,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 20,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_thesis_waiting_for_confirmation",
        "daily_close_trigger_required",
        "below_key_moving_averages",
        "overhead_supply_from_heavy_sell_volume",
        "starter_only_after_breakout",
        "higher_quality_entry_requires_support_retest",
        "stale_or_degraded_execution_data",
        "watch_only_not_held",
        "high_valuation_and_volatility_risk",
        "lower_trigger_quality",
        "cash_buffer_limits_new_buys"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "priority": 6,
      "confidence": 0.66,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0524,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0524,
      "trigger_conditions": [
        "거래량을 동반한 AAPL의 266.43 위 일간 종가와 이후 해당 가격대 지지 확인",
        "RSI가 60을 회복 또는 유지하고 MACD가 양수를 유지하며 히스토그램 둔화가 제한적인 경우",
        "260-262로 질서 있는 눌림이 발생하고 10일 EMA 259.93 및 50일 SMA 260.68 부근에서 종가 지지가 확인되는 경우",
        "272 위 안착으로 이전 매물대와 prior congestion을 넘어서는 follow-through가 확인되는 경우",
        "2026-04-30 실적 이후 guidance, iPhone demand, services growth, AI roadmap, buyback commentary가 프리미엄 밸류에이션을 지지하는 경우",
        "256 아래 종가 이탈, 260-262 지지 실패, 또는 실적 후 갭다운이 발생해 setup_quality를 WEAK로 낮춰야 하는 경우",
        "2026-04-30 실적에서 revenue, EPS, services growth, iPhone demand, margins, buyback commentary가 기대를 상회할 가능성",
        "BofAS 목표가 325 상향과 평균 목표가 301.37이 시사하는 중기 상방 여지",
        "MACD 1.30 플러스 전환, 가격의 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 회복, RSI 57.86의 비과열 모멘텀",
        "최근 분기 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion에 기반한 EPS 및 주주환원 지원",
        "TSMC 58% 이익 증가, 첨단 칩 수요, WWDC, Siri 개선, Gemini AI 통합 가능성, foldable iPhone optionality가 만드는 AI·프리미엄 기기 사이클 기대",
        "AAPL이 256 아래로 일간 종가 이탈해 VWMA 지지와 반등 품질을 훼손하는 경우",
        "200일 SMA 부근 251.51을 결정적으로 이탈해 중기 추세 기반이 약화되는 경우",
        "260-262 지지 확인 실패가 반복되거나 266.43 돌파 실패 후 거래량을 동반해 되밀리는 경우",
        "2026-04-30 실적 또는 가이던스에서 iPhone demand, services growth, margins, AI roadmap, capital return 기대를 충족하지 못하는 경우",
        "AI 기능 지연, 수익화 부족, Gemini 통합 또는 Siri 개선 기대 약화로 프리미엄 밸류에이션 방어 논리가 약해지는 경우",
        "지정학 또는 공급망 스트레스가 반도체 비용, 핵심 화학·가스 공급, 생산 일정에 부담을 주는 경우",
        "고밸류에이션 구간에서 내부자 계획 매도와 기관 수급 혼재가 투자심리를 추가로 약화시키는 경우"
      ],
      "rationale": "AAPL thesis is constructive for an existing holding, supported by reclaimed moving averages, positive MACD, non-overbought RSI, strong cash flow, margins, and buybacks. Timing is not yet actionable because price is pressing the 266.43-272 resistance zone after a sharp rebound and earnings gap risk remains before 2026-04-30. Add only after a volume-backed close above 266.43 with RSI/MACD confirmation or a controlled pullback holding 260-262; otherwise maintain current exposure.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.28,
        "score_now": 0.0785,
        "score_triggered": 0.2211,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.28,
      "capital_reallocation_rank": 10,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "near_resistance_zone",
        "earnings_gap_risk",
        "support_hold_required",
        "held_position_can_hold",
        "premium_valuation_risk",
        "limited_data_quality_flag"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "priority": 7,
      "confidence": 0.69,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.2438,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.2438,
      "trigger_conditions": [
        "조건부 starter: GOOGL이 337.48을 종가로 돌파하고 거래량이 25M 이상, 신뢰도 개선은 30M 이상일 때.",
        "돌파 후 확인: 342.05 위에서 유지되거나 337.48-330.90 구간 재시험이 성공하면 추가 tranche 검토.",
        "선호 손익비 진입: 323.75-317.19 구간으로 통제된 되돌림이 나오고 지지와 higher low가 확인될 때 starter 검토.",
        "위험 축소: 337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈할 때.",
        "중기 하향 재검토: 307.67의 50일 SMA를 이탈할 때.",
        "실적 확인: 검색 성장, Google Cloud 가속, margin resilience, 자유현금흐름 안정성, AI capex 효율이 동시에 확인될 때 정상 비중 확대 검토.",
        "뉴스 재평가: DOJ, EU, Chrome, 검색 유통, DMA, 광고 경제성 관련 헤드라인이 예상보다 더 악화되거나 완화될 때.",
        "337.48 종가 돌파와 25M 이상, 가능하면 30M에 가까운 거래량이 확인되면 상승 참여 신뢰도가 높아진다.",
        "GOOGL은 10일 EMA 317.19, 50일 SMA 307.67, 200일 SMA 270.60을 모두 상회하고 MACD가 양수로 전환돼 추세 회복 근거가 있다.",
        "Gemini macOS 앱, 정부 또는 방위 배포 논의, Google Cloud AI 통합 기대가 AI 재평가 서사를 지지한다.",
        "Cadence-Google 칩 설계 협업과 자체 AI 인프라 진전은 장기 선택 가치를 높인다.",
        "순이익률 32.8%, 영업이익률 31.6%, ROE 35.7%, 현금 및 단기투자 1,268억 달러는 높은 품질과 투자 여력을 뒷받침한다.",
        "최근 분기 매출이 902억 달러, 964억 달러, 1,023억 달러, 1,138억 달러로 순차 증가했다는 공격적 분석가의 근거는 성장 지속성을 지지한다.",
        "317.19 아래 종가 이탈 후 10일 EMA를 빠르게 회복하지 못하는 경우.",
        "307.67 아래 이탈로 50일 SMA와 중기 회복 구조가 훼손되는 경우.",
        "337.48 돌파 실패 후 323.75를 상승 거래량으로 이탈하는 경우.",
        "실적 또는 가이던스에서 검색, Google Cloud, AI monetization, 영업이익률, 자유현금흐름 중 핵심 항목이 기대를 충족하지 못하는 경우.",
        "AI capex가 2025-12-31 분기 -278.51억 달러 수준으로 확대된 부담을 매출 가속이나 margin leverage가 상쇄하지 못하는 경우.",
        "DOJ의 Chrome 관련 요구 또는 EU DMA 압박이 검색 유통, 데이터 접근, 광고 경제성에 예상보다 큰 구조적 영향을 주는 경우.",
        "OpenAI 또는 다른 AI 검색 경쟁자가 광고 예산과 사용자 검색 습관에서 신뢰할 만한 침투를 보이는 경우."
      ],
      "rationale": "GOOGL has a constructive medium-term overweight thesis supported by recovered trend, positive MACD, strong fundamentals, AI/cloud catalysts, and existing core-holder suitability. Timing is not actionable now because the decision explicitly says WAIT, setup is developing, price is extended with overbought RSI and elevated ATR, same-day intraday confirmation is missing, and adds require either a volume-confirmed close above 337.48 or a controlled pullback holding 323.75-317.19 with higher-low confirmation.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.282,
        "score_now": 0.0755,
        "score_triggered": 0.2137,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.282,
      "capital_reallocation_rank": 9,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "developing_setup",
        "volume_confirmed_breakout_required",
        "pullback_support_alternative",
        "stale_or_degraded_timing_data",
        "overbought_and_extended_price",
        "event_and_regulatory_risk"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "priority": 8,
      "confidence": 0.67,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0219,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0219,
      "trigger_conditions": [
        "VXUS가 81.0~81.5에서 지지를 확인하고 장중 매수 반응을 보이는지 점검",
        "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하는지 확인",
        "50일선 79.8 방어 또는 일시 이탈 후 빠른 회복 여부 확인",
        "ATR 1.3766 대비 변동성이 축소되어 진입 위험보상이 개선되는지 관찰",
        "달러 지수 방향, 국제 주식의 미국 주식 대비 상대 성과, 유럽·일본·신흥국 이익 전망 변화를 함께 추적",
        "VXUS가 82.90을 평균 이상 거래량과 종가 기준으로 돌파하면 84.11~84.28 고점권 재시험 가능성 확대",
        "2026-04-15 종가 82.65가 10일선, 50일선, 200일선을 모두 상회하는 추세 회복 유지",
        "MACD가 2026-04-09 이후 양수권을 유지하며 중기 모멘텀 개선 지속",
        "약달러와 미국 주식 집중 완화로 국제 주식 상대 선호가 이어질 가능성",
        "Dividend Yield 2.99와 PE Ratio 17.907825가 미국 대형 성장주 집중 노출 대비 총수익 및 밸류에이션 완충 요인으로 작동",
        "79.8 부근 50일선 이탈 후 빠른 회복 실패",
        "79.5 아래 종가 이탈로 구조적 방어선 훼손",
        "80.9 부근 10일선 이탈과 MACD 상승 둔화 동반",
        "달러 강세 재개로 USD 기준 국제 주식 수익률 압박",
        "84.11~84.28 저항권에서 거래량 없이 반복 실패하거나 RSI 70 이상 과열 신호 발생"
      ],
      "rationale": "VXUS has a constructive medium-term overweight thesis supported by price above key moving averages, positive MACD, international diversification demand, weak-dollar tailwinds, and dividend support. However, the action is explicitly WAIT/HOLD because price is near the 82.90 breakout level and 84.11-84.28 resistance after a sharp rebound, so timing requires either support confirmation near 81.0-81.5 or a volume-confirmed close above 82.90 before adding.",
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 14,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2968,
        "score_now": 0.0698,
        "score_triggered": 0.1995,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2968,
      "capital_reallocation_rank": 4,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_not_confirmed",
        "near_resistance_after_rebound",
        "support_retest_needed",
        "elevated_volatility",
        "held_position_hold_now",
        "limited_data_coverage"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "priority": 9,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0392,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0392,
      "trigger_conditions": [
        "312.46 위 일간 종가와 최근 4월 대비 명확히 높은 거래량",
        "296.64-288.22 지지 구간에서 매도 압력 둔화 후 상승 반전",
        "RSI가 55-65 구간에서 안정되고 MACD가 양수를 유지",
        "실적 이후 가격이 300 위를 유지하고 forward estimates가 상향",
        "296.64 이탈 후 288.22 이탈로 pullback 리스크 확대",
        "272.84 VWMA 실패 여부와 50일 평균 254.47 접근 여부",
        "다음 보고서의 매출채권, 재고, goodwill, 현금 전환, BMarko 통합 비용 추이",
        "실적과 가이던스가 AI 데이터센터 수요, 백로그 증가, 마진 확대, 잉여현금흐름 전환을 기대 이상으로 확인",
        "하이퍼스케일러와 AI 인프라 설비투자 확대가 전력·냉각·모듈형 배치 수요를 지속적으로 지지",
        "BMarko Structures 통합이 모듈형 데이터센터 구축 속도와 실행 역량을 개선",
        "Barclays 목표가 300 및 Evercore의 긍정적 시각처럼 추가 애널리스트 상향이나 추정치 개선 발생",
        "312.46 위 일간 종가와 최근 4월 대비 뚜렷하게 강한 거래량을 동반한 기술적 돌파",
        "프리미엄 밸류에이션에도 실적 또는 가이던스가 기대에 부합하는 수준에 그치거나 하회",
        "데이터센터 주문, 백로그 성장, AI 인프라 설비투자 관련 경영진 코멘트가 둔화",
        "매출채권 또는 재고 증가로 잉여현금흐름 전환이 약화",
        "BMarko 통합 비용, 마진 희석, goodwill·무형자산 손상 우려가 확대",
        "288.22 아래 일간 종가 이후 272.84까지 실패해 추세 후원이 약화",
        "금리·인플레이션 압력 또는 위험회피 장세가 고성장 AI 인프라 종목의 멀티플 압축을 유발",
        "2월 말부터 3월 초까지의 대규모 내부자 매도 신호가 약한 가격 흐름이나 추정치 하향과 결합"
      ],
      "rationale": "VRT has a constructive medium-term AI infrastructure thesis and existing holders can maintain exposure, but the action table explicitly says WAIT for new/additional buying until confirmation. Timing is not ready because the setup is developing, price is extended, momentum has cooled, volatility and earnings/event risk are elevated, and add triggers require either a daily close above 312.46 with stronger volume or a confirmed reversal from the 296.64-288.22 support zone.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.66,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.284,
        "score_now": 0.0698,
        "score_triggered": 0.1995,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.284,
      "capital_reallocation_rank": 8,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "confirmation_required",
        "specific_breakout_level_defined",
        "support_reversal_alternative",
        "extended_price_and_high_volatility",
        "earnings_event_risk",
        "premium_valuation_risk",
        "limited_data_coverage"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "priority": 10,
      "confidence": 0.67,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.026,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.026,
      "trigger_conditions": [
        "$387-$390 지지 확인과 RSI 60 이상 안정",
        "$407.83 이상 거래량 동반 종가 돌파 및 $400 위 유지",
        "MACD 히스토그램 둔화 중단 또는 재상승",
        "Q1 코멘터리에서 백로그, 가격 결정력, 데이터센터 및 전력망 수요 지속성이 확인되는 경우",
        "$382-$385 아래 종가 또는 상승장에서도 S&P 500 대비 상대 약세가 이어지는 경우",
        "Q1 2026 EPS가 $2.75 기대치를 웃돌고 가이던스가 프리미엄 밸류에이션을 정당화하는 경우",
        "데이터센터, 전력망, 스위치기어 주문이 실제 매출 성장으로 전환되고 있다는 증거",
        "운영비, 노동, 공급망 압박에도 마진이 약 19%대에서 유지되는 흐름",
        "$407.83 이상 거래량 동반 종가 돌파와 $400 위 유지",
        "Citigroup $464, Jefferies $460, RBC $457 이후 추가 목표가 또는 추정치 상향",
        "$369.65 부근 50일 SMA 아래 종가로 중기 상승 추세가 훼손되는 경우",
        "Q1 실적 또는 가이던스에서 주문 둔화, 데이터센터 수요 약화, 마진 압박이 확인되는 경우",
        "$400 회복 실패 후 $382-$385 지지가 이탈되는 경우",
        "EPS 성장률이 낮은 한 자릿수에 머무는 가운데 PER 37.2배 수준의 밸류에이션 압축이 발생하는 경우",
        "생산 확대, Nebraska 스위치기어 시설, 공급망, 노동비 관련 실행 문제나 비용 초과가 드러나는 경우"
      ],
      "rationale": "ETN has a constructive medium-term overweight thesis supported by trend position above key moving averages, solid fundamentals, AI/data-center/grid demand, and analyst target upgrades, but the action is not ready now. The plan explicitly says WAIT/HOLD: add only after confirmation via $387-$390 support stabilization or a volume-backed close above $407.83 with sustained trade above $400, with earnings and guidance as additional confirmation catalysts.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.108,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "funding_source_score": 0.2872,
        "score_now": 0.067,
        "score_triggered": 0.1924,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2872,
      "capital_reallocation_rank": 7,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.36,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "support_confirmation_required",
        "momentum_decelerating",
        "stale_intraday_data",
        "elevated_valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "priority": 11,
      "confidence": 0.63,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0257,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0257,
      "trigger_conditions": [
        "TSLA가 398.37 위에서 일간 종가를 만들고 거래량이 유지되는지 확인",
        "400 위 후속 거래와 숏커버링·모멘텀 매수 지속 여부 확인",
        "되돌림 시 390.43 부근을 지키고 부정적 회사 뉴스가 없는지 확인",
        "368.27 부근 이탈 여부를 반등 실패 경고로 감시",
        "다음 인도량, 마진, 잉여현금흐름 업데이트가 기대 대비 개선되는지 확인",
        "FSD, 로보택시, AI 칩, Optimus, 에너지 저장 관련 규제·상업화 이정표 확인",
        "TSLL 콜 비중 78.56%, 거래량 252.24K 계약, 미결제약정 850.08K 계약처럼 치우친 옵션 수급이 돌파 시 추격 매수로 작동하는지 또는 실패 시 되돌림 압력으로 바뀌는지 감시",
        "398.37의 200일선 위 일간 종가와 거래량 유지",
        "400 위 후속 흐름으로 저항 돌파가 확인되는 경우",
        "AI5, AI6, Dojo3, Optimus, FSD, 로보택시 관련 상용화 신뢰도를 높이는 구체적 진전",
        "인도량, 마진, 잉여현금흐름, 유기적 차량 수요가 기대보다 개선되는 경우",
        "현금 및 단기투자 440.59억 달러, 유동비율 2.164, 양의 영업현금흐름이 장기 투자 여력을 뒷받침한다는 인식 강화",
        "UBS 업그레이드 이후 추가 목표가 상향이나 애널리스트 시각 개선",
        "Nasdaq과 AI·성장주 위험선호가 유지되는 거시 환경",
        "398.37과 400 돌파 실패 후 390.43의 50일선 아래 종가 이탈",
        "368.27 부근의 10일 EMA/VWMA 구간 이탈로 단기 반등 실패가 확인되는 경우",
        "분기 매출, 순이익, 잉여현금흐름, 마진의 추가 악화",
        "Cybertruck 또는 broader vehicle demand가 비유기적·관계사 수요에 의존한다는 증거 확대",
        "Waymo 등 자율주행 경쟁사가 상용화 격차를 더 벌리고 TSLA 일정이 지연되는 경우",
        "희석, 주식보상비용, 내부자 매도 부담이 주당 가치에 계속 압력을 주는 경우",
        "고평가 성장주 전반의 멀티플 압축과 Nasdaq 조정"
      ],
      "rationale": "TSLA has a constructive but not yet actionable bullish hold setup. The thesis is supported by a high-volume rebound, recovery near the 50-day SMA, improving MACD, RSI around the mid-50s, balance-sheet strength, and AI/autonomy optionality, but timing remains incomplete because price is still below the 200-day SMA near 398.37 and has not confirmed follow-through above 400. Existing holders can maintain reduced core exposure, while new adds require a confirmed daily close above resistance with volume or a controlled pullback that proves support near 390.43.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2892,
        "score_now": 0.0639,
        "score_triggered": 0.1848,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2892,
      "capital_reallocation_rank": 5,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_hold_thesis",
        "entry_wait_not_actionable_now",
        "breakout_level_defined",
        "needs_volume_confirmation",
        "below_200_day_sma",
        "support_retest_alternative",
        "high_volatility_requires_small_sizing",
        "fundamental_quality_mixed",
        "valuation_risk_elevated"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "priority": 12,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0235,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0235,
      "trigger_conditions": [
        "365 위 일간 종가와 20일 평균 이상 거래량으로 박스권 돌파가 확인되는 경우.",
        "358-362 회복과 거래량 개선, MACD 0 상회가 동시에 나타나는 경우.",
        "353-355 지지 재시험 성공 및 VWMA 352.97, 50일 SMA 354.64 위 유지.",
        "353 아래 종가 발생 시 근접 지지 실패 경고로 신규 매수 중단 및 전술 리스크 점검.",
        "340 아래 종가 발생 시 regime-change 신호로 방어적 감축 또는 청산 검토.",
        "다음 실적에서 영업마진이 최근 약 6.66% 수준에서 회복되고 자유현금흐름이 반복 가능하다는 증거가 나오는 경우.",
        "365 돌파 후 358-365 구간 재시험을 성공적으로 버티는 경우 추가 배분 검토.",
        "Virginia solid rocket motor capacity expansion과 연결된 $1.27 billion 투자 및 보고된 $1 billion 미국 정부 지원 약속.",
        "Aerojet Rocketdyne 통합을 통한 missile propulsion 병목 완화와 방산 공급망 내 전략적 가치 상승.",
        "U.S. Army binocular night observation device 프로그램의 최대 $465 million, 7년 잠재 가치.",
        "missile replenishment, hypersonics, space tracking, electronic warfare, defense budget 관련 뉴스 흐름.",
        "최근 약화된 6.66% 영업마진의 정상화, 반복 가능한 자유현금흐름, 순부채 감소, 배당 및 자사주 매입 지속.",
        "MACD가 0 위에 머무르고 353-355 지지가 유지되는 가운데 365 위 거래량 동반 돌파가 발생하는 기술적 확인.",
        "340 아래 일간 종가로 하단 박스권 및 Bollinger 지지 구간이 붕괴되는 경우.",
        "353-355 지지 이탈 후 VWMA 352.97 및 50일 SMA 354.64 부근을 빠르게 회복하지 못하는 경우.",
        "다음 실적에서 6.66% 수준의 영업마진 부진이 지속되고 비용 정상화 신뢰도가 낮아지는 경우.",
        "2025-12-31 분기의 $1.804 billion 자유현금흐름이 반복 가능하지 않고 주로 $1.201 billion 운전자본 효과였다는 점이 확인되는 경우.",
        "Virginia rocket motor 증설에서 비용 초과, 일정 지연, 마진 희석 또는 정부 예산 의존 위험이 커지는 경우.",
        "고점 부근 내부자 매도가 계속되는데 실적 개선이나 기관 매집 신호가 이를 상쇄하지 못하는 경우."
      ],
      "rationale": "LHX has a constructive medium-term thesis supported by defense demand, rocket-motor capacity investment, Aerojet integration, and identifiable program catalysts, but the current setup is still unconfirmed. Price remains trapped in the 353-365 range near key moving averages with neutral RSI and only modest MACD support, so the table supports holding existing exposure and waiting for a volume-backed breakout above 365 or a confirmed 353-355 support retest before adding.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.2888,
        "score_now": 0.0638,
        "score_triggered": 0.1844,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.2888,
      "capital_reallocation_rank": 6,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_bound_price_action",
        "breakout_not_confirmed",
        "support_retest_needed",
        "volume_confirmation_required",
        "stale_or_degraded_data",
        "existing_holder_hold_not_add"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "priority": 13,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0133,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0133,
      "trigger_conditions": [
        "지지 매수 조건: 197.50-198.00으로 되돌림 후 해당 구간을 지키고 장중 시장 폭이 개선될 때.",
        "돌파 조건: 200.20 위 종가와 거래량 확대, 이후 201.88 위 안착이 확인될 때.",
        "위험 조건: 196.00 아래 종가 이탈, 특히 195.00 아래 이탈.",
        "상대강도 조건: RSP/SPY 또는 RSP/VOO 상대강도가 여러 거래일 동안 개선될 때.",
        "거시 조건: Treasury 금리, Fed 기대, 인플레이션 지표가 광범위한 주식 참여에 우호적으로 유지될 때.",
        "대형 기술주와 AI 중심 리더십을 넘어 시장 폭이 지속적으로 확장되는 흐름.",
        "RSP가 200.20 위에서 종가 확인 후 거래량 확대와 함께 201.88 위에 안착하는 돌파.",
        "RSP가 SPY 또는 VOO 대비 여러 거래일 동안 상대강도 개선을 이어가는 흐름.",
        "equal-weight 및 분산투자형 ETF로의 자금 유입 지속, 예를 들어 2026-03-27 보고된 305 million USD 유입 같은 수급 신호.",
        "금융, 산업재, 헬스케어, 경기소비재 등에서 미국 기업 이익 폭이 넓어지는 환경.",
        "197.50 아래 종가 이탈로 10일 EMA와 50일 SMA 부근 지지 클러스터가 저항으로 바뀌는 경우.",
        "195.00 아래 이탈로 4월 반등 모멘텀 실패가 확인되는 경우.",
        "상승 중인 200일 SMA 190.22 상실.",
        "대형 기술주 중심의 좁은 리더십이 재개되어 RSP가 SPY 또는 VOO 대비 재차 뒤처지는 경우.",
        "금리 또는 인플레이션 압력이 평균 S&P 500 구성종목에 대형 현금창출 기술주보다 더 큰 부담을 주는 경우."
      ],
      "rationale": "RSP has a constructive medium-term allocation thesis: price is above key moving averages, momentum has improved, and broader market breadth could support equal-weight exposure. However, the setup is still developing because price is near the 200.00-201.88 resistance zone and the plan explicitly says to wait for either a successful 197.50-198.00 support retest or a confirmed close above 200.20 with volume and acceptance above 201.88 before adding. Current action is hold, not immediate add.",
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.7,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3012,
        "score_now": 0.0625,
        "score_triggered": 0.1813,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.3012,
      "capital_reallocation_rank": 3,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "support_retest_alternative_trigger",
        "near_resistance_failed_breakout_risk",
        "held_position_hold_ok",
        "stale_or_degraded_execution_data"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "priority": 14,
      "confidence": 0.61,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0073,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0073,
      "trigger_conditions": [
        "ETHU 일간 종가가 29.5-30.0 위에서 형성되고 거래량이 2026-04-15의 4,920,400주를 상회",
        "돌파 후 30 부근을 지지하며 재상승",
        "25.3 부근 눌림에서 지지 확인 후 거래량 개선",
        "ETH-USD가 ETHU 돌파와 동시에 회복세를 유지",
        "MACD가 0선 위에서 양의 histogram을 유지",
        "RSI가 70을 급격히 넘지 않고 상승 여지를 보존",
        "신규 fund-flow 보고서에서 ETHU 추가 유입 확인",
        "ETHU가 23.0 아래로 종가 이탈하면 stance 하향 검토",
        "ETHU가 29.5-30.0 위에서 2026-04-15 거래량 4,920,400주를 뚜렷하게 웃도는 거래량으로 종가 돌파",
        "2026-04-10 348만 달러 및 2026-04-13 740만 달러 이상 유입 이후 추가 ETHU 유입 확인",
        "ETH-USD 기술적 회복이 단순 short-covering bounce를 넘어 연장",
        "미국 위험자산과 기술·성장주 심리 개선이 crypto beta 수요를 지지",
        "MACD가 0선 위에서 유지되고 RSI가 과열 없이 상승 지속",
        "ETHU가 25.3 부근을 종가로 이탈해 단기 모멘텀을 상실",
        "ETHU가 23.7-23.0 지지권을 종가로 이탈해 VWMA와 50일 SMA 회복 구조를 훼손",
        "29.5-30.0 돌파 시도가 거래량 없이 빠르게 실패",
        "3월 말 1,475만 달러 또는 4월 초 840만 달러 유출과 유사한 대규모 자금 이탈 재개",
        "ETH-USD 급반전, 규제·유동성 충격, 또는 위험자산 선호 약화",
        "뉴스 기반 심리 개선이 재차 악화되고 전용 사회 데이터 부재로 투자 근거가 약화"
      ],
      "rationale": "ETHU has a constructive short-term rebound thesis and existing held exposure can be maintained, but timing is not yet actionable for adding. The key confirmation is a daily close above 29.5-30.0 on volume clearly above the 2026-04-15 level, or a controlled pullback that holds near 25.3 with improving ETH-USD and volume. Until then this remains a wait-for-confirmation setup, especially given leveraged-product risk and stale/incomplete intraday data.",
      "data_health": {
        "coverage_score": 0.8,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 4
        },
        "fallback_count": 2,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3096,
        "score_now": 0.0536,
        "score_triggered": 0.159,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.3096,
      "capital_reallocation_rank": 2,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_momentum_above_key_averages",
        "breakout_not_confirmed",
        "entry_action_wait",
        "held_position_hold_only",
        "volume_confirmation_required",
        "leveraged_etf_risk",
        "stale_intraday_data",
        "explicit_invalidation_levels"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "priority": 15,
      "confidence": 0.68,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "273.50 위 강한 거래량 종가와 함께 모멘텀이 양호하고 과열이 무질서하게 확대되지 않는 흐름",
        "253-258 구간 조정에서 매도 거래량이 줄고 10일 지수이동평균 부근을 지키는 안정화",
        "실적 발표 후 중국 노출이 관리 가능하고 인공지능 및 메모리 장비 수요가 강하다는 확인",
        "상대강도지수가 조정 중 60 위를 유지하면 긍정적이며, 55 아래로 내려가면 경계",
        "253.46 아래 고거래량 하락일은 최근 분배가 추세 훼손으로 번지는 신호",
        "2026-04-22 Q3 2026 실적과 인공지능, 고대역폭 메모리, 메모리 회복, 선단 공정 장비 수요에 대한 강한 가이던스",
        "미국 수출통제가 중국 장비, 서비스, 유지보수, 설치 기반 매출에 미치는 영향이 제한적이라는 경영진 설명",
        "273.50 위 거래량 동반 종가 돌파와 양호한 모멘텀 유지",
        "TSMC 등 인공지능 반도체 공급망 선도 고객의 강한 설비투자 신호 지속",
        "분석가 목표가 상향 또는 기관 매집으로 높은 이익 기대가 검증되는 흐름",
        "Q3 가이던스가 프리미엄 밸류에이션과 맞지 않는 고객 설비투자 둔화, 주문 지연, 마진 압박을 시사",
        "미국 수출통제 업데이트가 중국 장비, 서비스, 유지보수, 설치 기반 매출을 중대하게 제한",
        "LRCX가 50일 단순이동평균 230.49 아래로 종가 이탈해 중기 추세가 훼손",
        "잉여현금흐름 전환이 더 약해지는 가운데 자사주 매입과 배당이 잉여현금흐름을 계속 초과",
        "수요나 이익 상향 증거 없이 최고경영자, 최고재무책임자, 이사 매도가 더 확대"
      ],
      "rationale": "LRCX has a constructive medium-term bullish thesis supported by strong trend structure and AI/HBM/memory equipment demand, but the current action is wait/watch rather than immediate entry. Timing is incomplete because price is extended near 273.50 resistance, confirmation requires either a volume-backed breakout, a supported pullback into 253-258, or post-earnings/export-control clarity.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0,
        "score_now": -0.0275,
        "score_triggered": 0.2061,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 7,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_pullback_confirmation_needed",
        "earnings_event_risk_pending",
        "export_control_uncertainty",
        "extended_near_resistance",
        "stale_or_degraded_data",
        "partial_sizing_only"
      ],
      "review_required": false,
      "trigger_type": "watch_only",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "priority": 16,
      "confidence": 0.72,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "426 부근 지지 확인, 거래량 안정, RSI 55 이상 유지",
        "465.78 및 471.14를 거래량으로 돌파하는지 여부",
        "돌파 후 465가 저항이 아니라 지지로 전환되는 재시험 성공 여부",
        "405 아래 종가 발생 시 377 및 356 하방 위험 재평가",
        "다음 실적의 HBM 수요, DRAM/NAND 가격, 매출총이익률, 설비투자, 자유현금흐름, 매출채권 회수 추세",
        "2026-04-10 Sumit Sadana 24,000주 매도, 2026-04-09 Michael Cordano 매도, 2026-04-01 April Arnzen 매도 이후 추가 내부자 매도 집중 여부",
        "AI 서버 수요가 HBM과 고급 DRAM 부족을 지속시키는 경우",
        "2027년까지의 장기 물량 배정 또는 capacity visibility 보도가 추가로 확인되는 경우",
        "DRAM/NAND 가격 강세와 고부가 제품 믹스가 매출총이익률 및 영업이익률을 방어하는 경우",
        "다음 실적에서 높은 마진, 자유현금흐름 5.516B 수준의 개선, 매출채권 회수 품질이 확인되는 경우",
        "465.78 및 471.14 상단을 거래량으로 돌파하고 465가 지지로 전환되는 경우",
        "Nasdaq 및 AI 반도체 위험선호가 유지되어 베타 1.606이 상승 방향으로 작동하는 경우",
        "405 아래 일간 종가로 50일선 방어와 중기 상승 전환이 훼손되는 경우",
        "426 지지 이탈과 RSI 50 하회가 동시에 발생해 반등이 단순 과매도 해소로 확인되는 경우",
        "HBM, DRAM, NAND 가격, AI 서버 수요, 고객 주문에 대한 가이던스가 약화되는 경우",
        "매출채권이 15.389B로 급증한 배경이 매출 성장보다 회수 지연 또는 매출 품질 문제로 드러나는 경우",
        "수출통제, 중국 수요, 반도체 공급망 정책 리스크가 MU 수요나 업종 밸류에이션을 훼손하는 경우",
        "고베타 AI 반도체 전반의 위험회피 전환으로 MU가 426 아래에서 빠르게 약해지는 경우"
      ],
      "rationale": "MU has a constructive medium-term overweight thesis supported by AI server memory demand, HBM/high-end DRAM strength, improving trend indicators, strong reported profitability and cash flow, and net cash-like balance sheet support. Timing is not ready for immediate entry because price is extended near resistance after a sharp rebound, volatility is high, and the plan explicitly requires either confirmed 426 support with RSI/volume stability or a volume breakout above 465.78-471.14 followed by a successful 465 support retest.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0302,
        "score_triggered": 0.1995,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 5,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "breakout_or_support_confirmation_needed",
        "extended_near_resistance",
        "high_volatility_position_sizing",
        "stale_or_degraded_data",
        "clear_downside_invalidation"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "priority": 17,
      "confidence": 0.67,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "강세 진입 조건: $1007.38 위 종가, 최근 약 2.0M-share 수준을 웃도는 거래량, 다음 세션 $1000 위 유지.",
        "눌림 진입 조건: $952 부근 10일 EMA 테스트 후 가격 안정, 반등 확인, 거래량 안정, Vineyard Wind 추가 악재 부재.",
        "위험 조건: $952 종가 이탈과 MACD 히스토그램 둔화 지속.",
        "심화 재평가 조건: $914.25 VWMA 반응 확인. 실패하면 $857.55 50일 SMA 방향의 하방 위험을 우선 관리.",
        "뉴스 조건: Vineyard Wind blade defects 관련 회사 대응, 합의 조건, 충당금, 신규 청구, 지급 보류 관련 업데이트.",
        "펀더멘털 조건: 다음 분기 매출 성장, 영업마진, 운전자본 효과 제외 자유현금흐름, 풍력 부문 수익성, 백로그와 재고·매출채권 품질.",
        "$1007.38 위 종가, 최근 약 2.0M-share 세션을 웃도는 거래량, 다음 거래일 $1000 위 유지가 함께 나타나는 돌파 확인.",
        "다음 실적 또는 가이던스에서 세금 효과나 운전자본 일시 효과가 아니라 반복 가능한 영업이익, 마진, 자유현금흐름 개선이 확인되는 경우.",
        "전력망, 가스발전, 원전·SMR 서비스, 전력 인프라, AI 데이터센터 전력 수요가 수익성 있는 수주와 매출로 연결된다는 추가 증거.",
        "Vineyard Wind 분쟁이 비용 한도화, 합의, 충당금 가시화 등으로 회사 전체 현금흐름과 평판에 미치는 위험이 제한된다고 확인되는 경우.",
        "현재 데이터에 기반한 신뢰도 높은 애널리스트 추정치 상향이나 기관 수요 재확인.",
        "Vineyard Wind 소송이 품질 신뢰, 보증비용, 현금 회수, 평판, 수주 손상으로 확대되는 경우.",
        "다음 실적에서 EPS 개선이 세금 효과나 운전자본 효과에 과도하게 의존했고 정상화 영업이익, 마진, 자유현금흐름이 약하다고 확인되는 경우.",
        "$914.25 VWMA를 지속적으로 이탈하거나 $857.55 50일 SMA를 하향 돌파하는 경우.",
        "금리, 인플레이션, 또는 AI 전력·원전·전력망 테마 피로로 고밸류에이션 산업재 성장주 전반의 멀티플이 압축되는 경우.",
        "매출채권, 재고, 이연수익, 백로그, 풍력 부문 수익성에서 현금 전환과 실행 품질 악화 신호가 나타나는 경우."
      ],
      "rationale": "GEV has a constructive medium-term thesis supported by power infrastructure, AI/data-center electricity demand, grid/gas/nuclear exposure, cash generation, and an intact uptrend above key moving averages. Timing is not ready now because price is just below the $1000-$1007.38 resistance zone, momentum is stretched, MACD is slowing, and prior resistance tests lacked convincing volume. Action should remain watch-only until a volume-backed close above $1007.38 with follow-through above $1000, or a confirmed orderly pullback near the 10-day EMA around $952.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.68,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0357,
        "score_triggered": 0.1857,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 11,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "breakout_confirmation_required",
        "resistance_nearby",
        "momentum_stretched_and_slowing",
        "volume_confirmation_missing",
        "pullback_support_alternative",
        "stale_or_degraded_data",
        "unresolved_project_litigation_risk"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "priority": 18,
      "confidence": 0.68,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "강세 전환 조건: COST가 1000 위에서 종가 마감하고 거래량이 최근 평균을 웃돌며 MACD가 안정되거나 상승 전환하는 경우.",
        "정상 starter 조건: 994-1000 회복 후 VWMA 998.18 위에 안착하고 50일 SMA 994.28 위에서 매물이 흡수되는 경우.",
        "제한적 탐색 조건: 966-968에서 명확한 반전 캔들과 매도 흡수가 나타나고 부정적 회사 뉴스가 없을 경우, 일반 starter의 절반 이하만 허용.",
        "추가 매수 조건: 994 위에서 higher low가 형성되고 상대강도와 거래량이 개선되는 경우.",
        "위험 축소 조건: 966 종가 이탈 또는 일중 이탈 후 빠른 회복 실패.",
        "이익 관리 조건: 1014-1020 접근 시 1차 점검, 1032-1036 접근 시 최근 실패한 돌파 구간으로 비중과 손익비 재평가.",
        "분기 배당을 1.30달러에서 1.47달러로 13.1% 인상했고, 2026-05-01 기준 주주에게 2026-05-15 지급 예정이라는 점은 현금흐름 신뢰를 뒷받침한다.",
        "최근 분기 매출 695.97억 달러와 희석 EPS 4.58은 전년 동기 EPS 4.02보다 개선되어 고품질 성장 논리를 지지한다.",
        "회원제 반복 수익, Kirkland Signature, 높은 고객 충성도, 방어적 소비 수요, 국제 확장, 디지털 성장, 신규 창고 개설은 중기 복리 성장 근거다.",
        "50일선이 1월 896.23에서 4월 994.28까지 상승했고 200일 평균 949.10보다 위에 있어 중기 구조가 완전히 훼손됐다고 보기 어렵다.",
        "평균 목표가 약 1043 및 일부 더 높은 목표가는 994-1000 회복과 모멘텀 안정 시 1014-1020, 1032-1036 재시험의 근거가 될 수 있다.",
        "966 종가 이탈 후 빠른 회복 실패로 952 부근까지 하방 위험이 열리는 경우.",
        "994-1000 회복 시도가 반복적으로 실패하고 down-day volume이 up-day volume보다 무거운 경우.",
        "comparable sales, 회원 갱신률, 회원 수수료 성장, 트래픽, 객단가가 둔화되어 P/E 약 51과 forward P/E 약 44를 정당화하기 어려워지는 경우.",
        "임금, 운송비, 식품비, shrink, FX, 가격 경쟁으로 gross margin 또는 operating margin 압박이 커지는 경우.",
        "로티세리 치킨 식품 안전 소송이 추가 소송, 규제 관심, 브랜드 신뢰 훼손, 방문 빈도 약화로 확대되는 경우."
      ],
      "rationale": "COST has a constructive medium-term quality thesis supported by revenue and EPS growth, cash generation, membership-model durability, and a dividend increase, but timing is not actionable now. The stock is below the key 994-1000 reclaim zone, below near-term moving/VWMA references, and momentum has faded. A starter is only justified after a confirmed close back above 994-1000 with stronger volume and MACD stabilization, or a clearly absorbed support retest near 966-968; otherwise this remains watch-only.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.63,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.102,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0366,
        "score_triggered": 0.1834,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 12,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_quality_thesis",
        "entry_wait_for_confirmation",
        "below_key_reclaim_zone",
        "momentum_not_confirmed",
        "specific_breakout_trigger_defined",
        "support_retest_alternative",
        "valuation_risk_elevated",
        "stale_intraday_data"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "priority": 19,
      "confidence": 0.67,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선, VWMA 192.78 회복이 동반되면 starter 또는 add 검토",
        "180-181 지지 테스트 후 거래량과 유가 흐름이 constructive하면 매우 작은 starter 검토, 단 175.14 아래 위험 통제 필수",
        "180.83 하회 뒤 빠른 회복 실패 시 setup_quality를 WEAK로 낮추고 기존 노출 축소",
        "WTI가 low-to-mid 70s로 하락하거나 Brent의 지정학 프리미엄이 약화되면 BULLISH 스탠스 재평가",
        "Q1 실적에서 실현가격, 파생상품 현금 이익, capex, 잉여현금흐름, 부채 감축, 주주환원 내용을 확인",
        "190-193 구간에서 내부자·대주주 매도성 공급이나 거래량 동반 실패가 나타나면 돌파 신뢰도 하향",
        "WTI와 Brent가 강세를 유지하고, 특히 WTI가 FANG의 Q1 비헤지 실현 유가 73.47/bbl보다 충분히 높은 수준을 유지하는 경우",
        "Q1 실적에서 원유 실현가격과 약 133M 예상 파생상품 현금 이익이 낮은 가스 가격 영향을 상쇄하는 것이 확인되는 경우",
        "영업현금흐름 2.343B와 잉여현금흐름 873M 수준의 현금창출력이 일회성이 아니라는 증거와 순부채 감소 지속",
        "장기채 776.763M 재매입이 이자 부담 완화와 만기 구조 개선으로 이어지면서 주주환원을 훼손하지 않는다는 확인",
        "UBS 246 및 JPMorgan 228 목표가 상향이 193 이상 기술적 회복과 함께 기관 수요로 연결되는 경우",
        "193 이상 종가 회복, RSI 50 상회, VWMA 192.78 회복, MACD 히스토그램 개선이 동시에 나타나는 경우",
        "175.14를 결정적으로 하회해 최근 조정 저점과 50일선 지지 논리가 무너지는 경우",
        "180.83 아래에서 빠른 회복에 실패하며 중기 추세가 약화되는 경우",
        "WTI가 low-to-mid 70s로 되돌아가거나 Iran/Hormuz 관련 지정학 프리미엄이 빠르게 사라지는 경우",
        "Q1 실적에서 약한 잉여현금흐름, 반복적인 대규모 조정, capex 부담, 낮은 가스 가격 영향이 원유 강세를 압도하는 경우",
        "현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B와 관련된 유동성 또는 신용 압박이 커지는 경우",
        "SGF FANG HOLDINGS 및 내부자 매도가 반등 구간에서 추가 공급 부담으로 반복되는 경우"
      ],
      "rationale": "FANG has a constructive medium-term overweight thesis supported by cash flow, oil leverage, debt reduction, and analyst target upgrades, but entry timing is not confirmed. Price remains below the 10-day EMA and VWMA, RSI is below 50, MACD histogram is negative, and the plan explicitly says WAIT until either 180-181 support is confirmed or a 193+ close with momentum improvement occurs.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable",
          "intraday_snapshot_missing_same_day"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.62,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.102,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0377,
        "score_triggered": 0.1807,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 15,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "technical_confirmation_missing",
        "breakout_trigger_defined",
        "support_retest_alternative",
        "stale_intraday_data",
        "elevated_volatility",
        "balance_sheet_risk"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "priority": 20,
      "confidence": 0.68,
      "action_now": "WATCH",
      "delta_krw_now": 0,
      "target_weight_now": 0.0,
      "action_if_triggered": "STARTER_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0,
      "trigger_conditions": [
        "902-905 위에서 일간 종가 방어가 반복되고 거래량이 안정되는지 확인: 이 조건 충족 시 제한적 starter 검토",
        "925-926 종가 회복: 10일 EMA 924.68과 VWMA 925.86 회복으로 1차 진입 조건 확인",
        "RSI 50 회복과 MACD의 양호한 개선: 과매도 반등에서 추세 회복으로 전환되는지 확인",
        "955 돌파: 200일선 방어 이후 반등 신뢰도 강화 및 추가 매수 검토",
        "976-977 회복: 50일선 976.87 회복으로 중기 추세 복구와 본격 overweight 확대 검토",
        "902 아래 고거래량 종가: 신규 매수 중단 및 877-878 지지 재시험 경보",
        "Q1 결과에서 Mounjaro와 Zepbound 매출 가속, 마진 유지, EPS 성장 지속이 확인되는 경우",
        "공급 확대, 재고 13.744B, 건설중인 자산 13.013B, capex가 실제 sell-through와 매출 포착 능력으로 연결된다는 경영진 설명",
        "Foundayo 후속 자료나 FDA 소통에서 안전성, label, post-marketing 요구가 상업성을 훼손하지 않는다는 명확성",
        "925-926 회복 후 955 돌파, RSI 50 회복, MACD 개선이 동반되는 기술적 회복",
        "Centessa, CrossBridge Bio, AC Immune 관련 파이프라인 다각화가 GLP-1 의존도 완화와 장기 옵션으로 인정받는 경우",
        "추가 애널리스트 목표가 상향 또는 추정치 상향이 GLP-1 수요와 마진 내구성을 반영하는 경우",
        "902 아래 고거래량 종가 후 200일선 902.67을 빠르게 회복하지 못하는 경우",
        "877-878 이탈로 3월 저점과 하단 지지대가 동시에 훼손되는 경우",
        "Q1에서 GLP-1 수요 둔화, margin compression, 약한 가이던스, 공급 확장의 sell-through 부진이 확인되는 경우",
        "Foundayo에 대한 FDA 요구가 예상보다 제한적 label, 높은 비용, 상업화 지연을 의미하는 경우",
        "자유현금흐름 254.2M 수준의 약세가 지속되는 가운데 capex -2.9704B, 배당 -1.3455B, 자사주 매입 -1.5077B, 순부채 35.235B 부담이 커지는 경우",
        "10일 EMA 924.68과 VWMA 925.86 회복 시도가 반복적으로 실패하고 하락일 거래량이 확대되는 경우"
      ],
      "rationale": "LLY has a constructive medium-term growth thesis supported by GLP-1 demand, strong margins, recent earnings strength, analyst support, and pipeline optionality, but timing is not actionable now. Price is only slightly above the 200-day area near 902-905 while still below the 10-day EMA/VWMA near 925-926 and the 50-day area near 976-977, with RSI and MACD not yet confirming trend repair. Treat this as a watchlist setup requiring daily-close confirmation above 925-926 before starter exposure, with stronger confirmation above 955 and 976-977.",
      "data_health": {
        "coverage_score": 0.9,
        "vendor_calls": {
          "yfinance": 15,
          "alpha_vantage": 3
        },
        "fallback_count": 1,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "blocked_stale_or_degraded_data",
        "stale_but_triggerable": true,
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.084,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0378,
        "score_triggered": 0.1804,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "blocked_stale_or_degraded_data",
      "stale_but_triggerable": true,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 16,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "price_below_short_term_averages",
        "momentum_not_confirmed",
        "near_critical_support",
        "starter_only_after_trigger",
        "stale_or_degraded_data",
        "high_volume_break_below_support_invalidates"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    }
  ]
}