{
  "snapshot_id": "20260418T003827_kis_68944660-01",
  "snapshot_health": "VALID",
  "account_value_krw": 22553581,
  "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": 2297741,
      "pchs_amt_smtl_amt": 16179055,
      "evlu_amt_smtl_amt": 16560500,
      "tot_asst_amt": 22553581,
      "buy_mgn_amt": 0,
      "frcr_use_psbl_amt": 2297741
    },
    "positions_market_value_krw": 16560500,
    "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": 13,
    "HOLD": 3
  },
  "legacy_rating_distribution": {
    "OVERWEIGHT": 13,
    "HOLD": 3
  },
  "stance_distribution": {
    "BULLISH": 16
  },
  "entry_action_distribution": {
    "WAIT": 16
  },
  "translated_action_distribution": {
    "WATCH_TRIGGER": 16
  },
  "portfolio_summary_counts": {
    "decision_distribution": {
      "OVERWEIGHT": 13,
      "HOLD": 3
    },
    "stance_distribution": {
      "BULLISH": 16
    },
    "entry_action_distribution": {
      "WAIT": 16
    },
    "avg_confidence": 0.675,
    "company_news_zero_ratio": 0.0,
    "snapshot_health": "VALID",
    "warning_flags": [
      "Wait-heavy constructive batch: WAIT 16/16 with BULLISH 16/16; review entry-action calibration.",
      "ETHU: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
      "GLDM: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
      "RSP: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
      "VXUS: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation."
    ],
    "actionable_now_count": 0,
    "triggerable_candidates_count": 16,
    "strategic_trigger_candidates_count": 16,
    "budgeted_trigger_candidates_count": 0,
    "immediate_candidates_count": 0,
    "immediate_actionable_count": 0,
    "immediate_budgeted_count": 0,
    "budget_blocked_actionable_count": 0,
    "funding_candidates_count": 16,
    "held_add_if_triggered_count": 8,
    "watch_if_triggered_count": 8,
    "watch_candidates_count": 8,
    "held_watch_count": 8,
    "review_required_count": 4,
    "rule_only_fallback_count": 0,
    "funding_plan_available": true
  },
  "warnings": [
    "Wait-heavy constructive batch: WAIT 16/16 with BULLISH 16/16; review entry-action calibration.",
    "ETHU: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
    "GLDM: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
    "RSP: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation.",
    "VXUS: missing analysis; defaulting to NEUTRAL/WAIT before portfolio action translation."
  ],
  "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.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "AAPL thesis is constructive for an existing holding and possible staged overweight: fundamentals, free cash flow, buybacks, China shipment recovery, services durability, and improving technicals support the bullish bias. Timing is not complete because the plan explicitly says to wait for either a controlled 260-261 support test with fading selling pressure or a confirmed close above 266.56 with volume before adding. Current action is HOLD, not immediate ADD.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "The setup is described as developing, not confirmed.",
        "No same-day intraday volume or liquidity confirmation was available.",
        "Valuation is elevated with trailing P/E near 33.3, forward P/E near 28.3, and PEG near 2.37.",
        "Nearby 270-275 resistance and ATR around 5.90 imply elevated short-term volatility.",
        "Breaks below 256.48 VWMA or the 251.51-251.83 200-day SMA zone would weaken or invalidate the recovery thesis."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "trigger_required_before_add",
        "breakout_or_support_confirmation_needed",
        "elevated_valuation_risk",
        "nearby_resistance",
        "intraday_confirmation_missing",
        "held_position_hold_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "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": "COST has a constructive medium-term quality thesis supported by strong fundamentals, cash flow, ROE, and dividend growth, but timing is not actionable now. Price remains below the 994-1000 resistance cluster and key short/intermediate moving averages, with negative MACD histogram and neutral RSI. Entry should wait for a confirmed close above 994-1000 with volume and momentum improvement, or a defended 974-980 support retest with RSI/MACD improvement; otherwise it remains a watchlist starter candidate only.",
      "counter_evidence": [
        "Current price is below the 10-day EMA, 50-day moving average, and VWMA, so resistance has not been reclaimed.",
        "MACD histogram remains negative and RSI is neutral rather than oversold or clearly turning up.",
        "Valuation is demanding, with PER near 51x, forward PER near 44x, PEG above 5, and thin margin structure.",
        "A close below 968 would trigger tactical risk reduction, while a break near 947 would imply structural trend damage.",
        "Monthly sales, traffic, membership, and margin data still need to justify the premium valuation."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_waiting_for_confirmation",
        "price_below_key_resistance",
        "negative_momentum_not_resolved",
        "starter_only_if_triggered",
        "valuation_risk_elevated",
        "defined_downside_invalidators"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "ETHU is a held position, but the run contains no usable instrument analysis, no trigger conditions, no investment plan, and no confirmation evidence. The only defensible interpretation is to maintain watch/hold status rather than treat this as an actionable setup.",
      "counter_evidence": [
        "Held position is missing analysis for this run.",
        "No trigger conditions or trigger profile rules are provided.",
        "Decision source is rule-only with neutral stance, weak setup quality, and not actionable execution feasibility.",
        "Data coverage is effectively absent across news, disclosures, social, and macro inputs."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "weak_setup_quality",
        "not_actionable_now",
        "insufficient_data_coverage"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, deleveraging, AI/data-center power infrastructure exposure, and analyst target-price support. Timing is not yet actionable because the plan explicitly says WAIT, avoids chasing near recent highs, and requires support defense at 388-390 or a reclaim of 400/407.01 with stronger volume before adding.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is near recent highs while valuation is elevated, leaving limited room for disappointment.",
        "MACD histogram is fading and RSI is cooling, so momentum confirmation is incomplete.",
        "Earnings, backlog, margin, and demand confirmation are still pending.",
        "A close below 388, loss of VWMA near 377, or loss of 50-day SMA near 370 would weaken or invalidate the setup."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "held_position_core_hold",
        "entry_wait_required",
        "breakout_confirmation_needed",
        "support_confirmation_needed",
        "volume_confirmation_missing",
        "near_high_valuation_risk",
        "momentum_cooling",
        "earnings_event_pending",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "FANG has a constructive medium-term overweight thesis supported by Permian scale, cash flow, debt reduction, shareholder returns, oil leverage, and analyst target support, but timing is not yet actionable. Current price remains below key near-term confirmation levels around the 10-day EMA/VWAP and 191.9-192, RSI is still below 50, MACD momentum is negative, and recent high-volume weakness argues for waiting. A starter position is only justified after a confirmed close above 192 with above-average volume and RSI recovery, or a successful 181-182 support test with improving momentum.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not_actionable_now.",
        "Price remains below the 10-day EMA near 188.78 and VWAP near 191.89, so the primary breakout trigger has not confirmed.",
        "RSI 48.66 and MACD histogram -1.88 indicate momentum has not recovered.",
        "Recent high-volume weakness on 2026-04-14 and the 2026-04-08 low at 175.14 leave downside risk unresolved.",
        "A close below 181 or break of 175.14 would invalidate the tactical setup."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "momentum_below_confirmation",
        "support_test_pending",
        "high_volume_weakness_risk",
        "risk_levels_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.36,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GEV has a constructive medium-term thesis supported by power demand, grid modernization, gas turbine exposure, improving profitability, and an intact rising technical trend. Timing is not actionable now because the stock is near 985-1007 resistance, momentum has cooled, intraday confirmation is unavailable, and the plan explicitly calls for waiting for either a volume-supported close above 1007.38 or a controlled support/reversal setup near 956-960 or 920.",
      "counter_evidence": [
        "Entry action is WAIT and suggested action now is WATCH, so the setup is not immediately executable.",
        "Price is close to the 985-1007 resistance zone, making chase risk elevated.",
        "MACD histogram has slowed and RSI has cooled from near-overbought levels.",
        "Breakout requires a close above 1007.38 with volume above the recent 1.4M-2.3M share range, which is not yet confirmed.",
        "Vineyard Wind liability, valuation compression, and earnings quality remain material risks."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "near_resistance",
        "momentum_cooling",
        "volume_breakout_required",
        "support_reversal_alternative",
        "valuation_risk",
        "legal_liability_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held GLDM position has no current run analysis, no portfolio decision, no investment plan, and no defined trigger conditions. Existing HOLD/WAIT interpretation is rule-only and not actionable, so this should remain a watch-only or manual-review item rather than a timing-ready action.",
      "counter_evidence": [
        "Held position is flagged as missing current analysis.",
        "No trigger conditions or trigger profile rules are defined.",
        "Decision source is RULE_ONLY with weak setup quality and neutral stance.",
        "No company news, disclosures, social, or macro coverage is available in the candidate context."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "neutral_hold_watch"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by strong profitability, cash generation, price above key moving averages, and improving MACD, but the action is still WAIT/HOLD because the setup is developing rather than confirmed. Additional exposure should wait for support confirmation around 317.24-321.31 with 10 EMA 320.61 held or reclaimed, or a volume-backed daily close above 337.12. Elevated RSI, recent rapid rally, high ATR, valuation, and upcoming earnings/AI capex guidance keep timing below actionable readiness.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility now is not_actionable_now.",
        "RSI near 70.19 and the fast rebound from 274.34 to the mid-330s indicate near-term overbought/chase risk.",
        "Q1 earnings, AI capex guidance, depreciation, Cloud margin, and free cash flow risks remain unresolved.",
        "Valuation is demanding around 31x TTM earnings and capex expectations are high.",
        "No confirmed volume-backed close above 337.12 or verified support hold near 317.24-321.31 is present."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "developing_setup",
        "breakout_or_support_confirmation_needed",
        "overbought_rsi",
        "earnings_capex_event_risk",
        "valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LHX has a constructive medium-term defense thesis supported by rocket motor expansion, government funding narrative, missile and hypersonics demand, strong reported free cash flow, and debt reduction. However, current timing is not actionable because price remains mid-range between 340 and 365, momentum is neutral, and the plan explicitly says WAIT/HOLD until a confirmed breakout above 365 with strong volume or a controlled pullback holding above 340.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not_actionable_now.",
        "Price is described as mid-box within the 340-365 range rather than breaking resistance.",
        "RSI around 48.79 and MACD around 0.28 indicate unconfirmed momentum.",
        "Additional buying is explicitly discouraged until confirmation despite bullish stance.",
        "Free cash flow quality, margin recovery, valuation, and event gap risk remain unresolved."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_midpoint_no_confirmation",
        "breakout_trigger_defined",
        "volume_confirmation_required",
        "neutral_momentum",
        "existing_holder_hold_not_add",
        "risk_level_340_defined",
        "event_and_fundamental_confirmation_needed"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LLY",
      "display_name": "LLY",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "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": "LLY has a constructive medium-term overweight thesis supported by strong growth, high margins, EPS expansion, and Foundayo-related catalysts, but the action table explicitly says WAIT because price is only marginally above 200-day support and has not reclaimed the 923-925 confirmation zone with volume. Timing is therefore watchlist-only until a daily close above 923-925 with volume, a successful retest, or a clear 902-903 support defense with improving RSI/MACD.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility now is not actionable_now.",
        "Recent price near 905 is only slightly above 200-day support at 902-903, while ATR around 28 makes the support hold technically fragile.",
        "Price remains below the preferred 923-925 reclaim zone and below higher resistance/trend repair areas at 939-955 and 976-979.",
        "Free cash flow, capex, leverage, FDA label/timing, and GLP-1 competitive risks remain material thesis risks."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_trigger_required",
        "near_critical_support",
        "elevated_atr_vs_support_distance",
        "not_actionable_now",
        "event_and_fcf_risks"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "event_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LRCX has a constructive medium-term overweight thesis supported by AI capex demand, strong profitability, free cash flow, and an uptrend above key moving averages, but the table explicitly says WAIT. Timing is not actionable now because price is near highs, momentum is decelerating, volatility is elevated, and Q3 earnings plus BIS export-control risk remain unresolved. A starter position is only justified after confirmation from earnings/export-control evidence, a controlled pullback holding 252.84 with RSI above 55 and lighter selling, or a high-volume breakout above 272.41.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Price is extended near the 52-week high with elevated ATR around 11.85.",
        "MACD histogram is decelerating, so momentum confirmation is incomplete.",
        "Q3 earnings on 2026-04-22 and BIS export-control uncertainty could create adverse event risk.",
        "Valuation is demanding with trailing P/E around 53, forward P/E around 36, and P/B above 32."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait",
        "event_risk_before_entry",
        "breakout_or_pullback_confirmation_needed",
        "extended_near_highs",
        "momentum_deceleration",
        "elevated_valuation",
        "not_currently_actionable"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "MU has a constructive medium-term thesis supported by AI/HBM and advanced DRAM demand, strong reported profitability, cash flow, and improving technical trend. However, the current action is WAIT because price is extended after a sharp rebound and is near 471.14 resistance. Timing becomes actionable only after a volume-confirmed close above 471.14 with follow-through, or a controlled pullback that confirms support near 424-426.",
      "counter_evidence": [
        "Entry action is explicitly WAIT and execution feasibility is not actionable now.",
        "Price is near 471.14 resistance after an approximately 42% rebound from the 2026-03-30 low, making chase risk elevated.",
        "Trigger rules require confirmation through volume, follow-through close, or support retest; these are not yet satisfied.",
        "High ATR around 26 and beta around 1.606 require reduced sizing and staged entry.",
        "Invalidation risks include HBM/DRAM pricing weakness, margin guidance rollover, receivables failing to convert to cash, broader insider selling, and decisive break below 404-405."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "near_resistance_after_sharp_rebound",
        "breakout_confirmation_required",
        "support_retest_alternative",
        "high_volatility_reduced_sizing",
        "not_actionable_now"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NET has a constructive medium-term overweight thesis supported by strong revenue growth, high gross margin, positive free cash flow, AI/security partnership optionality, and supportive analyst targets. Timing is not actionable now because entry_action is WAIT, price remains below key VWMA/EMA/SMA resistance, MACD is still negative, RSI is not confirming, and the plan requires a volume-backed close above $192.70-$194.37 before even a reduced starter position.",
      "counter_evidence": [
        "Current price is below VWMA $192.70, 10-day EMA $193.83, 50-day SMA $194.37, and 200-day SMA $202.01.",
        "MACD remains negative and RSI near 49.58 does not confirm bullish momentum.",
        "The candidate is not held and suggested_action_now is WATCH, with execution_feasibility_now marked not_actionable_now.",
        "Valuation and risk flags are elevated, including forward P/E 136.9, P/B 47.6, PEG 2.38, insider selling, SBC, dilution, debt sensitivity, and high-beta software drawdown risk.",
        "Data coverage is only moderate with no disclosures and social sentiment derived from news fallback."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "momentum_unconfirmed",
        "volume_confirmation_required",
        "reduced_starter_only_if_triggered",
        "valuation_risk_elevated",
        "not_held_watchlist_candidate"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "NVDA thesis is constructive for an existing overweight hold, supported by recovered moving-average structure, improving MACD, strong recent volume, and AI infrastructure fundamentals. Timing is not yet actionable for adding because the plan explicitly says WAIT after a sharp rebound, with confirmation required via a daily close above 200.40 with sustained volume or a controlled pullback and strong recovery near 189.12.",
      "counter_evidence": [
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "RSI near 68.90, elevated ATR 5.27, beta 2.335, and a fast rebound from 165.17 to 198.87 raise chase and mean-reversion risk.",
        "Intraday confirmation data is unavailable, and breakout rules are not populated beyond daily close conditions.",
        "Regulatory, China/export-control, supply-chain, and AI-theme rotation risks remain explicit invalidators."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_overweight_hold",
        "entry_wait_for_confirmation",
        "breakout_close_required",
        "pullback_alternative_trigger",
        "elevated_volatility_and_beta",
        "near_overbought_after_sharp_rebound",
        "intraday_confirmation_missing",
        "medium_trigger_quality"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.62,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "ORCL has a constructive medium-term AI/OCI thesis supported by cloud catalysts, database adoption, revenue growth, margin strength, and improving momentum, but the current setup is not actionable. Price has already rebounded sharply into an overextended area near the upper Bollinger band with RSI elevated, while the long-term trend remains unconfirmed below the 200-day average. Entry should wait for either a controlled pullback that holds above the 50-day area or a confirmed breakout above 171 with above-average volume and follow-through.",
      "counter_evidence": [
        "Recent sharp rebound from 138.09 to 169.81 makes immediate chase risk unattractive.",
        "RSI around 70.88 and proximity to the upper Bollinger band near 170.71 indicate overextension.",
        "Price remains below the 200-day moving average near 214.26, so long-term trend repair is incomplete.",
        "Free cash flow is deeply negative and leverage/debt-funded data-center capex remain material risks.",
        "No current trigger has confirmed; proposed entries require either pullback support or breakout follow-through."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "overextended_short_term_price",
        "breakout_not_confirmed",
        "pullback_support_not_confirmed",
        "long_term_trend_unrepaired",
        "fcf_and_leverage_risk"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.05,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "Held RSP position has no current analysis, no investment plan, no explicit trigger conditions, and only a rule-only HOLD/WAIT interpretation. There is not enough evidence to treat the thesis as constructive or actionable, so timing should remain unavailable rather than merely early.",
      "counter_evidence": [
        "Missing analysis for a held position",
        "No trigger conditions or trigger profile rules provided",
        "Decision source is RULE_ONLY with weak setup quality and low confidence",
        "Suggested action if triggered is NONE"
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "weak_setup_quality",
        "low_confidence",
        "not_actionable_now"
      ],
      "review_required": true
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.58,
      "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": "TSLA thesis is conditionally constructive for an existing holder, but the action is not ready now. The plan explicitly says HOLD/WAIT with a developing setup, requiring a daily close above 398, next-session support confirmation, and healthier volume before adding. Event confirmation from the 2026-04-22 update is also important, but the near-term actionable trigger is breakout confirmation above the clustered 398 resistance area.",
      "counter_evidence": [
        "Price remains below the 398 resistance zone where the upper Bollinger band and 200 SMA converge.",
        "Entry action is WAIT and execution feasibility is not actionable now.",
        "Valuation is stretched with cited P/E and forward P/E concerns.",
        "Fundamental risks include revenue, margin, FCF, and finished-goods inventory pressure.",
        "A close below 390 after rejection at 398 would trigger reduction, and a decisive break below 368 would invalidate tactical exposure.",
        "The 2026-04-22 update must provide concrete demand, margin, FCF, robotaxi, AI, and semiconductor evidence before chasing strength."
      ],
      "reason_codes": [
        "hold_wait_setup",
        "constructive_but_unconfirmed",
        "breakout_above_398_required",
        "next_session_support_required",
        "volume_confirmation_required",
        "event_confirmation_pending",
        "valuation_risk_high",
        "fundamental_quality_risk",
        "defined_risk_levels_390_368"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "trigger_type": "watch_only",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.66,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong Q1 profit growth, raised revenue outlook, AI and 3nm demand, and intact moving-average trend structure. Timing is not actionable now because the position is already held, entry_action is WAIT, price is near 380-385 resistance after a sharp rebound, momentum has cooled, and additions require either 362-365 support confirmation or a close above 380-385 with MACD and volume confirmation.",
      "counter_evidence": [
        "Immediate add is not confirmed because price is near the 380-385 resistance zone after a rapid rebound.",
        "RSI has cooled and MACD has eased, so momentum confirmation is incomplete.",
        "ATR is elevated and position sizing guidance calls for only small staged additions after confirmation.",
        "A close below 353, or sustained closes below 350, would shift the setup toward risk reduction.",
        "Data quality is imperfect with fallback vendor calls and no disclosures coverage."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "held_position_hold_now",
        "resistance_nearby_after_rebound",
        "momentum_confirmation_incomplete",
        "requires_close_confirmation",
        "support_or_breakout_trigger_needed",
        "risk_level_defined_below_350_353",
        "medium_trigger_quality"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VRT",
      "display_name": "VRT",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "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 thesis supported by strong trend positioning, AI data-center infrastructure demand, earnings/free-cash-flow strength, and an OVERWEIGHT/BULLISH stance, but the action is explicitly WAIT/HOLD. Additional buying is not ready until either a volume-backed daily close above 310.51-312.46 confirms a breakout, or a controlled pullback holds 287-290 with improving momentum and no negative catalyst. Existing exposure can be maintained, but timing for adding remains incomplete.",
      "counter_evidence": [
        "Entry action is WAIT and setup quality is DEVELOPING, so current conditions are not actionable for adding.",
        "Valuation and volatility are elevated: trailing P/E near 86, forward P/E near 36, P/B near 28.5, beta above 2, and ATR around 4.6% of price.",
        "MACD histogram is noted as slowing, reducing confidence in chasing strength before confirmation.",
        "Earnings and guidance risk are material because high expectations require confirmation of orders, margins, free cash flow, and 2026 guidance.",
        "Company-specific data coverage is limited, with only one company news item and no disclosures."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "breakout_requires_daily_close_confirmation",
        "pullback_support_trigger_alternative",
        "high_valuation_and_volatility",
        "earnings_event_risk",
        "existing_position_hold_not_add",
        "medium_quality_trigger"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "trigger_type": "watch_only",
      "trigger_horizon": "unknown",
      "trigger_quality": 0.0,
      "thesis_state": "low_quality",
      "semantic_summary": "VXUS is a held position, but this run produced no actionable analysis, no trigger conditions, and only a rule-only HOLD/WAIT interpretation. Timing is not confirmed and there is no execution setup beyond maintaining or watching the existing position.",
      "counter_evidence": [
        "Held position is missing analysis for this run.",
        "No company news, disclosures, macro items, or social inputs are available.",
        "No trigger conditions or trigger profile rules are defined.",
        "Execution feasibility is marked not actionable now."
      ],
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "not_actionable_now"
      ],
      "review_required": true
    }
  ],
  "action_judge": {
    "status": "success",
    "provider": "codex",
    "model": "gpt-5.4",
    "priority_order": [
      "NVDA",
      "TSM",
      "VXUS",
      "RSP",
      "GLDM"
    ],
    "portfolio_note": "All five names remain watch-only or hold-now items. The batch is uniformly WAIT despite bullish translated stance, strict cash above the buffer is only about 52k KRW, and NVDA plus TSM already create meaningful AI/semiconductor concentration. Do not add exposure until ticker-specific close-confirmation triggers are met; prioritize manual review of TSM and all missing-analysis held ETFs before any rebalance.",
    "reason_by_ticker": {
      "NVDA": {
        "summary": "Highest-quality watch item in the batch: constructive existing overweight thesis, strongest data coverage, improving trend and momentum, and explicit breakout or pullback triggers. Still HOLD now because entry_action is WAIT and add conditions require confirmation above 200.40 or a controlled pullback near 189.12.",
        "reason_codes": [
          "best_data_quality_in_batch",
          "bullish_medium_term_thesis",
          "held_position_overweight_hold",
          "entry_wait_for_confirmation",
          "breakout_or_pullback_trigger_defined",
          "elevated_volatility_and_beta",
          "not_actionable_now"
        ],
        "review_required": false
      },
      "TSM": {
        "summary": "Constructive AI and advanced-node semiconductor thesis with defined support and breakout triggers, but ranked below NVDA due to higher fallback count, manual review flag, nearby 380-385 resistance, and incomplete momentum confirmation. HOLD now; only consider add after support defense or confirmed breakout.",
        "reason_codes": [
          "constructive_but_review_required",
          "bullish_thesis_but_wait_entry",
          "held_position_hold_now",
          "resistance_nearby_after_rebound",
          "momentum_confirmation_incomplete",
          "support_or_breakout_trigger_needed",
          "high_fallback_count",
          "not_actionable_now"
        ],
        "review_required": true
      },
      "VXUS": {
        "summary": "Held diversifying international ETF, but this run has no current analysis, no trigger conditions, and low confidence. Kept ahead of other missing-analysis items only for diversification value in a portfolio already led by AI and semiconductor exposure, not because it is actionable.",
        "reason_codes": [
          "missing_analysis_for_held_position",
          "diversification_value",
          "rule_only_decision",
          "no_actionable_trigger",
          "low_confidence",
          "not_actionable_now"
        ],
        "review_required": true
      },
      "RSP": {
        "summary": "Held equal-weight US equity ETF with missing analysis and no defined triggers. Broad exposure is useful, but absent evidence and rule-only HOLD/WAIT status keep it below analyzed names and behind VXUS for incremental diversification.",
        "reason_codes": [
          "missing_analysis_for_held_position",
          "broad_market_exposure",
          "rule_only_decision",
          "weak_setup_quality",
          "no_actionable_trigger",
          "low_confidence",
          "not_actionable_now"
        ],
        "review_required": true
      },
      "GLDM": {
        "summary": "Held gold allocation has no current analysis, no trigger conditions, and low confidence. It may help portfolio ballast, but the absence of a current macro or technical case makes it the lowest-priority item for this arbitration batch.",
        "reason_codes": [
          "missing_analysis_for_held_position",
          "insufficient_data_coverage",
          "rule_only_decision",
          "no_actionable_trigger",
          "low_confidence",
          "neutral_hold_watch",
          "not_actionable_now"
        ],
        "review_required": true
      }
    }
  },
  "report_writer": {
    "status": "success",
    "scope": "portfolio",
    "provider": "codex",
    "model": "gpt-5.4"
  },
  "candidates": [
    {
      "snapshot_id": "20260418T003827_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": 1202083,
      "quantity": 3.0,
      "available_qty": 3.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "AAPL은 중기 배분 관점에서 비중확대가 가능한 강한 종목이나, 오늘 즉시 추격 매수할 만큼 진입 타이밍이 완성되지는 않았다. 공격적 분석가는 2025-12-31 분기 매출 143.756B, 순이익 42.097B, 영업이익률 약 35.4%, 자유현금흐름 51.552B, 24.701B 자사주 매입을 근거로 품질과 주주환원력이 충분하다고 보았다. 또한 가격이 10일 지수이동평균 259.88, 50일 단순이동평균 260.67, 200일 단순이동평균 251.51 위로 회복했고, MACD가 2026-03-30의 -3.85에서 2026-04-16의 1.28로 개선된 점은 상승 전환의 근거다. 다만 보수적 및 중립 분석가가 지적한 것처럼 후행 주가수익비율 약 33.3, 선행 주가수익비율 약 28.3, PEG 약 2.37은 실망에 취약하고, 270-275 저항대가 가까우며 ATR 5.90은 단기 변동성이 높다는 뜻이다. 따라서 신규 자금은 대기하되, 260-261 지지권으로 통제된 되돌림이 나오고 매도 압력이 약해지거나, 266.56 위 종가 돌파가 거래량 확대로 확인될 때만 시범 물량 진입을 허용한다.",
        "exit_logic": "AAPL이 256.48 부근 거래량가중이동평균을 확대 거래량과 함께 이탈하면 수요 약화로 보고 노출을 줄인다. 251.51-251.83의 200일 단순이동평균 구간을 결정적으로 종가 이탈하면 회복 논리가 훼손된 것으로 보고 실질적으로 청산하거나 대폭 축소한다. 실적 발표 후 중국 회복이 매출, 평균판매가격, 마진으로 연결되지 않거나 서비스 성장, 매출총이익률, AI 기기 수요, 자사주 매입 지속성이 기대에 못 미치면 투자 논리를 재평가한다.",
        "position_sizing": "현재 결정은 전면 매수가 아니라 단계적 비중확대 대기다. 260-261 지지 확인 또는 266.56 상향 돌파 확인 시에만 시범 물량으로 시작하고, ATR 5.90 수준의 변동성을 감안해 초기 크기는 목표 비중보다 작게 둔다. 270-275 방향의 후속 상승이 나오더라도 거래량과 모멘텀이 유지되고 256.48 거래량가중이동평균이 보존될 때만 추가한다. 실적, 규제, 중국, 노동, 지정학, 제품 주기 관련 대형 뉴스 전에는 전체 비중을 목표치보다 낮게 유지한다.",
        "risk_limits": "진입 후 일반 변동성에 흔들리지 않도록 최소 1 ATR 수준의 가격 여유는 허용하되, 200일 단순이동평균의 결정적 붕괴는 허용하지 않는다. 고평가 구간에서 금리, 인플레이션, 에너지 가격, 지정학 충격 또는 좁은 대형 기술주 랠리 되돌림이 발생하면 유동성이 높은 AAPL도 자금 조달원으로 매도될 수 있음을 반영해 과대 포지션을 피한다. 동일일 장중 거래량 확인이 없었으므로 실제 주문 전에는 유동성, 거래량 확장, 돌파 또는 지지 확인을 다시 점검한다.",
        "catalysts": [
          "중국 iPhone 출하량이 20% 증가한 반면 중국 스마트폰 시장은 4% 감소했다는 보도는 약했던 중국 우려가 완화될 수 있음을 보여준다.",
          "다음 실적에서 중국 회복이 단순 출하량이 아니라 매출, 평균판매가격, 마진으로 확인되면 재평가 가능성이 커진다.",
          "서비스 매출 성장과 생태계 수익화가 프리미엄 마진을 계속 지지하면 높은 밸류에이션 방어력이 강화된다.",
          "AAPL이 266.56 위에서 거래량을 동반해 종가 마감하면 270-275 기술적 목표 구간이 열린다.",
          "AI 관련 기기 교체 수요, Mac 강세, 온디바이스 AI 기대가 개선되면 성장 서사가 보강된다.",
          "51.552B 자유현금흐름과 24.701B 자사주 매입 같은 현금창출 및 주주환원은 주당순이익과 하방 완충을 지지한다."
        ],
        "invalidators": [
          "AAPL이 반등 후 260-261의 이전 저항 및 현재 지지 구간을 지키지 못한다.",
          "AAPL이 256.48 거래량가중이동평균을 확대 거래량과 함께 이탈해 매수 수요 약화를 보인다.",
          "AAPL이 251.51-251.83의 200일 단순이동평균 구간을 결정적으로 종가 이탈한다.",
          "중국 출하량 회복이 매출, 평균판매가격, 마진 개선으로 이어지지 않는다.",
          "서비스 마진이 규제 압력이나 가이던스 약화로 훼손된다.",
          "노동 또는 매장 폐쇄 논란이 법적, 규제, 브랜드 리스크로 확대된다.",
          "후행 주가수익비율 약 33.3, 선행 주가수익비율 약 28.3, PEG 약 2.37의 고평가가 금리, 인플레이션, 좁은 기술주 랠리 반전에 취약해진다."
        ],
        "watchlist_triggers": [
          "AAPL이 260-261로 되돌린 뒤 안정되고 매도 압력이 둔화되는지 확인한다.",
          "AAPL이 266.56 위에서 거래량 확장과 함께 종가 마감하고 MACD 히스토그램이 양수를 유지하는지 확인한다.",
          "가격이 10일 지수이동평균 259.88 위를 유지하면서 RSI가 과열권으로 치우치지 않는지 확인한다.",
          "변동성 되돌림에서 256.48 부근 거래량가중이동평균이 지지되는지 확인한다.",
          "다음 실적 설명에서 중국 수요, 서비스 성장, 매출총이익률, AI 기기 교체 주기가 확인되는지 점검한다.",
          "내부자 매도, 자사주 매입 속도, 규제 또는 서비스 압력과 관련한 신규 공시나 확인된 보도가 나오는지 감시한다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "AAPL이 260-261로 되돌린 뒤 안정되고 매도 압력이 둔화되는지 확인한다.",
        "AAPL이 266.56 위에서 거래량 확장과 함께 종가 마감하고 MACD 히스토그램이 양수를 유지하는지 확인한다.",
        "가격이 10일 지수이동평균 259.88 위를 유지하면서 RSI가 과열권으로 치우치지 않는지 확인한다.",
        "변동성 되돌림에서 256.48 부근 거래량가중이동평균이 지지되는지 확인한다.",
        "다음 실적 설명에서 중국 수요, 서비스 성장, 매출총이익률, AI 기기 교체 주기가 확인되는지 점검한다.",
        "내부자 매도, 자사주 매입 속도, 규제 또는 서비스 압력과 관련한 신규 공시나 확인된 보도가 나오는지 감시한다.",
        "중국 iPhone 출하량이 20% 증가한 반면 중국 스마트폰 시장은 4% 감소했다는 보도는 약했던 중국 우려가 완화될 수 있음을 보여준다.",
        "다음 실적에서 중국 회복이 단순 출하량이 아니라 매출, 평균판매가격, 마진으로 확인되면 재평가 가능성이 커진다.",
        "서비스 매출 성장과 생태계 수익화가 프리미엄 마진을 계속 지지하면 높은 밸류에이션 방어력이 강화된다.",
        "AAPL이 266.56 위에서 거래량을 동반해 종가 마감하면 270-275 기술적 목표 구간이 열린다.",
        "AI 관련 기기 교체 수요, Mac 강세, 온디바이스 AI 기대가 개선되면 성장 서사가 보강된다.",
        "51.552B 자유현금흐름과 24.701B 자사주 매입 같은 현금창출 및 주주환원은 주당순이익과 하방 완충을 지지한다.",
        "AAPL이 반등 후 260-261의 이전 저항 및 현재 지지 구간을 지키지 못한다.",
        "AAPL이 256.48 거래량가중이동평균을 확대 거래량과 함께 이탈해 매수 수요 약화를 보인다.",
        "AAPL이 251.51-251.83의 200일 단순이동평균 구간을 결정적으로 종가 이탈한다.",
        "중국 출하량 회복이 매출, 평균판매가격, 마진 개선으로 이어지지 않는다.",
        "서비스 마진이 규제 압력이나 가이던스 약화로 훼손된다.",
        "노동 또는 매장 폐쇄 논란이 법적, 규제, 브랜드 리스크로 확대된다.",
        "후행 주가수익비율 약 33.3, 선행 주가수익비율 약 28.3, PEG 약 2.37의 고평가가 금리, 인플레이션, 좁은 기술주 랠리 반전에 취약해진다."
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "AAPL thesis is constructive for an existing holding and possible staged overweight: fundamentals, free cash flow, buybacks, China shipment recovery, services durability, and improving technicals support the bullish bias. Timing is not complete because the plan explicitly says to wait for either a controlled 260-261 support test with fading selling pressure or a confirmed close above 266.56 with volume before adding. Current action is HOLD, not immediate ADD.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2776,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "AAPL thesis is constructive for an existing holding and possible staged overweight: fundamentals, free cash flow, buybacks, China shipment recovery, services durability, and improving technicals support the bullish bias. Timing is not complete because the plan explicitly says to wait for either a controlled 260-261 support test with fading selling pressure or a confirmed close above 266.56 with volume before adding. Current action is HOLD, not immediate ADD."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "trigger_required_before_add",
        "breakout_or_support_confirmation_needed",
        "elevated_valuation_risk",
        "nearby_resistance",
        "intraday_confirmation_missing",
        "held_position_hold_now"
      ],
      "review_required": false,
      "score_now": 0.08113610240000003,
      "score_triggered": 0.22784025600000002,
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2776
      },
      "broker_symbol": "AAPL",
      "canonical_ticker": "AAPL",
      "display_name": "AAPL"
    },
    {
      "snapshot_id": "20260418T003827_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.65,
        "time_horizon": "medium",
        "entry_logic": "COST는 중기적으로 보유 가능한 고품질 복리 자산이라는 결론을 유지하지만, 오늘 신규 진입은 아직 확인되지 않았다. 공격적 분석가가 강조한 2026-02-28 분기 매출 69.597B, 순이익 2.035B, EPS 4.58, 현금 및 단기투자 18.240B, ROE 29.651%, TTM 잉여현금흐름 6.690B, 분기 배당 $1.30에서 $1.47로 13.1% 인상은 사업 품질과 현금흐름 신뢰를 뒷받침한다. 다만 보수적·중립적 분석가가 지적했듯 현재가 984.75는 10일 EMA 994.23, 50일선 994.46, VWMA 998.65 아래에 있고, MACD 히스토그램은 -2.84이며 RSI 47.20은 과매도 매수 신호가 아니다. 따라서 방향성은 조건부 우호적으로 유지하되, 즉시 매수는 보류한다. 진입은 COST가 994-1000 저항대를 거래량과 함께 종가로 회복하고 MACD 히스토그램이 개선되거나, 974-980 지지를 방어하면서 RSI가 45-50 부근에서 상향 전환될 때 작은 starter로만 정당화된다.",
        "exit_logic": "기존 보유자는 핵심 비중을 유지하되 968을 전술적 축소 기준으로 둔다. COST가 968 아래에서 종가를 형성하고 반등이 약하거나 MACD 히스토그램 악화가 확대되면 초과 비중을 줄인다. 200일선 부근 947이 깨지면 중립적 분석가가 언급한 정상 조정의 범위를 벗어나 장기 구조 훼손 가능성으로 재분류하고 방어적으로 대응한다. PER 약 51배, forward PER 약 44배, PEG 5.464, 순이익률 2.986%, 영업이익률 3.673%라는 높은 기대와 얇은 마진 구조를 고려해, 월간 매출·트래픽·멤버십·마진 지표가 프리미엄 밸류에이션을 뒷받침하지 못하면 보유 논리를 재검토한다.",
        "position_sizing": "오늘은 신규 풀사이즈 진입을 하지 않는다. 기존 중기 보유자는 core exposure를 유지할 수 있으나, 994-1000 아래에서는 추가 매수를 보류한다. 조건이 충족되면 ATR 18.52와 높은 밸류에이션 리스크를 반영해 정상 비중보다 작은 starter만 허용한다. 1000 위 종가, VWMA 회복, 거래량 개선, MACD 히스토그램 개선이 함께 확인되면 돌파형 starter가 가능하고, 이후 1015 부근 재시험과 1000 재지지 확인 후에만 증액한다. 974-980 지지 진입도 RSI 상향 전환과 MACD 음의 폭 축소가 동반될 때만 제한적으로 허용한다.",
        "risk_limits": "968은 단순 관찰선이 아니라 전술적 위험 축소선이다. 947은 200일선 부근의 구조적 위험 기준이며, 이탈 시 장기 상승 구조가 훼손될 수 있다. 994-1000은 현재 지지가 아니라 저항으로 작동하고 있으므로 확인 없이 추격 매수하지 않는다. PER 51배, forward PER 44배, PEG 5.464, P/B 26배대, 배당수익률 약 0.6%, 순이익률 2.986%, 영업이익률 3.673%를 감안해 트래픽, 임금, 물류비, 휘발유 가격, 소비 둔화, 식품 안전 이슈가 작은 실망으로도 밸류에이션 압축을 유발할 수 있음을 반영한다.",
        "catalysts": [
          "COST가 994-1000 저항대를 종가로 회복하고 10일 EMA, 50일선, VWMA를 되찾는 흐름.",
          "1000 위 종가에 거래량 개선과 MACD 히스토그램 음의 폭 축소가 동반되는 돌파 확인.",
          "974-980 지지 방어 후 RSI가 45-50 부근에서 상향 전환되고 MACD 히스토그램 개선이 나타나는 지지 반등.",
          "월간 매출, 트래픽, 멤버십, comparable-sales 지표가 프리미엄 밸류에이션을 계속 정당화하는 결과.",
          "분기 배당 $1.30에서 $1.47로 13.1% 인상된 점이 현금흐름 내구성과 주주환원 신뢰를 강화하는 흐름.",
          "Kirkland 차별화, 체크아웃 자동화, Business Center 확장, gasoline traffic 개선이 운영 효율과 방문 수요를 뒷받침하는 증거."
        ],
        "invalidators": [
          "COST가 968 아래에서 종가를 형성하고 반등 시도가 약하거나 MACD 히스토그램 악화가 확대되는 경우.",
          "200일선 부근 947 이탈로 박스권 조정이 아니라 장기 구조 훼손 가능성이 커지는 경우.",
          "월간 매출, 트래픽, 멤버십, 마진 지표가 PER 51배와 forward PER 44배 수준의 기대를 뒷받침하지 못하는 경우.",
          "rotisserie chicken 식품 안전 소송이 브랜드 신뢰, 언론 확산, 트래픽 둔화로 번지는 경우.",
          "내부자 매도나 기관 축소가 보상 주식 유동화 또는 혼재 수급을 넘어 광범위하고 지속적인 이탈로 확인되는 경우.",
          "994-1000 회복 시도가 반복적으로 실패해 저항이 강화되고 974-980 지지 재시험 압력이 커지는 경우."
        ],
        "watchlist_triggers": [
          "매수 관찰 기준: COST가 1000 위에서 종가를 형성하고 거래량 증가와 MACD 히스토그램 개선을 동반한다.",
          "지지 진입 기준: COST가 974-980을 방어하고 RSI가 45-50 부근에서 위로 꺾이며 MACD 히스토그램 음의 폭이 줄어든다.",
          "증액 기준: 1000 회복 후 1015-1035 재시험이 나타나고, 되돌림에서 1000 재지지가 확인된다.",
          "위험 축소 기준: COST가 968 아래에서 종가를 형성해 947 방향 하방 위험이 열린다.",
          "구조적 위험 기준: COST가 947 부근 200일선을 이탈한다.",
          "기본적 확인 기준: 다음 월간 매출 또는 트래픽 업데이트가 높은 밸류에이션에도 수요 강도를 확인한다."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "매수 관찰 기준: COST가 1000 위에서 종가를 형성하고 거래량 증가와 MACD 히스토그램 개선을 동반한다.",
        "지지 진입 기준: COST가 974-980을 방어하고 RSI가 45-50 부근에서 위로 꺾이며 MACD 히스토그램 음의 폭이 줄어든다.",
        "증액 기준: 1000 회복 후 1015-1035 재시험이 나타나고, 되돌림에서 1000 재지지가 확인된다.",
        "위험 축소 기준: COST가 968 아래에서 종가를 형성해 947 방향 하방 위험이 열린다.",
        "구조적 위험 기준: COST가 947 부근 200일선을 이탈한다.",
        "기본적 확인 기준: 다음 월간 매출 또는 트래픽 업데이트가 높은 밸류에이션에도 수요 강도를 확인한다.",
        "COST가 994-1000 저항대를 종가로 회복하고 10일 EMA, 50일선, VWMA를 되찾는 흐름.",
        "1000 위 종가에 거래량 개선과 MACD 히스토그램 음의 폭 축소가 동반되는 돌파 확인.",
        "974-980 지지 방어 후 RSI가 45-50 부근에서 상향 전환되고 MACD 히스토그램 개선이 나타나는 지지 반등.",
        "월간 매출, 트래픽, 멤버십, comparable-sales 지표가 프리미엄 밸류에이션을 계속 정당화하는 결과.",
        "분기 배당 $1.30에서 $1.47로 13.1% 인상된 점이 현금흐름 내구성과 주주환원 신뢰를 강화하는 흐름.",
        "Kirkland 차별화, 체크아웃 자동화, Business Center 확장, gasoline traffic 개선이 운영 효율과 방문 수요를 뒷받침하는 증거.",
        "COST가 968 아래에서 종가를 형성하고 반등 시도가 약하거나 MACD 히스토그램 악화가 확대되는 경우.",
        "200일선 부근 947 이탈로 박스권 조정이 아니라 장기 구조 훼손 가능성이 커지는 경우.",
        "월간 매출, 트래픽, 멤버십, 마진 지표가 PER 51배와 forward PER 44배 수준의 기대를 뒷받침하지 못하는 경우.",
        "rotisserie chicken 식품 안전 소송이 브랜드 신뢰, 언론 확산, 트래픽 둔화로 번지는 경우.",
        "내부자 매도나 기관 축소가 보상 주식 유동화 또는 혼재 수급을 넘어 광범위하고 지속적인 이탈로 확인되는 경우.",
        "994-1000 회복 시도가 반복적으로 실패해 저항이 강화되고 974-980 지지 재시험 압력이 커지는 경우."
      ],
      "confidence": 0.65,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "COST has a constructive medium-term quality thesis supported by strong fundamentals, cash flow, ROE, and dividend growth, but timing is not actionable now. Price remains below the 994-1000 resistance cluster and key short/intermediate moving averages, with negative MACD histogram and neutral RSI. Entry should wait for a confirmed close above 994-1000 with volume and momentum improvement, or a defended 974-980 support retest with RSI/MACD improvement; otherwise it remains a watchlist starter candidate only.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "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": "COST has a constructive medium-term quality thesis supported by strong fundamentals, cash flow, ROE, and dividend growth, but timing is not actionable now. Price remains below the 994-1000 resistance cluster and key short/intermediate moving averages, with negative MACD histogram and neutral RSI. Entry should wait for a confirmed close above 994-1000 with volume and momentum improvement, or a defended 974-980 support retest with RSI/MACD improvement; otherwise it remains a watchlist starter candidate only."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_waiting_for_confirmation",
        "price_below_key_resistance",
        "negative_momentum_not_resolved",
        "starter_only_if_triggered",
        "valuation_risk_elevated",
        "defined_downside_invalidators"
      ],
      "review_required": false,
      "score_now": -0.03947801599999998,
      "score_triggered": 0.17630496000000004,
      "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": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0
      },
      "broker_symbol": "COST",
      "canonical_ticker": "COST",
      "display_name": "COST"
    },
    {
      "snapshot_id": "20260418T003827_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": 177948,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": null,
      "data_coverage": {
        "company_news_count": 0,
        "disclosures_count": 0,
        "social_source": "unavailable",
        "macro_items_count": 0
      },
      "quality_flags": [
        "missing_analysis_for_held_position"
      ],
      "vendor_health": {
        "vendor_calls": {},
        "fallback_count": 0
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [],
      "confidence": 0.3,
      "stance": "NEUTRAL",
      "entry_action": "WAIT",
      "setup_quality": "WEAK",
      "rationale": "ETHU is a held position, but the run contains no usable instrument analysis, no trigger conditions, no investment plan, and no confirmation evidence. The only defensible interpretation is to maintain watch/hold status rather than treat this as an actionable setup.",
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.847,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "unknown",
        "trigger_quality": 0.0,
        "entry_readiness": 0.0,
        "thesis_state": "low_quality",
        "semantic_summary": "ETHU is a held position, but the run contains no usable instrument analysis, no trigger conditions, no investment plan, and no confirmation evidence. The only defensible interpretation is to maintain watch/hold status rather than treat this as an actionable setup."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "weak_setup_quality",
        "not_actionable_now",
        "insufficient_data_coverage"
      ],
      "review_required": false,
      "score_now": -0.005870874999999999,
      "score_triggered": 0.0,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.65,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.847
      },
      "broker_symbol": "ETHU",
      "canonical_ticker": "ETHU",
      "display_name": "ETHU"
    },
    {
      "snapshot_id": "20260418T003827_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": 597183,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "ETN의 중기 배분 관점은 여전히 우호적이다. 공격적 분석가가 강조한 7.055 billion 매출, 1.132 billion 순이익, 2.91 희석 EPS, 1.573 billion 잉여현금흐름, 순부채 10.325 billion에서 9.273 billion으로의 감소는 AI 전력 인프라와 전력망 현대화 수혜가 단순한 서사가 아니라 현금흐름과 재무 개선으로 뒷받침된다는 근거다. 또한 Citigroup 464, RBC 457, Jefferies 460 목표가 상향은 기관 기대가 유지되고 있음을 보여준다. 다만 보수적·중립 분석가의 지적처럼 현재 가격은 최근 고점 부근이고, trailing P/E 약 37.6, forward P/E 약 25.3, P/B 약 7.8로 실망 여지가 작으며, MACD 히스토그램이 5.10에서 3.16으로 둔화되고 RSI가 60.50으로 식고 있다. 따라서 오늘은 추격 매수하지 않고 WAIT한다. 신규 진입은 388-390 지지 확인 또는 400 회복과 거래량 개선이 필요하며, 407.01 상향 돌파는 거래량 확장이 동반될 때만 더 높은 품질의 추가 신호다.",
        "exit_logic": "기존 보유분은 ETN이 종가 기준 388 위에 머무는 동안 핵심 노출을 유지한다. 388 하회 종가는 전술적 축소 신호로 처리하고, 10일 EMA 부근 회복 실패가 이어지면 추가 위험 축소를 검토한다. VWMA 부근 377 이탈은 단순 소화가 깊은 조정으로 바뀌는 신호이며, 50일 SMA 부근 370 이탈은 중기 추세 재평가 구간이다. 실적 발표에서 주문, 백로그, 마진, 잉여현금흐름, 데이터센터 및 중전압 수요 전환이 AI·전력망 프리미엄을 뒷받침하지 못하면 등급을 낮추거나 청산한다.",
        "position_sizing": "오늘 신규 풀사이즈 진입은 하지 않는다. ATR이 약 12.39로 높고 가격이 최근 고점에 가까우므로 확인 후에도 신규 자금은 정상 비중보다 작은 부분 시작분만 허용한다. 388-390 지지가 종가 기준으로 방어되면 제한적 STARTER가 정당화될 수 있고, 400 회복과 거래량 개선은 보통 수준의 추가 신호, 407.01 돌파와 뚜렷한 거래량 확장은 고품질 추가 신호다. 기존 보유자는 핵심 비중을 유지하되 실적 전까지 집중도를 높이지 않는다.",
        "risk_limits": "핵심 전술 위험선은 종가 기준 388이다. 388 하회 시 신규 매수 금지와 전술적 축소를 실행하고, 377 하회 시 조정 심화로 보고 370까지의 하방을 열어 둔다. 407.01 돌파가 거래량 없이 실패하면 추가 매수 금지 또는 일부 이익실현 신호로 본다. 고멀티플 산업재와 AI 인프라 서사에 대한 집중 위험을 제한하고, 실적 이벤트 전에는 정상보다 낮은 위험 예산을 유지한다.",
        "catalysts": [
          "Q1 실적에서 EPS 품질, 강한 주문, 백로그 지속성, 마진 방어, 데이터센터 전력 수요 가시성이 확인되는 경우",
          "실적 이후 Citigroup, RBC, Jefferies 등과 같은 애널리스트 지지가 단순 서사가 아니라 추정치 상향으로 이어지는 경우",
          "400 회복 후 거래량 개선, 이후 407.01 상향 돌파와 거래량 확장이 동반되는 경우",
          "전력망 현대화, 전기화, AI 인프라 지출이 ETN의 매출과 잉여현금흐름으로 전환되고 있다는 추가 증거",
          "Omaha 370,000-square-foot 시설과 2027 생산 개시 계획이 중전압 및 전력 배전 병목 해소 기대를 강화하는 경우"
        ],
        "invalidators": [
          "ETN이 종가 기준 388 아래로 내려간 뒤 10일 EMA 부근을 회복하지 못하는 경우",
          "VWMA 부근 377 또는 50일 SMA 부근 370을 이탈해 조정이 단기 소화를 넘어서는 경우",
          "Q1 가이던스나 경영진 코멘트에서 주문 성장 둔화, 백로그 약화, 마진 압박, 데이터센터 및 중전압 수요 전환 부족이 확인되는 경우",
          "AI 인프라·전력망 투자 서사가 약해지거나 금리, 인플레이션, 지정학 리스크, 위험회피 장세가 고멀티플 산업재를 압박하는 경우",
          "거래량 없는 407.01 돌파 실패로 고점 부근 매수세 부족이 드러나는 경우"
        ],
        "watchlist_triggers": [
          "388-390 지지대가 종가 기준으로 방어되고 매도 압력이 완화되는지 확인",
          "400 회복과 함께 거래량이 개선되는지 확인",
          "407.01 상향 돌파가 뚜렷한 거래량 확장과 함께 발생하는지 확인",
          "MACD 히스토그램이 안정되거나 재확대되고 RSI가 50 위를 유지하는지 확인",
          "Q1 실적 발표와 컨퍼런스콜에서 백로그, 중전압 스위치기어 수요, Omaha 생산능력 일정, 마진, 잉여현금흐름 언급 확인",
          "상대 약세가 이어지는지, 특히 395.06 부근 조정 이후 S&P 500 대비 부진이 반복되는지 확인"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "388-390 지지대가 종가 기준으로 방어되고 매도 압력이 완화되는지 확인",
        "400 회복과 함께 거래량이 개선되는지 확인",
        "407.01 상향 돌파가 뚜렷한 거래량 확장과 함께 발생하는지 확인",
        "MACD 히스토그램이 안정되거나 재확대되고 RSI가 50 위를 유지하는지 확인",
        "Q1 실적 발표와 컨퍼런스콜에서 백로그, 중전압 스위치기어 수요, Omaha 생산능력 일정, 마진, 잉여현금흐름 언급 확인",
        "상대 약세가 이어지는지, 특히 395.06 부근 조정 이후 S&P 500 대비 부진이 반복되는지 확인",
        "Q1 실적에서 EPS 품질, 강한 주문, 백로그 지속성, 마진 방어, 데이터센터 전력 수요 가시성이 확인되는 경우",
        "실적 이후 Citigroup, RBC, Jefferies 등과 같은 애널리스트 지지가 단순 서사가 아니라 추정치 상향으로 이어지는 경우",
        "400 회복 후 거래량 개선, 이후 407.01 상향 돌파와 거래량 확장이 동반되는 경우",
        "전력망 현대화, 전기화, AI 인프라 지출이 ETN의 매출과 잉여현금흐름으로 전환되고 있다는 추가 증거",
        "Omaha 370,000-square-foot 시설과 2027 생산 개시 계획이 중전압 및 전력 배전 병목 해소 기대를 강화하는 경우",
        "ETN이 종가 기준 388 아래로 내려간 뒤 10일 EMA 부근을 회복하지 못하는 경우",
        "VWMA 부근 377 또는 50일 SMA 부근 370을 이탈해 조정이 단기 소화를 넘어서는 경우",
        "Q1 가이던스나 경영진 코멘트에서 주문 성장 둔화, 백로그 약화, 마진 압박, 데이터센터 및 중전압 수요 전환 부족이 확인되는 경우",
        "AI 인프라·전력망 투자 서사가 약해지거나 금리, 인플레이션, 지정학 리스크, 위험회피 장세가 고멀티플 산업재를 압박하는 경우",
        "거래량 없는 407.01 돌파 실패로 고점 부근 매수세 부족이 드러나는 경우"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, deleveraging, AI/data-center power infrastructure exposure, and analyst target-price support. Timing is not yet actionable because the plan explicitly says WAIT, avoids chasing near recent highs, and requires support defense at 388-390 or a reclaim of 400/407.01 with stronger volume before adding.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.62,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, deleveraging, AI/data-center power infrastructure exposure, and analyst target-price support. Timing is not yet actionable because the plan explicitly says WAIT, avoids chasing near recent highs, and requires support defense at 388-390 or a reclaim of 400/407.01 with stronger volume before adding."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "held_position_core_hold",
        "entry_wait_required",
        "breakout_confirmation_needed",
        "support_confirmation_needed",
        "volume_confirmation_missing",
        "near_high_valuation_risk",
        "momentum_cooling",
        "earnings_event_pending",
        "risk_levels_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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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": "ETN",
      "canonical_ticker": "ETN",
      "display_name": "ETN"
    },
    {
      "snapshot_id": "20260418T003827_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.62,
        "time_horizon": "medium",
        "entry_logic": "FANG의 중기 배분 관점은 우호적으로 유지한다. 공격적 분석가가 강조한 것처럼 50일 SMA 181.32와 200일 SMA 153.63이 상승 중이고, Permian 저비용 자산, Double Eagle 통합, 2025년 4분기 Normalized EBITDA 25.35억 달러, Operating Cash Flow 23.43억 달러, Free Cash Flow 8.73억 달러는 본업 현금창출력이 유지되고 있음을 뒷받침한다. 다만 보수적·중립적 분석가가 지적한 대로 현재 가격은 10일 EMA 188.78과 VWAP 191.89 아래에 있고, RSI 48.66, MACD 히스토그램 -1.88, 2026-04-08 저점 175.14, 2026-04-14 고거래량 약세가 아직 매수세 회복을 확인하지 못하게 한다. 따라서 오늘 즉시 매수하지 않고 WAIT한다. 신규 스타터는 192 위 일봉 종가와 평균 이상 거래량, RSI 50 회복이 동반되거나, 181-182 지지 테스트가 성공하고 고거래량 추가 하락 없이 RSI가 50 근처로 회복될 때에만 정당화된다.",
        "exit_logic": "신규 전술 포지션은 진입 후 FANG가 181 아래로 일봉 종가를 내면 부분 축소 또는 전면 재검토를 기본 행동으로 삼는다. 175.14 이탈은 정상 변동성 범위를 넘어선 기술적 실패로 보고 주요 비중 축소 또는 전술 포지션 청산을 실행한다. 중기 OVERWEIGHT 판단은 다음 실적에서 2025년 4분기 비경상 손실이 반복되거나, EBITDA와 Free Cash Flow 품질이 악화되거나, 유가의 지정학 프리미엄이 급격히 사라지거나, 부채 감축과 주주환원 균형이 훼손될 경우 낮춘다.",
        "position_sizing": "확인 전 신규 자금 투입은 하지 않는다. 192 돌파가 강한 종가와 거래량으로 확인되고 RSI 50 회복이 동반되면 표준 단일 종목 비중의 약 33-50% 스타터가 가능하다. 돌파 당일 종가 위치나 거래량이 약하면 25-33%로 낮춘다. 181-182 지지 반전형 진입은 실패 위험이 더 크므로 25-33% 스타터로 제한한다. 기존 보유자는 핵심 비중은 유지할 수 있지만 192 아래에서는 추격 추가매수를 피하고, 추가 비중은 확인 신호 이후 단계적으로만 집행한다.",
        "risk_limits": "ATR 6.47 수준의 높은 변동성을 반영해 평균 단가를 낮추기 위한 무조건적 물타기를 금지한다. 181 아래 일봉 종가는 신규 진입 보류와 기존 전술 비중 축소 신호로 취급한다. 175.14 이탈은 하드 리스크 마커다. Current Ratio 0.416, Working Capital -26.85억 달러, Net Debt 143.85억 달러, 내부자 및 대주주 매도 부담을 고려해 FANG와 전체 에너지·원자재 사이클 노출을 포트폴리오 한도 안에 둔다.",
        "catalysts": [
          "FANG가 192 위로 일봉 종가를 만들고 평균 이상 거래량을 동반하면 VWAP 191.89 회복과 매수세 복귀가 확인되어 197-202 및 204 재시험 가능성이 열린다.",
          "181-182 지지 테스트가 성공하고 RSI가 50을 회복하면 과열 해소 이후 손익비가 개선된 반전형 스타터 진입이 가능하다.",
          "WTI가 90-95 이상, Brent가 100 부근을 유지하면 FANG의 원유 레버리지가 현금흐름 기대를 지지한다.",
          "Permian 저비용 생산, Double Eagle 통합 효과, 시추 효율성이 Forward EPS 16.26과 Forward PE 11.48에 반영된 정상화 기대를 뒷받침한다.",
          "UBS 목표가 246, JPMorgan 목표가 228, 평균 목표가 203.95 등 최근 목표가 상향 흐름과 부채 감축, tender offer, 배당 및 자사주 매입이 투자심리를 지지한다."
        ],
        "invalidators": [
          "FANG가 181 아래로 일봉 종가를 낸 뒤 50일 SMA 181.32를 회복하지 못하는 경우.",
          "2026-04-08 저점 175.14를 이탈해 조정이 정상 변동성 범위를 넘어 확장되는 경우.",
          "호르무즈, 이란, 중동 리스크 완화나 수요 둔화, 정책적 공급 압박으로 WTI와 Brent가 지정학 프리미엄을 빠르게 반납하는 경우.",
          "다음 실적에서 2025년 4분기 Total Unusual Items -33.53억 달러와 Special Income Charges -35.25억 달러 성격의 손실이 반복되거나 Normalized EBITDA와 Free Cash Flow 품질이 훼손되는 경우.",
          "SGF FANG HOLDINGS, LP 및 경영진 매도처럼 대규모 내부자·스폰서 매도가 계속되어 기관 수요를 압도하는 경우."
        ],
        "watchlist_triggers": [
          "188.78 위 종가 회복은 초기 수리 신호이며, 191.89-192 위 종가와 거래량 확인이 실제 진입 트리거다.",
          "RSI 50 회복과 MACD 히스토그램의 음수 축소가 동시에 나타나는지 확인한다.",
          "181-182 지지 테스트에서 고거래량 추가 하락이 나오지 않는지 확인한다.",
          "WTI가 90-95 이상을 유지하는지, 또는 지정학 프리미엄 해소로 급락하는지 추적한다.",
          "다음 회사 발표에서 capex, 생산, hedge 영향, Free Cash Flow, Net Debt, 배당과 자사주 매입 균형을 확인한다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "188.78 위 종가 회복은 초기 수리 신호이며, 191.89-192 위 종가와 거래량 확인이 실제 진입 트리거다.",
        "RSI 50 회복과 MACD 히스토그램의 음수 축소가 동시에 나타나는지 확인한다.",
        "181-182 지지 테스트에서 고거래량 추가 하락이 나오지 않는지 확인한다.",
        "WTI가 90-95 이상을 유지하는지, 또는 지정학 프리미엄 해소로 급락하는지 추적한다.",
        "다음 회사 발표에서 capex, 생산, hedge 영향, Free Cash Flow, Net Debt, 배당과 자사주 매입 균형을 확인한다.",
        "FANG가 192 위로 일봉 종가를 만들고 평균 이상 거래량을 동반하면 VWAP 191.89 회복과 매수세 복귀가 확인되어 197-202 및 204 재시험 가능성이 열린다.",
        "181-182 지지 테스트가 성공하고 RSI가 50을 회복하면 과열 해소 이후 손익비가 개선된 반전형 스타터 진입이 가능하다.",
        "WTI가 90-95 이상, Brent가 100 부근을 유지하면 FANG의 원유 레버리지가 현금흐름 기대를 지지한다.",
        "Permian 저비용 생산, Double Eagle 통합 효과, 시추 효율성이 Forward EPS 16.26과 Forward PE 11.48에 반영된 정상화 기대를 뒷받침한다.",
        "UBS 목표가 246, JPMorgan 목표가 228, 평균 목표가 203.95 등 최근 목표가 상향 흐름과 부채 감축, tender offer, 배당 및 자사주 매입이 투자심리를 지지한다.",
        "FANG가 181 아래로 일봉 종가를 낸 뒤 50일 SMA 181.32를 회복하지 못하는 경우.",
        "2026-04-08 저점 175.14를 이탈해 조정이 정상 변동성 범위를 넘어 확장되는 경우.",
        "호르무즈, 이란, 중동 리스크 완화나 수요 둔화, 정책적 공급 압박으로 WTI와 Brent가 지정학 프리미엄을 빠르게 반납하는 경우.",
        "다음 실적에서 2025년 4분기 Total Unusual Items -33.53억 달러와 Special Income Charges -35.25억 달러 성격의 손실이 반복되거나 Normalized EBITDA와 Free Cash Flow 품질이 훼손되는 경우.",
        "SGF FANG HOLDINGS, LP 및 경영진 매도처럼 대규모 내부자·스폰서 매도가 계속되어 기관 수요를 압도하는 경우."
      ],
      "confidence": 0.62,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "FANG has a constructive medium-term overweight thesis supported by Permian scale, cash flow, debt reduction, shareholder returns, oil leverage, and analyst target support, but timing is not yet actionable. Current price remains below key near-term confirmation levels around the 10-day EMA/VWAP and 191.9-192, RSI is still below 50, MACD momentum is negative, and recent high-volume weakness argues for waiting. A starter position is only justified after a confirmed close above 192 with above-average volume and RSI recovery, or a successful 181-182 support test with improving momentum.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "FANG has a constructive medium-term overweight thesis supported by Permian scale, cash flow, debt reduction, shareholder returns, oil leverage, and analyst target support, but timing is not yet actionable. Current price remains below key near-term confirmation levels around the 10-day EMA/VWAP and 191.9-192, RSI is still below 50, MACD momentum is negative, and recent high-volume weakness argues for waiting. A starter position is only justified after a confirmed close above 192 with above-average volume and RSI recovery, or a successful 181-182 support test with improving momentum."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "momentum_below_confirmation",
        "support_test_pending",
        "high_volume_weakness_risk",
        "risk_levels_defined"
      ],
      "review_required": false,
      "score_now": -0.03563333119999998,
      "score_triggered": 0.18591667200000003,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0
      },
      "broker_symbol": "FANG",
      "canonical_ticker": "FANG",
      "display_name": "FANG"
    },
    {
      "snapshot_id": "20260418T003827_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.68,
        "time_horizon": "medium",
        "entry_logic": "GEV의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가와 중립 분석가가 공통으로 지적했듯이 전력망, 가스터빈, AI 데이터센터 전력 수요, 에너지 전환 수요가 살아 있고, 2025년 영업이익이 4,300만 달러에서 6억200만 달러로, 정상화 EBITDA가 2억2,500만 달러에서 7억1,900만 달러로 개선된 점은 투자 가능성을 뒷받침한다. 기술적으로도 50일선 861.52와 200일선 678.18이 상승 중이고 가격이 10일 EMA 956.79 위에 있어 추세는 유효하다. 다만 보수적 분석가와 중립 분석가가 강조한 대로 주가가 985-1007 저항대에 근접했고, MACD 히스토그램이 10.05에서 6.72로 둔화됐으며, RSI가 69.39에서 65.86으로 식은 상태라 오늘 즉시 추격 매수는 부적절하다. 신규 진입은 1007.38 위 종가 돌파와 최근 1.4M-2.3M주 범위를 웃도는 거래량이 확인되거나, 956-960 눌림에서 10일 EMA를 지키고 RSI가 60 부근 이상을 유지하며 bullish reversal이 나올 때로 제한한다. 920 부근은 더 깊은 관찰 매수 후보이나, 안정화가 확인될 때만 starter가 정당화된다.",
        "exit_logic": "956-960 구간을 종가로 이탈하고 빠르게 회복하지 못하면 전술 비중을 줄인다. 920 VWMA 부근을 상승 거래량과 함께 결정적으로 이탈하면 단기 추세 포지션은 종료한다. 920 이탈 후에는 중립 분석가가 지적한 50일선 861.52까지 평균회귀 위험을 열어둔다. 중기 보유분은 Vineyard Wind 관련 책임 범위가 확대되거나, 다음 실적에서 마진 확장, 정상화 EBITDA, 잉여현금흐름의 질, 백로그 실행이 약화되면 재평가한다.",
        "position_sizing": "오늘은 신규 매수하지 않는다. 조건이 충족되면 목표 GEV 비중의 1/3 starter로 시작하고, 956-960 지지 반등이 선명하면 최대 1/2 starter까지 허용한다. ATR 36.65가 주가의 약 3.7%로 변동성이 크고, 후행 P/E 55배, 선행 P/E 약 43배, P/B 23.6배로 밸류에이션 여유가 작으므로 초기 비중은 작게 유지한다. 추가 매수는 돌파 후 재시험 성공, 후속 거래량 증가, 또는 지지선 방어와 모멘텀 회복이 확인된 뒤에만 한다.",
        "risk_limits": "1007.38 돌파가 저거래량이거나 장중 돌파 후 종가 유지에 실패하면 추격하지 않는다. 신규 진입 시 손절 기준은 최소 1.0 ATR, 변동성을 감내할 수 있는 계정은 1.2-1.5 ATR로 설정한다. 960 부근 진입은 923-920을 핵심 전술 위험선으로 둔다. Vineyard Wind, 법적 업데이트, 실적 발표 전에는 위험을 줄였거나 포지션 크기가 제한적일 때만 노출을 유지한다. 기존 비중이 이미 과도한 OVERWEIGHT라면 1007 부근 실패나 956-960 이탈 시 일부 이익 실현을 우선한다.",
        "catalysts": [
          "1007.38 위 종가 돌파와 최근 1.4M-2.3M주 범위를 웃도는 거래량 동반으로 GEV의 상승 모멘텀이 재확인되는 경우.",
          "전력망 현대화, 가스터빈, AI 데이터센터 전력 수요, 산업 전력 인프라 수요가 지속되는 경우.",
          "영업이익, 정상화 EBITDA, 잉여현금흐름 개선이 운전자본 효과가 아니라 반복 가능한 수익성 개선으로 확인되는 경우.",
          "Goldman Sachs의 1,000달러 목표가 상향 같은 긍정적 애널리스트 흐름이나 기관 수요가 실적 추정치 상향과 함께 이어지는 경우.",
          "Vineyard Wind 분쟁에서 책임 범위가 제한되거나 8억5,300만 달러 비용 및 3억800만 달러 지급 보류 관련 불확실성이 완화되는 경우."
        ],
        "invalidators": [
          "GEV가 956-960 10일 EMA 구간을 지키지 못하고 종가 기준으로 빠르게 회복하지 못하는 경우.",
          "920 VWMA 부근을 상승 거래량과 함께 결정적으로 이탈하는 경우.",
          "Vineyard Wind 관련 68개 블레이드 결함 주장이 품질, 보증, 고객 관계, 해상풍력 마진 리스크로 확대되는 경우.",
          "다음 실적이나 가이던스에서 마진 확장 부진, 낮은 품질의 현금흐름, 백로그 실행 문제, 운전자본 반전이 확인되는 경우.",
          "후행 P/E 55배와 선행 P/E 약 43배를 정당화할 성장 기대가 약해지며 밸류에이션 압축이 가속되는 경우."
        ],
        "watchlist_triggers": [
          "GEV가 1007.38 위에서 종가를 형성하고 거래량이 최근 1.4M-2.3M주 범위를 초과하는지 확인한다.",
          "956-960 눌림에서 10일 EMA를 방어하고 RSI가 60 부근 이상을 유지하며 bullish reversal이 나오는지 확인한다.",
          "920 VWMA 테스트 시 고거래량 붕괴가 아니라 안정화와 매수 반응이 나오는지 확인한다.",
          "Vineyard Wind 소송, 블레이드 결함 책임, 합의 비용, 지급 보류 관련 업데이트를 추적한다.",
          "다음 분기 마진, 정상화 EBITDA, 잉여현금흐름, 이연수익, 재고, 매출채권 추세를 확인한다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "GEV가 1007.38 위에서 종가를 형성하고 거래량이 최근 1.4M-2.3M주 범위를 초과하는지 확인한다.",
        "956-960 눌림에서 10일 EMA를 방어하고 RSI가 60 부근 이상을 유지하며 bullish reversal이 나오는지 확인한다.",
        "920 VWMA 테스트 시 고거래량 붕괴가 아니라 안정화와 매수 반응이 나오는지 확인한다.",
        "Vineyard Wind 소송, 블레이드 결함 책임, 합의 비용, 지급 보류 관련 업데이트를 추적한다.",
        "다음 분기 마진, 정상화 EBITDA, 잉여현금흐름, 이연수익, 재고, 매출채권 추세를 확인한다.",
        "1007.38 위 종가 돌파와 최근 1.4M-2.3M주 범위를 웃도는 거래량 동반으로 GEV의 상승 모멘텀이 재확인되는 경우.",
        "전력망 현대화, 가스터빈, AI 데이터센터 전력 수요, 산업 전력 인프라 수요가 지속되는 경우.",
        "영업이익, 정상화 EBITDA, 잉여현금흐름 개선이 운전자본 효과가 아니라 반복 가능한 수익성 개선으로 확인되는 경우.",
        "Goldman Sachs의 1,000달러 목표가 상향 같은 긍정적 애널리스트 흐름이나 기관 수요가 실적 추정치 상향과 함께 이어지는 경우.",
        "Vineyard Wind 분쟁에서 책임 범위가 제한되거나 8억5,300만 달러 비용 및 3억800만 달러 지급 보류 관련 불확실성이 완화되는 경우.",
        "GEV가 956-960 10일 EMA 구간을 지키지 못하고 종가 기준으로 빠르게 회복하지 못하는 경우.",
        "920 VWMA 부근을 상승 거래량과 함께 결정적으로 이탈하는 경우.",
        "Vineyard Wind 관련 68개 블레이드 결함 주장이 품질, 보증, 고객 관계, 해상풍력 마진 리스크로 확대되는 경우.",
        "다음 실적이나 가이던스에서 마진 확장 부진, 낮은 품질의 현금흐름, 백로그 실행 문제, 운전자본 반전이 확인되는 경우.",
        "후행 P/E 55배와 선행 P/E 약 43배를 정당화할 성장 기대가 약해지며 밸류에이션 압축이 가속되는 경우."
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "GEV has a constructive medium-term thesis supported by power demand, grid modernization, gas turbine exposure, improving profitability, and an intact rising technical trend. Timing is not actionable now because the stock is near 985-1007 resistance, momentum has cooled, intraday confirmation is unavailable, and the plan explicitly calls for waiting for either a volume-supported close above 1007.38 or a controlled support/reversal setup near 956-960 or 920.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.36,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "GEV has a constructive medium-term thesis supported by power demand, grid modernization, gas turbine exposure, improving profitability, and an intact rising technical trend. Timing is not actionable now because the stock is near 985-1007 resistance, momentum has cooled, intraday confirmation is unavailable, and the plan explicitly calls for waiting for either a volume-supported close above 1007.38 or a controlled support/reversal setup near 956-960 or 920."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.36,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "near_resistance",
        "momentum_cooling",
        "volume_breakout_required",
        "support_reversal_alternative",
        "valuation_risk",
        "legal_liability_risk"
      ],
      "review_required": false,
      "score_now": -0.030191283200000002,
      "score_triggered": 0.199521792,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.132,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "funding_source_score": 0.0
      },
      "broker_symbol": "GEV",
      "canonical_ticker": "GEV",
      "display_name": "GEV"
    },
    {
      "snapshot_id": "20260418T003827_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": 851575,
      "quantity": 6.0,
      "available_qty": 6.0,
      "sector": null,
      "structured_decision": null,
      "data_coverage": {
        "company_news_count": 0,
        "disclosures_count": 0,
        "social_source": "unavailable",
        "macro_items_count": 0
      },
      "quality_flags": [
        "missing_analysis_for_held_position"
      ],
      "vendor_health": {
        "vendor_calls": {},
        "fallback_count": 0
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [],
      "confidence": 0.3,
      "stance": "NEUTRAL",
      "entry_action": "WAIT",
      "setup_quality": "WEAK",
      "rationale": "Held GLDM position has no current run analysis, no portfolio decision, no investment plan, and no defined trigger conditions. Existing HOLD/WAIT interpretation is rule-only and not actionable, so this should remain a watch-only or manual-review item rather than a timing-ready action.",
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "unknown",
        "trigger_quality": 0.0,
        "entry_readiness": 0.0,
        "thesis_state": "low_quality",
        "semantic_summary": "Held GLDM position has no current run analysis, no portfolio decision, no investment plan, and no defined trigger conditions. Existing HOLD/WAIT interpretation is rule-only and not actionable, so this should remain a watch-only or manual-review item rather than a timing-ready action."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "neutral_hold_watch"
      ],
      "review_required": true,
      "score_now": -0.006379075,
      "score_triggered": 0.0,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.5700000000000001,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614
      },
      "broker_symbol": "GLDM",
      "canonical_ticker": "GLDM",
      "display_name": "GLDM"
    },
    {
      "snapshot_id": "20260418T003827_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": 5490029,
      "quantity": 11.0,
      "available_qty": 11.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "GOOGL에 대한 중기 배분 관점은 조건부로 긍정적이다. 공격적 분석가는 274.34에서 337.12까지의 강한 회복, 10 EMA 320.61·50 SMA 307.60·200 SMA 271.40 상회, MACD의 -1.63에서 7.47로의 빠른 전환, TTM 매출 402.8B·순이익 132.2B·순이익률 32.8%·최근 분기 영업현금흐름 52.4B·자유현금흐름 24.6B를 근거로 재평가 가능성을 강조했다. 그러나 보수적 및 중립적 분석이 지적한 RSI 70.19, ATR 8.29, 274.34에서 mid-330s까지의 빠른 반등, 31배 TTM PER, 실적 및 AI capex 가이던스 리스크를 감안하면 오늘 추격 진입은 정당화되지 않는다. 즉 방향성은 BULLISH이나 즉시 행동은 WAIT이다. 신규 또는 추가 진입은 317.24-321.31 지지 확인 및 10 EMA 320.61 회복, 또는 337.12를 거래량 증가와 함께 종가 기준 돌파할 때만 허용한다. 조건 충족 시에는 소규모 starter가 정당화될 수 있지만, 현재는 full-size 진입 구간이 아니다.",
        "exit_logic": "진입 후 GOOGL이 10 EMA 320.61을 종가 기준으로 결정적으로 이탈하면 전술 포지션을 축소하거나 청산한다. 50 SMA 307.60 하향 이탈은 단순 변동성이 아니라 4월 반등 실패 가능성으로 보고 중기 OVERWEIGHT 관점을 재평가한다. Q1에서 광고, YouTube, Google Cloud 모멘텀이 둔화되고 동시에 capex 가이던스 상승, 감가상각 부담, 자유현금흐름 마진 압박이 확인되면 기술적 지지가 남아 있어도 bullish allocation view를 낮춘다. 반복적인 337.12 돌파 실패와 약한 거래량도 노출 축소 근거다.",
        "position_sizing": "실적 전에는 정상 비중이 아니라 제한적이고 단계적인 비중만 사용한다. 317.24-321.31 지지 반등 또는 337.12 거래량 동반 돌파가 확인되면 정상 목표 비중의 일부로 시작하고, 가격이 해당 지지 또는 돌파 구간 위에서 유지되며 거래량이 확대될 때만 추가한다. Q1에서 광고, YouTube, Cloud 성장과 capex 효율성, Cloud 마진, 자유현금흐름 전환이 확인되면 다음 단계 증액을 검토한다. ATR 8.29를 감안해 너무 촘촘한 손절은 피하되, 320.61과 307.60은 리스크 축소 기준으로 엄격히 적용한다.",
        "risk_limits": "단일 종목 리스크는 중간 이하로 제한한다. 보수적 분석이 지적한 31배 TTM PER, 약 25배 선행 PER, PBR 9.78, 최근 분기 capex -27.851B 및 전년 동기 -14.276B 대비 증가, 연간 AI 인프라 투자 기대 175-185B 범위는 좋은 회사라도 나쁜 진입 가격이 될 수 있는 위험을 만든다. 실적 전 full-size 노출은 피하고, 50 SMA 307.60 아래에서는 새 근본적 확인 없이 평균단가를 낮추지 않는다. AI 검색 신뢰도 15%, Nest 소송, 규제·반독점·소비자 신뢰 이슈는 핵심 검색 사용량, 광고 품질, 브랜드 신뢰에 영향을 줄 수 있으므로 이벤트 리스크로 관리한다.",
        "catalysts": [
          "Q1에서 광고, YouTube, Google Cloud 성장세가 유지되고 자유현금흐름 마진이 방어되는 경우",
          "AI capex 가이던스가 매출 성장, Cloud 수요, 수익화 가능성과 연결되어 있고 감가상각 부담이 통제 가능하다는 점이 확인되는 경우",
          "NiSource 전력 계약, NetApp 4년 Google Cloud 협력, Gray Media AI 스트리밍 배포와 유사한 기업·공공·주권 클라우드 수요 증거가 추가되는 경우",
          "337.12를 거래량 증가와 함께 종가 기준 돌파하고 348.75 재시험 경로가 열리는 경우",
          "RSI가 과열권에서 식는 동안 가격이 10 EMA 320.61 위를 유지하고 MACD histogram이 재가속하는 경우",
          "금리 하락 또는 위험 선호 개선으로 고품질 초대형 성장주에 대한 수요가 회복되는 경우"
        ],
        "invalidators": [
          "capex 가이던스가 매출 성장보다 빠르게 확대되고 마진 또는 자유현금흐름 압박이 뚜렷해지는 경우",
          "Google Cloud 성장률, Cloud 마진, AI 수익화가 높아진 인프라 투자에도 실망스러운 경우",
          "GOOGL이 320.61을 잃고 이어 307.60도 하향 이탈해 4월 반등 실패 신호를 보이는 경우",
          "AI 검색 신뢰, 광고 품질, 핵심 검색 사용량, 브랜드 신뢰가 규제·소송·제품 신뢰 문제로 훼손되는 경우",
          "337.12 위 돌파 시도가 반복적으로 약한 거래량에 실패하는 경우",
          "Q1에서 광고 또는 YouTube 모멘텀이 둔화되고 capex 효율성에 대한 설명이 부족한 경우"
        ],
        "watchlist_triggers": [
          "317.24-321.31 구간에서 매수세가 확인되고 가격이 10 EMA 320.61을 회복하거나 유지하는지",
          "337.12 위 일간 종가와 최근 대비 거래량 증가가 동시에 나타나는지",
          "348.75 이전 고점 재시험 과정에서 거래량과 MACD histogram이 동반 개선되는지",
          "Q1 실적 발표에서 AI capex, 감가상각, Cloud 마진, 자유현금흐름 전환에 대한 경영진 설명이 명확한지",
          "RSI 70.19 부근의 과열이 가격 붕괴 없이 완화되는지",
          "연간 AI 인프라 투자 기대 175-185B 범위에 대한 업데이트가 투자 효율성 우려를 낮추는지",
          "AI 검색 신뢰도, 규제, 반독점, Nest 관련 소비자 신뢰 이슈가 핵심 검색 또는 광고 사업에 영향을 주기 시작하는지"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "317.24-321.31 구간에서 매수세가 확인되고 가격이 10 EMA 320.61을 회복하거나 유지하는지",
        "337.12 위 일간 종가와 최근 대비 거래량 증가가 동시에 나타나는지",
        "348.75 이전 고점 재시험 과정에서 거래량과 MACD histogram이 동반 개선되는지",
        "Q1 실적 발표에서 AI capex, 감가상각, Cloud 마진, 자유현금흐름 전환에 대한 경영진 설명이 명확한지",
        "RSI 70.19 부근의 과열이 가격 붕괴 없이 완화되는지",
        "연간 AI 인프라 투자 기대 175-185B 범위에 대한 업데이트가 투자 효율성 우려를 낮추는지",
        "AI 검색 신뢰도, 규제, 반독점, Nest 관련 소비자 신뢰 이슈가 핵심 검색 또는 광고 사업에 영향을 주기 시작하는지",
        "Q1에서 광고, YouTube, Google Cloud 성장세가 유지되고 자유현금흐름 마진이 방어되는 경우",
        "AI capex 가이던스가 매출 성장, Cloud 수요, 수익화 가능성과 연결되어 있고 감가상각 부담이 통제 가능하다는 점이 확인되는 경우",
        "NiSource 전력 계약, NetApp 4년 Google Cloud 협력, Gray Media AI 스트리밍 배포와 유사한 기업·공공·주권 클라우드 수요 증거가 추가되는 경우",
        "337.12를 거래량 증가와 함께 종가 기준 돌파하고 348.75 재시험 경로가 열리는 경우",
        "RSI가 과열권에서 식는 동안 가격이 10 EMA 320.61 위를 유지하고 MACD histogram이 재가속하는 경우",
        "금리 하락 또는 위험 선호 개선으로 고품질 초대형 성장주에 대한 수요가 회복되는 경우",
        "capex 가이던스가 매출 성장보다 빠르게 확대되고 마진 또는 자유현금흐름 압박이 뚜렷해지는 경우",
        "Google Cloud 성장률, Cloud 마진, AI 수익화가 높아진 인프라 투자에도 실망스러운 경우",
        "GOOGL이 320.61을 잃고 이어 307.60도 하향 이탈해 4월 반등 실패 신호를 보이는 경우",
        "AI 검색 신뢰, 광고 품질, 핵심 검색 사용량, 브랜드 신뢰가 규제·소송·제품 신뢰 문제로 훼손되는 경우",
        "337.12 위 돌파 시도가 반복적으로 약한 거래량에 실패하는 경우",
        "Q1에서 광고 또는 YouTube 모멘텀이 둔화되고 capex 효율성에 대한 설명이 부족한 경우"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "GOOGL has a constructive medium-term overweight thesis supported by strong profitability, cash generation, price above key moving averages, and improving MACD, but the action is still WAIT/HOLD because the setup is developing rather than confirmed. Additional exposure should wait for support confirmation around 317.24-321.31 with 10 EMA 320.61 held or reclaimed, or a volume-backed daily close above 337.12. Elevated RSI, recent rapid rally, high ATR, valuation, and upcoming earnings/AI capex guidance keep timing below actionable readiness.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2776,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "GOOGL has a constructive medium-term overweight thesis supported by strong profitability, cash generation, price above key moving averages, and improving MACD, but the action is still WAIT/HOLD because the setup is developing rather than confirmed. Additional exposure should wait for support confirmation around 317.24-321.31 with 10 EMA 320.61 held or reclaimed, or a volume-backed daily close above 337.12. Elevated RSI, recent rapid rally, high ATR, valuation, and upcoming earnings/AI capex guidance keep timing below actionable readiness."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "developing_setup",
        "breakout_or_support_confirmation_needed",
        "overbought_rsi",
        "earnings_capex_event_risk",
        "valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false,
      "score_now": 0.08113610240000003,
      "score_triggered": 0.22784025600000002,
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2776
      },
      "broker_symbol": "GOOGL",
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL"
    },
    {
      "snapshot_id": "20260418T003827_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": 519165,
      "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": "LHX의 중기 투자 관점은 유지한다. 공격적 분석가는 Virginia 고체 로켓 모터 증설, 보고된 $1B 정부 지원, 미사일 재고 보충과 hypersonics 수요, 최근 $1.804B 자유현금흐름, 순부채 $11.383B에서 $10.047B로 감소를 근거로 구조적 방산 수혜를 강조했다. 중립 분석가도 이 촉매들이 실질적이며 200일 이동평균 약 304 위에서 장기 구조가 훼손되지 않았다고 평가했다. 다만 보수적 분석가와 중립 분석가 모두 현재 가격이 340-365 박스권 중간, 50일 이동평균 약 354.6 부근, RSI 48.79, MACD 0.28로 모멘텀이 확정되지 않았다고 지적했다. 따라서 오늘 즉시 매수하지 않고 WAIT한다. 신규 진입은 365 위 일간 종가와 최근 1.0M-1.4M 주 거래량을 뚜렷하게 넘는 거래량이 동반되거나, 343-346 조정에서 340을 지키고 RSI가 40 부근에서 안정되며 반전 거래량이 개선될 때 starter로만 정당화된다.",
        "exit_logic": "신규 전술 포지션은 LHX가 340 아래 일간 종가를 내면 현재 박스권 하단 이탈로 보고 축소 또는 청산한다. 365 돌파 진입의 경우 돌파 실패 후 354 아래 종가가 나오면 50일 이동평균과 VWMA 부근의 균형 회복 실패로 판단해 줄이거나 청산한다. 중기 논리는 다음 실적에서 영업마진 회복이 확인되지 않거나, $1.804B 자유현금흐름 중 약 $1.201B가 운전자본 기여였다는 우려가 반복 가능성 결여로 드러나거나, CAPEX 지연과 비용 초과, 인증 병목, 수주 전환 약화가 나타나면 하향한다.",
        "position_sizing": "기존 보유자는 OVERWEIGHT 노출을 유지할 수 있지만 340-365 박스권 중간에서는 추가 매수를 피한다. 신규 자금은 확인 신호 후에도 full position보다 작은 starter로 시작한다. ATR 약 8.8로 일간 변동 위험이 크고 trailing P/E 약 41.5, forward P/E 약 26으로 회복 기대가 이미 상당 부분 반영되어 있어 실망 허용 폭이 좁다. 추가 매수는 365 돌파 후 지지 재확인, 또는 실적에서 마진 회복, 반복 가능한 자유현금흐름, 추가 부채 축소가 확인될 때로 제한한다.",
        "risk_limits": "340 일간 종가를 핵심 기술적 손절 기준으로 둔다. 365 돌파 매수는 354 아래 종가를 실패 기준으로 삼아 더 빠르게 축소한다. 실적, 방산 예산, 정책, 계약, 생산 증설 관련 뉴스 전후에는 갭 위험이 기술적 손절을 무력화할 수 있으므로 포지션을 보수적으로 유지한다. 밸류에이션이 추가 확장되는데 EPS, 마진, 현금흐름 개선이 뒤따르지 않으면 OVERWEIGHT 유지 근거를 재평가한다.",
        "catalysts": [
          "$1.27B-$1.3B Virginia 고체 로켓 모터 증설과 Patriot, Tomahawk, hypersonics, 우주 발사 수요 연결",
          "방산 산업 기반 확대를 지원하는 것으로 보고된 $1B 미국 정부 commitment",
          "잠재적 $465M 미국 육군 차세대 야간투시 프로그램 선정 가능성",
          "순부채가 $11.383B에서 $10.047B로 감소하고 최근 분기 자유현금흐름이 $1.804B로 개선된 점",
          "지속적인 방산 예산, 미사일 재고 보충, 지정학적 수요 narrative"
        ],
        "invalidators": [
          "340 아래 일간 종가로 340-365 박스권 하단 이탈",
          "최근 약 6.7%까지 하락한 영업마진의 회복 실패",
          "최근 자유현금흐름 강세가 대부분 비반복 운전자본 timing으로 확인되는 경우",
          "로켓 모터 증설에서 CAPEX 지연, 비용 초과, 인증 병목, 노동 제약, 약한 수주 전환 발생",
          "52주 고점 부근에서 추가 내부자 매도 또는 EPS와 마진 확인 없는 밸류에이션 압축"
        ],
        "watchlist_triggers": [
          "365 위 일간 종가와 최근 1.0M-1.4M 주 범위를 뚜렷하게 넘는 거래량",
          "RSI 55 상회, MACD 재가속, 가격의 VWMA 상회가 함께 나타나는 경우",
          "343-346 조정에서 340을 지키고 개선된 거래량으로 반전하는 경우",
          "다음 실적에서 마진 회복, 반복 가능한 자유현금흐름, 지속적 부채 감소 확인",
          "Virginia 로켓 모터 증설의 funding, 생산 일정, 고객 수요 전환 확인"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "365 위 일간 종가와 최근 1.0M-1.4M 주 범위를 뚜렷하게 넘는 거래량",
        "RSI 55 상회, MACD 재가속, 가격의 VWMA 상회가 함께 나타나는 경우",
        "343-346 조정에서 340을 지키고 개선된 거래량으로 반전하는 경우",
        "다음 실적에서 마진 회복, 반복 가능한 자유현금흐름, 지속적 부채 감소 확인",
        "Virginia 로켓 모터 증설의 funding, 생산 일정, 고객 수요 전환 확인",
        "$1.27B-$1.3B Virginia 고체 로켓 모터 증설과 Patriot, Tomahawk, hypersonics, 우주 발사 수요 연결",
        "방산 산업 기반 확대를 지원하는 것으로 보고된 $1B 미국 정부 commitment",
        "잠재적 $465M 미국 육군 차세대 야간투시 프로그램 선정 가능성",
        "순부채가 $11.383B에서 $10.047B로 감소하고 최근 분기 자유현금흐름이 $1.804B로 개선된 점",
        "지속적인 방산 예산, 미사일 재고 보충, 지정학적 수요 narrative",
        "340 아래 일간 종가로 340-365 박스권 하단 이탈",
        "최근 약 6.7%까지 하락한 영업마진의 회복 실패",
        "최근 자유현금흐름 강세가 대부분 비반복 운전자본 timing으로 확인되는 경우",
        "로켓 모터 증설에서 CAPEX 지연, 비용 초과, 인증 병목, 노동 제약, 약한 수주 전환 발생",
        "52주 고점 부근에서 추가 내부자 매도 또는 EPS와 마진 확인 없는 밸류에이션 압축"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LHX has a constructive medium-term defense thesis supported by rocket motor expansion, government funding narrative, missile and hypersonics demand, strong reported free cash flow, and debt reduction. However, current timing is not actionable because price remains mid-range between 340 and 365, momentum is neutral, and the plan explicitly says WAIT/HOLD until a confirmed breakout above 365 with strong volume or a controlled pullback holding above 340.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2832,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LHX has a constructive medium-term defense thesis supported by rocket motor expansion, government funding narrative, missile and hypersonics demand, strong reported free cash flow, and debt reduction. However, current timing is not actionable because price remains mid-range between 340 and 365, momentum is neutral, and the plan explicitly says WAIT/HOLD until a confirmed breakout above 365 with strong volume or a controlled pullback holding above 340."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_midpoint_no_confirmation",
        "breakout_trigger_defined",
        "volume_confirmation_required",
        "neutral_momentum",
        "existing_holder_hold_not_add",
        "risk_level_340_defined",
        "event_and_fundamental_confirmation_needed"
      ],
      "review_required": false,
      "score_now": 0.07245647360000003,
      "score_triggered": 0.20614118400000003,
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2832
      },
      "broker_symbol": "LHX",
      "canonical_ticker": "LHX",
      "display_name": "LHX"
    },
    {
      "snapshot_id": "20260418T003827_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의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가가 강조한 것처럼 2025년 매출이 12.7285B에서 19.292B까지 확대되고, 영업이익 8.9874B, 희석 EPS 7.39, 영업이익률 44.896%, 순이익률 31.667%로 성장성과 수익성이 강하다. Foundayo의 심혈관 및 사망률 개선 데이터, 간 안전성 신호 부재, 사망위험 57% 감소 언급도 투자 논리를 지지한다. 다만 보수적·중립적 분석가의 지적처럼 최근 종가 905.03은 200일선 902-903 바로 위에 있고 ATR 28.13이 지지선과의 거리보다 훨씬 커서 오늘 즉시 진입하기에는 기술적 확인이 부족하다. 신규 매수는 923-925를 거래량 증가와 함께 일봉 종가로 회복하거나, 902-903 방어 후 고점·저점이 높아지고 RSI/MACD가 개선되는 경우로 제한한다. 따라서 방향성은 BULLISH이나 즉시 실행은 WAIT이다.",
        "exit_logic": "LLY가 902-903 아래로 일봉 종가 이탈한 뒤 빠르게 회복하지 못하면 200일선 지지 실패로 보고 신규 진입을 중단하며 전술적 노출을 줄인다. 888을 거래량 증가와 함께 결정적으로 이탈하면 878.24 재시험 위험이 커지므로 전술 포지션은 청산하거나 회피한다. Foundayo 승인 일정 지연, 제한적 라벨, 예상보다 부담스러운 시판 후 요구, 안전성 논란, 경쟁 심화, 또는 강한 이익 성장에도 자유현금흐름 부진이 지속되면 중기 OVERWEIGHT 논리를 재평가한다.",
        "position_sizing": "현재는 신규 포지션을 열지 않는다. 923-925 회복이 거래량으로 확인되면 최대 절반 규모의 초기 포지션만 허용하고, 923-925 지지 재확인 또는 939-955 돌파 후에만 단계적으로 추가한다. 902-903 방어형 진입은 고점·저점 상승과 RSI 50 회복, MACD 개선이 동반될 때만 작은 선발 포지션으로 정당화될 수 있다. ATR이 약 28포인트, 가격 대비 약 3.1%이므로 손절 폭은 정상 변동성에 휩쓸리지 않도록 최소 1 ATR 이상을 반영하되 포지션 크기는 그만큼 축소한다.",
        "risk_limits": "923-925 아래에서는 확인 없는 추격 매수를 금지한다. 902-903은 장기 추세 방어선, 888은 전술적 실패선으로 둔다. ATR 28.13과 3.1% 수준의 변동성, FDA·라벨·경쟁 이벤트 위험을 반영해 거래당 위험을 낮게 유지한다. 최신 분기 자유현금흐름 254.2M, capex 약 3.0B, 총부채 42.5B, 순부채 35.2B, debt-to-equity 165.31은 성장 투자의 결과일 수 있지만 현금 전환과 재무 유연성 감시가 필요하다.",
        "catalysts": [
          "Foundayo의 심혈관 및 사망률 개선 데이터와 간 안전성 신호 부재가 당뇨·비만 프랜차이즈 확장 기대를 지지",
          "2형 당뇨 적응증에 대한 Q2 말까지의 미국 승인 신청 계획",
          "Foundayo 라벨, 승인 일정, 의사 채택 기대가 우호적으로 확인될 경우 실적 추정치 상향 가능성",
          "2025년 매출 확대, 높은 영업이익률, EPS 성장 지속",
          "Centessa 인수 보도가 장기 파이프라인 다변화 선택지를 제공할 가능성",
          "923-925 회복 후 939-955 및 976-979 저항대 돌파 시 기술적 회복 신뢰도 상승"
        ],
        "invalidators": [
          "902-903 아래 일봉 종가 이탈 후 빠른 회복 실패",
          "거래량 증가를 동반한 888 하향 이탈과 878.24 재시험 위험 확대",
          "Foundayo 관련 FDA 지연, 제한적 라벨, 더 심각한 안전성 우려 또는 부담스러운 시판 후 요구",
          "Novo Nordisk, Viking Therapeutics, Kailera 등 경쟁사가 가격, 점유율, 처방 기대, 임상 비교 우위를 압박한다는 증거",
          "capex, 부채, 배당, 자사주 매입, 인수 지출이 늘어나는 가운데 자유현금흐름 부진 지속",
          "성장률 전망 하향으로 forward PE 21.47 및 PEG 0.9769의 밸류에이션 지지가 약화"
        ],
        "watchlist_triggers": [
          "923-925 위 일봉 종가 회복과 최근 평균을 웃도는 거래량",
          "923-925 회복 후 해당 구간을 지지로 재확인",
          "RSI 50 회복 및 MACD가 0선 방향으로 개선",
          "939-955 위 종가로 단기 반등 모멘텀 강화 확인",
          "976-979 위 종가로 중기 추세 복구 신호 확인",
          "902-903 아래 종가 또는 888 하향 압력 발생 시 하방 경고",
          "Foundayo 승인 신청, FDA 시판 후 연구 범위, 라벨 문구 관련 업데이트",
          "다음 실적에서 자유현금흐름, capex, 재고, 매출채권, 공급능력 가이던스 확인"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "923-925 위 일봉 종가 회복과 최근 평균을 웃도는 거래량",
        "923-925 회복 후 해당 구간을 지지로 재확인",
        "RSI 50 회복 및 MACD가 0선 방향으로 개선",
        "939-955 위 종가로 단기 반등 모멘텀 강화 확인",
        "976-979 위 종가로 중기 추세 복구 신호 확인",
        "902-903 아래 종가 또는 888 하향 압력 발생 시 하방 경고",
        "Foundayo 승인 신청, FDA 시판 후 연구 범위, 라벨 문구 관련 업데이트",
        "다음 실적에서 자유현금흐름, capex, 재고, 매출채권, 공급능력 가이던스 확인",
        "Foundayo의 심혈관 및 사망률 개선 데이터와 간 안전성 신호 부재가 당뇨·비만 프랜차이즈 확장 기대를 지지",
        "2형 당뇨 적응증에 대한 Q2 말까지의 미국 승인 신청 계획",
        "Foundayo 라벨, 승인 일정, 의사 채택 기대가 우호적으로 확인될 경우 실적 추정치 상향 가능성",
        "2025년 매출 확대, 높은 영업이익률, EPS 성장 지속",
        "Centessa 인수 보도가 장기 파이프라인 다변화 선택지를 제공할 가능성",
        "923-925 회복 후 939-955 및 976-979 저항대 돌파 시 기술적 회복 신뢰도 상승",
        "902-903 아래 일봉 종가 이탈 후 빠른 회복 실패",
        "거래량 증가를 동반한 888 하향 이탈과 878.24 재시험 위험 확대",
        "Foundayo 관련 FDA 지연, 제한적 라벨, 더 심각한 안전성 우려 또는 부담스러운 시판 후 요구",
        "Novo Nordisk, Viking Therapeutics, Kailera 등 경쟁사가 가격, 점유율, 처방 기대, 임상 비교 우위를 압박한다는 증거",
        "capex, 부채, 배당, 자사주 매입, 인수 지출이 늘어나는 가운데 자유현금흐름 부진 지속",
        "성장률 전망 하향으로 forward PE 21.47 및 PEG 0.9769의 밸류에이션 지지가 약화"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LLY has a constructive medium-term overweight thesis supported by strong growth, high margins, EPS expansion, and Foundayo-related catalysts, but the action table explicitly says WAIT because price is only marginally above 200-day support and has not reclaimed the 923-925 confirmation zone with volume. Timing is therefore watchlist-only until a daily close above 923-925 with volume, a successful retest, or a clear 902-903 support defense with improving RSI/MACD.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "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": "LLY has a constructive medium-term overweight thesis supported by strong growth, high margins, EPS expansion, and Foundayo-related catalysts, but the action table explicitly says WAIT because price is only marginally above 200-day support and has not reclaimed the 923-925 confirmation zone with volume. Timing is therefore watchlist-only until a daily close above 923-925 with volume, a successful retest, or a clear 902-903 support defense with improving RSI/MACD."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_trigger_required",
        "near_critical_support",
        "elevated_atr_vs_support_distance",
        "not_actionable_now",
        "event_and_fcf_risks"
      ],
      "review_required": false,
      "score_now": -0.0346251008,
      "score_triggered": 0.188437248,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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": "LLY",
      "canonical_ticker": "LLY",
      "display_name": "LLY"
    },
    {
      "snapshot_id": "20260418T003827_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.72,
        "time_horizon": "medium",
        "entry_logic": "LRCX의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가가 지적한 AI 설비투자, 메모리와 파운드리 수요, 약 33.9% 영업이익률, 약 30.2% 순이익률, 65% 이상 ROE, 최근 분기 약 1.22B 자유현금흐름, 50일 SMA 230.42와 200일 SMA 165.12 위의 상승 추세는 투자 가능한 강세 논리를 뒷받침한다. 다만 보수적 및 중립 분석가가 강조한 trailing P/E 약 53, forward P/E 약 36, P/B 32 초과, 52주 고점 부근 가격, MACD 히스토그램 둔화, ATR 11.85, 2026-04-22 Q3 실적 및 BIS 수출통제 불확실성 때문에 오늘 신규 진입은 WAIT가 적절하다. 신규 자금은 LRCX가 10일 EMA 252.84 부근으로 질서 있게 조정받고 RSI가 55 위에서 유지되며 매도 거래량이 둔화될 때, 또는 272.41 위를 확대 거래량으로 돌파하고 실적이나 수출통제 관련 부정적 확인이 없을 때만 부분적으로 투입한다.",
        "exit_logic": "기존 보유분은 핵심 노출을 유지하되, LRCX가 252.84를 상승 거래량과 함께 이탈하고 빠르게 회복하지 못하면 축소한다. VWMA 238.14 하향 이탈은 단순 변동성보다 분산 매도 신호로 보고 위험을 더 줄인다. 50일 SMA 230.42 아래에서 지속적으로 마감하면 현재 추세 추종 설정은 훼손된 것으로 보고 전술적 노출을 종료한다. 기본적으로는 2026-04-22 Q3 가이던스에서 주문 약화, China 또는 수출통제 압박, 서비스 매출 둔화, 마진 압박, AI와 메모리 및 파운드리 설비투자 기대 미달이 확인되면 차트가 완전히 무너지기 전이라도 등급 하향 또는 축소를 실행한다.",
        "position_sizing": "신규 자금은 정상 비중보다 작게 시작한다. LRCX는 고베타 종목이고 최근 고점권에 있으며 ATR 11.85로 일간 변동성이 크기 때문에, 확인 전 선매수나 전량 진입은 피한다. 252.84 지지 확인 또는 272.41 거래량 돌파가 나온 뒤에만 부분 starter를 허용하고, 실적과 BIS 관련 리스크가 해소될 때까지 추가 매수는 단계적으로 제한한다. 기존 보유자는 핵심 포지션을 유지할 수 있으나 2026-04-22 전 공격적 증액은 피한다.",
        "risk_limits": "단일 반도체 장비주 위험은 실적과 수출통제 영향이 명확해질 때까지 정상 한도보다 낮게 둔다. ATR 11.85를 감안해 지나치게 촘촘한 손절보다 변동성에 맞춘 손절과 작은 포지션 크기를 함께 사용한다. 252.84 아래에서는 전술 위험을 재평가하고, 238.14 아래에서는 노출을 축소하며, 230.42 아래 지속 마감 또는 AI 프리미엄을 압축할 부정적 가이던스가 나오면 전술 포지션을 종료한다. 실적 전 breakout 참여는 가능하더라도 매우 작은 크기로만 허용한다.",
        "catalysts": [
          "2026-04-22 Q3 실적과 가이던스가 AI, 메모리, 파운드리, 서비스 수요의 지속성을 확인하는 경우",
          "LRCX가 272.41 위를 확대 거래량으로 돌파해 조정 이후 재가속을 확인하는 경우",
          "BIS 수출통제가 LRCX의 주문, 설치, 서비스 매출에 제한적이라는 증거가 나오는 경우",
          "TSMC 관련 수요 신호를 포함해 주요 고객과 파운드리의 AI 인프라 설비투자 강세가 이어지는 경우",
          "분석가 목표가 상향 또는 기관 매집이 고점권 밸류에이션을 추가로 지지하는 경우"
        ],
        "invalidators": [
          "LRCX가 50일 SMA 230.42 아래에서 지속적으로 마감해 추세가 훼손되는 경우",
          "Q3 가이던스에서 주문 약화, China 노출 압박, 수출통제 영향, 마진 위험이 확인되는 경우",
          "MACD 히스토그램 둔화가 이어지고 RSI가 50 아래로 하락해 조정이 아니라 모멘텀 상실로 바뀌는 경우",
          "252.84와 238.14를 높은 거래량으로 연속 이탈해 랠리 이후 분산 매도가 확인되는 경우",
          "고점권에서 추가 내부자 매도 또는 기관 매도가 확대되어 밸류에이션 및 수급 부담을 키우는 경우"
        ],
        "watchlist_triggers": [
          "LRCX가 252.84 부근으로 조정받되 RSI가 55 위를 유지하고 매도 거래량이 둔화되는지 확인",
          "LRCX가 272.41 위를 확대 거래량으로 회복 또는 돌파하는지 확인",
          "2026-04-22 이후 China 매출, 서비스 매출, 메모리 투자, 파운드리 설비투자, AI 관련 수요에 대한 경영진 코멘트 확인",
          "BIS 수출통제 추가 해석이나 규정 변화에 대한 LRCX 주가 반응 확인",
          "실적 전후 변동성이 커질 때 VWMA 238.14가 지지선으로 작동하는지 확인"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "LRCX가 252.84 부근으로 조정받되 RSI가 55 위를 유지하고 매도 거래량이 둔화되는지 확인",
        "LRCX가 272.41 위를 확대 거래량으로 회복 또는 돌파하는지 확인",
        "2026-04-22 이후 China 매출, 서비스 매출, 메모리 투자, 파운드리 설비투자, AI 관련 수요에 대한 경영진 코멘트 확인",
        "BIS 수출통제 추가 해석이나 규정 변화에 대한 LRCX 주가 반응 확인",
        "실적 전후 변동성이 커질 때 VWMA 238.14가 지지선으로 작동하는지 확인",
        "2026-04-22 Q3 실적과 가이던스가 AI, 메모리, 파운드리, 서비스 수요의 지속성을 확인하는 경우",
        "LRCX가 272.41 위를 확대 거래량으로 돌파해 조정 이후 재가속을 확인하는 경우",
        "BIS 수출통제가 LRCX의 주문, 설치, 서비스 매출에 제한적이라는 증거가 나오는 경우",
        "TSMC 관련 수요 신호를 포함해 주요 고객과 파운드리의 AI 인프라 설비투자 강세가 이어지는 경우",
        "분석가 목표가 상향 또는 기관 매집이 고점권 밸류에이션을 추가로 지지하는 경우",
        "LRCX가 50일 SMA 230.42 아래에서 지속적으로 마감해 추세가 훼손되는 경우",
        "Q3 가이던스에서 주문 약화, China 노출 압박, 수출통제 영향, 마진 위험이 확인되는 경우",
        "MACD 히스토그램 둔화가 이어지고 RSI가 50 아래로 하락해 조정이 아니라 모멘텀 상실로 바뀌는 경우",
        "252.84와 238.14를 높은 거래량으로 연속 이탈해 랠리 이후 분산 매도가 확인되는 경우",
        "고점권에서 추가 내부자 매도 또는 기관 매도가 확대되어 밸류에이션 및 수급 부담을 키우는 경우"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LRCX has a constructive medium-term overweight thesis supported by AI capex demand, strong profitability, free cash flow, and an uptrend above key moving averages, but the table explicitly says WAIT. Timing is not actionable now because price is near highs, momentum is decelerating, volatility is elevated, and Q3 earnings plus BIS export-control risk remain unresolved. A starter position is only justified after confirmation from earnings/export-control evidence, a controlled pullback holding 252.84 with RSI above 55 and lighter selling, or a high-volume breakout above 272.41.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "event_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LRCX has a constructive medium-term overweight thesis supported by AI capex demand, strong profitability, free cash flow, and an uptrend above key moving averages, but the table explicitly says WAIT. Timing is not actionable now because price is near highs, momentum is decelerating, volatility is elevated, and Q3 earnings plus BIS export-control risk remain unresolved. A starter position is only justified after confirmation from earnings/export-control evidence, a controlled pullback holding 252.84 with RSI above 55 and lighter selling, or a high-volume breakout above 272.41."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "event_risk_before_entry",
        "breakout_or_pullback_confirmation_needed",
        "extended_near_highs",
        "momentum_deceleration",
        "elevated_valuation",
        "not_currently_actionable"
      ],
      "review_required": false,
      "score_now": -0.02080202240000001,
      "score_triggered": 0.22299494399999997,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0
      },
      "broker_symbol": "LRCX",
      "canonical_ticker": "LRCX",
      "display_name": "LRCX"
    },
    {
      "snapshot_id": "20260418T003827_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의 중기 방향성은 긍정적이다. 공격적 분석가와 중립 분석가가 지적한 대로 최근 분기 매출 23.86 billion, 순이익 13.785 billion, 희석 EPS 12.07, 매출총이익률 약 74.4%, 영업이익률 약 67.6%, 영업현금흐름 11.903 billion, 잉여현금흐름 5.516 billion은 AI 서버용 HBM 및 고급 DRAM 수요가 실제 실적에 반영되고 있음을 보여준다. 또한 가격은 10일 EMA, 50일 SMA, 200일 SMA, VWMA 위에 있고 MACD가 -1.10에서 12.95로 개선되었으며 RSI 63.37은 강하지만 과열권은 아니다. 다만 보수적 분석가와 중립 분석가가 강조한 대로 MU는 2026-03-30 저점 이후 약 42% 반등했고 471.14 저항 부근에 있어 즉시 추격 매수는 부적절하다. 오늘의 실행은 WAIT이며, 471.14를 거래량 동반 종가 돌파 후 후속 확인하거나 424-426 조정 지지 확인 시에만 스타터 또는 추가 매수를 검토한다.",
        "exit_logic": "471.14 돌파 시도 후 456을 지키지 못하면 실패 돌파로 보고 전술 노출을 줄인다. 424-426 단기 지지대를 이탈하고 빠르게 회복하지 못하면 신규 진입을 피한다. 404-405 50일 SMA 구간을 결정적으로 종가 이탈하면 전술 포지션을 청산하고 중기 OVERWEIGHT 논리를 재검토한다. 다음 가이던스에서 HBM 또는 DRAM 가격 약화, 고객 재고 소화, 매출총이익률 또는 영업이익률 둔화, 매출채권의 현금 전환 부진, 내부자 매도 확대가 확인되면 비중을 낮춘다.",
        "position_sizing": "기존 보유자는 중기 OVERWEIGHT를 유지할 수 있지만 471.14 저항 근처에서 공격적으로 더하지 않는다. 신규 자금은 확인 전 투입하지 않고, 돌파 확인 또는 424-426 지지 재확인 뒤에만 일반 반도체 포지션보다 작은 스타터로 시작한다. ATR이 약 26이고 베타가 약 1.606인 만큼 한 번에 완전 비중을 만들지 말고 단계적으로 확대한다.",
        "risk_limits": "ATR 약 26을 감안해 지나치게 촘촘한 손절은 피하되, 포지션 크기는 20-30 달러 역방향 변동을 견딜 수 있게 제한한다. 404-405 종가 이탈은 단순 소음이 아니라 전술 청산 및 논리 점검 신호로 취급한다. 반도체 섹터 약세, 메모리 가격 악화, 수출 통제 또는 ASML 관련 압력이 동반된 지지선 이탈에서는 물타기를 금지한다. 내부자 매도와 매출채권 15.389 billion, capex 6.387 billion의 현금 전환 위험도 계속 감시한다.",
        "catalysts": [
          "AI 서버 수요가 HBM과 고급 DRAM 물량 및 가격을 계속 지지",
          "타이트한 메모리 공급과 고부가 제품 믹스로 매출총이익률 및 영업이익률 추가 확대",
          "다음 분기 가이던스가 EPS와 잉여현금흐름 강세의 지속성을 확인",
          "현금 및 단기투자 14.589 billion, 유동비율 약 2.897, 총부채 10.798 billion로 나타난 재무 여력과 추가 부채 축소",
          "471.14 저항선을 평균 이상 거래량으로 종가 돌파하고 후속 상승 확인"
        ],
        "invalidators": [
          "HBM 또는 DRAM 가격 약화나 고객 재고 소화 시작",
          "최근 높은 매출총이익률 약 74.4%와 영업이익률 약 67.6%에서 가이던스가 둔화",
          "매출채권 15.389 billion 증가가 영업현금흐름으로 전환되지 않음",
          "수요 가시성 또는 공급 규율이 약해지는 상황에서 capex 6.387 billion 이상 부담 확대",
          "404-405 50일 SMA 구간의 결정적 기술적 이탈",
          "Sumit Sadana 24,000주, April Arnzen 40,000주, Michael Cordano 매도 이후 내부자 매도가 더 넓게 확산"
        ],
        "watchlist_triggers": [
          "471.14 상향 돌파가 평균 이상 거래량과 후속 종가 확인을 동반",
          "424-426 조정 구간에서 지지가 확인되고 반도체 섹터 흐름이 안정",
          "저항 테스트 이후 456을 지키지 못해 실패 돌파 가능성 상승",
          "다음 실적 가이던스에서 HBM 수요, DRAM 가격, 매출총이익률, capex, 재고, 매출채권 전환 확인",
          "수출 통제, ASML 관련 약세, AI 하드웨어 위험 축소 흐름 등 반도체 섹터 압력 확대",
          "추가 내부자 매도 발생 여부와 그 규모"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 3
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "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": [
        "471.14 상향 돌파가 평균 이상 거래량과 후속 종가 확인을 동반",
        "424-426 조정 구간에서 지지가 확인되고 반도체 섹터 흐름이 안정",
        "저항 테스트 이후 456을 지키지 못해 실패 돌파 가능성 상승",
        "다음 실적 가이던스에서 HBM 수요, DRAM 가격, 매출총이익률, capex, 재고, 매출채권 전환 확인",
        "수출 통제, ASML 관련 약세, AI 하드웨어 위험 축소 흐름 등 반도체 섹터 압력 확대",
        "추가 내부자 매도 발생 여부와 그 규모",
        "AI 서버 수요가 HBM과 고급 DRAM 물량 및 가격을 계속 지지",
        "타이트한 메모리 공급과 고부가 제품 믹스로 매출총이익률 및 영업이익률 추가 확대",
        "다음 분기 가이던스가 EPS와 잉여현금흐름 강세의 지속성을 확인",
        "현금 및 단기투자 14.589 billion, 유동비율 약 2.897, 총부채 10.798 billion로 나타난 재무 여력과 추가 부채 축소",
        "471.14 저항선을 평균 이상 거래량으로 종가 돌파하고 후속 상승 확인",
        "HBM 또는 DRAM 가격 약화나 고객 재고 소화 시작",
        "최근 높은 매출총이익률 약 74.4%와 영업이익률 약 67.6%에서 가이던스가 둔화",
        "매출채권 15.389 billion 증가가 영업현금흐름으로 전환되지 않음",
        "수요 가시성 또는 공급 규율이 약해지는 상황에서 capex 6.387 billion 이상 부담 확대",
        "404-405 50일 SMA 구간의 결정적 기술적 이탈",
        "Sumit Sadana 24,000주, April Arnzen 40,000주, Michael Cordano 매도 이후 내부자 매도가 더 넓게 확산"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "MU has a constructive medium-term thesis supported by AI/HBM and advanced DRAM demand, strong reported profitability, cash flow, and improving technical trend. However, the current action is WAIT because price is extended after a sharp rebound and is near 471.14 resistance. Timing becomes actionable only after a volume-confirmed close above 471.14 with follow-through, or a controlled pullback that confirms support near 424-426.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "MU has a constructive medium-term thesis supported by AI/HBM and advanced DRAM demand, strong reported profitability, cash flow, and improving technical trend. However, the current action is WAIT because price is extended after a sharp rebound and is near 471.14 resistance. Timing becomes actionable only after a volume-confirmed close above 471.14 with follow-through, or a controlled pullback that confirms support near 424-426."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "near_resistance_after_sharp_rebound",
        "breakout_confirmation_required",
        "support_retest_alternative",
        "high_volatility_reduced_sizing",
        "not_actionable_now"
      ],
      "review_required": false,
      "score_now": -0.02080202240000001,
      "score_triggered": 0.22299494399999997,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0
      },
      "broker_symbol": "MU",
      "canonical_ticker": "MU",
      "display_name": "MU"
    },
    {
      "snapshot_id": "20260418T003827_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": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.62,
        "time_horizon": "medium",
        "entry_logic": "NET의 중기 투자 의견은 OVERWEIGHT로 유지한다. 공격적 분석가는 33.6% 매출 성장, 73.6% 매출총이익률, $190.4 million 영업현금흐름, $99.4 million 잉여현금흐름, OpenAI·Wiz·AI 보안·에이전트 인프라 서사가 재평가를 만들 수 있다고 봤고, 이는 투자 가능한 강세 논리다. 다만 보수적·중립 분석가가 지적했듯 현재 가격은 VWMA $192.70, 10일 EMA $193.83, 50일 SMA $194.37, 200일 SMA $202.01 아래에 있고 MACD도 아직 음수이며 RSI 49.58은 확정적 강세가 아니다. 따라서 오늘 즉시 신규 진입은 보류하되, $192.70-$194.37 구간을 거래량 동반 종가로 회복하면 축소된 초기 진입을 검토한다. $202.01 회복과 지지 확인은 더 높은 확신의 추가 조건이다.",
        "exit_logic": "신규 전술 포지션은 NET이 $192.70-$194.37 저항에서 실패한 뒤 $184.02 아래로 내려가면 축소하거나 보류한다. $166.99를 결정적으로 이탈하면 4월 반등 구조가 실패한 것으로 보고 전술 노출을 종료한다. 다음 실적에서 30%+ 성장 둔화, 잉여현금흐름 질 악화, 영업손실 개선 지연, SBC 부담 확대, AI·보안·에이전트 인프라 서사가 매출 기여로 확인되지 않는 경우 중기 OVERWEIGHT도 재검토한다.",
        "position_sizing": "확인 전 신규 자금 투입은 하지 않는다. $194.37 위에서 거래량을 동반한 종가 확인이 나오면 ATR 13.84와 beta 1.875를 감안해 일반 성장주 비중의 약 1/3에서 1/2만 초기 배정한다. 거래량이 평균 수준이거나 소프트웨어 업종 흐름이 약하면 1/3에 가깝게 제한하고, 거래량이 명확히 강하며 RSI가 55 위로 올라서고 MACD 히스토그램이 개선되면 1/2까지 허용한다. 의미 있는 추가는 $202.01 회복 후 지지 확인 또는 실적에서 성장·마진·SBC 관리가 검증된 뒤에만 한다. 기존 보유자는 핵심 비중은 유지할 수 있으나 저항 아래에서 공격적 추가는 피한다.",
        "risk_limits": "$184.02를 근접 위험선, $166.99를 주요 스윙 무효화선으로 둔다. ATR 13.84가 높으므로 손절선을 지나치게 촘촘히 두기보다 포지션 크기를 줄여 1 ATR 역방향 움직임이 통상 포트폴리오 손실 한도를 넘지 않게 한다. forward P/E 136.9, P/B 47.6, PEG 2.38, 반복된 내부자 매도, SBC $123.6 million, 주식 수 증가, 부채 민감도, 고베타 소프트웨어 조정 위험을 상시 반영한다.",
        "catalysts": [
          "NET이 $192.70-$194.37 위에서 거래량을 동반해 종가를 형성하며 VWMA, 10일 EMA, 50일 SMA 구간을 회복",
          "$202.01 부근 200일 SMA를 지속적으로 회복하고 이후 지지 재확인",
          "OpenAI, Wiz, AI 보안, 에이전트 인프라 협력이 고객 증가나 매출 기여로 확인",
          "다음 실적에서 30%+ 매출 성장, 잉여현금흐름 지속성, 영업손실 축소, 건설적 가이던스 확인",
          "Baird $260, TD Cowen $265 목표가처럼 프리미엄 밸류에이션을 지지하는 추가 분석가 상향 또는 고품질 클라우드 보안주로의 업종 순환"
        ],
        "invalidators": [
          "$192.70-$194.37 회복 실패 후 $184.02 아래로 이탈",
          "$166.99 결정적 하향 이탈로 4월 반등이 실패한 과매도 반등으로 확인",
          "실적 실망, 가이던스 약화, AI·에이전트 협력이 측정 가능한 성장으로 이어지지 않는 증거",
          "SBC 또는 희석이 매출 및 잉여현금흐름 개선보다 빠르게 증가",
          "금리·인플레이션·지정학 위험 또는 고베타 소프트웨어 전반 매도로 인한 밸류에이션 압축"
        ],
        "watchlist_triggers": [
          "$194.37 위 일간 종가와 최근 평균을 웃도는 거래량",
          "$202.01 위 일간 종가와 이후 지지 재확인",
          "RSI가 55 위를 유지하고 MACD 히스토그램이 양의 전환 쪽으로 개선",
          "$184.02 위에서 눌림이 지지되고 거래량 구조가 개선",
          "다음 실적의 매출 성장률, 순매출유지율 또는 대형 고객 성장, 잉여현금흐름률, 매출 대비 SBC, 영업이익률, 부채 만기 관련 발언"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 2
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 0,
        "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": [
        "$194.37 위 일간 종가와 최근 평균을 웃도는 거래량",
        "$202.01 위 일간 종가와 이후 지지 재확인",
        "RSI가 55 위를 유지하고 MACD 히스토그램이 양의 전환 쪽으로 개선",
        "$184.02 위에서 눌림이 지지되고 거래량 구조가 개선",
        "다음 실적의 매출 성장률, 순매출유지율 또는 대형 고객 성장, 잉여현금흐름률, 매출 대비 SBC, 영업이익률, 부채 만기 관련 발언",
        "NET이 $192.70-$194.37 위에서 거래량을 동반해 종가를 형성하며 VWMA, 10일 EMA, 50일 SMA 구간을 회복",
        "$202.01 부근 200일 SMA를 지속적으로 회복하고 이후 지지 재확인",
        "OpenAI, Wiz, AI 보안, 에이전트 인프라 협력이 고객 증가나 매출 기여로 확인",
        "다음 실적에서 30%+ 매출 성장, 잉여현금흐름 지속성, 영업손실 축소, 건설적 가이던스 확인",
        "Baird $260, TD Cowen $265 목표가처럼 프리미엄 밸류에이션을 지지하는 추가 분석가 상향 또는 고품질 클라우드 보안주로의 업종 순환",
        "$192.70-$194.37 회복 실패 후 $184.02 아래로 이탈",
        "$166.99 결정적 하향 이탈로 4월 반등이 실패한 과매도 반등으로 확인",
        "실적 실망, 가이던스 약화, AI·에이전트 협력이 측정 가능한 성장으로 이어지지 않는 증거",
        "SBC 또는 희석이 매출 및 잉여현금흐름 개선보다 빠르게 증가",
        "금리·인플레이션·지정학 위험 또는 고베타 소프트웨어 전반 매도로 인한 밸류에이션 압축"
      ],
      "confidence": 0.62,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "NET has a constructive medium-term overweight thesis supported by strong revenue growth, high gross margin, positive free cash flow, AI/security partnership optionality, and supportive analyst targets. Timing is not actionable now because entry_action is WAIT, price remains below key VWMA/EMA/SMA resistance, MACD is still negative, RSI is not confirming, and the plan requires a volume-backed close above $192.70-$194.37 before even a reduced starter position.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "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.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "NET has a constructive medium-term overweight thesis supported by strong revenue growth, high gross margin, positive free cash flow, AI/security partnership optionality, and supportive analyst targets. Timing is not actionable now because entry_action is WAIT, price remains below key VWMA/EMA/SMA resistance, MACD is still negative, RSI is not confirming, and the plan requires a volume-backed close above $192.70-$194.37 before even a reduced starter position."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "momentum_unconfirmed",
        "volume_confirmation_required",
        "reduced_starter_only_if_triggered",
        "valuation_risk_elevated",
        "not_held_watchlist_candidate"
      ],
      "review_required": false,
      "score_now": -0.03563333119999998,
      "score_triggered": 0.18591667200000003,
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0
      },
      "broker_symbol": "NET",
      "canonical_ticker": "NET",
      "display_name": "NET"
    },
    {
      "snapshot_id": "20260418T003827_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": 3256080,
      "quantity": 11.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의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가와 중립 분석가가 공통으로 지적한 것처럼 가격은 50일선 182.74와 200일선 181.52를 재돌파했고, 2026-03-30 종가 165.17에서 2026-04-15 종가 198.87까지 강하게 회복했으며, MACD는 2026-04-02의 -2.90에서 2026-04-16의 3.90으로 개선됐다. 또한 2026-04-14 거래량 161.3M, 2026-04-15 거래량 185.3M은 회복 추세의 질을 뒷받침한다. 다만 보수적 분석가가 강조한 RSI 68.90, ATR 5.27, 베타 2.335, 단기 급반등 이후 평균 회귀 위험 때문에 오늘 즉시 추격 매수하지 않는다. 진입은 200.40 위 일봉 종가 안착과 거래량 유지, 또는 10일 EMA 부근 189.12 눌림 후 강한 종가 회복이 확인될 때로 제한한다. 따라서 방향성은 BULLISH, 즉시 실행은 WAIT, 감시 가능한 우호적 셋업은 유지한다.",
        "exit_logic": "기존 보유자는 NVDA가 181.52-182.74의 200일선/50일선 지지 구간 위에 있고 AI 수요, 매출 성장, gross margin, 자유현금흐름이 훼손되지 않는 한 OVERWEIGHT를 유지한다. 189.12를 종가 기준으로 이탈하고 MACD 히스토그램 둔화와 거래량 증가가 동반되면 전술 비중을 줄인다. 181.52-182.74를 일봉 종가로 이탈하거나, 다음 실적 또는 가이던스에서 AI 수요 둔화, 가격결정력 약화, gross margin 압박, 현금 전환 악화가 확인되면 중기 상승 논리를 종료한다.",
        "position_sizing": "기존 보유자는 mandate를 초과하지 않는 범위에서 OVERWEIGHT를 유지한다. 신규 자금은 확인 전 투입하지 않는다. 200.40 위 일봉 종가 안착과 거래량 유지가 확인되면 의도한 신규 배분의 약 1/3만 1차로 집행하고, 이후 1-2거래일 동안 196.51-200.40 구간을 지키면 추가 1/3을 검토한다. 189.12 부근 눌림 뒤 강한 종가 회복이 나오면 손익비가 더 좋아지므로 1/3에서 최대 1/2까지 단계적 진입을 허용한다. 보수적 분석가의 지적처럼 ATR 5.27과 베타 2.335가 높으므로 한 번에 1/2 이상을 추격 집행하지 않는다.",
        "risk_limits": "진입 전 포트폴리오 손실 한도를 고정하고, NVDA의 정상 변동성을 고려해 1 ATR보다 지나치게 촘촘한 손절은 피한다. 189.12는 전술적 위험선이며, 이탈과 MACD 히스토그램 악화가 동시에 나타나면 신규 진입을 중단하고 단기 비중을 줄인다. 181.52-182.74는 중기 thesis stop 구간이다. 200.40 돌파가 실패하거나 196.51-200.40 구간을 빠르게 재이탈하면 돌파 매수는 무효로 본다. 수출통제, 중국 규제, 공급망 조사 관련 악재가 가격 확인 없이 확대될 때는 추가 매수를 보류한다.",
        "catalysts": [
          "200.40 위 일봉 종가 안착과 지속 거래량은 중립 분석가가 제시한 추세 추종 1차 진입 조건을 충족한다.",
          "가격이 189.12 부근까지 조정된 뒤 강한 종가 회복을 보이면 보수적 분석가가 선호한 더 나은 손익비의 눌림 매수 조건이 된다.",
          "TSMC의 58% 이익 증가, 반도체 ETF 강세, Dell과 DigitalOcean의 AI 인프라 확장, Marvell 협력 뉴스는 공격적 분석가가 강조한 AI 인프라 생태계 수요를 뒷받침한다.",
          "최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 영업이익률 65% 수준이 다음 실적에서도 유지되면 valuation premium이 정당화된다.",
          "MACD가 3.90으로 전환되고 히스토그램이 2.95까지 확대된 흐름이 유지되면 회복 국면이 상승 전환으로 강화된다."
        ],
        "invalidators": [
          "181.52-182.74의 200일선/50일선 지지 구간을 일봉 종가로 이탈한다.",
          "189.12를 종가 기준으로 잃고 MACD 히스토그램 둔화와 거래량 증가가 동시에 발생한다.",
          "다음 실적 또는 가이던스에서 매출 성장, gross margin, AI 주문 가시성, 자유현금흐름 전환율이 약화된다.",
          "매출채권 증가, 재고 증가, 영업권 및 무형자산 증가가 현금 전환과 수요 증거 없이 계속 확대된다.",
          "수출통제, 중국 제한, Super Micro 관련 공급망 조사 등 규제 리스크가 NVDA 수요나 valuation multiple에 직접 압박을 준다.",
          "AI 인프라 테마와 고베타 대형 성장주에서 자금이 이탈해 NVDA의 프리미엄이 빠르게 압축된다."
        ],
        "watchlist_triggers": [
          "매수/추가 트리거: NVDA가 200.40 위에서 일봉 종가로 안착하고 거래량이 유지되며 RSI가 무질서하게 확장되지 않는다.",
          "추가 확인 트리거: 돌파 후 1-2거래일 동안 196.51-200.40 구간을 재이탈하지 않는다.",
          "눌림 트리거: 189.12 부근 테스트 후 강한 종가 회복 또는 bullish reversal이 나온다.",
          "주의 트리거: 189.12 이탈과 MACD 히스토그램 하락 전환이 동시에 발생한다.",
          "위험 트리거: 181.52-182.74 아래 종가 이탈 또는 해당 구간 회복 실패가 몇 거래일 지속된다.",
          "펀더멘털 트리거: 다음 NVDA 실적에서 매출 성장, gross margin, 자유현금흐름 전환, 매출채권, 재고, 중국 및 수출통제 코멘트를 점검한다."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "매수/추가 트리거: NVDA가 200.40 위에서 일봉 종가로 안착하고 거래량이 유지되며 RSI가 무질서하게 확장되지 않는다.",
        "추가 확인 트리거: 돌파 후 1-2거래일 동안 196.51-200.40 구간을 재이탈하지 않는다.",
        "눌림 트리거: 189.12 부근 테스트 후 강한 종가 회복 또는 bullish reversal이 나온다.",
        "주의 트리거: 189.12 이탈과 MACD 히스토그램 하락 전환이 동시에 발생한다.",
        "위험 트리거: 181.52-182.74 아래 종가 이탈 또는 해당 구간 회복 실패가 몇 거래일 지속된다.",
        "펀더멘털 트리거: 다음 NVDA 실적에서 매출 성장, gross margin, 자유현금흐름 전환, 매출채권, 재고, 중국 및 수출통제 코멘트를 점검한다.",
        "200.40 위 일봉 종가 안착과 지속 거래량은 중립 분석가가 제시한 추세 추종 1차 진입 조건을 충족한다.",
        "가격이 189.12 부근까지 조정된 뒤 강한 종가 회복을 보이면 보수적 분석가가 선호한 더 나은 손익비의 눌림 매수 조건이 된다.",
        "TSMC의 58% 이익 증가, 반도체 ETF 강세, Dell과 DigitalOcean의 AI 인프라 확장, Marvell 협력 뉴스는 공격적 분석가가 강조한 AI 인프라 생태계 수요를 뒷받침한다.",
        "최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 영업이익률 65% 수준이 다음 실적에서도 유지되면 valuation premium이 정당화된다.",
        "MACD가 3.90으로 전환되고 히스토그램이 2.95까지 확대된 흐름이 유지되면 회복 국면이 상승 전환으로 강화된다.",
        "181.52-182.74의 200일선/50일선 지지 구간을 일봉 종가로 이탈한다.",
        "189.12를 종가 기준으로 잃고 MACD 히스토그램 둔화와 거래량 증가가 동시에 발생한다.",
        "다음 실적 또는 가이던스에서 매출 성장, gross margin, AI 주문 가시성, 자유현금흐름 전환율이 약화된다.",
        "매출채권 증가, 재고 증가, 영업권 및 무형자산 증가가 현금 전환과 수요 증거 없이 계속 확대된다.",
        "수출통제, 중국 제한, Super Micro 관련 공급망 조사 등 규제 리스크가 NVDA 수요나 valuation multiple에 직접 압박을 준다.",
        "AI 인프라 테마와 고베타 대형 성장주에서 자금이 이탈해 NVDA의 프리미엄이 빠르게 압축된다."
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "NVDA thesis is constructive for an existing overweight hold, supported by recovered moving-average structure, improving MACD, strong recent volume, and AI infrastructure fundamentals. Timing is not yet actionable for adding because the plan explicitly says WAIT after a sharp rebound, with confirmation required via a daily close above 200.40 with sustained volume or a controlled pullback and strong recovery near 189.12.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2728,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "NVDA thesis is constructive for an existing overweight hold, supported by recovered moving-average structure, improving MACD, strong recent volume, and AI infrastructure fundamentals. Timing is not yet actionable for adding because the plan explicitly says WAIT after a sharp rebound, with confirmation required via a daily close above 200.40 with sustained volume or a controlled pullback and strong recovery near 189.12."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_overweight_hold",
        "entry_wait_for_confirmation",
        "breakout_close_required",
        "pullback_alternative_trigger",
        "elevated_volatility_and_beta",
        "near_overbought_after_sharp_rebound",
        "intraday_confirmation_missing",
        "medium_trigger_quality"
      ],
      "review_required": false,
      "score_now": 0.08858723839999999,
      "score_triggered": 0.24646809599999994,
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.132,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2728
      },
      "broker_symbol": "NVDA",
      "canonical_ticker": "NVDA",
      "display_name": "NVDA"
    },
    {
      "snapshot_id": "20260418T003827_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 멀티클라우드 확장, Mizuho Bank의 Oracle Autonomous AI Database 채택, Bloom Energy 2.8 GW 전력 파트너십, 최근 매출 17.19 billion dollars와 영업이익 5.637 billion dollars, MACD 양전환과 50일선 회복은 AI/OCI 재평가 근거다. 다만 보수적·중립 분석가가 강조한 대로 2026-04-10 종가 138.09에서 2026-04-15 종가 169.81까지 급반등했고, RSI 70.88, 볼린저 상단 170.71 근접, ATR 약 8.16, 200일선 약 214.26 하회가 동시에 존재해 오늘 추격 매수는 부적절하다. 신규 진입은 대기한다. 정당화 가능한 스타터는 두 조건 중 하나가 충족될 때만 가능하다: 153-157 조정 후 50일선 150.54 위에서 고점을 낮추지 않는 매수 재유입이 확인되거나, 171 위 일간 종가와 평균 이상 거래량이 나온 뒤 1거래일 이상 유지되는 경우다.",
        "exit_logic": "기존 보유분은 150-153 지지대가 유지되고 OCI 수요, AI 데이터센터 활용, 데이터베이스 채택 뉴스가 매출 전환을 계속 뒷받침하는 동안 보유한다. 50일선 150.54 아래로 종가 이탈한 뒤 빠르게 회복하지 못하면 축소한다. 171 돌파 실패 후 153 아래로 되밀리면 반등 피로 신호로 보고 위험을 줄인다. 실패한 반등 뒤 145를 하향 이탈하거나, 부채 조달형 데이터센터 투자가 OCI 성장, 영업현금흐름 회복, 고객 다변화로 연결되지 않는다는 증거가 나오면 중기 논리를 재검토하고 실질적으로 청산 또는 대폭 축소한다.",
        "position_sizing": "오늘 신규 풀사이즈 진입은 하지 않는다. 기존 보유자는 부분 비중만 유지한다. 신규 스타터는 조건 충족 시 정상 비중의 1/4-1/3로 제한한다. 이는 보수적 분석가가 지적한 최근 분기 자유현금흐름 약 -11.484 billion dollars, 추적 자유현금흐름 약 -22.298 billion dollars, 총부채 약 153.117 billion dollars, 순부채 약 96.150 billion dollars, 부채비율 415 초과, ATR 약 8.16을 반영한 것이다. 정상 비중의 1/2 이상은 지지 재확인, 171 돌파 후 유지, 또는 경영진의 설비투자·활용률·자유현금흐름 회복 가시성이 개선된 뒤에만 고려한다.",
        "risk_limits": "상단 볼린저 170.71 부근의 과열 종가를 추격하지 않는다. 조정 진입은 150 아래 종가를 1차 손상 기준으로 삼고, 돌파 진입은 160 부근 또는 153 재이탈을 위험 축소 기준으로 삼되 ATR을 감안해 주문 크기를 줄인다. 200일선 214.26 회복 전까지 장기 추세 복구는 미완성으로 본다. 데이터센터 금융 패키지 38 billion dollars의 미소화 대출 배분, 신용스프레드, 조달 비용, AI 인프라 대출 수요, 고객 집중, OCI 성장률, 설비투자 대비 현금흐름 전환을 지속 점검한다.",
        "catalysts": [
          "AWS 멀티클라우드 네트워킹 확장은 OCI 접근성과 기업 워크로드 이전 가능성을 높인다.",
          "Mizuho Bank의 Oracle Autonomous AI Database 채택은 금융권 보안·복원력·거버넌스 수요에서 Oracle 데이터베이스 경쟁력을 확인해 준다.",
          "Bloom Energy 2.8 GW 전력 파트너십은 AI 데이터센터 병목인 전력 확보 측면에서 실행력을 높일 수 있다.",
          "최근 분기 매출 17.19 billion dollars와 영업이익 5.637 billion dollars, 영업이익률 약 32.8%는 성장 논리가 단순한 테마가 아님을 뒷받침한다.",
          "MACD가 -3.81에서 +3.00으로 개선되고 가격이 50일선, 10일 지수이동평균, 거래량가중평균을 회복한 점은 단기 수급 개선을 보여준다."
        ],
        "invalidators": [
          "자유현금흐름이 깊은 음수로 남고 OCI 매출 전환 또는 활용률 개선 증거가 나타나지 않는다.",
          "38 billion dollars 데이터센터 금융 패키지가 조달 스트레스, 신용스프레드 확대, 미소화 대출 부담, 투자자 수요 약화를 유발한다.",
          "171 돌파에 실패한 뒤 150-153 지지대를 종가 기준으로 이탈한다.",
          "다음 실적 주기에서 OCI 성장, 고객 다변화, AI 데이터베이스 채택, 운영현금흐름 회복이 기대에 못 미친다.",
          "내부자 매도, 고객 집중, 높은 밸류에이션 우려가 강화되는 가운데 장기 추세가 200일선 214.26 아래에서 계속 훼손된다."
        ],
        "watchlist_triggers": [
          "171 위 일간 종가와 최근 평균을 웃도는 거래량이 동반되고, 그 수준이 1거래일 이상 유지된다.",
          "153-157 구간으로 조정된 뒤 50일선 150.54 위에서 고점·저점 구조가 안정되고 매수세가 재유입된다.",
          "10일 지수이동평균 156.88 위 종가가 지속되어 반등 탄력이 유지된다.",
          "경영진이 설비투자, 자유현금흐름 회복 시점, OCI 성장, 데이터센터 활용률에 대해 더 명확한 지침을 제시한다.",
          "38 billion dollars 대출 패키지의 배분, 미소화 물량, 조달 비용, 신용시장 반응에 대한 업데이트가 우호적으로 나온다.",
          "200일선 214.26 방향으로 이동할 때 거래량과 시장 폭이 함께 개선된다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "171 위 일간 종가와 최근 평균을 웃도는 거래량이 동반되고, 그 수준이 1거래일 이상 유지된다.",
        "153-157 구간으로 조정된 뒤 50일선 150.54 위에서 고점·저점 구조가 안정되고 매수세가 재유입된다.",
        "10일 지수이동평균 156.88 위 종가가 지속되어 반등 탄력이 유지된다.",
        "경영진이 설비투자, 자유현금흐름 회복 시점, OCI 성장, 데이터센터 활용률에 대해 더 명확한 지침을 제시한다.",
        "38 billion dollars 대출 패키지의 배분, 미소화 물량, 조달 비용, 신용시장 반응에 대한 업데이트가 우호적으로 나온다.",
        "200일선 214.26 방향으로 이동할 때 거래량과 시장 폭이 함께 개선된다.",
        "AWS 멀티클라우드 네트워킹 확장은 OCI 접근성과 기업 워크로드 이전 가능성을 높인다.",
        "Mizuho Bank의 Oracle Autonomous AI Database 채택은 금융권 보안·복원력·거버넌스 수요에서 Oracle 데이터베이스 경쟁력을 확인해 준다.",
        "Bloom Energy 2.8 GW 전력 파트너십은 AI 데이터센터 병목인 전력 확보 측면에서 실행력을 높일 수 있다.",
        "최근 분기 매출 17.19 billion dollars와 영업이익 5.637 billion dollars, 영업이익률 약 32.8%는 성장 논리가 단순한 테마가 아님을 뒷받침한다.",
        "MACD가 -3.81에서 +3.00으로 개선되고 가격이 50일선, 10일 지수이동평균, 거래량가중평균을 회복한 점은 단기 수급 개선을 보여준다.",
        "자유현금흐름이 깊은 음수로 남고 OCI 매출 전환 또는 활용률 개선 증거가 나타나지 않는다.",
        "38 billion dollars 데이터센터 금융 패키지가 조달 스트레스, 신용스프레드 확대, 미소화 대출 부담, 투자자 수요 약화를 유발한다.",
        "171 돌파에 실패한 뒤 150-153 지지대를 종가 기준으로 이탈한다.",
        "다음 실적 주기에서 OCI 성장, 고객 다변화, AI 데이터베이스 채택, 운영현금흐름 회복이 기대에 못 미친다.",
        "내부자 매도, 고객 집중, 높은 밸류에이션 우려가 강화되는 가운데 장기 추세가 200일선 214.26 아래에서 계속 훼손된다."
      ],
      "confidence": 0.62,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "ORCL has a constructive medium-term AI/OCI thesis supported by cloud catalysts, database adoption, revenue growth, margin strength, and improving momentum, but the current setup is not actionable. Price has already rebounded sharply into an overextended area near the upper Bollinger band with RSI elevated, while the long-term trend remains unconfirmed below the 200-day average. Entry should wait for either a controlled pullback that holds above the 50-day area or a confirmed breakout above 171 with above-average volume and follow-through.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.62,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "ORCL has a constructive medium-term AI/OCI thesis supported by cloud catalysts, database adoption, revenue growth, margin strength, and improving momentum, but the current setup is not actionable. Price has already rebounded sharply into an overextended area near the upper Bollinger band with RSI elevated, while the long-term trend remains unconfirmed below the 200-day average. Entry should wait for either a controlled pullback that holds above the 50-day area or a confirmed breakout above 171 with above-average volume and follow-through."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "overextended_short_term_price",
        "breakout_not_confirmed",
        "pullback_support_not_confirmed",
        "long_term_trend_unrepaired",
        "fcf_and_leverage_risk"
      ],
      "review_required": false,
      "score_now": -0.034819097599999974,
      "score_triggered": 0.187952256,
      "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": "HOLD",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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": "ORCL",
      "canonical_ticker": "ORCL",
      "display_name": "ORCL"
    },
    {
      "snapshot_id": "20260418T003827_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": 299467,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": null,
      "data_coverage": {
        "company_news_count": 0,
        "disclosures_count": 0,
        "social_source": "unavailable",
        "macro_items_count": 0
      },
      "quality_flags": [
        "missing_analysis_for_held_position"
      ],
      "vendor_health": {
        "vendor_calls": {},
        "fallback_count": 0
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [],
      "confidence": 0.3,
      "stance": "NEUTRAL",
      "entry_action": "WAIT",
      "setup_quality": "WEAK",
      "rationale": "Held RSP position has no current analysis, no investment plan, no explicit trigger conditions, and only a rule-only HOLD/WAIT interpretation. There is not enough evidence to treat the thesis as constructive or actionable, so timing should remain unavailable rather than merely early.",
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "unknown",
        "trigger_quality": 0.0,
        "entry_readiness": 0.0,
        "thesis_state": "low_quality",
        "semantic_summary": "Held RSP position has no current analysis, no investment plan, no explicit trigger conditions, and only a rule-only HOLD/WAIT interpretation. There is not enough evidence to treat the thesis as constructive or actionable, so timing should remain unavailable rather than merely early."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.05,
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "weak_setup_quality",
        "low_confidence",
        "not_actionable_now"
      ],
      "review_required": true,
      "score_now": -0.0062238925,
      "score_triggered": 0.0,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.5700000000000001,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.73,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614
      },
      "broker_symbol": "RSP",
      "canonical_ticker": "RSP",
      "display_name": "RSP"
    },
    {
      "snapshot_id": "20260418T003827_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": 601792,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "HOLD",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.57,
        "time_horizon": "medium",
        "entry_logic": "TSLA의 중기 방향성은 조건부로 우호적이지만 오늘 신규 매수는 보류한다. 공격적 분석가는 391.95까지의 회복, 2026-04-15 거래량 113,810,400, RSI 56.19, MACD 개선, 440.59억 달러 현금과 유동비율 2.164를 근거로 상방 선택가치를 강조했다. 중립 분석가도 하락 모멘텀 둔화와 강한 반등의 질은 인정했다. 다만 보수적 분석가가 지적한 398.33 볼린저 상단과 398.37 200 SMA의 저항 밀집, P/E 356.8배와 선행 P/E 140.3배, 매출·마진·FCF·재고 부담 때문에 398 아래에서는 추격하지 않는다. 작은 starter는 398 위 종가, 다음 세션 지지 확인, 거래량 질 개선이 함께 나타날 때만 정당화된다.",
        "exit_logic": "기존 노출은 유지하되 398 돌파 실패 후 390 아래 종가가 나오면 일부 감축한다. 368 아래의 결정적 종가는 전술적 노출 종료 신호로 본다. 2026-04-22 업데이트가 수요 안정, 자동차 마진 회복, FCF 지속성, 완제품 재고 통제, 로보택시 일정, AI·반도체 실행력을 숫자와 일정으로 뒷받침하지 못하면 돌파가 있더라도 추격하지 않고 노출을 줄인다.",
        "position_sizing": "기존 핵심 보유는 reduced-to-low-normal 범위로 유지한다. 신규 자금은 398 위 안착과 후속 지지 확인 전까지 투입하지 않는다. 확인 후 starter를 허용하더라도 ATR 15.36, 가격 대비 약 3.9% 변동성을 반영해 정상보다 작게 시작하고, 추가 확대는 398 지지 지속과 하락 거래량 감소가 확인될 때 단계적으로만 한다.",
        "risk_limits": "390은 1차 감축선, 368은 전술적 무효화선으로 둔다. 2026-04-22 이벤트 전 레버리지는 금지한다. 단일 종목 손실은 사전 설정된 포트폴리오 위험 한도 안에 제한하고, 넓은 가격 변동을 버티기보다 작은 포지션과 단계적 감축으로 관리한다. 밸류에이션 압축, 고금리·위험회피 환경, 자동차 매출 둔화, 영업이익률 4.7%, 순이익률 4.0%, FCF 감소, 완제품 재고 48.49억 달러 증가는 즉시 재평가 사유다.",
        "catalysts": [
          "TSLA가 398 위에서 종가를 만들고 다음 세션에서도 398을 지지로 확인하며 거래량이 유지되는 경우.",
          "2026-04-22 업데이트가 수요 안정, 마진 회복, FCF 지속성, 로보택시 일정, AI·반도체 투자 계획을 구체적 숫자와 일정으로 제시하는 경우.",
          "RSI가 과매수권에 진입하지 않은 상태에서 MACD 개선이 이어지고, 상승일 거래량은 높고 하락일 거래량은 줄어드는 경우.",
          "AI 인프라, Terafab, 반도체 채용, 자율주행 관련 뉴스가 자동차 마진 둔화보다 비자동차 선택가치를 더 설득력 있게 만드는 경우.",
          "높아진 회의론과 TSLL 공매도 증가가 398 위 확인 돌파 이후 숏커버링 압력으로 전환되는 경우."
        ],
        "invalidators": [
          "398 저항 돌파 실패 후 390 아래 종가가 발생하는 경우.",
          "368 아래로 결정적으로 이탈해 고거래량 반등의 근거가 사라지는 경우.",
          "2026-04-22 업데이트가 로보택시, AI, 반도체 실행력에 대해 추상적 설명에 그치고 자동차 본업 지표도 약한 경우.",
          "매출 감소, gross margin 및 operating margin 둔화, FCF 감소, 완제품 재고 증가가 추가로 확인되는 경우.",
          "고밸류 성장주에 불리한 위험회피, 금리 상승, 에너지·인플레이션 충격이 확대되는 경우.",
          "경쟁사의 저비용 EV·배터리 전략이 TSLA의 가격 경쟁과 마진 압박을 더 키우는 경우."
        ],
        "watchlist_triggers": [
          "TSLA가 398 위에서 종가를 형성하고 다음 세션에도 그 가격대를 지지하는지 확인한다.",
          "390 근처 pullback에서 분산 매도가 아니라 안정화와 거래량 감소가 나타나는지 확인한다.",
          "상승일 거래량이 유지되고 하락일 거래량이 줄어드는지 확인한다.",
          "RSI가 과매수 전 단계에 머물고 MACD가 양전환 방향으로 계속 개선되는지 확인한다.",
          "2026-04-22에서 로보택시 상용화, 자동차 마진, 수요, FCF, capex 필요액에 대한 구체적 수치와 일정이 제시되는지 확인한다.",
          "398 돌파 후 400~407 구간에서 매물 소화가 되는지, 또는 false breakout으로 되밀리는지 확인한다."
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": [
        "TSLA가 398 위에서 종가를 형성하고 다음 세션에도 그 가격대를 지지하는지 확인한다.",
        "390 근처 pullback에서 분산 매도가 아니라 안정화와 거래량 감소가 나타나는지 확인한다.",
        "상승일 거래량이 유지되고 하락일 거래량이 줄어드는지 확인한다.",
        "RSI가 과매수 전 단계에 머물고 MACD가 양전환 방향으로 계속 개선되는지 확인한다.",
        "2026-04-22에서 로보택시 상용화, 자동차 마진, 수요, FCF, capex 필요액에 대한 구체적 수치와 일정이 제시되는지 확인한다.",
        "398 돌파 후 400~407 구간에서 매물 소화가 되는지, 또는 false breakout으로 되밀리는지 확인한다.",
        "TSLA가 398 위에서 종가를 만들고 다음 세션에서도 398을 지지로 확인하며 거래량이 유지되는 경우.",
        "2026-04-22 업데이트가 수요 안정, 마진 회복, FCF 지속성, 로보택시 일정, AI·반도체 투자 계획을 구체적 숫자와 일정으로 제시하는 경우.",
        "RSI가 과매수권에 진입하지 않은 상태에서 MACD 개선이 이어지고, 상승일 거래량은 높고 하락일 거래량은 줄어드는 경우.",
        "AI 인프라, Terafab, 반도체 채용, 자율주행 관련 뉴스가 자동차 마진 둔화보다 비자동차 선택가치를 더 설득력 있게 만드는 경우.",
        "높아진 회의론과 TSLL 공매도 증가가 398 위 확인 돌파 이후 숏커버링 압력으로 전환되는 경우.",
        "398 저항 돌파 실패 후 390 아래 종가가 발생하는 경우.",
        "368 아래로 결정적으로 이탈해 고거래량 반등의 근거가 사라지는 경우.",
        "2026-04-22 업데이트가 로보택시, AI, 반도체 실행력에 대해 추상적 설명에 그치고 자동차 본업 지표도 약한 경우.",
        "매출 감소, gross margin 및 operating margin 둔화, FCF 감소, 완제품 재고 증가가 추가로 확인되는 경우.",
        "고밸류 성장주에 불리한 위험회피, 금리 상승, 에너지·인플레이션 충격이 확대되는 경우.",
        "경쟁사의 저비용 EV·배터리 전략이 TSLA의 가격 경쟁과 마진 압박을 더 키우는 경우."
      ],
      "confidence": 0.57,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "TSLA thesis is conditionally constructive for an existing holder, but the action is not ready now. The plan explicitly says HOLD/WAIT with a developing setup, requiring a daily close above 398, next-session support confirmation, and healthier volume before adding. Event confirmation from the 2026-04-22 update is also important, but the near-term actionable trigger is breakout confirmation above the clustered 398 resistance area.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2964,
      "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": "TSLA thesis is conditionally constructive for an existing holder, but the action is not ready now. The plan explicitly says HOLD/WAIT with a developing setup, requiring a daily close above 398, next-session support confirmation, and healthier volume before adding. Event confirmation from the 2026-04-22 update is also important, but the near-term actionable trigger is breakout confirmation above the clustered 398 resistance area."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.58,
      "timing_readiness": 0.38,
      "reason_codes": [
        "hold_wait_setup",
        "constructive_but_unconfirmed",
        "breakout_above_398_required",
        "next_session_support_required",
        "volume_confirmation_required",
        "event_confirmation_pending",
        "valuation_risk_high",
        "fundamental_quality_risk",
        "defined_risk_levels_390_368"
      ],
      "review_required": false,
      "score_now": 0.055375078400000007,
      "score_triggered": 0.16343769600000002,
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.64,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.048,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2964
      },
      "broker_symbol": "TSLA",
      "canonical_ticker": "TSLA",
      "display_name": "TSLA"
    },
    {
      "snapshot_id": "20260418T003827_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": 2174146,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": {
        "rating": "OVERWEIGHT",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "TSM에 대한 중기 배분 관점은 긍정적으로 유지한다. 공격적 분석가가 강조한 58% Q1 이익 성장, 상향된 매출 전망, 강한 3nm 및 인공지능 수요, 높은 수익성, 충분한 현금 창출력은 투자 가능한 상승 논리를 뒷받침한다. 다만 보수적 및 중립 분석가가 지적했듯이 주가는 2026-03-30의 316.50에서 2026-04-15의 375.10까지 급반등한 뒤 380-385 저항대와 384.63 부근의 상단 변동성 구간에 접근해 있고, RSI는 66.01에서 55.44로 식었으며 MACD도 7.39에서 7.11로 낮아졌다. 따라서 오늘 즉시 추격 매수하지 않고 WAIT를 유지한다. 신규 진입은 TSM이 362-365를 종가 기준으로 방어하면서 RSI가 50 위에서 안정되고 거래량이 진정될 때, 또는 380-385 위로 종가 돌파하고 MACD가 재상승하며 거래량이 최근 평균을 웃돌 때만 정당화된다. 조건 충족 시에는 소규모 시작 포지션이 가능하지만, 조건 전에는 관망이 우선이다.",
        "exit_logic": "TSM이 353 아래로 종가 마감하면 전술 위험 경고로 보고 일부 위험을 줄인다. 350 아래에서 지속적으로 종가가 형성되면 50일 이동평균 및 VWMA 지지 실패로 판단해 전술 포지션을 크게 축소하거나 종료한다. 380-385에서 반복적으로 실패하면서 RSI가 50 아래로 내려가고 MACD가 약화되면 추가 매수를 보류하고 논리를 재평가한다. 인공지능 가속기, 3nm 주문, 자유현금흐름 전환, 마진 전망 중 하나라도 훼손되면 OVERWEIGHT 등급을 낮출 수 있다.",
        "position_sizing": "기존 보유분은 중간 수준으로 유지하되, 신규 자금은 확인 신호 전까지 투입하지 않는다. ATR이 12.58로 높고 주가가 최근 고점과 저항대에 가까우므로 첫 진입은 정상 비중보다 작은 부분 트랜치로 제한한다. 362-365 지지 확인 또는 380-385 돌파 확인 중 하나가 발생하면 소규모 STARTER가 정당화될 수 있으며, 후속 종가와 거래량이 확인될 때만 단계적으로 추가한다. 저항 위에서 거래량과 MACD 확인 없이 비중을 늘리지 않는다.",
        "risk_limits": "판단 기준은 장중 흔들림보다 종가 확인에 둔다. 362-365는 첫 전술 지지, 350-353은 핵심 방어 구간으로 설정한다. 353 하회 종가는 위험 축소 검토, 350 하회가 지속되면 강제 감축 기준이다. 각 트랜치의 손실 한도는 350 하회 시 계획된 포트폴리오 손실을 넘지 않도록 사전에 제한한다. 고변동성 국면이므로 385 위 추격 매수는 거래량 증가와 MACD 재상승이 동반될 때만 허용한다.",
        "catalysts": [
          "공격적 및 중립 분석가가 공통으로 지적한 58% Q1 이익 성장은 인공지능 및 첨단 공정 수요가 실적에 반영되고 있음을 보여준다.",
          "상향된 매출 전망과 강한 3nm 수요는 TSM의 중기 성장 논리를 지지한다.",
          "최대 $56 billion로 언급된 설비투자는 단기 자유현금흐름 부담 요인이지만, 중립 분석가의 평가처럼 첨단 공정 경쟁우위와 고객 수요를 반영하는 전략적 투자로도 해석된다.",
          "주가가 10일 EMA 362.55, 50일 SMA 352.82, VWMA 353.01, 200일 SMA 295.56 위에 있어 추세 구조는 아직 훼손되지 않았다.",
          "TSM 실적과 전망이 반도체 전반의 투자심리를 끌어올리고 있어, 시장은 TSM을 인공지능 공급망 핵심 지표로 보고 있다."
        ],
        "invalidators": [
          "인공지능 가속기 또는 3nm 주문 증가세가 둔화되거나 고객 재고 조정이 나타나는 경우.",
          "대규모 설비투자가 자유현금흐름 전환, 마진, 투자수익률 기대를 예상보다 크게 압박하는 경우.",
          "스마트폰 및 자동차 수요 약세가 확대되어 인공지능 및 고성능 컴퓨팅 강세를 상쇄하는 경우.",
          "Taiwan 관련 지정학, 무역정책, 공급망 위험이 갑자기 재가격화되어 고멀티플 반도체주 할인율이 높아지는 경우.",
          "TSM이 350-353 지지대를 반복적인 종가 기준으로 잃고 RSI와 MACD가 중립 이하로 약화되는 경우.",
          "강한 실적과 상향 전망에도 주가가 계속 부정적으로 반응해 380-385가 축적이 아니라 분배 구간으로 확인되는 경우."
        ],
        "watchlist_triggers": [
          "매수 가능한 조정: TSM이 362-365를 종가 기준으로 방어하고 RSI가 50 위에서 안정되며 거래량이 진정되는 경우.",
          "돌파 진입: TSM이 380-385 위에서 종가 마감하고 MACD가 재상승하며 거래량이 최근 평균을 웃도는 경우.",
          "소규모 시작 포지션 조건: 위 두 조건 중 하나가 충족될 때 정상 비중보다 작은 첫 트랜치를 검토한다.",
          "위험 경고: TSM이 353 아래로 종가 마감하거나 VWMA 및 50일 지지선이 거래량 증가와 함께 무너지는 경우.",
          "모멘텀 경고: 380-385에서 반복 실패하고 RSI가 50 아래로 하락하며 MACD가 약화되는 경우.",
          "심리 경고: 강한 뉴스에도 주가 반응이 계속 부진하거나 인공지능 및 3nm 수요 전망 하향이 나타나는 경우.",
          "기본 점검: 다음 회사 업데이트에서 설비투자, 자유현금흐름 전환, 마진 설명을 확인한다."
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 1
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "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": 18,
          "alpha_vantage": 3
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "ADD_IF_TRIGGERED",
      "trigger_conditions": [
        "매수 가능한 조정: TSM이 362-365를 종가 기준으로 방어하고 RSI가 50 위에서 안정되며 거래량이 진정되는 경우.",
        "돌파 진입: TSM이 380-385 위에서 종가 마감하고 MACD가 재상승하며 거래량이 최근 평균을 웃도는 경우.",
        "소규모 시작 포지션 조건: 위 두 조건 중 하나가 충족될 때 정상 비중보다 작은 첫 트랜치를 검토한다.",
        "위험 경고: TSM이 353 아래로 종가 마감하거나 VWMA 및 50일 지지선이 거래량 증가와 함께 무너지는 경우.",
        "모멘텀 경고: 380-385에서 반복 실패하고 RSI가 50 아래로 하락하며 MACD가 약화되는 경우.",
        "심리 경고: 강한 뉴스에도 주가 반응이 계속 부진하거나 인공지능 및 3nm 수요 전망 하향이 나타나는 경우.",
        "기본 점검: 다음 회사 업데이트에서 설비투자, 자유현금흐름 전환, 마진 설명을 확인한다.",
        "공격적 및 중립 분석가가 공통으로 지적한 58% Q1 이익 성장은 인공지능 및 첨단 공정 수요가 실적에 반영되고 있음을 보여준다.",
        "상향된 매출 전망과 강한 3nm 수요는 TSM의 중기 성장 논리를 지지한다.",
        "최대 $56 billion로 언급된 설비투자는 단기 자유현금흐름 부담 요인이지만, 중립 분석가의 평가처럼 첨단 공정 경쟁우위와 고객 수요를 반영하는 전략적 투자로도 해석된다.",
        "주가가 10일 EMA 362.55, 50일 SMA 352.82, VWMA 353.01, 200일 SMA 295.56 위에 있어 추세 구조는 아직 훼손되지 않았다.",
        "TSM 실적과 전망이 반도체 전반의 투자심리를 끌어올리고 있어, 시장은 TSM을 인공지능 공급망 핵심 지표로 보고 있다.",
        "인공지능 가속기 또는 3nm 주문 증가세가 둔화되거나 고객 재고 조정이 나타나는 경우.",
        "대규모 설비투자가 자유현금흐름 전환, 마진, 투자수익률 기대를 예상보다 크게 압박하는 경우.",
        "스마트폰 및 자동차 수요 약세가 확대되어 인공지능 및 고성능 컴퓨팅 강세를 상쇄하는 경우.",
        "Taiwan 관련 지정학, 무역정책, 공급망 위험이 갑자기 재가격화되어 고멀티플 반도체주 할인율이 높아지는 경우.",
        "TSM이 350-353 지지대를 반복적인 종가 기준으로 잃고 RSI와 MACD가 중립 이하로 약화되는 경우.",
        "강한 실적과 상향 전망에도 주가가 계속 부정적으로 반응해 380-385가 축적이 아니라 분배 구간으로 확인되는 경우."
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "TSM has a constructive medium-term overweight thesis supported by strong Q1 profit growth, raised revenue outlook, AI and 3nm demand, and intact moving-average trend structure. Timing is not actionable now because the position is already held, entry_action is WAIT, price is near 380-385 resistance after a sharp rebound, momentum has cooled, and additions require either 362-365 support confirmation or a close above 380-385 with MACD and volume confirmation.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.3108,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "TSM has a constructive medium-term overweight thesis supported by strong Q1 profit growth, raised revenue outlook, AI and 3nm demand, and intact moving-average trend structure. Timing is not actionable now because the position is already held, entry_action is WAIT, price is near 380-385 resistance after a sharp rebound, momentum has cooled, and additions require either 362-365 support confirmation or a close above 380-385 with MACD and volume confirmation."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "held_position_hold_now",
        "resistance_nearby_after_rebound",
        "momentum_confirmation_incomplete",
        "requires_close_confirmation",
        "support_or_breakout_trigger_needed",
        "risk_level_defined_below_350_353",
        "medium_trigger_quality"
      ],
      "review_required": true,
      "score_now": 0.06135838208,
      "score_triggered": 0.17839595519999998,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.7200000000000001,
        "vendor_calls": {
          "yfinance": 18,
          "alpha_vantage": 3
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3108
      },
      "broker_symbol": "TSM",
      "canonical_ticker": "TSM",
      "display_name": "TSM"
    },
    {
      "snapshot_id": "20260418T003827_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": 895326,
      "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로 유지한다. 공격적 분석가는 최근 종가 301.16이 10일 EMA 287.82, 50일 SMA 254.43, 200일 SMA 181.43 위에 있고, MACD 13.47과 RSI 61.13으로 추세가 훼손되지 않았다고 보았다. 중립 분석가도 매출 2.88 billion, 영업이익 606.9 million, 희석 EPS 1.14, 잉여현금흐름 883.9 million을 근거로 단순 관망만 하기에는 펀더멘털이 강하다고 판단했다. 다만 보수적 분석가가 지적한 trailing P/E 86, forward P/E 36, P/B 28.5, beta 2 이상, ATR 약 4.6%의 고평가와 변동성, 실적 이벤트 리스크가 크므로 오늘은 추격 매수하지 않는다. 신규 진입은 310.51-312.46 위에서 거래량을 동반한 일봉 종가가 확인되거나, 287-290 구간으로 조정받은 뒤 10일 EMA 부근 지지를 확인하고 RSI가 개선되며 부정적 뉴스가 없을 때만 허용한다. 이미 보유 중이면 유지하되 추가 매수는 위 조건이 충족될 때까지 대기한다.",
        "exit_logic": "돌파 매수 후 295 아래로 종가가 밀리면 실패 신호로 보고 축소 또는 청산한다. 조정 매수 시 287-290 지지 구간을 이탈하고 빠르게 회복하지 못하면 신규 리스크를 중단한다. 실적 또는 가이던스에서 주문 성장 둔화, 마진 압박, 매출채권이나 재고 증가에 따른 잉여현금흐름 전환 악화, AI 데이터센터 투자 둔화가 확인되면 포지션을 줄인다. 273-274 VWMA 부근은 재평가 구간이며, 50일 SMA 부근 254를 결정적으로 이탈하면 중기 상승 추세 논리는 무효화한다.",
        "position_sizing": "신규 포지션은 정상 성장주 배분보다 작게 시작한다. 돌파 진입은 실적 전 기대가 높고 MACD 히스토그램이 4.27에서 3.07로 둔화된 점을 반영해 목표 전체 규모의 약 25% 수준의 소형 스타터만 정당화된다. 287-290 지지 확인형 진입은 위험보상이 더 나아 목표 규모의 33%-50%까지 가능하지만, 추가 증액은 실적에서 주문, 마진, 잉여현금흐름, 2026 가이던스가 모두 확인되고 가격도 유지될 때로 제한한다. 기존 AI, 기술주, 고베타 산업재 노출이 이미 크면 더 낮은 비중을 적용한다.",
        "risk_limits": "레버리지는 사용하지 않고 실적 직전 무리한 신규 진입 또는 추가 매수는 피한다. ATR 약 13.72, 가격 대비 약 4.6%, beta 2 이상을 고려해 손절은 장중 잡음보다 종가 기준 주요 가격대에 둔다. 보수적 분석가가 강조한 trailing P/E 86, forward P/E 36, P/B 28.5, 대규모 내부자 매도, BMarko 인수 관련 영업권과 무형자산 확대는 밸류에이션 압축 리스크로 계속 감시한다. 50일 SMA 254는 최종 중기 무효화선이지 첫 방어선이 아니므로, 295와 287-290에서 먼저 리스크를 줄인다.",
        "catalysts": [
          "VRT 실적이 시장 기대를 웃돌고 2026 가이던스, 주문 성장, 마진 확장, 잉여현금흐름 지속성이 확인되는 경우",
          "AI 데이터센터 전력과 냉각 인프라 병목이 지속되고 하이퍼스케일러 투자 전망이 유지되는 경우",
          "BMarko 통합으로 모듈형 배치 속도와 북미 인프라 공급 능력이 개선되는 경우",
          "Barclays 목표가 상향, Evercore 매수 의견 유지와 같은 애널리스트 지지 또는 고객 수요 발언이 프리미엄 밸류에이션을 뒷받침하는 경우",
          "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가 돌파가 발생하는 경우"
        ],
        "invalidators": [
          "실적 또는 가이던스가 VRT에 반영된 높은 기대를 충족하지 못하는 경우",
          "주문 성장 둔화, 마진 압박, 매출채권 또는 재고 증가에 따른 잉여현금흐름 전환 악화가 확인되는 경우",
          "AI 인프라 투자 둔화 또는 대형 클라우드 고객의 프로젝트 지연 신호가 나타나는 경우",
          "287-290 아래로 이탈한 뒤 해당 구간을 회복하지 못하는 경우",
          "50일 SMA 부근 254 아래로 결정적으로 이탈해 중기 상승 추세가 훼손되는 경우",
          "인수 통합 문제, 영업권 손상 위험, 추가 대규모 내부자 매도가 재부각되는 경우"
        ],
        "watchlist_triggers": [
          "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가가 나오면 소형 스타터 진입 검토",
          "287-290으로 조정받은 뒤 지지를 확인하고 RSI가 개선되며 부정적 실적 또는 뉴스 촉매가 없으면 스타터 진입 검토",
          "돌파 시도 후 295 아래로 실패하면 신규 진입 보류 및 기존 노출 축소 검토",
          "273-274 VWMA 부근으로 하락하면 다음 유동성 지지에서 매수세가 방어하는지 재평가",
          "다가오는 실적 반응에서 주문, 마진, 잉여현금흐름, 2026 가이던스가 확인될 때까지 의미 있는 추가 매수 보류"
        ],
        "data_coverage": {
          "company_news_count": 1,
          "disclosures_count": 0,
          "social_source": "news_derived",
          "macro_items_count": 4
        },
        "execution_levels": {
          "intraday_pilot_rule": "",
          "close_confirm_rule": "",
          "next_day_followthrough_rule": "",
          "failed_breakout_rule": "",
          "trim_rule": "",
          "funding_priority": "medium",
          "entry_window": "mid",
          "trigger_quality": "medium"
        }
      },
      "data_coverage": {
        "company_news_count": 1,
        "disclosures_count": 0,
        "social_source": "news_derived",
        "macro_items_count": 4
      },
      "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": [
        "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가가 나오면 소형 스타터 진입 검토",
        "287-290으로 조정받은 뒤 지지를 확인하고 RSI가 개선되며 부정적 실적 또는 뉴스 촉매가 없으면 스타터 진입 검토",
        "돌파 시도 후 295 아래로 실패하면 신규 진입 보류 및 기존 노출 축소 검토",
        "273-274 VWMA 부근으로 하락하면 다음 유동성 지지에서 매수세가 방어하는지 재평가",
        "다가오는 실적 반응에서 주문, 마진, 잉여현금흐름, 2026 가이던스가 확인될 때까지 의미 있는 추가 매수 보류",
        "VRT 실적이 시장 기대를 웃돌고 2026 가이던스, 주문 성장, 마진 확장, 잉여현금흐름 지속성이 확인되는 경우",
        "AI 데이터센터 전력과 냉각 인프라 병목이 지속되고 하이퍼스케일러 투자 전망이 유지되는 경우",
        "BMarko 통합으로 모듈형 배치 속도와 북미 인프라 공급 능력이 개선되는 경우",
        "Barclays 목표가 상향, Evercore 매수 의견 유지와 같은 애널리스트 지지 또는 고객 수요 발언이 프리미엄 밸류에이션을 뒷받침하는 경우",
        "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가 돌파가 발생하는 경우",
        "실적 또는 가이던스가 VRT에 반영된 높은 기대를 충족하지 못하는 경우",
        "주문 성장 둔화, 마진 압박, 매출채권 또는 재고 증가에 따른 잉여현금흐름 전환 악화가 확인되는 경우",
        "AI 인프라 투자 둔화 또는 대형 클라우드 고객의 프로젝트 지연 신호가 나타나는 경우",
        "287-290 아래로 이탈한 뒤 해당 구간을 회복하지 못하는 경우",
        "50일 SMA 부근 254 아래로 결정적으로 이탈해 중기 상승 추세가 훼손되는 경우",
        "인수 통합 문제, 영업권 손상 위험, 추가 대규모 내부자 매도가 재부각되는 경우"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "VRT has a constructive medium-term thesis supported by strong trend positioning, AI data-center infrastructure demand, earnings/free-cash-flow strength, and an OVERWEIGHT/BULLISH stance, but the action is explicitly WAIT/HOLD. Additional buying is not ready until either a volume-backed daily close above 310.51-312.46 confirms a breakout, or a controlled pullback holds 287-290 with improving momentum and no negative catalyst. Existing exposure can be maintained, but timing for adding remains incomplete.",
      "strategy_state": "add_if_triggered",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.66,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "VRT has a constructive medium-term thesis supported by strong trend positioning, AI data-center infrastructure demand, earnings/free-cash-flow strength, and an OVERWEIGHT/BULLISH stance, but the action is explicitly WAIT/HOLD. Additional buying is not ready until either a volume-backed daily close above 310.51-312.46 confirms a breakout, or a controlled pullback holds 287-290 with improving momentum and no negative catalyst. Existing exposure can be maintained, but timing for adding remains incomplete."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "breakout_requires_daily_close_confirmation",
        "pullback_support_trigger_alternative",
        "high_valuation_and_volatility",
        "earnings_event_risk",
        "existing_position_hold_not_add",
        "medium_quality_trigger"
      ],
      "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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "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": "VRT",
      "canonical_ticker": "VRT",
      "display_name": "VRT"
    },
    {
      "snapshot_id": "20260418T003827_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": 495706,
      "quantity": 4.0,
      "available_qty": 4.0,
      "sector": null,
      "structured_decision": null,
      "data_coverage": {
        "company_news_count": 0,
        "disclosures_count": 0,
        "social_source": "unavailable",
        "macro_items_count": 0
      },
      "quality_flags": [
        "missing_analysis_for_held_position"
      ],
      "vendor_health": {
        "vendor_calls": {},
        "fallback_count": 0
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [],
      "confidence": 0.3,
      "stance": "NEUTRAL",
      "entry_action": "WAIT",
      "setup_quality": "WEAK",
      "rationale": "VXUS is a held position, but this run produced no actionable analysis, no trigger conditions, and only a rule-only HOLD/WAIT interpretation. Timing is not confirmed and there is no execution setup beyond maintaining or watching the existing position.",
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": null,
      "trigger_profile": {
        "primary_trigger_type": "watch_only",
        "trigger_horizon": "unknown",
        "trigger_quality": 0.0,
        "entry_readiness": 0.0,
        "thesis_state": "low_quality",
        "semantic_summary": "VXUS is a held position, but this run produced no actionable analysis, no trigger conditions, and only a rule-only HOLD/WAIT interpretation. Timing is not confirmed and there is no execution setup beyond maintaining or watching the existing position."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.0,
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "not_actionable_now"
      ],
      "review_required": true,
      "score_now": -0.006379075,
      "score_triggered": 0.0,
      "gate_reasons": [],
      "data_health": {
        "coverage_score": 0.5700000000000001,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614
      },
      "broker_symbol": "VXUS",
      "canonical_ticker": "VXUS",
      "display_name": "VXUS"
    }
  ],
  "actions": [
    {
      "canonical_ticker": "NVDA",
      "display_name": "NVDA",
      "priority": 1,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.1444,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.1444,
      "trigger_conditions": [
        "매수/추가 트리거: NVDA가 200.40 위에서 일봉 종가로 안착하고 거래량이 유지되며 RSI가 무질서하게 확장되지 않는다.",
        "추가 확인 트리거: 돌파 후 1-2거래일 동안 196.51-200.40 구간을 재이탈하지 않는다.",
        "눌림 트리거: 189.12 부근 테스트 후 강한 종가 회복 또는 bullish reversal이 나온다.",
        "주의 트리거: 189.12 이탈과 MACD 히스토그램 하락 전환이 동시에 발생한다.",
        "위험 트리거: 181.52-182.74 아래 종가 이탈 또는 해당 구간 회복 실패가 몇 거래일 지속된다.",
        "펀더멘털 트리거: 다음 NVDA 실적에서 매출 성장, gross margin, 자유현금흐름 전환, 매출채권, 재고, 중국 및 수출통제 코멘트를 점검한다.",
        "200.40 위 일봉 종가 안착과 지속 거래량은 중립 분석가가 제시한 추세 추종 1차 진입 조건을 충족한다.",
        "가격이 189.12 부근까지 조정된 뒤 강한 종가 회복을 보이면 보수적 분석가가 선호한 더 나은 손익비의 눌림 매수 조건이 된다.",
        "TSMC의 58% 이익 증가, 반도체 ETF 강세, Dell과 DigitalOcean의 AI 인프라 확장, Marvell 협력 뉴스는 공격적 분석가가 강조한 AI 인프라 생태계 수요를 뒷받침한다.",
        "최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 영업이익률 65% 수준이 다음 실적에서도 유지되면 valuation premium이 정당화된다.",
        "MACD가 3.90으로 전환되고 히스토그램이 2.95까지 확대된 흐름이 유지되면 회복 국면이 상승 전환으로 강화된다.",
        "181.52-182.74의 200일선/50일선 지지 구간을 일봉 종가로 이탈한다.",
        "189.12를 종가 기준으로 잃고 MACD 히스토그램 둔화와 거래량 증가가 동시에 발생한다.",
        "다음 실적 또는 가이던스에서 매출 성장, gross margin, AI 주문 가시성, 자유현금흐름 전환율이 약화된다.",
        "매출채권 증가, 재고 증가, 영업권 및 무형자산 증가가 현금 전환과 수요 증거 없이 계속 확대된다.",
        "수출통제, 중국 제한, Super Micro 관련 공급망 조사 등 규제 리스크가 NVDA 수요나 valuation multiple에 직접 압박을 준다.",
        "AI 인프라 테마와 고베타 대형 성장주에서 자금이 이탈해 NVDA의 프리미엄이 빠르게 압축된다."
      ],
      "rationale": "Highest-quality watch item in the batch: constructive existing overweight thesis, strongest data coverage, improving trend and momentum, and explicit breakout or pullback triggers. Still HOLD now because entry_action is WAIT and add conditions require confirmation above 200.40 or a controlled pullback near 189.12.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.132,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2728,
        "score_now": 0.0886,
        "score_triggered": 0.2465,
        "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.2728,
      "capital_reallocation_rank": 12,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "held_position_overweight_hold",
        "entry_wait_for_confirmation",
        "breakout_close_required",
        "pullback_alternative_trigger",
        "elevated_volatility_and_beta",
        "near_overbought_after_sharp_rebound",
        "intraday_confirmation_missing",
        "medium_trigger_quality",
        "best_data_quality_in_batch",
        "breakout_or_pullback_trigger_defined",
        "not_actionable_now"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "TSM",
      "display_name": "TSM",
      "priority": 2,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0964,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0964,
      "trigger_conditions": [
        "매수 가능한 조정: TSM이 362-365를 종가 기준으로 방어하고 RSI가 50 위에서 안정되며 거래량이 진정되는 경우.",
        "돌파 진입: TSM이 380-385 위에서 종가 마감하고 MACD가 재상승하며 거래량이 최근 평균을 웃도는 경우.",
        "소규모 시작 포지션 조건: 위 두 조건 중 하나가 충족될 때 정상 비중보다 작은 첫 트랜치를 검토한다.",
        "위험 경고: TSM이 353 아래로 종가 마감하거나 VWMA 및 50일 지지선이 거래량 증가와 함께 무너지는 경우.",
        "모멘텀 경고: 380-385에서 반복 실패하고 RSI가 50 아래로 하락하며 MACD가 약화되는 경우.",
        "심리 경고: 강한 뉴스에도 주가 반응이 계속 부진하거나 인공지능 및 3nm 수요 전망 하향이 나타나는 경우.",
        "기본 점검: 다음 회사 업데이트에서 설비투자, 자유현금흐름 전환, 마진 설명을 확인한다.",
        "공격적 및 중립 분석가가 공통으로 지적한 58% Q1 이익 성장은 인공지능 및 첨단 공정 수요가 실적에 반영되고 있음을 보여준다.",
        "상향된 매출 전망과 강한 3nm 수요는 TSM의 중기 성장 논리를 지지한다.",
        "최대 $56 billion로 언급된 설비투자는 단기 자유현금흐름 부담 요인이지만, 중립 분석가의 평가처럼 첨단 공정 경쟁우위와 고객 수요를 반영하는 전략적 투자로도 해석된다.",
        "주가가 10일 EMA 362.55, 50일 SMA 352.82, VWMA 353.01, 200일 SMA 295.56 위에 있어 추세 구조는 아직 훼손되지 않았다.",
        "TSM 실적과 전망이 반도체 전반의 투자심리를 끌어올리고 있어, 시장은 TSM을 인공지능 공급망 핵심 지표로 보고 있다.",
        "인공지능 가속기 또는 3nm 주문 증가세가 둔화되거나 고객 재고 조정이 나타나는 경우.",
        "대규모 설비투자가 자유현금흐름 전환, 마진, 투자수익률 기대를 예상보다 크게 압박하는 경우.",
        "스마트폰 및 자동차 수요 약세가 확대되어 인공지능 및 고성능 컴퓨팅 강세를 상쇄하는 경우.",
        "Taiwan 관련 지정학, 무역정책, 공급망 위험이 갑자기 재가격화되어 고멀티플 반도체주 할인율이 높아지는 경우.",
        "TSM이 350-353 지지대를 반복적인 종가 기준으로 잃고 RSI와 MACD가 중립 이하로 약화되는 경우.",
        "강한 실적과 상향 전망에도 주가가 계속 부정적으로 반응해 380-385가 축적이 아니라 분배 구간으로 확인되는 경우."
      ],
      "rationale": "Constructive AI and advanced-node semiconductor thesis with defined support and breakout triggers, but ranked below NVDA due to higher fallback count, manual review flag, nearby 380-385 resistance, and incomplete momentum confirmation. HOLD now; only consider add after support defense or confirmed breakout.",
      "data_health": {
        "coverage_score": 0.72,
        "vendor_calls": {
          "yfinance": 18,
          "alpha_vantage": 3
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "legacy_rating": "OVERWEIGHT",
        "strategy_state": "add_if_triggered",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.3108,
        "score_now": 0.0614,
        "score_triggered": 0.1784,
        "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.3108,
      "capital_reallocation_rank": 5,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait_entry",
        "held_position_hold_now",
        "resistance_nearby_after_rebound",
        "momentum_confirmation_incomplete",
        "requires_close_confirmation",
        "support_or_breakout_trigger_needed",
        "risk_level_defined_below_350_353",
        "medium_trigger_quality",
        "constructive_but_review_required",
        "high_fallback_count",
        "not_actionable_now"
      ],
      "review_required": true,
      "trigger_type": "watch_only",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "VXUS",
      "display_name": "VXUS",
      "priority": 3,
      "confidence": 0.3,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.022,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.022,
      "trigger_conditions": [],
      "rationale": "Held diversifying international ETF, but this run has no current analysis, no trigger conditions, and low confidence. Kept ahead of other missing-analysis items only for diversification value in a portfolio already led by AI and semiconductor exposure, not because it is actionable.",
      "data_health": {
        "coverage_score": 0.57,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614,
        "score_now": -0.0064,
        "score_triggered": 0.0,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": 3,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "not_actionable_now",
        "diversification_value",
        "low_confidence"
      ],
      "review_required": true,
      "trigger_type": "watch_only",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "RSP",
      "display_name": "RSP",
      "priority": 4,
      "confidence": 0.3,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0133,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0133,
      "trigger_conditions": [],
      "rationale": "Held equal-weight US equity ETF with missing analysis and no defined triggers. Broad exposure is useful, but absent evidence and rule-only HOLD/WAIT status keep it below analyzed names and behind VXUS for incremental diversification.",
      "data_health": {
        "coverage_score": 0.57,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.73,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614,
        "score_now": -0.0062,
        "score_triggered": 0.0,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": 1,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "weak_setup_quality",
        "low_confidence",
        "not_actionable_now",
        "broad_market_exposure"
      ],
      "review_required": true,
      "trigger_type": "watch_only",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "GLDM",
      "display_name": "GLDM",
      "priority": 5,
      "confidence": 0.3,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0378,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0378,
      "trigger_conditions": [],
      "rationale": "Held gold allocation has no current analysis, no trigger conditions, and low confidence. It may help portfolio ballast, but the absence of a current macro or technical case makes it the lowest-priority item for this arbitration batch.",
      "data_health": {
        "coverage_score": 0.57,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.8614,
        "score_now": -0.0064,
        "score_triggered": 0.0,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.8614,
      "capital_reallocation_rank": 2,
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_actionable_trigger",
        "rule_only_decision",
        "insufficient_data_coverage",
        "neutral_hold_watch",
        "low_confidence",
        "not_actionable_now"
      ],
      "review_required": true,
      "trigger_type": "watch_only",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "AAPL",
      "display_name": "AAPL",
      "priority": 6,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0533,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0533,
      "trigger_conditions": [
        "AAPL이 260-261로 되돌린 뒤 안정되고 매도 압력이 둔화되는지 확인한다.",
        "AAPL이 266.56 위에서 거래량 확장과 함께 종가 마감하고 MACD 히스토그램이 양수를 유지하는지 확인한다.",
        "가격이 10일 지수이동평균 259.88 위를 유지하면서 RSI가 과열권으로 치우치지 않는지 확인한다.",
        "변동성 되돌림에서 256.48 부근 거래량가중이동평균이 지지되는지 확인한다.",
        "다음 실적 설명에서 중국 수요, 서비스 성장, 매출총이익률, AI 기기 교체 주기가 확인되는지 점검한다.",
        "내부자 매도, 자사주 매입 속도, 규제 또는 서비스 압력과 관련한 신규 공시나 확인된 보도가 나오는지 감시한다.",
        "중국 iPhone 출하량이 20% 증가한 반면 중국 스마트폰 시장은 4% 감소했다는 보도는 약했던 중국 우려가 완화될 수 있음을 보여준다.",
        "다음 실적에서 중국 회복이 단순 출하량이 아니라 매출, 평균판매가격, 마진으로 확인되면 재평가 가능성이 커진다.",
        "서비스 매출 성장과 생태계 수익화가 프리미엄 마진을 계속 지지하면 높은 밸류에이션 방어력이 강화된다.",
        "AAPL이 266.56 위에서 거래량을 동반해 종가 마감하면 270-275 기술적 목표 구간이 열린다.",
        "AI 관련 기기 교체 수요, Mac 강세, 온디바이스 AI 기대가 개선되면 성장 서사가 보강된다.",
        "51.552B 자유현금흐름과 24.701B 자사주 매입 같은 현금창출 및 주주환원은 주당순이익과 하방 완충을 지지한다.",
        "AAPL이 반등 후 260-261의 이전 저항 및 현재 지지 구간을 지키지 못한다.",
        "AAPL이 256.48 거래량가중이동평균을 확대 거래량과 함께 이탈해 매수 수요 약화를 보인다.",
        "AAPL이 251.51-251.83의 200일 단순이동평균 구간을 결정적으로 종가 이탈한다.",
        "중국 출하량 회복이 매출, 평균판매가격, 마진 개선으로 이어지지 않는다.",
        "서비스 마진이 규제 압력이나 가이던스 약화로 훼손된다.",
        "노동 또는 매장 폐쇄 논란이 법적, 규제, 브랜드 리스크로 확대된다.",
        "후행 주가수익비율 약 33.3, 선행 주가수익비율 약 28.3, PEG 약 2.37의 고평가가 금리, 인플레이션, 좁은 기술주 랠리 반전에 취약해진다."
      ],
      "rationale": "AAPL thesis is constructive for an existing holding and possible staged overweight: fundamentals, free cash flow, buybacks, China shipment recovery, services durability, and improving technicals support the bullish bias. Timing is not complete because the plan explicitly says to wait for either a controlled 260-261 support test with fading selling pressure or a confirmed close above 266.56 with volume before adding. Current action is HOLD, not immediate ADD.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2776,
        "score_now": 0.0811,
        "score_triggered": 0.2278,
        "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.2776,
      "capital_reallocation_rank": 10,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.42,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "trigger_required_before_add",
        "breakout_or_support_confirmation_needed",
        "elevated_valuation_risk",
        "nearby_resistance",
        "intraday_confirmation_missing",
        "held_position_hold_now"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "GOOGL",
      "display_name": "GOOGL",
      "priority": 7,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.2434,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.2434,
      "trigger_conditions": [
        "317.24-321.31 구간에서 매수세가 확인되고 가격이 10 EMA 320.61을 회복하거나 유지하는지",
        "337.12 위 일간 종가와 최근 대비 거래량 증가가 동시에 나타나는지",
        "348.75 이전 고점 재시험 과정에서 거래량과 MACD histogram이 동반 개선되는지",
        "Q1 실적 발표에서 AI capex, 감가상각, Cloud 마진, 자유현금흐름 전환에 대한 경영진 설명이 명확한지",
        "RSI 70.19 부근의 과열이 가격 붕괴 없이 완화되는지",
        "연간 AI 인프라 투자 기대 175-185B 범위에 대한 업데이트가 투자 효율성 우려를 낮추는지",
        "AI 검색 신뢰도, 규제, 반독점, Nest 관련 소비자 신뢰 이슈가 핵심 검색 또는 광고 사업에 영향을 주기 시작하는지",
        "Q1에서 광고, YouTube, Google Cloud 성장세가 유지되고 자유현금흐름 마진이 방어되는 경우",
        "AI capex 가이던스가 매출 성장, Cloud 수요, 수익화 가능성과 연결되어 있고 감가상각 부담이 통제 가능하다는 점이 확인되는 경우",
        "NiSource 전력 계약, NetApp 4년 Google Cloud 협력, Gray Media AI 스트리밍 배포와 유사한 기업·공공·주권 클라우드 수요 증거가 추가되는 경우",
        "337.12를 거래량 증가와 함께 종가 기준 돌파하고 348.75 재시험 경로가 열리는 경우",
        "RSI가 과열권에서 식는 동안 가격이 10 EMA 320.61 위를 유지하고 MACD histogram이 재가속하는 경우",
        "금리 하락 또는 위험 선호 개선으로 고품질 초대형 성장주에 대한 수요가 회복되는 경우",
        "capex 가이던스가 매출 성장보다 빠르게 확대되고 마진 또는 자유현금흐름 압박이 뚜렷해지는 경우",
        "Google Cloud 성장률, Cloud 마진, AI 수익화가 높아진 인프라 투자에도 실망스러운 경우",
        "GOOGL이 320.61을 잃고 이어 307.60도 하향 이탈해 4월 반등 실패 신호를 보이는 경우",
        "AI 검색 신뢰, 광고 품질, 핵심 검색 사용량, 브랜드 신뢰가 규제·소송·제품 신뢰 문제로 훼손되는 경우",
        "337.12 위 돌파 시도가 반복적으로 약한 거래량에 실패하는 경우",
        "Q1에서 광고 또는 YouTube 모멘텀이 둔화되고 capex 효율성에 대한 설명이 부족한 경우"
      ],
      "rationale": "GOOGL has a constructive medium-term overweight thesis supported by strong profitability, cash generation, price above key moving averages, and improving MACD, but the action is still WAIT/HOLD because the setup is developing rather than confirmed. Additional exposure should wait for support confirmation around 317.24-321.31 with 10 EMA 320.61 held or reclaimed, or a volume-backed daily close above 337.12. Elevated RSI, recent rapid rally, high ATR, valuation, and upcoming earnings/AI capex guidance keep timing below actionable readiness.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "funding_source_score": 0.2776,
        "score_now": 0.0811,
        "score_triggered": 0.2278,
        "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.2776,
      "capital_reallocation_rank": 11,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_actionable_now",
        "developing_setup",
        "breakout_or_support_confirmation_needed",
        "overbought_rsi",
        "earnings_capex_event_risk",
        "valuation_risk",
        "held_position_hold_not_add"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "ETN",
      "display_name": "ETN",
      "priority": 8,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0265,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0265,
      "trigger_conditions": [
        "388-390 지지대가 종가 기준으로 방어되고 매도 압력이 완화되는지 확인",
        "400 회복과 함께 거래량이 개선되는지 확인",
        "407.01 상향 돌파가 뚜렷한 거래량 확장과 함께 발생하는지 확인",
        "MACD 히스토그램이 안정되거나 재확대되고 RSI가 50 위를 유지하는지 확인",
        "Q1 실적 발표와 컨퍼런스콜에서 백로그, 중전압 스위치기어 수요, Omaha 생산능력 일정, 마진, 잉여현금흐름 언급 확인",
        "상대 약세가 이어지는지, 특히 395.06 부근 조정 이후 S&P 500 대비 부진이 반복되는지 확인",
        "Q1 실적에서 EPS 품질, 강한 주문, 백로그 지속성, 마진 방어, 데이터센터 전력 수요 가시성이 확인되는 경우",
        "실적 이후 Citigroup, RBC, Jefferies 등과 같은 애널리스트 지지가 단순 서사가 아니라 추정치 상향으로 이어지는 경우",
        "400 회복 후 거래량 개선, 이후 407.01 상향 돌파와 거래량 확장이 동반되는 경우",
        "전력망 현대화, 전기화, AI 인프라 지출이 ETN의 매출과 잉여현금흐름으로 전환되고 있다는 추가 증거",
        "Omaha 370,000-square-foot 시설과 2027 생산 개시 계획이 중전압 및 전력 배전 병목 해소 기대를 강화하는 경우",
        "ETN이 종가 기준 388 아래로 내려간 뒤 10일 EMA 부근을 회복하지 못하는 경우",
        "VWMA 부근 377 또는 50일 SMA 부근 370을 이탈해 조정이 단기 소화를 넘어서는 경우",
        "Q1 가이던스나 경영진 코멘트에서 주문 성장 둔화, 백로그 약화, 마진 압박, 데이터센터 및 중전압 수요 전환 부족이 확인되는 경우",
        "AI 인프라·전력망 투자 서사가 약해지거나 금리, 인플레이션, 지정학 리스크, 위험회피 장세가 고멀티플 산업재를 압박하는 경우",
        "거래량 없는 407.01 돌파 실패로 고점 부근 매수세 부족이 드러나는 경우"
      ],
      "rationale": "ETN has a constructive medium-term thesis supported by fundamentals, free cash flow, deleveraging, AI/data-center power infrastructure exposure, and analyst target-price support. Timing is not yet actionable because the plan explicitly says WAIT, avoids chasing near recent highs, and requires support defense at 388-390 or a reclaim of 400/407.01 with stronger volume 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": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": 8,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "held_position_core_hold",
        "entry_wait_required",
        "breakout_confirmation_needed",
        "support_confirmation_needed",
        "volume_confirmation_missing",
        "near_high_valuation_risk",
        "momentum_cooling",
        "earnings_event_pending",
        "risk_levels_defined"
      ],
      "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.0397,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0397,
      "trigger_conditions": [
        "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가가 나오면 소형 스타터 진입 검토",
        "287-290으로 조정받은 뒤 지지를 확인하고 RSI가 개선되며 부정적 실적 또는 뉴스 촉매가 없으면 스타터 진입 검토",
        "돌파 시도 후 295 아래로 실패하면 신규 진입 보류 및 기존 노출 축소 검토",
        "273-274 VWMA 부근으로 하락하면 다음 유동성 지지에서 매수세가 방어하는지 재평가",
        "다가오는 실적 반응에서 주문, 마진, 잉여현금흐름, 2026 가이던스가 확인될 때까지 의미 있는 추가 매수 보류",
        "VRT 실적이 시장 기대를 웃돌고 2026 가이던스, 주문 성장, 마진 확장, 잉여현금흐름 지속성이 확인되는 경우",
        "AI 데이터센터 전력과 냉각 인프라 병목이 지속되고 하이퍼스케일러 투자 전망이 유지되는 경우",
        "BMarko 통합으로 모듈형 배치 속도와 북미 인프라 공급 능력이 개선되는 경우",
        "Barclays 목표가 상향, Evercore 매수 의견 유지와 같은 애널리스트 지지 또는 고객 수요 발언이 프리미엄 밸류에이션을 뒷받침하는 경우",
        "310.51-312.46 위에서 평균 이상 거래량을 동반한 일봉 종가 돌파가 발생하는 경우",
        "실적 또는 가이던스가 VRT에 반영된 높은 기대를 충족하지 못하는 경우",
        "주문 성장 둔화, 마진 압박, 매출채권 또는 재고 증가에 따른 잉여현금흐름 전환 악화가 확인되는 경우",
        "AI 인프라 투자 둔화 또는 대형 클라우드 고객의 프로젝트 지연 신호가 나타나는 경우",
        "287-290 아래로 이탈한 뒤 해당 구간을 회복하지 못하는 경우",
        "50일 SMA 부근 254 아래로 결정적으로 이탈해 중기 상승 추세가 훼손되는 경우",
        "인수 통합 문제, 영업권 손상 위험, 추가 대규모 내부자 매도가 재부각되는 경우"
      ],
      "rationale": "VRT has a constructive medium-term thesis supported by strong trend positioning, AI data-center infrastructure demand, earnings/free-cash-flow strength, and an OVERWEIGHT/BULLISH stance, but the action is explicitly WAIT/HOLD. Additional buying is not ready until either a volume-backed daily close above 310.51-312.46 confirms a breakout, or a controlled pullback holds 287-290 with improving momentum and no negative catalyst. Existing exposure can be maintained, but timing for adding remains incomplete.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "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": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.2784,
      "capital_reallocation_rank": 9,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "breakout_requires_daily_close_confirmation",
        "pullback_support_trigger_alternative",
        "high_valuation_and_volatility",
        "earnings_event_risk",
        "existing_position_hold_not_add",
        "medium_quality_trigger"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "LHX",
      "display_name": "LHX",
      "priority": 10,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.023,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.023,
      "trigger_conditions": [
        "365 위 일간 종가와 최근 1.0M-1.4M 주 범위를 뚜렷하게 넘는 거래량",
        "RSI 55 상회, MACD 재가속, 가격의 VWMA 상회가 함께 나타나는 경우",
        "343-346 조정에서 340을 지키고 개선된 거래량으로 반전하는 경우",
        "다음 실적에서 마진 회복, 반복 가능한 자유현금흐름, 지속적 부채 감소 확인",
        "Virginia 로켓 모터 증설의 funding, 생산 일정, 고객 수요 전환 확인",
        "$1.27B-$1.3B Virginia 고체 로켓 모터 증설과 Patriot, Tomahawk, hypersonics, 우주 발사 수요 연결",
        "방산 산업 기반 확대를 지원하는 것으로 보고된 $1B 미국 정부 commitment",
        "잠재적 $465M 미국 육군 차세대 야간투시 프로그램 선정 가능성",
        "순부채가 $11.383B에서 $10.047B로 감소하고 최근 분기 자유현금흐름이 $1.804B로 개선된 점",
        "지속적인 방산 예산, 미사일 재고 보충, 지정학적 수요 narrative",
        "340 아래 일간 종가로 340-365 박스권 하단 이탈",
        "최근 약 6.7%까지 하락한 영업마진의 회복 실패",
        "최근 자유현금흐름 강세가 대부분 비반복 운전자본 timing으로 확인되는 경우",
        "로켓 모터 증설에서 CAPEX 지연, 비용 초과, 인증 병목, 노동 제약, 약한 수주 전환 발생",
        "52주 고점 부근에서 추가 내부자 매도 또는 EPS와 마진 확인 없는 밸류에이션 압축"
      ],
      "rationale": "LHX has a constructive medium-term defense thesis supported by rocket motor expansion, government funding narrative, missile and hypersonics demand, strong reported free cash flow, and debt reduction. However, current timing is not actionable because price remains mid-range between 340 and 365, momentum is neutral, and the plan explicitly says WAIT/HOLD until a confirmed breakout above 365 with strong volume or a controlled pullback holding above 340.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2832,
        "score_now": 0.0725,
        "score_triggered": 0.2061,
        "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.2832,
      "capital_reallocation_rank": 7,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_state",
        "range_midpoint_no_confirmation",
        "breakout_trigger_defined",
        "volume_confirmation_required",
        "neutral_momentum",
        "existing_holder_hold_not_add",
        "risk_level_340_defined",
        "event_and_fundamental_confirmation_needed"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "TSLA",
      "display_name": "TSLA",
      "priority": 11,
      "confidence": 0.57,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0267,
      "action_if_triggered": "ADD_IF_TRIGGERED",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0267,
      "trigger_conditions": [
        "TSLA가 398 위에서 종가를 형성하고 다음 세션에도 그 가격대를 지지하는지 확인한다.",
        "390 근처 pullback에서 분산 매도가 아니라 안정화와 거래량 감소가 나타나는지 확인한다.",
        "상승일 거래량이 유지되고 하락일 거래량이 줄어드는지 확인한다.",
        "RSI가 과매수 전 단계에 머물고 MACD가 양전환 방향으로 계속 개선되는지 확인한다.",
        "2026-04-22에서 로보택시 상용화, 자동차 마진, 수요, FCF, capex 필요액에 대한 구체적 수치와 일정이 제시되는지 확인한다.",
        "398 돌파 후 400~407 구간에서 매물 소화가 되는지, 또는 false breakout으로 되밀리는지 확인한다.",
        "TSLA가 398 위에서 종가를 만들고 다음 세션에서도 398을 지지로 확인하며 거래량이 유지되는 경우.",
        "2026-04-22 업데이트가 수요 안정, 마진 회복, FCF 지속성, 로보택시 일정, AI·반도체 투자 계획을 구체적 숫자와 일정으로 제시하는 경우.",
        "RSI가 과매수권에 진입하지 않은 상태에서 MACD 개선이 이어지고, 상승일 거래량은 높고 하락일 거래량은 줄어드는 경우.",
        "AI 인프라, Terafab, 반도체 채용, 자율주행 관련 뉴스가 자동차 마진 둔화보다 비자동차 선택가치를 더 설득력 있게 만드는 경우.",
        "높아진 회의론과 TSLL 공매도 증가가 398 위 확인 돌파 이후 숏커버링 압력으로 전환되는 경우.",
        "398 저항 돌파 실패 후 390 아래 종가가 발생하는 경우.",
        "368 아래로 결정적으로 이탈해 고거래량 반등의 근거가 사라지는 경우.",
        "2026-04-22 업데이트가 로보택시, AI, 반도체 실행력에 대해 추상적 설명에 그치고 자동차 본업 지표도 약한 경우.",
        "매출 감소, gross margin 및 operating margin 둔화, FCF 감소, 완제품 재고 증가가 추가로 확인되는 경우.",
        "고밸류 성장주에 불리한 위험회피, 금리 상승, 에너지·인플레이션 충격이 확대되는 경우.",
        "경쟁사의 저비용 EV·배터리 전략이 TSLA의 가격 경쟁과 마진 압박을 더 키우는 경우."
      ],
      "rationale": "TSLA thesis is conditionally constructive for an existing holder, but the action is not ready now. The plan explicitly says HOLD/WAIT with a developing setup, requiring a daily close above 398, next-session support confirmation, and healthier volume before adding. Event confirmation from the 2026-04-22 update is also important, but the near-term actionable trigger is breakout confirmation above the clustered 398 resistance area.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.64,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.048,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.2964,
        "score_now": 0.0554,
        "score_triggered": 0.1634,
        "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.2964,
      "capital_reallocation_rank": 6,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "hold_wait_setup",
        "constructive_but_unconfirmed",
        "breakout_above_398_required",
        "next_session_support_required",
        "volume_confirmation_required",
        "event_confirmation_pending",
        "valuation_risk_high",
        "fundamental_quality_risk",
        "defined_risk_levels_390_368"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "ETHU",
      "display_name": "ETHU",
      "priority": 12,
      "confidence": 0.3,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0079,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0079,
      "trigger_conditions": [],
      "rationale": "ETHU is a held position, but the run contains no usable instrument analysis, no trigger conditions, no investment plan, and no confirmation evidence. The only defensible interpretation is to maintain watch/hold status rather than treat this as an actionable setup.",
      "data_health": {
        "coverage_score": 0.65,
        "vendor_calls": {},
        "fallback_count": 0,
        "quality_flags": [
          "missing_analysis_for_held_position"
        ],
        "legacy_rating": "UNKNOWN",
        "strategy_state": "hold_or_watch",
        "execution_feasibility_now": "not_actionable_now",
        "stale_but_triggerable": false,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.0,
        "entry_window": null,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.0,
        "thesis_multiplier": 0.7,
        "timing_now": 0.1,
        "timing_triggered": 0.0,
        "funding_source_score": 0.847,
        "score_now": -0.0059,
        "score_triggered": 0.0,
        "strict_cash_available_for_new_buys_krw": 52437
      },
      "strategy_state": "hold_or_watch",
      "execution_feasibility_now": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.847,
      "capital_reallocation_rank": 4,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.0,
      "reason_codes": [
        "missing_analysis_for_held_position",
        "no_trigger_conditions",
        "rule_only_decision",
        "weak_setup_quality",
        "not_actionable_now",
        "insufficient_data_coverage"
      ],
      "review_required": false,
      "trigger_type": "watch_only",
      "gate_reasons": [],
      "sector": null
    },
    {
      "canonical_ticker": "LRCX",
      "display_name": "LRCX",
      "priority": 13,
      "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": [
        "LRCX가 252.84 부근으로 조정받되 RSI가 55 위를 유지하고 매도 거래량이 둔화되는지 확인",
        "LRCX가 272.41 위를 확대 거래량으로 회복 또는 돌파하는지 확인",
        "2026-04-22 이후 China 매출, 서비스 매출, 메모리 투자, 파운드리 설비투자, AI 관련 수요에 대한 경영진 코멘트 확인",
        "BIS 수출통제 추가 해석이나 규정 변화에 대한 LRCX 주가 반응 확인",
        "실적 전후 변동성이 커질 때 VWMA 238.14가 지지선으로 작동하는지 확인",
        "2026-04-22 Q3 실적과 가이던스가 AI, 메모리, 파운드리, 서비스 수요의 지속성을 확인하는 경우",
        "LRCX가 272.41 위를 확대 거래량으로 돌파해 조정 이후 재가속을 확인하는 경우",
        "BIS 수출통제가 LRCX의 주문, 설치, 서비스 매출에 제한적이라는 증거가 나오는 경우",
        "TSMC 관련 수요 신호를 포함해 주요 고객과 파운드리의 AI 인프라 설비투자 강세가 이어지는 경우",
        "분석가 목표가 상향 또는 기관 매집이 고점권 밸류에이션을 추가로 지지하는 경우",
        "LRCX가 50일 SMA 230.42 아래에서 지속적으로 마감해 추세가 훼손되는 경우",
        "Q3 가이던스에서 주문 약화, China 노출 압박, 수출통제 영향, 마진 위험이 확인되는 경우",
        "MACD 히스토그램 둔화가 이어지고 RSI가 50 아래로 하락해 조정이 아니라 모멘텀 상실로 바뀌는 경우",
        "252.84와 238.14를 높은 거래량으로 연속 이탈해 랠리 이후 분산 매도가 확인되는 경우",
        "고점권에서 추가 내부자 매도 또는 기관 매도가 확대되어 밸류에이션 및 수급 부담을 키우는 경우"
      ],
      "rationale": "LRCX has a constructive medium-term overweight thesis supported by AI capex demand, strong profitability, free cash flow, and an uptrend above key moving averages, but the table explicitly says WAIT. Timing is not actionable now because price is near highs, momentum is decelerating, volatility is elevated, and Q3 earnings plus BIS export-control risk remain unresolved. A starter position is only justified after confirmation from earnings/export-control evidence, a controlled pullback holding 252.84 with RSI above 55 and lighter selling, or a high-volume breakout above 272.41.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0,
        "score_now": -0.0208,
        "score_triggered": 0.223,
        "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.0,
      "capital_reallocation_rank": 5,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "event_risk_before_entry",
        "breakout_or_pullback_confirmation_needed",
        "extended_near_highs",
        "momentum_deceleration",
        "elevated_valuation",
        "not_currently_actionable"
      ],
      "review_required": false,
      "trigger_type": "event_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "MU",
      "display_name": "MU",
      "priority": 14,
      "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": [
        "471.14 상향 돌파가 평균 이상 거래량과 후속 종가 확인을 동반",
        "424-426 조정 구간에서 지지가 확인되고 반도체 섹터 흐름이 안정",
        "저항 테스트 이후 456을 지키지 못해 실패 돌파 가능성 상승",
        "다음 실적 가이던스에서 HBM 수요, DRAM 가격, 매출총이익률, capex, 재고, 매출채권 전환 확인",
        "수출 통제, ASML 관련 약세, AI 하드웨어 위험 축소 흐름 등 반도체 섹터 압력 확대",
        "추가 내부자 매도 발생 여부와 그 규모",
        "AI 서버 수요가 HBM과 고급 DRAM 물량 및 가격을 계속 지지",
        "타이트한 메모리 공급과 고부가 제품 믹스로 매출총이익률 및 영업이익률 추가 확대",
        "다음 분기 가이던스가 EPS와 잉여현금흐름 강세의 지속성을 확인",
        "현금 및 단기투자 14.589 billion, 유동비율 약 2.897, 총부채 10.798 billion로 나타난 재무 여력과 추가 부채 축소",
        "471.14 저항선을 평균 이상 거래량으로 종가 돌파하고 후속 상승 확인",
        "HBM 또는 DRAM 가격 약화나 고객 재고 소화 시작",
        "최근 높은 매출총이익률 약 74.4%와 영업이익률 약 67.6%에서 가이던스가 둔화",
        "매출채권 15.389 billion 증가가 영업현금흐름으로 전환되지 않음",
        "수요 가시성 또는 공급 규율이 약해지는 상황에서 capex 6.387 billion 이상 부담 확대",
        "404-405 50일 SMA 구간의 결정적 기술적 이탈",
        "Sumit Sadana 24,000주, April Arnzen 40,000주, Michael Cordano 매도 이후 내부자 매도가 더 넓게 확산"
      ],
      "rationale": "MU has a constructive medium-term thesis supported by AI/HBM and advanced DRAM demand, strong reported profitability, cash flow, and improving technical trend. However, the current action is WAIT because price is extended after a sharp rebound and is near 471.14 resistance. Timing becomes actionable only after a volume-confirmed close above 471.14 with follow-through, or a controlled pullback that confirms support near 424-426.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.132,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0,
        "score_now": -0.0208,
        "score_triggered": 0.223,
        "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.0,
      "capital_reallocation_rank": 6,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_explicit",
        "near_resistance_after_sharp_rebound",
        "breakout_confirmation_required",
        "support_retest_alternative",
        "high_volatility_reduced_sizing",
        "not_actionable_now"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "GEV",
      "display_name": "GEV",
      "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": [
        "GEV가 1007.38 위에서 종가를 형성하고 거래량이 최근 1.4M-2.3M주 범위를 초과하는지 확인한다.",
        "956-960 눌림에서 10일 EMA를 방어하고 RSI가 60 부근 이상을 유지하며 bullish reversal이 나오는지 확인한다.",
        "920 VWMA 테스트 시 고거래량 붕괴가 아니라 안정화와 매수 반응이 나오는지 확인한다.",
        "Vineyard Wind 소송, 블레이드 결함 책임, 합의 비용, 지급 보류 관련 업데이트를 추적한다.",
        "다음 분기 마진, 정상화 EBITDA, 잉여현금흐름, 이연수익, 재고, 매출채권 추세를 확인한다.",
        "1007.38 위 종가 돌파와 최근 1.4M-2.3M주 범위를 웃도는 거래량 동반으로 GEV의 상승 모멘텀이 재확인되는 경우.",
        "전력망 현대화, 가스터빈, AI 데이터센터 전력 수요, 산업 전력 인프라 수요가 지속되는 경우.",
        "영업이익, 정상화 EBITDA, 잉여현금흐름 개선이 운전자본 효과가 아니라 반복 가능한 수익성 개선으로 확인되는 경우.",
        "Goldman Sachs의 1,000달러 목표가 상향 같은 긍정적 애널리스트 흐름이나 기관 수요가 실적 추정치 상향과 함께 이어지는 경우.",
        "Vineyard Wind 분쟁에서 책임 범위가 제한되거나 8억5,300만 달러 비용 및 3억800만 달러 지급 보류 관련 불확실성이 완화되는 경우.",
        "GEV가 956-960 10일 EMA 구간을 지키지 못하고 종가 기준으로 빠르게 회복하지 못하는 경우.",
        "920 VWMA 부근을 상승 거래량과 함께 결정적으로 이탈하는 경우.",
        "Vineyard Wind 관련 68개 블레이드 결함 주장이 품질, 보증, 고객 관계, 해상풍력 마진 리스크로 확대되는 경우.",
        "다음 실적이나 가이던스에서 마진 확장 부진, 낮은 품질의 현금흐름, 백로그 실행 문제, 운전자본 반전이 확인되는 경우.",
        "후행 P/E 55배와 선행 P/E 약 43배를 정당화할 성장 기대가 약해지며 밸류에이션 압축이 가속되는 경우."
      ],
      "rationale": "GEV has a constructive medium-term thesis supported by power demand, grid modernization, gas turbine exposure, improving profitability, and an intact rising technical trend. Timing is not actionable now because the stock is near 985-1007 resistance, momentum has cooled, intraday confirmation is unavailable, and the plan explicitly calls for waiting for either a volume-supported close above 1007.38 or a controlled support/reversal setup near 956-960 or 920.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.132,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "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": "not_actionable_now",
      "stale_but_triggerable": false,
      "funding_source_score": 0.0,
      "capital_reallocation_rank": 9,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.36,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "near_resistance",
        "momentum_cooling",
        "volume_breakout_required",
        "support_reversal_alternative",
        "valuation_risk",
        "legal_liability_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": 16,
      "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": [
        "923-925 위 일봉 종가 회복과 최근 평균을 웃도는 거래량",
        "923-925 회복 후 해당 구간을 지지로 재확인",
        "RSI 50 회복 및 MACD가 0선 방향으로 개선",
        "939-955 위 종가로 단기 반등 모멘텀 강화 확인",
        "976-979 위 종가로 중기 추세 복구 신호 확인",
        "902-903 아래 종가 또는 888 하향 압력 발생 시 하방 경고",
        "Foundayo 승인 신청, FDA 시판 후 연구 범위, 라벨 문구 관련 업데이트",
        "다음 실적에서 자유현금흐름, capex, 재고, 매출채권, 공급능력 가이던스 확인",
        "Foundayo의 심혈관 및 사망률 개선 데이터와 간 안전성 신호 부재가 당뇨·비만 프랜차이즈 확장 기대를 지지",
        "2형 당뇨 적응증에 대한 Q2 말까지의 미국 승인 신청 계획",
        "Foundayo 라벨, 승인 일정, 의사 채택 기대가 우호적으로 확인될 경우 실적 추정치 상향 가능성",
        "2025년 매출 확대, 높은 영업이익률, EPS 성장 지속",
        "Centessa 인수 보도가 장기 파이프라인 다변화 선택지를 제공할 가능성",
        "923-925 회복 후 939-955 및 976-979 저항대 돌파 시 기술적 회복 신뢰도 상승",
        "902-903 아래 일봉 종가 이탈 후 빠른 회복 실패",
        "거래량 증가를 동반한 888 하향 이탈과 878.24 재시험 위험 확대",
        "Foundayo 관련 FDA 지연, 제한적 라벨, 더 심각한 안전성 우려 또는 부담스러운 시판 후 요구",
        "Novo Nordisk, Viking Therapeutics, Kailera 등 경쟁사가 가격, 점유율, 처방 기대, 임상 비교 우위를 압박한다는 증거",
        "capex, 부채, 배당, 자사주 매입, 인수 지출이 늘어나는 가운데 자유현금흐름 부진 지속",
        "성장률 전망 하향으로 forward PE 21.47 및 PEG 0.9769의 밸류에이션 지지가 약화"
      ],
      "rationale": "LLY has a constructive medium-term overweight thesis supported by strong growth, high margins, EPS expansion, and Foundayo-related catalysts, but the action table explicitly says WAIT because price is only marginally above 200-day support and has not reclaimed the 923-925 confirmation zone with volume. Timing is therefore watchlist-only until a daily close above 923-925 with volume, a successful retest, or a clear 902-903 support defense with improving RSI/MACD.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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.0346,
        "score_triggered": 0.1884,
        "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.0,
      "capital_reallocation_rank": 11,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "wait_for_confirmation",
        "breakout_trigger_required",
        "near_critical_support",
        "elevated_atr_vs_support_distance",
        "not_actionable_now",
        "event_and_fcf_risks"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "ORCL",
      "display_name": "ORCL",
      "priority": 17,
      "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": [
        "171 위 일간 종가와 최근 평균을 웃도는 거래량이 동반되고, 그 수준이 1거래일 이상 유지된다.",
        "153-157 구간으로 조정된 뒤 50일선 150.54 위에서 고점·저점 구조가 안정되고 매수세가 재유입된다.",
        "10일 지수이동평균 156.88 위 종가가 지속되어 반등 탄력이 유지된다.",
        "경영진이 설비투자, 자유현금흐름 회복 시점, OCI 성장, 데이터센터 활용률에 대해 더 명확한 지침을 제시한다.",
        "38 billion dollars 대출 패키지의 배분, 미소화 물량, 조달 비용, 신용시장 반응에 대한 업데이트가 우호적으로 나온다.",
        "200일선 214.26 방향으로 이동할 때 거래량과 시장 폭이 함께 개선된다.",
        "AWS 멀티클라우드 네트워킹 확장은 OCI 접근성과 기업 워크로드 이전 가능성을 높인다.",
        "Mizuho Bank의 Oracle Autonomous AI Database 채택은 금융권 보안·복원력·거버넌스 수요에서 Oracle 데이터베이스 경쟁력을 확인해 준다.",
        "Bloom Energy 2.8 GW 전력 파트너십은 AI 데이터센터 병목인 전력 확보 측면에서 실행력을 높일 수 있다.",
        "최근 분기 매출 17.19 billion dollars와 영업이익 5.637 billion dollars, 영업이익률 약 32.8%는 성장 논리가 단순한 테마가 아님을 뒷받침한다.",
        "MACD가 -3.81에서 +3.00으로 개선되고 가격이 50일선, 10일 지수이동평균, 거래량가중평균을 회복한 점은 단기 수급 개선을 보여준다.",
        "자유현금흐름이 깊은 음수로 남고 OCI 매출 전환 또는 활용률 개선 증거가 나타나지 않는다.",
        "38 billion dollars 데이터센터 금융 패키지가 조달 스트레스, 신용스프레드 확대, 미소화 대출 부담, 투자자 수요 약화를 유발한다.",
        "171 돌파에 실패한 뒤 150-153 지지대를 종가 기준으로 이탈한다.",
        "다음 실적 주기에서 OCI 성장, 고객 다변화, AI 데이터베이스 채택, 운영현금흐름 회복이 기대에 못 미친다.",
        "내부자 매도, 고객 집중, 높은 밸류에이션 우려가 강화되는 가운데 장기 추세가 200일선 214.26 아래에서 계속 훼손된다."
      ],
      "rationale": "ORCL has a constructive medium-term AI/OCI thesis supported by cloud catalysts, database adoption, revenue growth, margin strength, and improving momentum, but the current setup is not actionable. Price has already rebounded sharply into an overextended area near the upper Bollinger band with RSI elevated, while the long-term trend remains unconfirmed below the 200-day average. Entry should wait for either a controlled pullback that holds above the 50-day area or a confirmed breakout above 171 with above-average volume and follow-through.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "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.0348,
        "score_triggered": 0.188,
        "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.0,
      "capital_reallocation_rank": 13,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "overextended_short_term_price",
        "breakout_not_confirmed",
        "pullback_support_not_confirmed",
        "long_term_trend_unrepaired",
        "fcf_and_leverage_risk"
      ],
      "review_required": false,
      "trigger_type": "watch_only",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "FANG",
      "display_name": "FANG",
      "priority": 18,
      "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": [
        "188.78 위 종가 회복은 초기 수리 신호이며, 191.89-192 위 종가와 거래량 확인이 실제 진입 트리거다.",
        "RSI 50 회복과 MACD 히스토그램의 음수 축소가 동시에 나타나는지 확인한다.",
        "181-182 지지 테스트에서 고거래량 추가 하락이 나오지 않는지 확인한다.",
        "WTI가 90-95 이상을 유지하는지, 또는 지정학 프리미엄 해소로 급락하는지 추적한다.",
        "다음 회사 발표에서 capex, 생산, hedge 영향, Free Cash Flow, Net Debt, 배당과 자사주 매입 균형을 확인한다.",
        "FANG가 192 위로 일봉 종가를 만들고 평균 이상 거래량을 동반하면 VWAP 191.89 회복과 매수세 복귀가 확인되어 197-202 및 204 재시험 가능성이 열린다.",
        "181-182 지지 테스트가 성공하고 RSI가 50을 회복하면 과열 해소 이후 손익비가 개선된 반전형 스타터 진입이 가능하다.",
        "WTI가 90-95 이상, Brent가 100 부근을 유지하면 FANG의 원유 레버리지가 현금흐름 기대를 지지한다.",
        "Permian 저비용 생산, Double Eagle 통합 효과, 시추 효율성이 Forward EPS 16.26과 Forward PE 11.48에 반영된 정상화 기대를 뒷받침한다.",
        "UBS 목표가 246, JPMorgan 목표가 228, 평균 목표가 203.95 등 최근 목표가 상향 흐름과 부채 감축, tender offer, 배당 및 자사주 매입이 투자심리를 지지한다.",
        "FANG가 181 아래로 일봉 종가를 낸 뒤 50일 SMA 181.32를 회복하지 못하는 경우.",
        "2026-04-08 저점 175.14를 이탈해 조정이 정상 변동성 범위를 넘어 확장되는 경우.",
        "호르무즈, 이란, 중동 리스크 완화나 수요 둔화, 정책적 공급 압박으로 WTI와 Brent가 지정학 프리미엄을 빠르게 반납하는 경우.",
        "다음 실적에서 2025년 4분기 Total Unusual Items -33.53억 달러와 Special Income Charges -35.25억 달러 성격의 손실이 반복되거나 Normalized EBITDA와 Free Cash Flow 품질이 훼손되는 경우.",
        "SGF FANG HOLDINGS, LP 및 경영진 매도처럼 대규모 내부자·스폰서 매도가 계속되어 기관 수요를 압도하는 경우."
      ],
      "rationale": "FANG has a constructive medium-term overweight thesis supported by Permian scale, cash flow, debt reduction, shareholder returns, oil leverage, and analyst target support, but timing is not yet actionable. Current price remains below key near-term confirmation levels around the 10-day EMA/VWAP and 191.9-192, RSI is still below 50, MACD momentum is negative, and recent high-volume weakness argues for waiting. A starter position is only justified after a confirmed close above 192 with above-average volume and RSI recovery, or a successful 181-182 support test with improving momentum.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.66,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0,
        "score_now": -0.0356,
        "score_triggered": 0.1859,
        "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.0,
      "capital_reallocation_rank": 12,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "momentum_below_confirmation",
        "support_test_pending",
        "high_volume_weakness_risk",
        "risk_levels_defined"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "NET",
      "display_name": "NET",
      "priority": 19,
      "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": [
        "$194.37 위 일간 종가와 최근 평균을 웃도는 거래량",
        "$202.01 위 일간 종가와 이후 지지 재확인",
        "RSI가 55 위를 유지하고 MACD 히스토그램이 양의 전환 쪽으로 개선",
        "$184.02 위에서 눌림이 지지되고 거래량 구조가 개선",
        "다음 실적의 매출 성장률, 순매출유지율 또는 대형 고객 성장, 잉여현금흐름률, 매출 대비 SBC, 영업이익률, 부채 만기 관련 발언",
        "NET이 $192.70-$194.37 위에서 거래량을 동반해 종가를 형성하며 VWMA, 10일 EMA, 50일 SMA 구간을 회복",
        "$202.01 부근 200일 SMA를 지속적으로 회복하고 이후 지지 재확인",
        "OpenAI, Wiz, AI 보안, 에이전트 인프라 협력이 고객 증가나 매출 기여로 확인",
        "다음 실적에서 30%+ 매출 성장, 잉여현금흐름 지속성, 영업손실 축소, 건설적 가이던스 확인",
        "Baird $260, TD Cowen $265 목표가처럼 프리미엄 밸류에이션을 지지하는 추가 분석가 상향 또는 고품질 클라우드 보안주로의 업종 순환",
        "$192.70-$194.37 회복 실패 후 $184.02 아래로 이탈",
        "$166.99 결정적 하향 이탈로 4월 반등이 실패한 과매도 반등으로 확인",
        "실적 실망, 가이던스 약화, AI·에이전트 협력이 측정 가능한 성장으로 이어지지 않는 증거",
        "SBC 또는 희석이 매출 및 잉여현금흐름 개선보다 빠르게 증가",
        "금리·인플레이션·지정학 위험 또는 고베타 소프트웨어 전반 매도로 인한 밸류에이션 압축"
      ],
      "rationale": "NET has a constructive medium-term overweight thesis supported by strong revenue growth, high gross margin, positive free cash flow, AI/security partnership optionality, and supportive analyst targets. Timing is not actionable now because entry_action is WAIT, price remains below key VWMA/EMA/SMA resistance, MACD is still negative, RSI is not confirming, and the plan requires a volume-backed close above $192.70-$194.37 before even a reduced starter position.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "funding_source_score": 0.0,
        "score_now": -0.0356,
        "score_triggered": 0.1859,
        "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.0,
      "capital_reallocation_rank": 14,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_state",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "momentum_unconfirmed",
        "volume_confirmation_required",
        "reduced_starter_only_if_triggered",
        "valuation_risk_elevated",
        "not_held_watchlist_candidate"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "COST",
      "display_name": "COST",
      "priority": 20,
      "confidence": 0.65,
      "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 히스토그램 개선을 동반한다.",
        "지지 진입 기준: COST가 974-980을 방어하고 RSI가 45-50 부근에서 위로 꺾이며 MACD 히스토그램 음의 폭이 줄어든다.",
        "증액 기준: 1000 회복 후 1015-1035 재시험이 나타나고, 되돌림에서 1000 재지지가 확인된다.",
        "위험 축소 기준: COST가 968 아래에서 종가를 형성해 947 방향 하방 위험이 열린다.",
        "구조적 위험 기준: COST가 947 부근 200일선을 이탈한다.",
        "기본적 확인 기준: 다음 월간 매출 또는 트래픽 업데이트가 높은 밸류에이션에도 수요 강도를 확인한다.",
        "COST가 994-1000 저항대를 종가로 회복하고 10일 EMA, 50일선, VWMA를 되찾는 흐름.",
        "1000 위 종가에 거래량 개선과 MACD 히스토그램 음의 폭 축소가 동반되는 돌파 확인.",
        "974-980 지지 방어 후 RSI가 45-50 부근에서 상향 전환되고 MACD 히스토그램 개선이 나타나는 지지 반등.",
        "월간 매출, 트래픽, 멤버십, comparable-sales 지표가 프리미엄 밸류에이션을 계속 정당화하는 결과.",
        "분기 배당 $1.30에서 $1.47로 13.1% 인상된 점이 현금흐름 내구성과 주주환원 신뢰를 강화하는 흐름.",
        "Kirkland 차별화, 체크아웃 자동화, Business Center 확장, gasoline traffic 개선이 운영 효율과 방문 수요를 뒷받침하는 증거.",
        "COST가 968 아래에서 종가를 형성하고 반등 시도가 약하거나 MACD 히스토그램 악화가 확대되는 경우.",
        "200일선 부근 947 이탈로 박스권 조정이 아니라 장기 구조 훼손 가능성이 커지는 경우.",
        "월간 매출, 트래픽, 멤버십, 마진 지표가 PER 51배와 forward PER 44배 수준의 기대를 뒷받침하지 못하는 경우.",
        "rotisserie chicken 식품 안전 소송이 브랜드 신뢰, 언론 확산, 트래픽 둔화로 번지는 경우.",
        "내부자 매도나 기관 축소가 보상 주식 유동화 또는 혼재 수급을 넘어 광범위하고 지속적인 이탈로 확인되는 경우.",
        "994-1000 회복 시도가 반복적으로 실패해 저항이 강화되고 974-980 지지 재시험 압력이 커지는 경우."
      ],
      "rationale": "COST has a constructive medium-term quality thesis supported by strong fundamentals, cash flow, ROE, and dividend growth, but timing is not actionable now. Price remains below the 994-1000 resistance cluster and key short/intermediate moving averages, with negative MACD histogram and neutral RSI. Entry should wait for a confirmed close above 994-1000 with volume and momentum improvement, or a defended 974-980 support retest with RSI/MACD improvement; otherwise it remains a watchlist starter candidate only.",
      "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,
        "execution_timing_state": "",
        "session_vwap_ok": null,
        "relative_volume_ok": null,
        "trigger_quality": 0.62,
        "entry_window": "mid",
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "funding_source_score": 0.0,
        "score_now": -0.0395,
        "score_triggered": 0.1763,
        "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.0,
      "capital_reallocation_rank": 15,
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_fundamental_thesis",
        "entry_waiting_for_confirmation",
        "price_below_key_resistance",
        "negative_momentum_not_resolved",
        "starter_only_if_triggered",
        "valuation_risk_elevated",
        "defined_downside_invalidators"
      ],
      "review_required": false,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "wait_heavy_batch_reduce_immediate_entries"
      ],
      "sector": null
    }
  ]
}