{
  "snapshot_id": "20260415T061150_kis_68944660-01",
  "snapshot_health": "CAPITAL_CONSTRAINED",
  "account_value_krw": 6152810,
  "cash_diagnostics": {
    "summary_fields_present": [
      "asst_icdc_amt",
      "asst_icdc_erng_rt",
      "bfdy_buy_amt",
      "bfdy_sll_amt",
      "bfdy_tlex_amt",
      "bfdy_tot_asst_evlu_amt",
      "cma_evlu_amt",
      "d2_auto_rdpt_amt",
      "dnca_tot_amt",
      "evlu_amt_smtl_amt",
      "evlu_pfls_smtl_amt",
      "fncg_gld_auto_rdpt_yn",
      "nass_amt",
      "nxdy_auto_rdpt_amt",
      "nxdy_excc_amt",
      "pchs_amt_smtl_amt",
      "prvs_rcdl_excc_amt",
      "scts_evlu_amt",
      "thdt_buy_amt",
      "thdt_sll_amt",
      "thdt_tlex_amt",
      "tot_evlu_amt",
      "tot_loan_amt",
      "tot_stln_slng_chgs"
    ],
    "parsed_numeric_fields": {
      "dnca_tot_amt": 10,
      "tot_evlu_amt": 6152810,
      "nass_amt": 6152810
    },
    "positions_market_value_krw": 6152800,
    "selected_fields": {
      "settled_cash": "dnca_tot_amt",
      "available_cash": "dnca_tot_amt",
      "buying_power": "dnca_tot_amt",
      "total_equity": "tot_evlu_amt"
    }
  },
  "decision_distribution": {
    "NO_TRADE": 11
  },
  "stance_distribution": {
    "BULLISH": 11
  },
  "entry_action_distribution": {
    "WAIT": 11
  },
  "warnings": [
    "High NO_TRADE concentration: 11/11 (100%).",
    "Legacy NO_TRADE concentration coexists with constructive stance/action signals; calibrate stance-action mapping.",
    "Wait-heavy constructive batch: WAIT 11/11 with BULLISH 11/11; review entry-action calibration.",
    "Constructive batch produced no BUY/OVERWEIGHT ratings; review rating calibration against stance and entry_action outputs.",
    "Account snapshot has insufficient deployable cash for the configured minimum trade."
  ],
  "semantic_verdicts": [
    {
      "canonical_ticker": "000660.KS",
      "display_name": "SK하이닉스",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.76,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "SK하이닉스 thesis is constructive with bullish portfolio stance, recovering momentum, and clear AI/HBM memory catalysts, but the timing is not yet confirmed. The plan explicitly says to hold existing exposure and avoid chasing until either 968000-970000 support is defended on stable volume or 1096000-1099000 resistance is cleared on a closing basis with stronger volume. Because current evidence emphasizes fading volume near resistance and pending earnings/IR confirmation, this remains a watch/hold setup rather than an actionable add.",
      "counter_evidence": [
        "Entry action is WAIT and rating is NO_TRADE despite bullish stance.",
        "Price is near 1096000-1099000 resistance and the Bollinger upper band, increasing rejection risk.",
        "Volume faded from 6709356 shares on 2026-04-08 to 2769753 shares on 2026-04-13, weakening breakout confirmation.",
        "Reported intraday highs around 1121500-1128000 are explicitly not sufficient without closing confirmation and strong volume.",
        "Q1 results, IR guidance, HBM demand, memory pricing, margins, and capex discipline still need to validate elevated expectations.",
        "Close below 927000-929000 would invalidate the rebound setup."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "near_resistance_zone",
        "support_retest_alternative",
        "event_confirmation_pending",
        "held_position_hold_only",
        "clear_invalidation_level"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "005380.KS",
      "display_name": "현대차",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "현대차에 대한 중기 관점은 장기 추세 유지, 낮은 forward PER, Genesis 및 미래 모빌리티 선택권으로 건설적이지만, 현재 가격은 10일 EMA/VWMA와 50일 SMA 아래에 있고 RSI도 50 미만이라 즉시 증액 타이밍은 확인되지 않았다. 보유자는 핵심 보유는 가능하나 신규 또는 추가 매수는 484400 상회 종가와 평균 이상 거래량, 더 강하게는 508500 회복 유지가 필요하다.",
      "counter_evidence": [
        "현재 종가가 10일 EMA, VWMA, 50일 SMA 아래에 있어 단기 추세 확인이 부족하다.",
        "RSI가 아직 50 미만이고 ATR이 가격 대비 약 5.9%로 변동성이 높다.",
        "마진 회복 지연, 생산·물류 차질, 추가 음의 자유현금흐름 가능성이 긍정 논리를 훼손할 수 있다.",
        "445500 종가 이탈 시 방어적 축소 또는 청산 조건이 명확하다."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "price_below_key_moving_averages",
        "volume_confirmed_breakout_needed",
        "held_position_core_hold_only",
        "explicit_invalidation_level",
        "elevated_volatility"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "005930.KS",
      "display_name": "삼성전자",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.78,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term thesis is constructive for 005930.KS, supported by price above key moving averages, recovery fundamentals, AI memory demand, liquidity, and semiconductor cycle catalysts. Timing is not ready because the latest close remains below the 210500 breakout trigger, volume has faded after the spike, and MACD momentum is contracting. Current action is hold/wait, with entry only after breakout confirmation or a controlled support hold in the 196900-189800 zone.",
      "counter_evidence": [
        "Latest valid close of 201000 is below the 210500 breakout level.",
        "Volume faded after the 2026-04-09 spike, weakening confirmation quality.",
        "MACD histogram contracted, indicating momentum has not re-accelerated.",
        "ATR near 10845 and daily volatility around 5.4% make immediate entry risk/reward less attractive.",
        "Position guidance explicitly says no new full-size entry today and only starter sizing after confirmation."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "momentum_contraction",
        "high_atr_requires_small_starter",
        "existing_position_hold_only"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "010950.KS",
      "display_name": "S-Oil",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "S-Oil thesis is directionally constructive: price is above key moving averages, MACD has improved, RSI is not overbought, and expected Q1 turnaround plus cash-flow/debt improvement support a bullish medium-term view. Timing is not ready for new action because the plan explicitly says WAIT/HOLD until either a KRW 124500 volume-backed daily breakout, a controlled KRW 116000-118000 support retest with momentum intact, or Q1/margin confirmation occurs. For the existing small holding, maintain hold but monitor KRW 116000 and KRW 111500 risk levels.",
      "counter_evidence": [
        "Immediate entry is explicitly deferred despite constructive thesis.",
        "No confirmed KRW 124500 breakout with volume expansion is present.",
        "Recent spike toward KRW 176551 followed by retreat into KRW 105000-112000 area shows whipsaw risk.",
        "ATR is elevated at about 6.3% of price, weakening near-term risk reward.",
        "Q1 2026 earnings, Q2 refining margin outlook, working capital, and net debt improvement still need confirmation.",
        "Debt, liquidity, negative working capital, and capex burden keep sizing conservative."
      ],
      "reason_codes": [
        "constructive_trend_above_moving_averages",
        "macd_positive_turn",
        "earnings_turnaround_expected_not_confirmed",
        "explicit_wait_entry_action",
        "breakout_requires_volume_confirmation",
        "pullback_support_alternative_unconfirmed",
        "high_atr_post_spike_volatility",
        "defined_downside_invalidation_levels",
        "held_position_hold_not_add"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "012450.KS",
      "display_name": "한화에어로스페이스",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.74,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Constructive medium-term thesis for 012450.KS is supported by price above major moving averages, improving MACD, supply-contract disclosures, defense export optionality, and solid recent financials. Timing is not actionable yet: the recommendation is HOLD/WAIT, with entry or add decisions deferred until either a volume-confirmed close above 1530000-1550000 or a controlled pullback defending the 10-day EMA/VWMA. Existing holding can be maintained, but no immediate buy or rebalance trigger is confirmed.",
      "counter_evidence": [
        "2026-04-14 was reported as a non-trading day, so there is no same-day execution confirmation.",
        "2026-04-13 volume of 259390 was far below the March spike of 1295365, weakening breakout confirmation.",
        "ATR is elevated at about 89658 KRW, or roughly 5.86% of price, increasing timing and gap risk.",
        "The plan explicitly says NO_TRADE/WAIT and requires confirmation before any new or increased position.",
        "Relative weakness versus a strong KOSPI and possible defense-sector rotation remain risks."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait",
        "held_position_hold_only",
        "volume_confirmation_missing",
        "high_atr_timing_risk",
        "explicit_breakout_trigger_defined",
        "support_pullback_trigger_defined",
        "event_confirmation_pending"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "034020.KS",
      "display_name": "두산에너빌리티",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.7,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term thesis is constructive for 034020.KS due to intact long-term trend, nuclear/infrastructure catalysts, improved free cash flow, and reduced net debt, but the action is not yet timing-ready. Current recommendation is hold/wait: new buying requires confirmation via a close above 103,000 KRW with materially stronger volume and MACD improvement, or a defended 98,100-98,700 KRW support test followed by reclaim of 100,000 KRW. Existing position has defined downside risk lines at 98,100 KRW and 95,000 KRW.",
      "counter_evidence": [
        "MACD remains negative and histogram improvement has not yet confirmed a bullish turn.",
        "Recent rebound volume of 1,746,075 shares is weak versus prior 8-9 million share activity.",
        "Price remains near resistance around 100,000-103,000 KRW, so chasing is explicitly discouraged.",
        "Forward PE near 93x, low margin/ROE, high beta, and interest expense burden argue against full-size exposure before confirmation.",
        "Nuclear project headlines still need contract value, margin, schedule, and attributable economics confirmation."
      ],
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_conditioned_on_breakout",
        "volume_confirmation_required",
        "macd_not_confirmed",
        "support_reclaim_alternative_trigger",
        "held_position_with_defined_risk_lines",
        "valuation_and_volatility_constrain_sizing"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "042700.KS",
      "display_name": "한미반도체",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "한미반도체의 HBM/TC본더 장비 사이클과 수익성, 재무 여력은 우호적이어서 보유 관점의 중기 thesis는 유지된다. 다만 286000원 저항 확인 후 거래량이 크게 줄고 종가가 밀렸으며, 현재 가격은 단기 평균선 바로 위에 머물러 즉시 증액이나 신규 진입 타이밍은 확인되지 않았다. 핵심 트리거는 286000원 종가 돌파와 거래량 회복, 또는 271000~274000원 지지 확인 후 강한 반등이다.",
      "counter_evidence": [
        "286000원 저항 확인 후 2026-04-10 거래량 1087130주에서 2026-04-13 거래량 387276주로 감소했다.",
        "종가가 286000원에서 276500원으로 밀려 즉시 추격 매수의 확률 우위가 부족하다.",
        "PER 54배 수준의 프리미엄과 2025-12-31 매출 및 영업이익 둔화는 신규 수주와 가이던스 확인 전 부담이다.",
        "ATR 약 19400원, 종가 대비 약 7% 변동성과 베타 2.245로 포지션 확대 전 확인 필요성이 크다."
      ],
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "resistance_rejection_needs_volume_recovery",
        "specific_breakout_trigger_defined",
        "support_retest_alternative_defined",
        "valuation_and_growth_visibility_risk",
        "held_position_but_no_add_signal"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "058470.KQ",
      "display_name": "리노공업",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "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": "Constructive medium-term thesis for 058470.KQ based on price above key moving averages, positive MACD, non-overbought RSI, high margins, strong liquidity, low leverage, and positive free cash flow. Timing is not actionable now because the plan explicitly says WAIT/NO_TRADE at the latest close near 113400 and requires confirmation: either a close above 116800 with more than 1000000 shares and relative strength recovery, or a controlled pullback near 110000 that holds 105000-106000 and then recovers. Existing small holding can be held while support remains intact, but new/add exposure is not confirmed.",
      "counter_evidence": [
        "Latest close around 113400 is below the 116800 breakout trigger and does not justify immediate new entry.",
        "Recent volume around 578766 is below the required 1000000-share confirmation threshold and below desired breakout participation.",
        "Stock showed relative weakness during a strong KOSDAQ session, so market participation has not yet broadened into the name.",
        "ATR near 6.4% makes timing and sizing riskier without confirmation.",
        "Forward PE near 36 requires revenue reacceleration, while recent revenue declined from 2025-06-30 to 2025-12-31.",
        "A daily close below 105000 would invalidate the current support structure for existing exposure."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "clear_breakout_trigger_not_met",
        "volume_confirmation_required",
        "relative_strength_unconfirmed",
        "support_break_invalidation_defined",
        "premium_valuation_needs_fundamental_confirmation",
        "held_position_risk_managed_not_addable"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "064400.KS",
      "display_name": "LG CNS",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.58,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "LG CNS has a constructive medium-term thesis supported by profitability, valuation, liquidity, dividend yield, and potential public SI/token securities/AI infrastructure catalysts, but timing is not confirmed. The stock is held, and the appropriate near-term action is HOLD/WAIT because the latest cited close remains below the 63000-63300 resistance zone, the 50D SMA, and the 200D SMA. Actionability depends on a close above 63300 with volume expansion, followed by acceptance above the 50D SMA; downside risk is managed around 59680 and the 59000-60000 defense zone, with 55800 as major thesis invalidation.",
      "counter_evidence": [
        "Latest cited close of 60900 remains below 63000-63300 resistance, 50D SMA 64832.36, and 200D SMA 65877.95.",
        "Prior recovery attempt around 63300 failed and price pulled back to 60900.",
        "Entry action is explicitly WAIT/NO_TRADE, with no new full position recommended today.",
        "Catalysts such as contract details, K-Edufine participation, token securities implementation, and AI infrastructure adoption remain unconfirmed.",
        "High ATR near 5% of price requires smaller sizing and closing-level confirmation rather than immediate execution."
      ],
      "reason_codes": [
        "constructive_fundamental_thesis",
        "held_position_hold_only",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "resistance_reclaim_required",
        "volume_confirmation_required",
        "catalysts_unconfirmed",
        "downside_defense_defined"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "095340.KS",
      "display_name": "ISC",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.64,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Medium-term thesis is constructive for held ISC exposure due to strong margins, net cash, AI/CPO test-socket narrative, ETF inclusion, and sector risk appetite. Timing is not actionable yet: the plan explicitly says NO_TRADE/WAIT and requires a volume-backed close above the 250,000-253,000 VWMA/supply zone, follow-through above 250,000, RSI/MACD improvement, and later breakouts at 271,000 and 292,500 before adding.",
      "counter_evidence": [
        "Current recommendation is NO_TRADE with entry_action WAIT, not immediate buy/add.",
        "MACD is falling with negative histogram, RSI is below 50 at about 46.66, and short-term buying control has weakened.",
        "Volatility is elevated, with ATR near 25,120 KRW and a recent 48,500 KRW intraday range.",
        "Price still needs to reclaim 250,000-253,000 with volume and hold above 250,000 on the next session.",
        "A close below 240,000 on volume would shift the setup toward tactical reduction, while a 50-day SMA break near 201,390 would damage the medium-term thesis."
      ],
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_confirmed",
        "breakout_trigger_required",
        "momentum_below_confirmation",
        "volume_confirmation_needed",
        "held_position_core_hold",
        "clear_downside_invalidation"
      ],
      "review_required": false
    },
    {
      "canonical_ticker": "278470.KS",
      "display_name": "에이피알",
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "trigger_type": "breakout_confirmation",
      "trigger_horizon": "days_to_weeks",
      "trigger_quality": 0.72,
      "thesis_state": "constructive_but_not_confirmed",
      "semantic_summary": "Thesis is constructive: trend is intact above key moving averages, momentum has re-accelerated, and fundamentals/catalysts are supportive. Timing is not actionable yet because price is extended near KRW 408,500 resistance, RSI is near overbought, ATR is high, and volume has faded after the prior surge. Best read is hold existing small exposure and wait for either a controlled pullback holding KRW 356,000-365,000 or a volume-confirmed close above KRW 408,500 with follow-through/retest.",
      "counter_evidence": [
        "Current price is close to KRW 408,500 resistance and stretched versus the 10-day, 50-day, and 200-day averages.",
        "RSI near 68 and ATR around 6.24% indicate elevated short-term timing risk.",
        "Volume faded from 868,166 shares on 2026-04-09 to 286,905 shares on 2026-04-13, so breakout participation is not yet confirmed.",
        "Q1 earnings, margin durability, inventory control, and U.S./Europe sell-through still need confirmation against elevated expectations."
      ],
      "reason_codes": [
        "bullish_thesis_but_wait",
        "extended_near_resistance",
        "volume_confirmation_missing",
        "pullback_or_breakout_trigger_required",
        "held_position_manage_risk",
        "fundamental_event_confirmation_pending"
      ],
      "review_required": false
    }
  ],
  "action_judge": {
    "status": "success",
    "provider": "codex",
    "model": "gpt-5.4",
    "priority_order": [
      "000660.KS",
      "278470.KS",
      "012450.KS",
      "010950.KS",
      "005930.KS"
    ],
    "portfolio_note": "All provided names are HOLD/WAIT with no immediate buy candidate. Available cash is only KRW 10 versus the KRW 2500000 minimum cash buffer and every candidate carries high fallback-count data risk, so arbitration should prioritize monitoring triggers rather than trade execution. Semiconductor exposure should be watched conservatively because both 000660.KS and 005930.KS depend on similar AI-memory and cycle catalysts, while the batch-wide 100% NO_TRADE/WAIT concentration warrants calibration review before acting on bullish stance labels.",
    "reason_by_ticker": {
      "000660.KS": {
        "summary": "Highest monitoring priority: strongest current score with a constructive AI/HBM memory thesis and existing position, but still HOLD only because resistance breakout and volume confirmation are missing and fallback count is elevated.",
        "reason_codes": [
          "highest_score_now",
          "bullish_thesis_but_wait",
          "breakout_not_confirmed",
          "volume_confirmation_missing",
          "event_confirmation_pending",
          "held_position_hold_only",
          "high_fallback_count",
          "no_deployable_cash"
        ],
        "review_required": true
      },
      "278470.KS": {
        "summary": "Second priority: high confidence and strong growth thesis, but price is extended near resistance with fading volume and overbought risk, so maintain the small existing position and wait for either pullback support or confirmed breakout.",
        "reason_codes": [
          "high_confidence_relative",
          "bullish_thesis_but_wait",
          "extended_near_resistance",
          "volume_confirmation_missing",
          "pullback_or_breakout_trigger_required",
          "fundamental_event_confirmation_pending",
          "high_fallback_count",
          "no_deployable_cash"
        ],
        "review_required": true
      },
      "012450.KS": {
        "summary": "Third priority: constructive defense thesis and large existing holding, but high ATR, incomplete volume confirmation, and already meaningful portfolio weight argue against adding until breakout or support-retest evidence improves.",
        "reason_codes": [
          "constructive_medium_term_thesis",
          "large_existing_position",
          "held_position_hold_only",
          "volume_confirmation_missing",
          "high_atr_timing_risk",
          "explicit_breakout_trigger_defined",
          "event_confirmation_pending",
          "high_fallback_count",
          "no_deployable_cash"
        ],
        "review_required": true
      },
      "010950.KS": {
        "summary": "Fourth priority: turnaround setup is constructive and position size is small, but earnings and margin confirmation remain pending and the stock needs either KRW 124500 breakout confirmation or a controlled support retest.",
        "reason_codes": [
          "constructive_trend_above_moving_averages",
          "macd_positive_turn",
          "earnings_turnaround_expected_not_confirmed",
          "breakout_requires_volume_confirmation",
          "pullback_support_alternative_unconfirmed",
          "defined_downside_invalidation_levels",
          "high_fallback_count",
          "no_deployable_cash"
        ],
        "review_required": true
      },
      "005930.KS": {
        "summary": "Lowest priority among the provided tickers: quality semiconductor exposure and constructive medium-term thesis, but timing readiness is weakest, breakout remains unconfirmed, volume has faded, and adding would increase semiconductor concentration alongside SK hynix.",
        "reason_codes": [
          "lowest_timing_readiness",
          "constructive_medium_term_thesis",
          "breakout_not_confirmed",
          "volume_confirmation_missing",
          "momentum_contraction",
          "sector_concentration_watch",
          "existing_position_hold_only",
          "high_fallback_count",
          "no_deployable_cash"
        ],
        "review_required": true
      }
    }
  },
  "report_writer": {
    "status": "success",
    "scope": "portfolio",
    "provider": "codex",
    "model": "gpt-5.4"
  },
  "candidates": [
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "000660",
        "canonical_ticker": "000660.KS",
        "yahoo_symbol": "000660.KS",
        "krx_code": "000660",
        "dart_corp_code": null,
        "display_name": "SK하이닉스",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 1103000,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.69,
        "time_horizon": "medium",
        "entry_logic": "000660.KS에 대한 방향성은 긍정적이지만, 즉시 신규 매수 근거는 아직 충분하지 않다. 공격적 분석가는 2026-03-31의 807000 부근에서 2026-04-13의 1040000까지 급반등했고 10일 EMA, VWMA, 상승 중인 50일 SMA 위에 있어 추세가 훼손되지 않았다고 봤다. 중립 분석가도 RSI 58.44와 MACD 20062의 플러스 전환은 과열보다 모멘텀 복구에 가깝다고 평가했다. 다만 보수적 분석가가 지적한 것처럼 가격은 1096000-1099000 저항과 Bollinger 상단 1095962 부근에 접근했고, 거래량은 2026-04-08의 6709356주에서 2026-04-13의 2769753주로 줄었다. 따라서 현재는 추격 매수하지 않고, 968000-970000 지지 재확인 또는 1096000-1099000 상향 돌파 후 종가 안착과 거래량 확장을 기다린다. 2026-04-14에 1121500-1128000 부근 장중 고가 보도가 있었더라도, 종가 확인과 강한 거래량 없이 단순 장중 돌파만으로는 매수하지 않는다. 조건이 충족되면 소규모 선발 진입은 정당화될 수 있다.",
        "exit_logic": "기존 보유분은 968000-970000 단기 지지대를 종가 기준으로 유지하는 동안만 보유한다. 1096000-1099000 저항대에서 약한 거래량으로 재차 밀리면 일부 축소한다. 927000-929000을 종가 기준으로 이탈하면 VWMA와 상승 중인 50일 SMA 지지 실패로 판단해 청산 또는 의미 있는 감축을 실행한다. Q1 실적, IR 가이던스, HBM 수요, AI 추론용 메모리 수요, DRAM 및 NAND 가격, 마진, capex 규율이 높아진 기대에 못 미치면 차트가 완전히 붕괴되기 전이라도 노출을 재평가한다.",
        "position_sizing": "신규 풀 포지션은 금지한다. 968000-970000 지지 확인 또는 1096000-1099000 돌파 후 종가 안착과 거래량 확인이 있을 때 정상 단일 종목 위험의 25%로 선발 진입한다. 지지 재확인이 매우 깨끗하고 MACD가 확장되며 실적 또는 IR 코멘트가 HBM, 가격, 마진, capex 규율을 뒷받침할 때만 50%까지 확대를 검토한다. ATR이 약 63469 KRW로 1040000 기준 약 6.1%이고 beta가 1.751이므로, 한 번의 정상 변동폭이 포트폴리오 손실 한도를 넘지 않도록 크기를 제한한다.",
        "risk_limits": "저항대와 헤드라인 신고가만 보고 추격하지 않는다. 돌파 매수는 1099000 상회 종가, 2769753주를 명확히 넘는 거래량, 가능하면 6709356주에 가까운 참여가 있을 때만 고려한다. 지지 매수는 968000-970000을 종가 기준으로 방어하고 매도 거래량이 안정될 때만 허용한다. 927000-929000 종가 이탈은 핵심 위험 무효화 구간이다. 뉴스 파생 심리가 AI 메모리, HBM, DRAM 및 NAND 가격, 외국인 매수, ETF 유입에 과도하게 집중되어 있어 ‘좋지만 기대에는 부족한’ 실적도 급락 촉매가 될 수 있음을 반영한다. US ITC, 수출통제, 중국 관련 규제, ASML/MATCH Act 관련 압력이 가격 흐름의 중심 이슈로 부상하면 위험 한도를 즉시 낮춘다.",
        "catalysts": [
          "000660.KS의 Q1 2026 실적이 기록적 이익 기대를 확인하거나 초과",
          "IR 코멘트가 HBM 수요, AI 추론용 메모리 수요, 가격, 마진, capex 규율을 뒷받침",
          "HBM뿐 아니라 DRAM과 NAND 가격 강세가 지속",
          "외국인 매수와 AI 반도체 ETF 유입이 1100000 KRW 돌파 서사 이후에도 유지",
          "1096000-1099000 저항을 종가 기준으로 돌파하고 거래량이 2769753주를 크게 상회하며 가능하면 6709356주에 근접"
        ],
        "invalidators": [
          "927000-929000 종가 이탈로 VWMA와 50일 SMA 지지 실패",
          "Q1 실적 또는 가이던스가 높아진 시장 기대에 미달",
          "HBM 또는 차세대 AI 메모리 수요 둔화, 가격 정점, 고객 채택 지연 징후",
          "capex 확대가 향후 공급 과잉이나 마진 압박 신호로 해석되기 시작",
          "US ITC, 수출통제, 중국 관련 반도체 규제가 투자 서사의 중심 위험으로 부상",
          "1096000-1099000 돌파 후 거래량 부진과 함께 저항대 아래로 빠르게 재진입"
        ],
        "watchlist_triggers": [
          "000660.KS가 968000-970000으로 되돌림을 보인 뒤 종가 기준 방어하고 거래량이 안정",
          "000660.KS가 1096000-1099000 위에서 종가 안착하고 거래량이 2769753주를 명확히 상회하며 가능하면 6709356주에 근접",
          "돌파 후 1096000-1099000을 재시험할 때 지지로 전환되는지 확인",
          "RSI가 과열권으로 접근하는데 가격이 신고가를 만들지 못하면 소진 위험으로 감시",
          "MACD가 지지 재확인 뒤 플러스 영역에서 재확장",
          "Q1 또는 IR 이후 2026 영업이익 추정치가 상향 지속되고 둔화되지 않음",
          "HBM, AI 추론용 메모리, DRAM 및 NAND 가격 관련 뉴스가 실제 실적 기대 상향으로 연결"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 2,
          "social_source": "news_derived",
          "macro_items_count": 0
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 2,
        "social_source": "news_derived",
        "macro_items_count": 0
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "000660.KS가 968000-970000으로 되돌림을 보인 뒤 종가 기준 방어하고 거래량이 안정",
        "000660.KS가 1096000-1099000 위에서 종가 안착하고 거래량이 2769753주를 명확히 상회하며 가능하면 6709356주에 근접",
        "돌파 후 1096000-1099000을 재시험할 때 지지로 전환되는지 확인",
        "RSI가 과열권으로 접근하는데 가격이 신고가를 만들지 못하면 소진 위험으로 감시",
        "MACD가 지지 재확인 뒤 플러스 영역에서 재확장",
        "Q1 또는 IR 이후 2026 영업이익 추정치가 상향 지속되고 둔화되지 않음",
        "HBM, AI 추론용 메모리, DRAM 및 NAND 가격 관련 뉴스가 실제 실적 기대 상향으로 연결",
        "000660.KS의 Q1 2026 실적이 기록적 이익 기대를 확인하거나 초과",
        "IR 코멘트가 HBM 수요, AI 추론용 메모리 수요, 가격, 마진, capex 규율을 뒷받침",
        "HBM뿐 아니라 DRAM과 NAND 가격 강세가 지속",
        "외국인 매수와 AI 반도체 ETF 유입이 1100000 KRW 돌파 서사 이후에도 유지",
        "1096000-1099000 저항을 종가 기준으로 돌파하고 거래량이 2769753주를 크게 상회하며 가능하면 6709356주에 근접",
        "927000-929000 종가 이탈로 VWMA와 50일 SMA 지지 실패",
        "Q1 실적 또는 가이던스가 높아진 시장 기대에 미달",
        "HBM 또는 차세대 AI 메모리 수요 둔화, 가격 정점, 고객 채택 지연 징후",
        "capex 확대가 향후 공급 과잉이나 마진 압박 신호로 해석되기 시작",
        "US ITC, 수출통제, 중국 관련 반도체 규제가 투자 서사의 중심 위험으로 부상",
        "1096000-1099000 돌파 후 거래량 부진과 함께 저항대 아래로 빠르게 재진입"
      ],
      "confidence": 0.69,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "SK하이닉스 thesis is constructive with bullish portfolio stance, recovering momentum, and clear AI/HBM memory catalysts, but the timing is not yet confirmed. The plan explicitly says to hold existing exposure and avoid chasing until either 968000-970000 support is defended on stable volume or 1096000-1099000 resistance is cleared on a closing basis with stronger volume. Because current evidence emphasizes fading volume near resistance and pending earnings/IR confirmation, this remains a watch/hold setup rather than an actionable add.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.76,
        "entry_readiness": 0.42,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "SK하이닉스 thesis is constructive with bullish portfolio stance, recovering momentum, and clear AI/HBM memory catalysts, but the timing is not yet confirmed. The plan explicitly says to hold existing exposure and avoid chasing until either 968000-970000 support is defended on stable volume or 1096000-1099000 resistance is cleared on a closing basis with stronger volume. Because current evidence emphasizes fading volume near resistance and pending earnings/IR confirmation, this remains a watch/hold setup rather than an actionable add."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "near_resistance_zone",
        "support_retest_alternative",
        "event_confirmation_pending",
        "held_position_hold_only",
        "clear_invalidation_level"
      ],
      "review_required": true,
      "score_now": 0.05884349696,
      "score_triggered": 0.17210874240000001,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.76,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42
      },
      "broker_symbol": "000660",
      "canonical_ticker": "000660.KS",
      "display_name": "SK하이닉스"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "005380",
        "canonical_ticker": "005380.KS",
        "yahoo_symbol": "005380.KS",
        "krx_code": "005380",
        "dart_corp_code": null,
        "display_name": "현대차",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 491500,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.62,
        "time_horizon": "medium",
        "entry_logic": "005380.KS에 대한 방향성은 조건부로 긍정적이다. 공격적 분석가는 200일 SMA 319586 대비 2026-04-13 종가 478500으로 장기 추세가 훼손되지 않았고, RSI가 38.8에서 46.8로 회복했으며 MACD 히스토그램이 양전환한 점을 근거로 반등 준비 구간이라고 봤다. 중립 분석가도 forward PER 약 9.96, Genesis 국내 누적 100만대, AI·로보틱스·미래 모빌리티 선택권, KOSPI 대형주 위험선호 흐름을 긍정적으로 평가했다. 다만 보수적 분석가가 지적한 대로 종가는 아직 10일 EMA 약 484420, VWMA 약 482719, 50일 SMA 약 508508 아래에 있고 RSI도 50 미만이며 ATR 약 28045는 종가의 약 5.9%로 여전히 높다. 따라서 오늘 즉시 매수하지 않고, 005380.KS가 484400 위에서 거래량 증가와 함께 종가를 만들 때만 소규모 시작 포지션을 검토한다. 508500 위를 회복하고 유지하면 추가 또는 비중확대가 정당화된다.",
        "exit_logic": "기존 보유자는 핵심 보유분만 유지하되, 005380.KS가 종가 기준 445500 아래로 이탈하면 매매성 노출은 축소 또는 청산한다. 482700-484400 회복 시도가 실패한 뒤 하락 거래량이 확대되거나, 508500 부근 50일 SMA에서 재차 거절되며 모멘텀이 악화되면 비중을 줄인다. 2분기 생산 차질, 중동 물류 부담, 마진 회복 지연, 추가 대규모 음의 자유현금흐름이 확인되면 긍정적 관점을 철회한다.",
        "position_sizing": "오늘 신규 전체 포지션은 열지 않는다. 기존 보유자는 변동성과 현금흐름 리스크를 반영해 정상 비중보다 낮게 유지한다. 005380.KS가 484400 위에서 평균 이상 거래량으로 마감하면 정상 비중보다 현저히 작은 시작 포지션만 허용한다. 508500 위를 지속적으로 유지할 때만 단계적으로 추가하며, 다음 실적에서 영업마진 회복, 운전자본 정상화, 자유현금흐름 개선이 확인되기 전까지 집중 비중은 피한다.",
        "risk_limits": "주요 구조적 무효화 기준은 종가 기준 445500이다. 시작 포지션은 포트폴리오 손실 허용액의 작은 일부만 위험에 노출하고, 469500-508500 박스권 내부의 일반 변동성에 휘둘리는 과도하게 좁은 손절은 피한다. 484400 돌파 후 VWMA 아래로 빠르게 되돌아가거나 하락일 거래량이 뚜렷하게 커지면 즉시 재평가한다. ATR 약 28045와 beta 약 1.576을 감안해 위험선호 반전 시 손실 확대 가능성을 별도로 관리한다.",
        "catalysts": [
          "005380.KS가 484400 위에서 최근 평균을 웃도는 거래량으로 마감해 10일 EMA·VWMA 회복을 확인",
          "005380.KS가 508500 부근 50일 SMA를 회복하고 유지해 최근 거절 구간을 돌파",
          "RSI가 50 위로 올라서고 MACD 개선이 이어져 매수 주도권 확인",
          "Genesis 국내 누적 100만대가 프리미엄 믹스와 마진 방어 서사를 강화",
          "AI, 로보틱스, 소프트웨어 중심 차량, 미래 모빌리티 전략에 대한 투자자 후원이 확대",
          "다음 실적에서 영업마진 회복, 운전자본 정상화, 자유현금흐름 개선 확인",
          "KOSPI 대형주 위험선호 흐름과 지정학적 완화 기대가 유지"
        ],
        "invalidators": [
          "005380.KS가 종가 기준 445500 아래로 이탈",
          "482700-484400 회복 실패 후 하락 거래량 확대",
          "508500 부근 50일 SMA에서 재차 거절되고 모멘텀 악화",
          "공급업체 화재 또는 중동 물류 이슈가 2분기 생산·배송·마진에 중대한 부담으로 확대",
          "영업마진 추가 악화 또는 또 한 번의 대규모 음의 자유현금흐름 발생",
          "forward earnings 하향으로 낮은 PER이 가치 함정으로 재평가",
          "Korea 대형주 위험선호 흐름 또는 지정학적 낙관론 반전"
        ],
        "watchlist_triggers": [
          "005380.KS 종가가 484400 위이고 거래량이 최근 평균 이상이면 STARTER 검토",
          "005380.KS 종가가 508500 위에서 유지되면 ADD 또는 OVERWEIGHT 검토",
          "RSI가 50 위로 상승하고 MACD 개선이 지속되면 매수 주도권 확인",
          "005380.KS 종가가 445500 아래이면 방어적 전환 및 매매성 노출 EXIT 검토",
          "OpenDART 내부자 또는 주요 주주 공시에서 의미 있는 순매수·순매도 확인",
          "중동 해운, 수출 물량, 공급업체 화재 이후 생산 정상화 관련 업데이트 확인",
          "다음 실적에서 마진, 운전자본, 자유현금흐름 개선 여부 확인"
        ],
        "data_coverage": {
          "company_news_count": 4,
          "disclosures_count": 1,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 4,
        "disclosures_count": 1,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "005380.KS 종가가 484400 위이고 거래량이 최근 평균 이상이면 STARTER 검토",
        "005380.KS 종가가 508500 위에서 유지되면 ADD 또는 OVERWEIGHT 검토",
        "RSI가 50 위로 상승하고 MACD 개선이 지속되면 매수 주도권 확인",
        "005380.KS 종가가 445500 아래이면 방어적 전환 및 매매성 노출 EXIT 검토",
        "OpenDART 내부자 또는 주요 주주 공시에서 의미 있는 순매수·순매도 확인",
        "중동 해운, 수출 물량, 공급업체 화재 이후 생산 정상화 관련 업데이트 확인",
        "다음 실적에서 마진, 운전자본, 자유현금흐름 개선 여부 확인",
        "005380.KS가 484400 위에서 최근 평균을 웃도는 거래량으로 마감해 10일 EMA·VWMA 회복을 확인",
        "005380.KS가 508500 부근 50일 SMA를 회복하고 유지해 최근 거절 구간을 돌파",
        "RSI가 50 위로 올라서고 MACD 개선이 이어져 매수 주도권 확인",
        "Genesis 국내 누적 100만대가 프리미엄 믹스와 마진 방어 서사를 강화",
        "AI, 로보틱스, 소프트웨어 중심 차량, 미래 모빌리티 전략에 대한 투자자 후원이 확대",
        "다음 실적에서 영업마진 회복, 운전자본 정상화, 자유현금흐름 개선 확인",
        "KOSPI 대형주 위험선호 흐름과 지정학적 완화 기대가 유지",
        "005380.KS가 종가 기준 445500 아래로 이탈",
        "482700-484400 회복 실패 후 하락 거래량 확대",
        "508500 부근 50일 SMA에서 재차 거절되고 모멘텀 악화",
        "공급업체 화재 또는 중동 물류 이슈가 2분기 생산·배송·마진에 중대한 부담으로 확대",
        "영업마진 추가 악화 또는 또 한 번의 대규모 음의 자유현금흐름 발생",
        "forward earnings 하향으로 낮은 PER이 가치 함정으로 재평가",
        "Korea 대형주 위험선호 흐름 또는 지정학적 낙관론 반전"
      ],
      "confidence": 0.62,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "현대차에 대한 중기 관점은 장기 추세 유지, 낮은 forward PER, Genesis 및 미래 모빌리티 선택권으로 건설적이지만, 현재 가격은 10일 EMA/VWMA와 50일 SMA 아래에 있고 RSI도 50 미만이라 즉시 증액 타이밍은 확인되지 않았다. 보유자는 핵심 보유는 가능하나 신규 또는 추가 매수는 484400 상회 종가와 평균 이상 거래량, 더 강하게는 508500 회복 유지가 필요하다.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.74,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "현대차에 대한 중기 관점은 장기 추세 유지, 낮은 forward PER, Genesis 및 미래 모빌리티 선택권으로 건설적이지만, 현재 가격은 10일 EMA/VWMA와 50일 SMA 아래에 있고 RSI도 50 미만이라 즉시 증액 타이밍은 확인되지 않았다. 보유자는 핵심 보유는 가능하나 신규 또는 추가 매수는 484400 상회 종가와 평균 이상 거래량, 더 강하게는 508500 회복 유지가 필요하다."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "price_below_key_moving_averages",
        "volume_confirmed_breakout_needed",
        "held_position_core_hold_only",
        "explicit_invalidation_level",
        "elevated_volatility"
      ],
      "review_required": true,
      "score_now": 0.044149550080000016,
      "score_triggered": 0.13537387520000002,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38
      },
      "broker_symbol": "005380",
      "canonical_ticker": "005380.KS",
      "display_name": "현대차"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "005930",
        "canonical_ticker": "005930.KS",
        "yahoo_symbol": "005930.KS",
        "krx_code": "005930",
        "dart_corp_code": null,
        "display_name": "삼성전자",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 413000,
      "quantity": 2.0,
      "available_qty": 2.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.67,
        "time_horizon": "medium",
        "entry_logic": "005930.KS의 방향성은 여전히 건설적이다. 2026-04-13 종가 201000은 10일 EMA 196894, VWMA 189832, 50일 SMA 185087, 200일 SMA 114387 위에 있고, 예상 PER 7.24, 현금 및 단기투자 125.85조원, 유동비율 2.328, 영업이익률 21.32%, 자유현금흐름 16.04조원이 중기 회복 논리를 뒷받침한다. 그러나 즉시 진입은 보류한다. 종가가 210500 돌파 trigger 아래에 있고, 2026-04-09 거래량 42320839 이후 2026-04-10 18244459, 2026-04-13 19603415로 거래량이 식었으며, MACD 히스토그램도 1973.95에서 1685.53으로 축소되었다. 따라서 현재 결론은 약세가 아니라 전술적 대기다. 210500 위 종가, 최근 평균을 명확히 웃도는 거래량, RSI 60 상회, MACD 히스토그램 재확대가 동시에 확인되면 부분 진입을 허용한다. 또는 196900-189800 구간 눌림에서 지지가 확인되고 매도 거래량이 안정되며 부정적 실적 뉴스가 없으면 starter가 정당화될 수 있다.",
        "exit_logic": "기존 보유분은 005930.KS가 10일 EMA 부근 196900 위를 유지하고, 가능하면 VWMA 부근 189800 위에 머무는 동안만 유지한다. 196900 아래 종가와 RSI 50 하회가 동시에 나오면 4월 반등 실패 신호로 보고 위험을 줄인다. 189800 이탈 시 신규 진입 계획을 중단하고 기존 노출을 더 축소한다. 50일 SMA 부근 185087을 거래량 동반으로 이탈하면 중기 강세 논리를 보류하고 실질적으로 exit 또는 대폭 축소한다. 돌파 진입이 체결된 뒤 218000-223000에 접근하면 거래량과 momentum이 더 확장되지 않는 한 일부 이익 실현 또는 stop 상향을 검토한다.",
        "position_sizing": "오늘은 신규 full-size 진입을 하지 않는다. 210500 돌파 조건이 모두 충족되면 의도한 총 노출의 20%-25%만 starter로 시작한다. 210500 위에서 1-2거래일 유지되거나 돌파 후 되돌림이 196900 위에서 지지되면 단계적으로 추가한다. 눌림 진입은 196900-189800 지지 확인 시 15%-20% 탐색 비중으로 제한한다. ATR 10845, 일간 변동성 약 5.4%가 크므로 leverage는 쓰지 않고, 정상적인 1 ATR noise보다 지나치게 촘촘한 stop은 피한다.",
        "risk_limits": "189800을 1차 위험 축소선, 185087을 중기 thesis risk line으로 둔다. 196900 이탈과 RSI 50 하회가 동시에 발생하면 단기 rebound 실패로 간주한다. 185087 아래에서는 신선한 earnings, FCF, semiconductor demand 확인 없이 평균단가를 낮추지 않는다. 210500 돌파 매수의 경우 upside가 218000-223000까지 약 3.6%-5.9%인 반면 ATR이 약 10845로 크다는 보수적 지적을 반영해 초기 위험은 작은 portfolio 손실로 제한한다.",
        "catalysts": [
          "AI data center 수요와 memory 가격 회복이 DRAM, NAND, HBM 기대를 높이는 점",
          "2026-04-07 preliminary earnings와 향후 IR 세부 내용이 영업이익률 20%대 지속성을 확인할 가능성",
          "semiconductor export momentum과 March ICT export 개선이 memory cycle 회복 논리를 강화하는 점",
          "KOSPI risk appetite 회복 시 foreign 및 index-driven demand가 005930.KS로 유입될 가능성",
          "210500 위 종가와 거래량 증가가 확인되면 218000-223000 재시험 가능성이 열리는 점"
        ],
        "invalidators": [
          "196900 아래 종가와 RSI 50 하회가 동시에 발생해 4월 rebound가 실패하는 경우",
          "189800 VWMA와 185087 50일 SMA를 순차적으로 이탈해 pullback이 deeper correction으로 바뀌는 경우",
          "다음 earnings 세부 내용에서 영업이익률이 20% 아래로 약화되거나 profit 증가에도 FCF가 악화되는 경우",
          "HBM 또는 advanced packaging 경쟁력이 SK hynix, TSMC-linked supply chain peers 대비 계속 실망스러운 경우",
          "labor, privacy, strike 관련 이슈가 생산 차질, ESG discount, 평판 리스크로 확대되는 경우"
        ],
        "watchlist_triggers": [
          "상방 진입 trigger: 005930.KS가 210500 위로 종가 마감하고 거래량이 최근 평균을 명확히 웃돌며 MACD 히스토그램이 재확대되는지 확인",
          "momentum trigger: RSI가 60을 넘고 가격이 10일 EMA 부근 196900 위에 머무는지 확인",
          "눌림 starter trigger: 196900-189800 구간에서 지지, 거래량 안정, 부정적 earnings 또는 semiconductor news 부재가 동시에 확인되는지 확인",
          "위험 축소 trigger: 196900 아래 종가와 RSI 50 하회가 동시에 발생하는지 확인",
          "hard risk trigger: 185087 아래 종가 또는 semiconductor news flow가 recovery에서 estimate cuts로 전환되는지 확인"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 5,
          "social_source": "news_derived",
          "macro_items_count": 2
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 5,
        "social_source": "news_derived",
        "macro_items_count": 2
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "상방 진입 trigger: 005930.KS가 210500 위로 종가 마감하고 거래량이 최근 평균을 명확히 웃돌며 MACD 히스토그램이 재확대되는지 확인",
        "momentum trigger: RSI가 60을 넘고 가격이 10일 EMA 부근 196900 위에 머무는지 확인",
        "눌림 starter trigger: 196900-189800 구간에서 지지, 거래량 안정, 부정적 earnings 또는 semiconductor news 부재가 동시에 확인되는지 확인",
        "위험 축소 trigger: 196900 아래 종가와 RSI 50 하회가 동시에 발생하는지 확인",
        "hard risk trigger: 185087 아래 종가 또는 semiconductor news flow가 recovery에서 estimate cuts로 전환되는지 확인",
        "AI data center 수요와 memory 가격 회복이 DRAM, NAND, HBM 기대를 높이는 점",
        "2026-04-07 preliminary earnings와 향후 IR 세부 내용이 영업이익률 20%대 지속성을 확인할 가능성",
        "semiconductor export momentum과 March ICT export 개선이 memory cycle 회복 논리를 강화하는 점",
        "KOSPI risk appetite 회복 시 foreign 및 index-driven demand가 005930.KS로 유입될 가능성",
        "210500 위 종가와 거래량 증가가 확인되면 218000-223000 재시험 가능성이 열리는 점",
        "196900 아래 종가와 RSI 50 하회가 동시에 발생해 4월 rebound가 실패하는 경우",
        "189800 VWMA와 185087 50일 SMA를 순차적으로 이탈해 pullback이 deeper correction으로 바뀌는 경우",
        "다음 earnings 세부 내용에서 영업이익률이 20% 아래로 약화되거나 profit 증가에도 FCF가 악화되는 경우",
        "HBM 또는 advanced packaging 경쟁력이 SK hynix, TSMC-linked supply chain peers 대비 계속 실망스러운 경우",
        "labor, privacy, strike 관련 이슈가 생산 차질, ESG discount, 평판 리스크로 확대되는 경우"
      ],
      "confidence": 0.67,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Medium-term thesis is constructive for 005930.KS, supported by price above key moving averages, recovery fundamentals, AI memory demand, liquidity, and semiconductor cycle catalysts. Timing is not ready because the latest close remains below the 210500 breakout trigger, volume has faded after the spike, and MACD momentum is contracting. Current action is hold/wait, with entry only after breakout confirmation or a controlled support hold in the 196900-189800 zone.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.78,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "Medium-term thesis is constructive for 005930.KS, supported by price above key moving averages, recovery fundamentals, AI memory demand, liquidity, and semiconductor cycle catalysts. Timing is not ready because the latest close remains below the 210500 breakout trigger, volume has faded after the spike, and MACD momentum is contracting. Current action is hold/wait, with entry only after breakout confirmation or a controlled support hold in the 196900-189800 zone."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.72,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "momentum_contraction",
        "high_atr_requires_small_starter",
        "existing_position_hold_only"
      ],
      "review_required": true,
      "score_now": 0.04528724224000001,
      "score_triggered": 0.1382181056,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.78,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34
      },
      "broker_symbol": "005930",
      "canonical_ticker": "005930.KS",
      "display_name": "삼성전자"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "010950",
        "canonical_ticker": "010950.KS",
        "yahoo_symbol": "010950.KS",
        "krx_code": "010950",
        "dart_corp_code": null,
        "display_name": "S-Oil",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 238200,
      "quantity": 2.0,
      "available_qty": 2.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.68,
        "time_horizon": "medium",
        "entry_logic": "010950.KS는 방향성으로는 우호적이다. 2026-04-13 종가 KRW 122000이 10일 EMA 약 KRW 116027, 50일 SMA 약 KRW 111480, 200일 SMA 약 KRW 81069 위에 있고, MACD가 2026-04-03 -402.90에서 2026-04-13 2116.87로 전환됐으며 히스토그램도 1134.54로 확대됐다. RSI 58.29는 회복 모멘텀은 확인하지만 과열권은 아니다. Q1 2026 영업이익 KRW 500bn 수준 기대, Q4 영업현금흐름 KRW 1.86tn, 자유현금흐름 KRW 613bn, 순차입금의 Q3 KRW 6.38tn에서 Q4 KRW 5.70tn 감소도 턴어라운드 근거다. 다만 즉시 진입은 보류한다. 3월 초 KRW 176551 부근까지 급등한 뒤 KRW 105000-112000대로 되밀린 이력이 있고 ATR이 약 KRW 7683, 가격 대비 약 6.3%로 높아 단일 종가 기준 추격 매수의 위험보상이 충분하지 않다. 신규 진입은 KRW 124500 상향 돌파가 최근 4월 거래량을 명확히 웃도는 거래량과 함께 확인되거나, KRW 116000-118000 조정 구간에서 지지와 RSI 중립 이상, MACD 양호가 동시에 확인될 때만 정당화된다. 조건 충족 시에는 스타터 진입이 가능하지만 현재는 WAIT이다.",
        "exit_logic": "이미 보유 중이면 KRW 116000 일봉 종가 이탈과 MACD 히스토그램 둔화가 동반될 때 축소 또는 청산한다. 신규 스타터 진입 후 같은 조건이 발생하면 논쟁 없이 손절을 우선한다. 50일 SMA 부근인 KRW 111500 이탈은 단기 회복 구조 실패로 보고 강세 관점을 재평가한다. Q1 2026 영업이익이 KRW 500bn 기대를 크게 밑돌거나, Q2 정제마진 약화, 원가 부담, 운전자본 압박, 순차입금 재확대 신호가 나오면 강세 논리를 철회한다.",
        "position_sizing": "현재 신규 포지션은 열지 않는다. 조건이 충족되면 초기 스타터는 정상 비중의 약 1/3로 제한한다. 1/2 비중은 KRW 124500 돌파 후 지지 재확인, 또는 Q1 실적과 Q2 마진 전망이 모두 우호적으로 확인된 뒤에만 검토한다. 높은 ATR, 3월 거래량 충격, 총부채 KRW 7.91tn, 순차입금 KRW 5.70tn, 유동비율 0.706, 약 KRW 3.60tn의 음의 운전자본을 감안해 추격 증액은 피한다.",
        "risk_limits": "초기 위험선은 KRW 116000 아래로 둔다. 진입가 기준 약 1 ATR보다 포트폴리오 손실 한도가 더 타이트하면 더 보수적인 기준을 적용한다. KRW 116000 아래에서는 물타기 금지다. KRW 111500 부근 50일 SMA 이탈 시 전체 강세 시나리오를 재검토한다. 정유 업황의 순환성, 고유가에 따른 재고이익과 운전자본 부담의 양면성, 건설중인자산 약 KRW 8.60tn에 따른 자금 소요를 고려해 총 익스포저는 작게 유지한다.",
        "catalysts": [
          "Q1 2026 영업이익이 KRW 500bn 수준 이상으로 확인되고 전년 대비 흑자 전환이 명확해지는 경우",
          "정제마진과 원유·제품 스프레드가 견조하게 유지되면서 수요 둔화나 정책 부담이 나타나지 않는 경우",
          "National Pension 지분 확대가 저PBR 및 가치 재평가 논리를 계속 지지하는 경우",
          "KRW 124500 상향 돌파가 최근 4월 거래량을 웃도는 거래량과 함께 확인되는 경우",
          "주가가 10일 EMA 약 KRW 116027과 50일 SMA 약 KRW 111480 위에서 안정적으로 유지되는 경우"
        ],
        "invalidators": [
          "KRW 116000 일봉 종가 이탈과 MACD 히스토그램 둔화가 함께 나타나는 경우",
          "50일 SMA 부근 KRW 111500을 이탈해 단기 회복 구조가 실패하는 경우",
          "Q1 2026 실적이 KRW 500bn 영업이익 기대를 하회하거나 Q2 마진 약화 가이던스가 제시되는 경우",
          "유가 USD 100 이상 환경이 재고이익보다 수요 파괴, 운전자본 부담, 정책 리스크로 더 크게 작용하는 경우",
          "순차입금, 유동성, 자유현금흐름이 다시 악화되고 대규모 capex 부담이 확대되는 경우"
        ],
        "watchlist_triggers": [
          "010950.KS가 KRW 124500 위로 일봉 마감하고 거래량이 최근 4월 범위를 명확히 상회하는지 확인",
          "KRW 116000-118000 조정 구간에서 지지되고 RSI가 중립 이상, MACD가 양호하게 유지되는지 확인",
          "Q1 2026 영업이익이 KRW 500bn 기대에 부합하거나 상회하는지 확인",
          "Q1 실적 이후 Q2 정제마진, 재고이익, 운전자본, 순차입금 관련 코멘트 확인",
          "National Pension 또는 다른 기관투자자 지분 변화 확인",
          "ATR이 현 수준에서 축소되어 손절과 포지션 관리가 더 명확해지는지 확인"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 1,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 1,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "010950.KS가 KRW 124500 위로 일봉 마감하고 거래량이 최근 4월 범위를 명확히 상회하는지 확인",
        "KRW 116000-118000 조정 구간에서 지지되고 RSI가 중립 이상, MACD가 양호하게 유지되는지 확인",
        "Q1 2026 영업이익이 KRW 500bn 기대에 부합하거나 상회하는지 확인",
        "Q1 실적 이후 Q2 정제마진, 재고이익, 운전자본, 순차입금 관련 코멘트 확인",
        "National Pension 또는 다른 기관투자자 지분 변화 확인",
        "ATR이 현 수준에서 축소되어 손절과 포지션 관리가 더 명확해지는지 확인",
        "Q1 2026 영업이익이 KRW 500bn 수준 이상으로 확인되고 전년 대비 흑자 전환이 명확해지는 경우",
        "정제마진과 원유·제품 스프레드가 견조하게 유지되면서 수요 둔화나 정책 부담이 나타나지 않는 경우",
        "National Pension 지분 확대가 저PBR 및 가치 재평가 논리를 계속 지지하는 경우",
        "KRW 124500 상향 돌파가 최근 4월 거래량을 웃도는 거래량과 함께 확인되는 경우",
        "주가가 10일 EMA 약 KRW 116027과 50일 SMA 약 KRW 111480 위에서 안정적으로 유지되는 경우",
        "KRW 116000 일봉 종가 이탈과 MACD 히스토그램 둔화가 함께 나타나는 경우",
        "50일 SMA 부근 KRW 111500을 이탈해 단기 회복 구조가 실패하는 경우",
        "Q1 2026 실적이 KRW 500bn 영업이익 기대를 하회하거나 Q2 마진 약화 가이던스가 제시되는 경우",
        "유가 USD 100 이상 환경이 재고이익보다 수요 파괴, 운전자본 부담, 정책 리스크로 더 크게 작용하는 경우",
        "순차입금, 유동성, 자유현금흐름이 다시 악화되고 대규모 capex 부담이 확대되는 경우"
      ],
      "confidence": 0.68,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "S-Oil thesis is directionally constructive: price is above key moving averages, MACD has improved, RSI is not overbought, and expected Q1 turnaround plus cash-flow/debt improvement support a bullish medium-term view. Timing is not ready for new action because the plan explicitly says WAIT/HOLD until either a KRW 124500 volume-backed daily breakout, a controlled KRW 116000-118000 support retest with momentum intact, or Q1/margin confirmation occurs. For the existing small holding, maintain hold but monitor KRW 116000 and KRW 111500 risk levels.",
      "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": "S-Oil thesis is directionally constructive: price is above key moving averages, MACD has improved, RSI is not overbought, and expected Q1 turnaround plus cash-flow/debt improvement support a bullish medium-term view. Timing is not ready for new action because the plan explicitly says WAIT/HOLD until either a KRW 124500 volume-backed daily breakout, a controlled KRW 116000-118000 support retest with momentum intact, or Q1/margin confirmation occurs. For the existing small holding, maintain hold but monitor KRW 116000 and KRW 111500 risk levels."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_trend_above_moving_averages",
        "macd_positive_turn",
        "earnings_turnaround_expected_not_confirmed",
        "explicit_wait_entry_action",
        "breakout_requires_volume_confirmation",
        "pullback_support_alternative_unconfirmed",
        "high_atr_post_spike_volatility",
        "defined_downside_invalidation_levels",
        "held_position_hold_not_add"
      ],
      "review_required": true,
      "score_now": 0.050719452160000025,
      "score_triggered": 0.15179863040000005,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38
      },
      "broker_symbol": "010950",
      "canonical_ticker": "010950.KS",
      "display_name": "S-Oil"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "012450",
        "canonical_ticker": "012450.KS",
        "yahoo_symbol": "012450.KS",
        "krx_code": "012450",
        "dart_corp_code": null,
        "display_name": "한화에어로스페이스",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 1523000,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.69,
        "time_horizon": "medium",
        "entry_logic": "012450.KS에 대한 최종 판단은 방향성은 긍정적이나 즉시 진입은 보류다. 공격적 분석이 지적한 대로 2026-04-13 종가 1530000은 50일선 1332440과 200일선 1048377을 크게 웃돌고, MACD가 7453에서 47460으로 확대됐으며 MACD 히스토그램도 11707까지 개선되어 중기 상승 추세는 살아 있다. 또한 2026-04-01과 2026-04-10 공급계약 공시, 폴란드·인도네시아 방산 외교 기대, 2025-12 매출 8.42조 KRW와 영업이익 8126억 KRW는 건설적 논거다. 다만 보수·중립 분석이 강조한 것처럼 2026-04-14는 비거래일로 당일 체결 근거가 없고, 2026-04-13 거래량 259390은 3월 초 급등일 1295365에 크게 못 미치며, ATR 약 89658 KRW는 종가 대비 5.86%로 높다. 따라서 오늘은 매수하지 않는다. 1530000~1550000 위에서 거래량이 최근 4월 수준보다 뚜렷하게 증가하고 MACD 히스토그램이 유지 또는 확대될 때, 또는 1459000 부근 10일 EMA와 1413000 부근 VWMA가 낮은 매도 거래량으로 방어될 때만 축소된 초기 포지션을 검토한다.",
        "exit_logic": "향후 조건 충족 후 진입하더라도 012450.KS가 1413000 부근 VWMA를 종가 기준으로 이탈하고 거래량이 증가하며 MACD 히스토그램이 약화되면 축소 또는 청산한다. 1332440 부근 50일선이 확대 거래량으로 깨지면 단순 변동성이 아니라 트레이딩 논리 훼손으로 보고 청산한다. 공급계약의 마진, 납기, 원가 부담, 수출 승인 조건이 시장 기대보다 약하거나, 다음 실적에서 2025-12 현금흐름 개선이 운전자본 일회성에 그친 것으로 확인되거나, 추가 희석·불리한 자금조달·규제 정정·풍문 해명 리스크가 재부각되면 가격 신호를 기다리지 않고 방어적으로 대응한다.",
        "position_sizing": "현재는 신규 포지션 없음. 조건이 충족되면 정상 위험 배정의 약 1/3 이하로 초기 진입한다. 공격적 분석의 1/2 배정은 현재 거래량 부족과 높은 ATR을 감안하면 이르며, 보수적 분석의 1/4 이하만 허용하는 접근은 추세 재개 시 기회비용이 커질 수 있어 기본 기준은 1/3 이하가 적절하다. 1/2 이상 증액은 1530000~1550000 위 안착 후 거래량 확장, 1655000 전고점권 재시험 가능성 증가, 또는 다음 공시·실적에서 마진과 현금흐름 품질이 확인될 때로 제한한다.",
        "risk_limits": "손절 폭을 좁게 두기보다 포지션 크기로 위험을 통제한다. ATR 약 89658 KRW와 종가 대비 5.86% 변동성을 반영해 고정 손절보다 1413000 VWMA와 1332440 50일선을 단계적 위험 기준으로 사용한다. 1530000 위에서 거래량 확인 없이 추격 매수하지 않으며, RSI가 65~70에 접근하는데 가격이 1530000~1550000 위로 안착하지 못하면 피로 신호로 본다. 신규 진입 시 포트폴리오 손실 허용액은 작게 유지하고, 이벤트 공시 전후 갭 위험을 감안해 단일 종목 집중을 피한다.",
        "catalysts": [
          "012450.KS의 2026-04-01 및 2026-04-10 공급계약 공시가 구체적 계약금액, 마진, 납기, 원가 조건 측면에서 긍정적으로 확인되는 경우",
          "폴란드 또는 인도네시아 방산 외교 일정이 구체적 주문 규모, 상대방, 일정이 포함된 후속 계약으로 전환되는 경우",
          "다음 실적에서 2025-12 매출 8.42조 KRW 성장과 함께 영업이익률 안정 또는 개선이 확인되는 경우",
          "영업현금흐름 4.13조 KRW와 자유현금흐름 3.20조 KRW 개선이 운전자본 일회성이 아니라 반복 가능한 현금창출력으로 확인되는 경우",
          "1530000~1550000 위에서 최근 4월 수준을 뚜렷하게 넘는 거래량과 MACD 히스토그램 유지 또는 추가 확대가 동반되는 경우"
        ],
        "invalidators": [
          "012450.KS가 1332440 부근 50일선을 확대 거래량으로 이탈하는 경우",
          "1413000 부근 VWMA 이탈과 동시에 매도 거래량 증가 및 MACD 히스토그램 약화가 나타나는 경우",
          "신규 공급계약에서 낮은 마진, 납기 지연, 불리한 원가 부담, 수출 승인 불확실성이 확인되는 경우",
          "2025-12 현금흐름 개선이 운전자본 효과에 그치고 이후 재고·매출채권 또는 총부채 부담이 악화되는 경우",
          "추가 유상증자, 불리한 자금조달, 규제 정정, 풍문 해명 공시가 희석 또는 지배구조 우려를 다시 키우는 경우",
          "코스피 강세에도 012450.KS가 반복적으로 상대약세를 보이며 방산 섹터 수급 이탈이 지속되는 경우"
        ],
        "watchlist_triggers": [
          "1530000~1550000 위 종가와 최근 4월 수준을 뚜렷하게 넘는 거래량 동반 여부",
          "1459000 부근 10일 EMA에서 낮은 매도 거래량으로 지지되는지 여부",
          "1413000 부근 VWMA가 장중 약세 후에도 종가 기준으로 방어되는지 여부",
          "MACD 히스토그램이 유지 또는 확대되는지, 반대로 가격이 1530000을 회복하지 못한 채 꺾이는지 여부",
          "RSI가 65~70에 접근할 때 가격이 신고가 또는 1655000 전고점권 재시험으로 이어지는지 여부",
          "폴란드·인도네시아 관련 방산 뉴스가 구체적 계약 규모, 일정, 상대방을 포함하는지 여부",
          "1332440 부근 50일선 이탈 또는 ATR이 이미 높은 수준에서 추가 확대되는지 여부"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 5,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 5,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "1530000~1550000 위 종가와 최근 4월 수준을 뚜렷하게 넘는 거래량 동반 여부",
        "1459000 부근 10일 EMA에서 낮은 매도 거래량으로 지지되는지 여부",
        "1413000 부근 VWMA가 장중 약세 후에도 종가 기준으로 방어되는지 여부",
        "MACD 히스토그램이 유지 또는 확대되는지, 반대로 가격이 1530000을 회복하지 못한 채 꺾이는지 여부",
        "RSI가 65~70에 접근할 때 가격이 신고가 또는 1655000 전고점권 재시험으로 이어지는지 여부",
        "폴란드·인도네시아 관련 방산 뉴스가 구체적 계약 규모, 일정, 상대방을 포함하는지 여부",
        "1332440 부근 50일선 이탈 또는 ATR이 이미 높은 수준에서 추가 확대되는지 여부",
        "012450.KS의 2026-04-01 및 2026-04-10 공급계약 공시가 구체적 계약금액, 마진, 납기, 원가 조건 측면에서 긍정적으로 확인되는 경우",
        "폴란드 또는 인도네시아 방산 외교 일정이 구체적 주문 규모, 상대방, 일정이 포함된 후속 계약으로 전환되는 경우",
        "다음 실적에서 2025-12 매출 8.42조 KRW 성장과 함께 영업이익률 안정 또는 개선이 확인되는 경우",
        "영업현금흐름 4.13조 KRW와 자유현금흐름 3.20조 KRW 개선이 운전자본 일회성이 아니라 반복 가능한 현금창출력으로 확인되는 경우",
        "1530000~1550000 위에서 최근 4월 수준을 뚜렷하게 넘는 거래량과 MACD 히스토그램 유지 또는 추가 확대가 동반되는 경우",
        "012450.KS가 1332440 부근 50일선을 확대 거래량으로 이탈하는 경우",
        "1413000 부근 VWMA 이탈과 동시에 매도 거래량 증가 및 MACD 히스토그램 약화가 나타나는 경우",
        "신규 공급계약에서 낮은 마진, 납기 지연, 불리한 원가 부담, 수출 승인 불확실성이 확인되는 경우",
        "2025-12 현금흐름 개선이 운전자본 효과에 그치고 이후 재고·매출채권 또는 총부채 부담이 악화되는 경우",
        "추가 유상증자, 불리한 자금조달, 규제 정정, 풍문 해명 공시가 희석 또는 지배구조 우려를 다시 키우는 경우",
        "코스피 강세에도 012450.KS가 반복적으로 상대약세를 보이며 방산 섹터 수급 이탈이 지속되는 경우"
      ],
      "confidence": 0.69,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Constructive medium-term thesis for 012450.KS is supported by price above major moving averages, improving MACD, supply-contract disclosures, defense export optionality, and solid recent financials. Timing is not actionable yet: the recommendation is HOLD/WAIT, with entry or add decisions deferred until either a volume-confirmed close above 1530000-1550000 or a controlled pullback defending the 10-day EMA/VWMA. Existing holding can be maintained, but no immediate buy or rebalance trigger is confirmed.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.74,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "Constructive medium-term thesis for 012450.KS is supported by price above major moving averages, improving MACD, supply-contract disclosures, defense export optionality, and solid recent financials. Timing is not actionable yet: the recommendation is HOLD/WAIT, with entry or add decisions deferred until either a volume-confirmed close above 1530000-1550000 or a controlled pullback defending the 10-day EMA/VWMA. Existing holding can be maintained, but no immediate buy or rebalance trigger is confirmed."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "held_position_hold_only",
        "volume_confirmation_missing",
        "high_atr_timing_risk",
        "explicit_breakout_trigger_defined",
        "support_pullback_trigger_defined",
        "event_confirmation_pending"
      ],
      "review_required": true,
      "score_now": 0.052286973440000016,
      "score_triggered": 0.1557174336,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38
      },
      "broker_symbol": "012450",
      "canonical_ticker": "012450.KS",
      "display_name": "한화에어로스페이스"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "034020",
        "canonical_ticker": "034020.KS",
        "yahoo_symbol": "034020.KS",
        "krx_code": "034020",
        "dart_corp_code": null,
        "display_name": "두산에너빌리티",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 697900,
      "quantity": 7.0,
      "available_qty": 7.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.64,
        "time_horizon": "medium",
        "entry_logic": "034020.KS의 중기 방향성은 건설적이다. 공격적 분석가가 지적한 대로 2026-04-13 종가 99,300원은 200일선 78,829.5원을 약 26% 웃돌고, 50일선 98,142원과 10일 EMA 98,707원 위에서 버티며 장기 상승 구조가 훼손되지 않았다. 이집트 엘다바 원전, 원전·인프라 수주 기대, 2025년 4분기 자유현금흐름 1.206조 원, 순차입금 4.306조 원에서 2.728조 원으로 감소한 점도 긍정적이다. 다만 보수·중립 분석가가 강조한 것처럼 MACD는 -62.61로 아직 음수이고, 히스토그램은 개선 중일 뿐 양전환이 확정되지 않았으며, 4월 13일 거래량 1,746,075주는 3월 중순 800만~900만 주대 거래량보다 약하다. 따라서 오늘 즉시 진입은 보류한다. 진입은 103,000원 위 종가 안착과 최근 저거래 반등 대비 뚜렷한 거래량 증가, MACD 히스토그램 양전환 또는 0선 근처 개선 지속이 함께 확인될 때만 starter로 허용한다. 대안으로 98,100~98,700원 지지를 종가 기준으로 확인한 뒤 100,000원을 회복하고 반등 거래량이 붙는 경우에도 starter를 검토한다.",
        "exit_logic": "기존 보유분은 98,100원 종가 이탈 시 일부 축소하고 신규 진입 검토를 중단한다. 95,000원 이탈은 중립 분석가와 보수적 분석가가 모두 지적한 추세 훼손 구간으로 보고 방어 또는 청산 모드로 전환한다. 확인 후 starter 진입이 이루어진 경우 106,300~109,600원 저항권에서는 수주 공시, 기관·외국인 수급, 거래량 확대, 실적 개선 확인이 동반되지 않으면 일부 이익 실현을 우선한다. 원전 뉴스가 구체적 계약 규모, 귀속분, 납품 일정, 마진으로 연결되지 않거나 현금흐름 개선이 반복되지 않으면 비중 확대를 보류한다.",
        "position_sizing": "오늘 신규 포지션은 잡지 않는다. 조건 충족 시에도 ATR 5,362원, 종가 대비 약 5.4%, Beta 1.832의 높은 변동성을 반영해 정상 비중의 25~35% 수준 starter만 허용한다. 103,000원 위 안착이 재확인되거나 98,100~98,700원 지지 후 100,000원 회복이 거래량과 함께 유지될 때만 추가를 검토한다. Forward PE 93배, TTM 순이익률 0.497%, ROE 1.733%, 영업이익을 흡수하는 이자비용 부담이 남아 있어 초기부터 큰 비중은 부적절하다.",
        "risk_limits": "98,100원을 1차 종가 기준 경고선으로 둔다. 이탈 시 기존 보유분 축소와 신규 진입 보류가 필요하다. 95,000원은 하드 리스크 한계로, 이탈 시 단순 변동성이 아니라 추세 훼손 가능성으로 본다. 101,200~103,000원 구간의 저거래량 상승은 추격하지 않는다. 원전 수주 기대가 계약 가치와 마진으로 확인되지 않거나, 2025년 4분기 현금흐름 개선이 운전자본 효과에 그친 것으로 드러나면 밸류에이션 압축 위험을 반영해 노출을 줄인다.",
        "catalysts": [
          "034020.KS가 관련된 이집트 엘다바 또는 해외 원전 프로젝트에서 구체적 계약 규모, 귀속분, 납품 일정, 마진 정보가 확인되는 경우",
          "103,000원 위 종가 안착과 함께 1,746,075주를 단순히 넘는 수준이 아니라 최근 저거래 반등 대비 뚜렷한 거래량 증가가 동반되는 경우",
          "MACD 히스토그램이 양전환하고 100,000원 위 가격 유지가 확인되는 경우",
          "KOSPI 위험선호 회복 속에서 외국인·기관 수급이 원전·인프라 대형주로 유입되는 경우",
          "2026-04-13 자기주식 취득 정정 공시의 세부 내용이 실제 주가 지지력 있는 규모와 조건으로 확인되는 경우",
          "다음 실적에서 영업마진, 자유현금흐름, 순차입금 감소가 반복되는 경우"
        ],
        "invalidators": [
          "98,100원 종가 이탈 후 50일선 98,142원과 10일 EMA 98,707원 부근을 빠르게 회복하지 못하는 경우",
          "95,000원 이탈로 중기 지지 구조가 훼손되는 경우",
          "원전 프로젝트 헤드라인이 034020.KS 귀속 계약 가치, 마진, 납품 일정으로 연결되지 않는 경우",
          "2025년 4분기 자유현금흐름 1.206조 원 개선이 운전자본 효과에 그치고 다음 분기에 반복되지 않는 경우",
          "순이자비용과 비영업손실이 영업이익을 계속 흡수해 최종 주주이익 개선이 지연되는 경우",
          "Forward PE 93배를 정당화할 수 있는 수주, 마진, 현금흐름 증거가 약화되는 경우"
        ],
        "watchlist_triggers": [
          "103,000원 위 종가 안착과 최근 저거래 반등 대비 뚜렷한 거래량 증가",
          "MACD 히스토그램 양전환 또는 0선 근처 개선 지속과 100,000원 위 가격 유지",
          "98,100~98,700원 지지 확인 후 100,000원 회복 및 반등 거래량 증가",
          "106,300~109,600원 저항 재시험 시 거래량, 외국인·기관 수급, 원전 뉴스 동반 여부",
          "2026-04-13 접수번호 20260413002228 자기주식 취득 정정 공시의 규모, 시기, 조건 확인",
          "다음 분기 자유현금흐름, 순차입금, 영업마진이 2025년 4분기 개선을 반복하는지 확인"
        ],
        "data_coverage": {
          "company_news_count": 5,
          "disclosures_count": 1,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 5,
        "disclosures_count": 1,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "103,000원 위 종가 안착과 최근 저거래 반등 대비 뚜렷한 거래량 증가",
        "MACD 히스토그램 양전환 또는 0선 근처 개선 지속과 100,000원 위 가격 유지",
        "98,100~98,700원 지지 확인 후 100,000원 회복 및 반등 거래량 증가",
        "106,300~109,600원 저항 재시험 시 거래량, 외국인·기관 수급, 원전 뉴스 동반 여부",
        "2026-04-13 접수번호 20260413002228 자기주식 취득 정정 공시의 규모, 시기, 조건 확인",
        "다음 분기 자유현금흐름, 순차입금, 영업마진이 2025년 4분기 개선을 반복하는지 확인",
        "034020.KS가 관련된 이집트 엘다바 또는 해외 원전 프로젝트에서 구체적 계약 규모, 귀속분, 납품 일정, 마진 정보가 확인되는 경우",
        "103,000원 위 종가 안착과 함께 1,746,075주를 단순히 넘는 수준이 아니라 최근 저거래 반등 대비 뚜렷한 거래량 증가가 동반되는 경우",
        "MACD 히스토그램이 양전환하고 100,000원 위 가격 유지가 확인되는 경우",
        "KOSPI 위험선호 회복 속에서 외국인·기관 수급이 원전·인프라 대형주로 유입되는 경우",
        "2026-04-13 자기주식 취득 정정 공시의 세부 내용이 실제 주가 지지력 있는 규모와 조건으로 확인되는 경우",
        "다음 실적에서 영업마진, 자유현금흐름, 순차입금 감소가 반복되는 경우",
        "98,100원 종가 이탈 후 50일선 98,142원과 10일 EMA 98,707원 부근을 빠르게 회복하지 못하는 경우",
        "95,000원 이탈로 중기 지지 구조가 훼손되는 경우",
        "원전 프로젝트 헤드라인이 034020.KS 귀속 계약 가치, 마진, 납품 일정으로 연결되지 않는 경우",
        "2025년 4분기 자유현금흐름 1.206조 원 개선이 운전자본 효과에 그치고 다음 분기에 반복되지 않는 경우",
        "순이자비용과 비영업손실이 영업이익을 계속 흡수해 최종 주주이익 개선이 지연되는 경우",
        "Forward PE 93배를 정당화할 수 있는 수주, 마진, 현금흐름 증거가 약화되는 경우"
      ],
      "confidence": 0.64,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Medium-term thesis is constructive for 034020.KS due to intact long-term trend, nuclear/infrastructure catalysts, improved free cash flow, and reduced net debt, but the action is not yet timing-ready. Current recommendation is hold/wait: new buying requires confirmation via a close above 103,000 KRW with materially stronger volume and MACD improvement, or a defended 98,100-98,700 KRW support test followed by reclaim of 100,000 KRW. Existing position has defined downside risk lines at 98,100 KRW and 95,000 KRW.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.7,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "Medium-term thesis is constructive for 034020.KS due to intact long-term trend, nuclear/infrastructure catalysts, improved free cash flow, and reduced net debt, but the action is not yet timing-ready. Current recommendation is hold/wait: new buying requires confirmation via a close above 103,000 KRW with materially stronger volume and MACD improvement, or a defended 98,100-98,700 KRW support test followed by reclaim of 100,000 KRW. Existing position has defined downside risk lines at 98,100 KRW and 95,000 KRW."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_conditioned_on_breakout",
        "volume_confirmation_required",
        "macd_not_confirmed",
        "support_reclaim_alternative_trigger",
        "held_position_with_defined_risk_lines",
        "valuation_and_volatility_constrain_sizing"
      ],
      "review_required": true,
      "score_now": 0.040012487680000014,
      "score_triggered": 0.12503121920000002,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.7,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34
      },
      "broker_symbol": "034020",
      "canonical_ticker": "034020.KS",
      "display_name": "두산에너빌리티"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "042700",
        "canonical_ticker": "042700.KS",
        "yahoo_symbol": "042700.KS",
        "krx_code": "042700",
        "dart_corp_code": null,
        "display_name": "한미반도체",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 284000,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.6,
        "time_horizon": "medium",
        "entry_logic": "042700.KS에 대한 방향성은 우호적으로 유지한다. 공격적 분석가가 지적한 것처럼 2026-04-13 종가 276500원은 50일 SMA 257039원을 충분히 웃돌고, 10일 EMA 274739원과 VWMA 271293원 위에 있어 중기 상승 구조가 완전히 훼손된 상태는 아니다. 또한 HBM/TC본더 후공정 장비 사이클, 높은 영업이익률 약 33.3%, 매출총이익률 약 56.1%, 현금 2762억 원 수준과 낮은 차입금은 강세 논리를 뒷받침한다. 다만 보수적·중립적 분석가가 공통으로 지적한 대로 286000원 저항 확인 후 거래량이 2026-04-10의 1087130주에서 2026-04-13의 387276주로 줄었고, 종가도 286000원에서 276500원으로 밀려 즉시 추격 매수의 확률 우위는 부족하다. 따라서 현재는 매수 금지가 아니라 조건부 대기다. 286000원 위 종가 돌파와 거래량 회복이 동시에 확인되면 STARTER가 정당화될 수 있고, 대안으로 271000~274000원 구간 지지 확인 후 강한 반등이 나오면 소규모 진입을 검토한다.",
        "exit_logic": "조건 충족 후 진입했다면 274000원대 10일 EMA와 271000원 VWMA를 종가 기준으로 재이탈할 때 단기 진입분을 우선 축소한다. 이는 중립적 분석가의 구분처럼 전술적 후퇴 신호다. 257000원대 50일 SMA 하회가 지속되면 중기 강세 구조 훼손으로 보고 잔여 포지션 정리 또는 투자 가정 재평가로 전환한다. 상방에서는 300000원 부근에서 일부 차익 실현을 검토하고, 321000원대 볼린저 상단 접근 시 추가 차익 실현 또는 추세 유지 여부를 재점검한다.",
        "position_sizing": "현 시점 신규 비중은 보류한다. 286000원 위 종가 돌파와 거래량 회복이 확인될 경우에도 ATR 약 19400원, 종가 대비 약 7% 변동성, 베타 2.245를 감안해 평시 단기 트레이딩 비중의 0.33배 이하 STARTER로 제한한다. 300000원 위 안착과 함께 신규 수주, IR 코멘트, 2026년 가이던스, 고객사 투자 확인 중 하나 이상이 동반될 때만 0.50배까지 단계적 증액을 검토한다. 확인 전 레버리지와 평균단가 상승 매수는 금지한다.",
        "risk_limits": "핵심 위험은 기대치 리스크다. PER 54배 수준의 프리미엄은 HBM/TC본더 성장 가시성이 유지될 때만 정당화되며, 2025-12-31 매출이 1662억 원 수준에서 830억 원 수준으로 감소하고 영업이익도 678억 원에서 276억 원으로 둔화된 점은 확인이 필요한 부담이다. 단기 리스크 한도는 271000~274000원 이탈 시 즉시 축소로 관리하고, 포지션 전체 손실은 대략 1 ATR 이내에서 제한한다. 257000원대 50일 SMA 하회 지속, 240000원대 볼린저 하단 접근, 거래량 없는 반등 실패, 신규 수주 부재 속 밸류에이션 디레이팅을 주요 방어 기준으로 둔다.",
        "catalysts": [
          "042700.KS가 286000원 위로 종가 돌파하고 거래량이 2026-04-10의 1087130주에 근접하거나 이를 상회하는 경우",
          "300000원 회복 후 안착하며 매물 소화가 확인되는 경우",
          "신규 수주, 고객사 확대, TC본더/HBM 장비 수요 확인 또는 2026년 실적 가이던스 상향",
          "기업설명회에서 수주잔고, 고객 투자 일정, 증설 회수 속도에 대한 구체적 설명이 제시되는 경우",
          "반도체 수출 증가와 SK하이닉스/HBM 투자 사이클 관련 우호적 데이터가 지속되는 경우"
        ],
        "invalidators": [
          "042700.KS가 271000~274000원 단기 평균선 및 수급 구간을 종가 기준 이탈하고 빠르게 회복하지 못하는 경우",
          "257000원대 50일 SMA 하회가 지속되어 중기 상승 구조가 훼손되는 경우",
          "2025-12-31 매출 둔화가 일시적 매출 인식 문제가 아니라 신규 수주 둔화로 확인되는 경우",
          "PER 54배 수준의 프리미엄을 정당화할 신규 수주, 고객사 투자, 가이던스 개선이 나오지 않는 경우",
          "설비투자 증가가 고마진 매출 증가로 연결되지 않고 고정비 부담으로 전환되는 경우",
          "MACD 양수권 유지 실패와 RSI 55~60 회복 실패가 동반되며 반등 모멘텀이 약화되는 경우"
        ],
        "watchlist_triggers": [
          "042700.KS 종가 286000원 상향 돌파 여부와 거래량 회복 여부",
          "2026-04-10 거래량 1087130주에 근접하거나 상회하는 매수세 유입 여부",
          "271000~274000원 구간 지지 확인 후 반등 강도",
          "300000원 회복 후 안착 여부",
          "321000원대 볼린저 상단 접근 시 매물 소화 여부",
          "257000원대 50일 SMA 방어 여부",
          "MACD 양수권 유지와 RSI 55~60 회복 여부",
          "OpenDART 신규 수주, IR 후속 자료, 2026년 실적 전망 업데이트 여부"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 2,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 2,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "042700.KS 종가 286000원 상향 돌파 여부와 거래량 회복 여부",
        "2026-04-10 거래량 1087130주에 근접하거나 상회하는 매수세 유입 여부",
        "271000~274000원 구간 지지 확인 후 반등 강도",
        "300000원 회복 후 안착 여부",
        "321000원대 볼린저 상단 접근 시 매물 소화 여부",
        "257000원대 50일 SMA 방어 여부",
        "MACD 양수권 유지와 RSI 55~60 회복 여부",
        "OpenDART 신규 수주, IR 후속 자료, 2026년 실적 전망 업데이트 여부",
        "042700.KS가 286000원 위로 종가 돌파하고 거래량이 2026-04-10의 1087130주에 근접하거나 이를 상회하는 경우",
        "300000원 회복 후 안착하며 매물 소화가 확인되는 경우",
        "신규 수주, 고객사 확대, TC본더/HBM 장비 수요 확인 또는 2026년 실적 가이던스 상향",
        "기업설명회에서 수주잔고, 고객 투자 일정, 증설 회수 속도에 대한 구체적 설명이 제시되는 경우",
        "반도체 수출 증가와 SK하이닉스/HBM 투자 사이클 관련 우호적 데이터가 지속되는 경우",
        "042700.KS가 271000~274000원 단기 평균선 및 수급 구간을 종가 기준 이탈하고 빠르게 회복하지 못하는 경우",
        "257000원대 50일 SMA 하회가 지속되어 중기 상승 구조가 훼손되는 경우",
        "2025-12-31 매출 둔화가 일시적 매출 인식 문제가 아니라 신규 수주 둔화로 확인되는 경우",
        "PER 54배 수준의 프리미엄을 정당화할 신규 수주, 고객사 투자, 가이던스 개선이 나오지 않는 경우",
        "설비투자 증가가 고마진 매출 증가로 연결되지 않고 고정비 부담으로 전환되는 경우",
        "MACD 양수권 유지 실패와 RSI 55~60 회복 실패가 동반되며 반등 모멘텀이 약화되는 경우"
      ],
      "confidence": 0.6,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "한미반도체의 HBM/TC본더 장비 사이클과 수익성, 재무 여력은 우호적이어서 보유 관점의 중기 thesis는 유지된다. 다만 286000원 저항 확인 후 거래량이 크게 줄고 종가가 밀렸으며, 현재 가격은 단기 평균선 바로 위에 머물러 즉시 증액이나 신규 진입 타이밍은 확인되지 않았다. 핵심 트리거는 286000원 종가 돌파와 거래량 회복, 또는 271000~274000원 지지 확인 후 강한 반등이다.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.72,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "한미반도체의 HBM/TC본더 장비 사이클과 수익성, 재무 여력은 우호적이어서 보유 관점의 중기 thesis는 유지된다. 다만 286000원 저항 확인 후 거래량이 크게 줄고 종가가 밀렸으며, 현재 가격은 단기 평균선 바로 위에 머물러 즉시 증액이나 신규 진입 타이밍은 확인되지 않았다. 핵심 트리거는 286000원 종가 돌파와 거래량 회복, 또는 271000~274000원 지지 확인 후 강한 반등이다."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.66,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "resistance_rejection_needs_volume_recovery",
        "specific_breakout_trigger_defined",
        "support_retest_alternative_defined",
        "valuation_and_growth_visibility_risk",
        "held_position_but_no_add_signal"
      ],
      "review_required": true,
      "score_now": 0.04357598720000001,
      "score_triggered": 0.13393996800000002,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38
      },
      "broker_symbol": "042700",
      "canonical_ticker": "042700.KS",
      "display_name": "한미반도체"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "058470",
        "canonical_ticker": "058470.KQ",
        "yahoo_symbol": "058470.KQ",
        "krx_code": "058470",
        "dart_corp_code": null,
        "display_name": "리노공업",
        "exchange": "KOSDAQ",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 223200,
      "quantity": 2.0,
      "available_qty": 2.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.6,
        "time_horizon": "medium",
        "entry_logic": "058470.KQ는 중기 방향성은 우호적이다. 세 분석진 모두 가격이 10일 지수이동평균, 50일 단순이동평균, 200일 단순이동평균 및 거래량가중평균 위에 있고, MACD가 양수로 회복했으며, RSI 55 수준이 과열이 아니라는 점을 인정했다. 또한 영업이익률 약 32.9%, 순이익률 약 29.2%, 유동비율 7.5 초과, 낮은 부채 부담, 양의 잉여현금흐름은 품질 프리미엄을 뒷받침한다. 다만 최신 유효 종가 113400에서는 즉시 진입하지 않는다. 2026-04-14 강한 KOSDAQ 장세에서 058470.KQ가 하락 예외로 언급된 상대 약세, 2026-04-13 거래량 578766의 부족, 약 6.4% ATR, forward PE 약 36, 그리고 매출이 2025-06-30 112522064120에서 2025-09-30 96841827640, 2025-12-31 84759949280으로 둔화된 점이 아직 확인되지 않은 위험이다. 따라서 방향성은 BULLISH로 유지하되, 즉시 행동은 WAIT이다. 116800 상향 돌파가 1000000주 초과 거래량과 상대강도 회복을 동반하거나, 110000 부근 조정 후 105000-106000 위험선 위에서 안정화되고 113400 회복 또는 폭 개선이 확인될 때만 소규모 시작 진입을 검토한다.",
        "exit_logic": "기존 보유분은 058470.KQ가 105000-106000의 50일 단순이동평균 지지권 위에서 마감하고 단기 모멘텀이 유지되는 동안 보유한다. 일봉 종가가 105000 아래로 내려가면 중기 상승 구조 훼손으로 보고 감축 또는 청산한다. 지지 이탈 후 10일 지수이동평균을 회복하지 못하거나, KOSDAQ 대비 고거래량 상대 약세가 반복되면 위험을 줄인다. 127000 재시험 구간에서 거래량 확장 없이 상승하거나 RSI가 과열권에 접근하면 기존 보유분은 일부 이익실현 또는 재평가한다.",
        "position_sizing": "오늘 113400 부근에서는 신규 전체 포지션을 열지 않는다. 116800을 종가 기준 돌파하고 거래량이 1000000주를 넘으며 KOSDAQ 대비 상대강도 회복이 확인될 경우 의도한 총 비중의 20%-25%만 STARTER로 시작한다. 돌파 후 두 번째 종가가 116800 위에서 유지되고 고거래량 반전이 없으면 33%까지 확대할 수 있다. 110000 부근 조정 진입도 첫 접촉이 아니라 안정화, 105000-106000 방어, 113400 회복 또는 폭 개선이 확인될 때만 20%-25%로 제한한다. 추가 매수는 116800 위 안착, 상대강도 개선, 또는 다음 실적에서 매출 재가속과 마진 방어가 확인된 뒤에만 허용한다.",
        "risk_limits": "ATR이 약 7212, 가격 대비 약 6.4%로 커서 촘촘한 손절보다 변동성 조정 위험관리가 필요하다. 진입 시 105000 하회까지의 손실이 통상 단일 종목 위험예산을 넘지 않도록 수량을 역산한다. 거래량이 600000 아래에 머물며 116800 아래에서 정체되면 추가하지 않는다. KOSDAQ 강세에도 058470.KQ의 상대 약세가 이어지거나, 다음 분기 매출이 2025-12-31 84759949280에서 반등하지 못하거나, 설비투자 및 건설중인자산 증가가 마진과 자본효율을 압박하면 비중 확대를 금지한다.",
        "catalysts": [
          "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 넘으며 KOSDAQ 대비 상대강도가 회복되는 경우",
          "116800 돌파 후 두 번째 종가가 해당 가격 위에서 유지되고 고거래량 반전 없이 127000 재시험 가능성이 높아지는 경우",
          "다음 분기 매출이 84759949280에서 반등하고 영업이익률이 과거 높은 수준에 가깝게 유지되는 경우",
          "2026-03-26 기업가치 제고 계획이 측정 가능한 주주환원, 자본효율 목표, 현금 활용 방안으로 구체화되는 경우",
          "KOSDAQ 및 반도체 부품 순환매가 최근 소외된 고품질 종목으로 확산되는 경우"
        ],
        "invalidators": [
          "058470.KQ가 일봉 종가 기준 105000-106000 지지권을 이탈하는 경우",
          "116800 아래에서 반복적으로 실패하고 거래량이 줄며 KOSDAQ 대비 상대 약세가 지속되는 경우",
          "다음 분기 매출이 2025-06-30, 2025-09-30, 2025-12-31로 이어진 하락 추세를 멈추지 못하는 경우",
          "설비투자와 건설중인자산 증가가 매출 회복 없이 감가상각 부담, 마진 압박, 자본효율 저하로 연결되는 경우",
          "영업이익률 압박으로 forward PE 약 36의 프리미엄 밸류에이션이 정당화되지 못하는 경우",
          "기업가치 제고 또는 배당 관련 공시가 구체성 없이 시장 기대에 미달하는 경우"
        ],
        "watchlist_triggers": [
          "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 초과하면 entry_action을 STARTER로 상향하되 첫 비중은 20%-25%로 제한한다",
          "058470.KQ가 116800 돌파 후 두 번째 종가도 해당 가격 위에서 유지하고 상대강도가 개선되면 33%까지 확대를 검토한다",
          "058470.KQ가 110000 부근으로 조정받은 뒤 105000-106000 위를 방어하고 113400을 회복하면 STARTER를 검토한다",
          "058470.KQ가 105000 아래에서 종가 마감하면 portfolio_stance를 NEUTRAL 쪽으로 낮추고 기존 위험을 감축한다",
          "거래량이 600000 아래에 머물며 가격이 116800 아래에서 정체되면 WAIT을 유지한다",
          "다음 실적에서 매출 반등과 마진 방어가 동시에 확인되면 setup_quality를 COMPELLING 쪽으로 상향 검토한다"
        ],
        "data_coverage": {
          "company_news_count": 1,
          "disclosures_count": 6,
          "social_source": "news_derived",
          "macro_items_count": 4
        }
      },
      "data_coverage": {
        "company_news_count": 1,
        "disclosures_count": 6,
        "social_source": "news_derived",
        "macro_items_count": 4
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 초과하면 entry_action을 STARTER로 상향하되 첫 비중은 20%-25%로 제한한다",
        "058470.KQ가 116800 돌파 후 두 번째 종가도 해당 가격 위에서 유지하고 상대강도가 개선되면 33%까지 확대를 검토한다",
        "058470.KQ가 110000 부근으로 조정받은 뒤 105000-106000 위를 방어하고 113400을 회복하면 STARTER를 검토한다",
        "058470.KQ가 105000 아래에서 종가 마감하면 portfolio_stance를 NEUTRAL 쪽으로 낮추고 기존 위험을 감축한다",
        "거래량이 600000 아래에 머물며 가격이 116800 아래에서 정체되면 WAIT을 유지한다",
        "다음 실적에서 매출 반등과 마진 방어가 동시에 확인되면 setup_quality를 COMPELLING 쪽으로 상향 검토한다",
        "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 넘으며 KOSDAQ 대비 상대강도가 회복되는 경우",
        "116800 돌파 후 두 번째 종가가 해당 가격 위에서 유지되고 고거래량 반전 없이 127000 재시험 가능성이 높아지는 경우",
        "다음 분기 매출이 84759949280에서 반등하고 영업이익률이 과거 높은 수준에 가깝게 유지되는 경우",
        "2026-03-26 기업가치 제고 계획이 측정 가능한 주주환원, 자본효율 목표, 현금 활용 방안으로 구체화되는 경우",
        "KOSDAQ 및 반도체 부품 순환매가 최근 소외된 고품질 종목으로 확산되는 경우",
        "058470.KQ가 일봉 종가 기준 105000-106000 지지권을 이탈하는 경우",
        "116800 아래에서 반복적으로 실패하고 거래량이 줄며 KOSDAQ 대비 상대 약세가 지속되는 경우",
        "다음 분기 매출이 2025-06-30, 2025-09-30, 2025-12-31로 이어진 하락 추세를 멈추지 못하는 경우",
        "설비투자와 건설중인자산 증가가 매출 회복 없이 감가상각 부담, 마진 압박, 자본효율 저하로 연결되는 경우",
        "영업이익률 압박으로 forward PE 약 36의 프리미엄 밸류에이션이 정당화되지 못하는 경우",
        "기업가치 제고 또는 배당 관련 공시가 구체성 없이 시장 기대에 미달하는 경우"
      ],
      "confidence": 0.6,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Constructive medium-term thesis for 058470.KQ based on price above key moving averages, positive MACD, non-overbought RSI, high margins, strong liquidity, low leverage, and positive free cash flow. Timing is not actionable now because the plan explicitly says WAIT/NO_TRADE at the latest close near 113400 and requires confirmation: either a close above 116800 with more than 1000000 shares and relative strength recovery, or a controlled pullback near 110000 that holds 105000-106000 and then recovers. Existing small holding can be held while support remains intact, but new/add exposure is not confirmed.",
      "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": "Constructive medium-term thesis for 058470.KQ based on price above key moving averages, positive MACD, non-overbought RSI, high margins, strong liquidity, low leverage, and positive free cash flow. Timing is not actionable now because the plan explicitly says WAIT/NO_TRADE at the latest close near 113400 and requires confirmation: either a close above 116800 with more than 1000000 shares and relative strength recovery, or a controlled pullback near 110000 that holds 105000-106000 and then recovers. Existing small holding can be held while support remains intact, but new/add exposure is not confirmed."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.64,
      "timing_readiness": 0.36,
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "clear_breakout_trigger_not_met",
        "volume_confirmation_required",
        "relative_strength_unconfirmed",
        "support_break_invalidation_defined",
        "premium_valuation_needs_fundamental_confirmation",
        "held_position_risk_managed_not_addable"
      ],
      "review_required": true,
      "score_now": 0.040200473599999995,
      "score_triggered": 0.125501184,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.66,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.084,
        "timing_now": 0.144,
        "timing_triggered": 0.36
      },
      "broker_symbol": "058470",
      "canonical_ticker": "058470.KQ",
      "display_name": "리노공업"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "064400",
        "canonical_ticker": "064400.KS",
        "yahoo_symbol": "064400.KS",
        "krx_code": "064400",
        "dart_corp_code": null,
        "display_name": "LG CNS",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 124000,
      "quantity": 2.0,
      "available_qty": 2.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.6,
        "time_horizon": "medium",
        "entry_logic": "064400.KS에 대한 방향성은 건설적이다. 공격적 분석이 지적한 TTM 매출 6.13조 원, 순이익 4,379억 원, ROE 17.3%, Forward PE 11.64, 배당수익률 3.04%, 현금 및 단기투자자산 1.68조 원 대비 총차입금 7,717억 원은 단순 테마주가 아니라는 근거다. 또한 MACD 히스토그램이 2026-04-07 -354.81에서 2026-04-08 0.69로 양전환하고 2026-04-13 557.27을 유지한 점은 매도 압력 둔화를 시사한다. 그러나 보수적·중립적 분석이 맞게 지적했듯 2026-04-13 종가 60900은 63000-63300 매물대, 50D SMA 64832.36, 200D SMA 65877.95 아래이며, 2026-04-10 63300 회복 시도 후 60900으로 밀렸다. 따라서 오늘 즉시 매수할 실행 근거는 부족하다. 63300 위 종가와 거래량 확장이 첫 조건이며, 50D SMA 위 안착이 확인될 때 setup_quality를 상향한다.",
        "exit_logic": "기존 보유분은 59680 부근 거래량가중평균과 59000-60000 방어 구간을 종가 기준으로 이탈하면 축소한다. 55800은 최종 재검토선이며, 그 전에 이미 위험 축소가 진행되어야 한다는 보수적 분석을 반영한다. 55800 종가 이탈, 63000-63300 반복 실패와 MACD 재악화, 계약 공시의 낮은 규모·마진, 운전자본 회수 악화, 주요 주주 또는 임원 매도 신호가 확인되면 중기 상승 논리를 무효화한다.",
        "position_sizing": "신규 전체 포지션은 오늘 열지 않는다. 064400.KS가 63300 위에서 종가를 만들고 거래량이 최근보다 확장될 경우에만 정상 포지션의 15%-25% 수준으로 시험 진입을 허용한다. 이는 공격적 분석의 조건부 참여 논리와 보수적·중립적 분석의 고변동성 경고를 절충한 것이다. 50D SMA 64832.36 위에서 1-2회 종가 유지, RSI 50 회복, MACD 본선 개선이 함께 확인되면 추가를 검토한다. 200D SMA 65877.95 회복 전까지 총 노출은 정상 수준 이하로 제한한다.",
        "risk_limits": "ATR이 약 3015 KRW로 2026-04-13 종가 60900의 약 5.0%에 해당하므로 촘촘한 장중 손절보다 작은 포지션과 종가 기준 방어선을 사용한다. 63000 아래에서는 확정 수주, 실적, 또는 현금회수 개선 같은 새 촉매가 없으면 추가하지 않는다. 59680 이탈 시 즉시 위험을 재평가하고, 59000-60000 이탈 시 기존 노출을 줄이며, 55800 종가 이탈 시 상승 논리를 재검토한다.",
        "catalysts": [
          "064400.KS의 차세대 K-Edufine 공공 시스템 참여 또는 수주 확정",
          "2026-04-01 단일판매·공급계약 공시의 금액, 상대방, 마진, 기간이 의미 있게 확인되는 경우",
          "2027년 2월 예정된 토큰증권 제도 시행을 앞두고 064400.KS가 직접 구현 파트너로 확인되는 경우",
          "FuriosaAI RNGD 기반 AI 인프라 서비스에서 SamsungSDS와 LG CNS의 상용 고객 채택 또는 성능 검증",
          "국민연금 지분 약 5.7% 수준의 안정 또는 증가와 기관 수급 유지",
          "다음 보고 기간에서 매출채권 회수와 운전자본 전환 개선 확인"
        ],
        "invalidators": [
          "064400.KS가 59000-60000 방어 구간을 종가 기준으로 이탈한 뒤 55800도 종가 기준으로 하회",
          "63000-63300 재돌파에 반복 실패하고 MACD 히스토그램이 다시 음전환",
          "RSI가 50 아래에 머물고 MACD 본선이 0선 아래에서 추가 악화",
          "2026-04-01 계약 공시 세부 내용이 소규모, 저마진, 또는 불리한 조건으로 확인",
          "매출 증가에도 매출채권과 운전자본 유출이 다음 보고 기간에 계속 악화",
          "대량보유, 최대주주, 임원 또는 보호예수 관련 공시에서 의미 있는 매도 압력 확인"
        ],
        "watchlist_triggers": [
          "064400.KS가 63300 위에서 종가를 만들고 최근보다 높은 거래량을 동반하면 15%-25% 시험 진입 후보로 전환",
          "50D SMA 64832.36 위에서 1-2회 종가 유지 시 setup_quality를 COMPELLING에 가깝게 상향 검토",
          "200D SMA 65877.95 회복 시 중기 추세 복원 확인",
          "59680 부근 거래량가중평균과 59000-60000 방어 구간을 pullback에서 유지",
          "RSI가 50 위로 회복하고 MACD 본선이 0선 쪽으로 개선",
          "K-Edufine, 토큰증권, AI 인프라 관련 뉴스가 참여 가능성이나 과거 이력 언급이 아니라 실제 신규 매출로 연결되는지 확인",
          "2026-04-03 대량보유·최대주주·임원 보유 공시의 방향성이 매도 압력인지 안정적 보유인지 확인"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 5,
          "social_source": "news_derived",
          "macro_items_count": 0
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 5,
        "social_source": "news_derived",
        "macro_items_count": 0
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 14,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "064400.KS가 63300 위에서 종가를 만들고 최근보다 높은 거래량을 동반하면 15%-25% 시험 진입 후보로 전환",
        "50D SMA 64832.36 위에서 1-2회 종가 유지 시 setup_quality를 COMPELLING에 가깝게 상향 검토",
        "200D SMA 65877.95 회복 시 중기 추세 복원 확인",
        "59680 부근 거래량가중평균과 59000-60000 방어 구간을 pullback에서 유지",
        "RSI가 50 위로 회복하고 MACD 본선이 0선 쪽으로 개선",
        "K-Edufine, 토큰증권, AI 인프라 관련 뉴스가 참여 가능성이나 과거 이력 언급이 아니라 실제 신규 매출로 연결되는지 확인",
        "2026-04-03 대량보유·최대주주·임원 보유 공시의 방향성이 매도 압력인지 안정적 보유인지 확인",
        "064400.KS의 차세대 K-Edufine 공공 시스템 참여 또는 수주 확정",
        "2026-04-01 단일판매·공급계약 공시의 금액, 상대방, 마진, 기간이 의미 있게 확인되는 경우",
        "2027년 2월 예정된 토큰증권 제도 시행을 앞두고 064400.KS가 직접 구현 파트너로 확인되는 경우",
        "FuriosaAI RNGD 기반 AI 인프라 서비스에서 SamsungSDS와 LG CNS의 상용 고객 채택 또는 성능 검증",
        "국민연금 지분 약 5.7% 수준의 안정 또는 증가와 기관 수급 유지",
        "다음 보고 기간에서 매출채권 회수와 운전자본 전환 개선 확인",
        "064400.KS가 59000-60000 방어 구간을 종가 기준으로 이탈한 뒤 55800도 종가 기준으로 하회",
        "63000-63300 재돌파에 반복 실패하고 MACD 히스토그램이 다시 음전환",
        "RSI가 50 아래에 머물고 MACD 본선이 0선 아래에서 추가 악화",
        "2026-04-01 계약 공시 세부 내용이 소규모, 저마진, 또는 불리한 조건으로 확인",
        "매출 증가에도 매출채권과 운전자본 유출이 다음 보고 기간에 계속 악화",
        "대량보유, 최대주주, 임원 또는 보호예수 관련 공시에서 의미 있는 매도 압력 확인"
      ],
      "confidence": 0.6,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "LG CNS has a constructive medium-term thesis supported by profitability, valuation, liquidity, dividend yield, and potential public SI/token securities/AI infrastructure catalysts, but timing is not confirmed. The stock is held, and the appropriate near-term action is HOLD/WAIT because the latest cited close remains below the 63000-63300 resistance zone, the 50D SMA, and the 200D SMA. Actionability depends on a close above 63300 with volume expansion, followed by acceptance above the 50D SMA; downside risk is managed around 59680 and the 59000-60000 defense zone, with 55800 as major thesis invalidation.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.58,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "LG CNS has a constructive medium-term thesis supported by profitability, valuation, liquidity, dividend yield, and potential public SI/token securities/AI infrastructure catalysts, but timing is not confirmed. The stock is held, and the appropriate near-term action is HOLD/WAIT because the latest cited close remains below the 63000-63300 resistance zone, the 50D SMA, and the 200D SMA. Actionability depends on a close above 63300 with volume expansion, followed by acceptance above the 50D SMA; downside risk is managed around 59680 and the 59000-60000 defense zone, with 55800 as major thesis invalidation."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.62,
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_fundamental_thesis",
        "held_position_hold_only",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "resistance_reclaim_required",
        "volume_confirmation_required",
        "catalysts_unconfirmed",
        "downside_defense_defined"
      ],
      "review_required": true,
      "score_now": 0.03688670720000001,
      "score_triggered": 0.11721676800000001,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 14,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34
      },
      "broker_symbol": "064400",
      "canonical_ticker": "064400.KS",
      "display_name": "LG CNS"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "095340",
        "canonical_ticker": "095340.KS",
        "yahoo_symbol": "095340.KS",
        "krx_code": "095340",
        "dart_corp_code": null,
        "display_name": "ISC",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 669000,
      "quantity": 3.0,
      "available_qty": 3.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.63,
        "time_horizon": "medium",
        "entry_logic": "095340.KS는 중기 방향성은 긍정적이지만 오늘 즉시 신규 진입할 만큼 매수 확인은 완성되지 않았다. 공격 측이 지적한 2025-12-31 매출 72.33bn KRW, 영업이익 21.97bn KRW, 영업이익률 약 30.4%, 잉여현금흐름 18.16bn KRW, 현금 및 단기투자 343.88bn KRW 대비 차입금 21.19bn KRW는 강한 기본 체력을 뒷받침한다. 그러나 보수 및 중립 측이 지적한 MACD 하락, 히스토그램 -3,542.1, RSI 46.66, ATR 약 25,120 KRW, 2026-04-10 장중 변동폭 48,500 KRW는 단기 매수 주도권이 약해졌음을 보여준다. 따라서 방향성은 BULLISH로 유지하되 entry_action은 WAIT이다. 250,000-253,000 공급 및 VWMA 구간을 거래량 증가와 함께 종가로 회복하고, 다음 거래일에도 250,000 위를 유지하거나 장중 지지가 확인될 때만 STARTER가 정당화된다. 271,000 돌파는 추가 매수 검토, 292,500 돌파는 추세 재가속 확인 구간으로 본다.",
        "exit_logic": "기존 보유자는 240,000 위에서는 축소된 핵심 보유를 유지할 수 있다. 다만 250,000-253,000 구간에서 반복적으로 밀리거나, 240,000을 거래량 동반 종가로 이탈하면 전술 비중을 줄인다. 50일선 약 201,390 이탈은 중기 상승 구조 훼손으로 보고 물량을 크게 줄이거나 청산한다. 다음 실적에서 CPO 및 테스트 소켓 기대가 매출로 확인되지 않거나, 영업이익률 압박과 함께 매출채권 69.84bn KRW 및 재고 25.01bn KRW의 질이 악화되면 투자 논리를 재평가한다.",
        "position_sizing": "오늘 신규 풀 포지션은 금지한다. 기존 보유 비중은 정상 단일 종목 비중보다 낮게 유지한다. 250,000-253,000 회복이 단순히 양호한 수준이면 정상 비중의 1/4 이내 STARTER만 허용한다. 회복이 거래량 증가, RSI 50 회복, MACD 히스토그램 개선, 다음 거래일 유지까지 동반되면 정상 비중의 약 1/3까지 가능하다. 정상 비중의 1/2은 271,000 돌파와 강한 회전율이 확인된 뒤에만 검토한다.",
        "risk_limits": "전술 위험선은 240,000이며, 신규 진입 후 이 구간을 빠르게 되깨면 손실을 제한한다. 50일선 약 201,390은 신규 매수의 손절선이 아니라 중기 논리 훼손선으로 본다. ATR 약 25,120 KRW를 감안해 좁은 손절보다 변동성 조정 기준을 쓰되, 평균단가 낮추기는 VWMA 아래에서 금지한다. 2025-10-13의 80,543.3에서 2026-04-10의 257,500까지 큰 재평가가 이미 진행됐으므로 과도한 단일 종목 집중을 피한다. 교환권 행사, 자기주식 처분 정정, 지배구조 변화에 따른 공급 부담도 노출 한도에 반영한다.",
        "catalysts": [
          "SOL AI반도체TOP2플러스 편입은 095340.KS에 패시브 및 테마 수급 유입 가능성을 만든다.",
          "AI 반도체, CPO, 광통신, 테스트 소켓 수요는 현재 시장이 선호하는 성장 테마와 맞닿아 있다.",
          "2025-12-31 기준 매출 72.33bn KRW, 영업이익 21.97bn KRW, 영업이익률 약 30.4%, 잉여현금흐름 18.16bn KRW는 단순 테마주가 아니라는 근거다.",
          "현금 및 단기투자 343.88bn KRW와 차입금 21.19bn KRW의 순현금 구조는 하방 완충력과 전략적 선택지를 제공한다.",
          "2026-04-14 반도체 섹터 위험 선호 개선은 095340.KS의 재상승 시도에 우호적 배경이 될 수 있다."
        ],
        "invalidators": [
          "240,000 이탈 후 반등이 약하면 조정이 단순 소화가 아니라 추세 약화로 전환될 가능성이 커진다.",
          "50일선 약 201,390 이탈은 중기 상승 구조를 훼손한다.",
          "CPO 및 테스트 소켓 기대가 다음 보고 주기에서 매출, 고객, 마진 가시성으로 연결되지 않으면 테마 프리미엄이 약해질 수 있다.",
          "매출채권 69.84bn KRW와 재고 25.01bn KRW가 추가로 늘고 현금 전환이 따라오지 않으면 이익의 질이 훼손된다.",
          "교환권 행사, 자기주식 처분, 지배구조 변화가 지속적 공급 부담이나 투자심리 약화로 이어지면 재평가 여지가 낮아진다."
        ],
        "watchlist_triggers": [
          "250,000-253,000을 최근 평균보다 높은 거래량으로 종가 회복한다.",
          "회복 다음 거래일에도 250,000 위를 유지하거나 장중 지지가 명확하게 확인된다.",
          "MACD 히스토그램 악화가 멈추고 양전환 방향으로 개선된다.",
          "RSI가 50 위에서 안정되고 가격이 10일 EMA 약 243,546 위를 유지한다.",
          "271,000을 강한 회전율로 돌파하면 추가 매수 후보로 격상한다.",
          "292,500을 장중 반락 없이 돌파하면 추세 재가속 확인으로 본다.",
          "CPO 테스트 소켓 수요, 고객 확보, 마진 지속성, 매출채권 회수, 재고 질에 대한 공시나 IR 확인이 나온다.",
          "240,000 이탈 또는 VWMA 부근 고거래량 분산 매도가 나오면 관찰 종목의 위험 경보로 전환한다."
        ],
        "data_coverage": {
          "company_news_count": 2,
          "disclosures_count": 5,
          "social_source": "news_derived",
          "macro_items_count": 1
        }
      },
      "data_coverage": {
        "company_news_count": 2,
        "disclosures_count": 5,
        "social_source": "news_derived",
        "macro_items_count": 1
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "250,000-253,000을 최근 평균보다 높은 거래량으로 종가 회복한다.",
        "회복 다음 거래일에도 250,000 위를 유지하거나 장중 지지가 명확하게 확인된다.",
        "MACD 히스토그램 악화가 멈추고 양전환 방향으로 개선된다.",
        "RSI가 50 위에서 안정되고 가격이 10일 EMA 약 243,546 위를 유지한다.",
        "271,000을 강한 회전율로 돌파하면 추가 매수 후보로 격상한다.",
        "292,500을 장중 반락 없이 돌파하면 추세 재가속 확인으로 본다.",
        "CPO 테스트 소켓 수요, 고객 확보, 마진 지속성, 매출채권 회수, 재고 질에 대한 공시나 IR 확인이 나온다.",
        "240,000 이탈 또는 VWMA 부근 고거래량 분산 매도가 나오면 관찰 종목의 위험 경보로 전환한다.",
        "SOL AI반도체TOP2플러스 편입은 095340.KS에 패시브 및 테마 수급 유입 가능성을 만든다.",
        "AI 반도체, CPO, 광통신, 테스트 소켓 수요는 현재 시장이 선호하는 성장 테마와 맞닿아 있다.",
        "2025-12-31 기준 매출 72.33bn KRW, 영업이익 21.97bn KRW, 영업이익률 약 30.4%, 잉여현금흐름 18.16bn KRW는 단순 테마주가 아니라는 근거다.",
        "현금 및 단기투자 343.88bn KRW와 차입금 21.19bn KRW의 순현금 구조는 하방 완충력과 전략적 선택지를 제공한다.",
        "2026-04-14 반도체 섹터 위험 선호 개선은 095340.KS의 재상승 시도에 우호적 배경이 될 수 있다.",
        "240,000 이탈 후 반등이 약하면 조정이 단순 소화가 아니라 추세 약화로 전환될 가능성이 커진다.",
        "50일선 약 201,390 이탈은 중기 상승 구조를 훼손한다.",
        "CPO 및 테스트 소켓 기대가 다음 보고 주기에서 매출, 고객, 마진 가시성으로 연결되지 않으면 테마 프리미엄이 약해질 수 있다.",
        "매출채권 69.84bn KRW와 재고 25.01bn KRW가 추가로 늘고 현금 전환이 따라오지 않으면 이익의 질이 훼손된다.",
        "교환권 행사, 자기주식 처분, 지배구조 변화가 지속적 공급 부담이나 투자심리 약화로 이어지면 재평가 여지가 낮아진다."
      ],
      "confidence": 0.63,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Medium-term thesis is constructive for held ISC exposure due to strong margins, net cash, AI/CPO test-socket narrative, ETF inclusion, and sector risk appetite. Timing is not actionable yet: the plan explicitly says NO_TRADE/WAIT and requires a volume-backed close above the 250,000-253,000 VWMA/supply zone, follow-through above 250,000, RSI/MACD improvement, and later breakouts at 271,000 and 292,500 before adding.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.64,
        "entry_readiness": 0.34,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "Medium-term thesis is constructive for held ISC exposure due to strong margins, net cash, AI/CPO test-socket narrative, ETF inclusion, and sector risk appetite. Timing is not actionable yet: the plan explicitly says NO_TRADE/WAIT and requires a volume-backed close above the 250,000-253,000 VWMA/supply zone, follow-through above 250,000, RSI/MACD improvement, and later breakouts at 271,000 and 292,500 before adding."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.68,
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_confirmed",
        "breakout_trigger_required",
        "momentum_below_confirmation",
        "volume_confirmation_needed",
        "held_position_core_hold",
        "clear_downside_invalidation"
      ],
      "review_required": true,
      "score_now": 0.040884323840000014,
      "score_triggered": 0.12721080960000003,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34
      },
      "broker_symbol": "095340",
      "canonical_ticker": "095340.KS",
      "display_name": "ISC"
    },
    {
      "snapshot_id": "20260415T061150_kis_68944660-01",
      "instrument": {
        "broker_symbol": "278470",
        "canonical_ticker": "278470.KS",
        "yahoo_symbol": "278470.KS",
        "krx_code": "278470",
        "dart_corp_code": null,
        "display_name": "에이피알",
        "exchange": "KRX",
        "country": "KR",
        "currency": "KRW"
      },
      "is_held": true,
      "market_value_krw": 386000,
      "quantity": 1.0,
      "available_qty": 1.0,
      "sector": null,
      "structured_decision": {
        "rating": "NO_TRADE",
        "portfolio_stance": "BULLISH",
        "entry_action": "WAIT",
        "setup_quality": "DEVELOPING",
        "confidence": 0.72,
        "time_horizon": "medium",
        "entry_logic": "278470.KS에 대한 방향성 판단은 긍정적이다. 공격적 분석가와 중립 분석가가 지적했듯이 주가는 10일 지수이동평균, 50일 단순이동평균, 200일 단순이동평균 위에 있고, MACD가 7,766.53에서 17,098.65로 재가속했으며 히스토그램도 4,836.91로 양전했다. 펀더멘털도 매출과 영업이익 급증, 약 23.8% 영업이익률, 약 19.0% 순이익률, 75% 이상 ROE, Q4 약 KRW 150.8 billion 자유현금흐름, 미국 성장과 유럽 확장 기대가 뒷받침한다. 다만 즉시 매수는 보류한다. 2026-04-13 종가 KRW 399,500은 KRW 408,500 저항에 근접했고, 10일 지수이동평균 대비 약 11.9%, 50일 단순이동평균 대비 약 28.7%, 200일 단순이동평균 대비 약 66% 위에 있어 진입 안전마진이 낮다. RSI는 약 68로 과열권에 가깝고, ATR은 약 KRW 24,942로 가격의 약 6.24%이며, 거래량은 2026-04-09의 868,166주 급증 이후 2026-04-13의 286,905주로 식었다. 따라서 신규 자금은 KRW 356,000-365,000 구간으로 질서 있는 조정이 나오고 종가 기준 지지가 확인되거나, KRW 408,500을 강한 거래량과 후속 흐름으로 돌파할 때까지 기다린다. 조건이 충족되면 소규모 시작 포지션은 정당화될 수 있지만, 오늘의 진입 조건은 아직 완성되지 않았다.",
        "exit_logic": "기존 보유자는 중기 추세와 펀더멘털이 유지되는 동안 보유 가능하되, 위험은 줄여서 관리한다. KRW 393,000-408,500 부근에서 RSI가 70을 넘고 거래량이 약해지는 실패가 반복되면 단순한 저항 소화인지 분배인지 점검한다. KRW 356,000 종가 이탈은 단기 모멘텀 훼손으로 보고 전술적 비중을 줄인다. KRW 330,000-345,000 하향 이탈은 수급 악화 신호로 더 큰 감축이 필요하다. KRW 310,000 부근을 결정적으로 종가 이탈하면 50일선 방어 실패와 중기 추세 훼손으로 판단해 투자 논리를 무효화한다. 또한 Q1 실적이나 가이던스가 높아진 기대를 넘지 못하거나, 판매마케팅비가 매출보다 빠르게 증가해 마진을 압박하거나, 재고가 KRW 165.5 billion 수준에서 다시 확대되거나, 미국 및 유럽 성장이 실제 소비 수요가 아닌 채널 재고 축적에 그친다는 증거가 나오면 축소 또는 청산한다.",
        "position_sizing": "오늘 신규 풀사이즈 포지션은 열지 않는다. 기존 보유자는 고변동 성장주 기준으로도 정상 비중 이하를 유지한다. 진입 조건이 확인될 경우 첫 매수는 정상 비중의 약 1/3로 제한하고, Q1에서 매출 성장, 영업이익률 방어, 마케팅 효율, 재고 통제, 미국 및 유럽 실판매가 확인될 때만 최대 1/2 정상 비중까지 허용한다. 추가 매수는 KRW 408,500 돌파 후 지지 전환이 확인되거나, 10일 지수이동평균 부근 위에서 더 높은 저점을 만든 뒤에만 검토한다. ATR이 하루 약 6.24%인 만큼 레버리지는 사용하지 않는다.",
        "risk_limits": "거래 위험은 평소보다 낮게 배정한다. KRW 408,500 위로 갭 상승하더라도 거래량과 후속 종가 확인 없이 추격하지 않는다. 2026-04-13 거래량 286,905주를 소폭 넘는 수준만으로는 충분하지 않으며, 2026-04-09의 868,166주 급증을 고려해 뚜렷한 참여 확대 또는 돌파 후 재시험 성공을 요구한다. 손절과 감축 판단은 장중 흔들림보다 일봉 종가와 거래량 성격을 우선한다. KRW 356,000 이탈 시 전술 리스크를 줄이고, KRW 330,000-345,000 이탈 시 비중을 크게 낮추며, KRW 310,000 이탈 시 중기 투자 논리를 폐기한다.",
        "catalysts": [
          "278470.KS Q1 실적이 높아진 시장 기대를 명확히 상회",
          "미국 오프라인 및 온라인 채널에서 반복 수요 기반 매출 성장 지속",
          "유럽 확장이 측정 가능한 매출 기여로 전환",
          "2026-03-31 기업가치 제고 공시의 실행 세부 내용 구체화",
          "실적 추정치 또는 목표주가 추가 상향이 실제 수치 개선으로 뒷받침",
          "KRW 408,500 상향 돌파가 강한 거래량과 후속 종가로 확인"
        ],
        "invalidators": [
          "SK Securities 목표가 KRW 510,000 상향 이후 Q1 실적 또는 가이던스가 단순 부합에 그침",
          "판매마케팅비가 KRW 166.5 billion에서 KRW 255.5 billion으로 증가한 뒤 매출보다 빠르게 늘어 영업이익률을 압박",
          "재고가 KRW 165.5 billion 수준에서 다시 확대되어 할인 또는 채널 재고 위험을 키움",
          "미국 성장이 반복 소비 수요가 아니라 채널 채우기였다는 증거",
          "유럽 확장에 예상보다 큰 판촉비, 물류비, 유통 지원 비용이 필요",
          "KRW 310,000 결정적 종가 이탈"
        ],
        "watchlist_triggers": [
          "KRW 356,000-365,000 조정 구간에서 종가 기준 지지와 안정된 거래량 확인 시 시작 포지션 검토",
          "KRW 408,500 위 종가 돌파와 286,905주를 뚜렷하게 넘는 거래량 확대, 가능하면 다음 거래일 후속 강세 또는 재시험 성공 확인",
          "KRW 393,000-408,500 부근에서 RSI 70 이상, 거래량 약화, 다음 종가 약세가 동시에 나타나면 경계 강화",
          "KRW 356,000 종가 이탈 시 단기 모멘텀 경고",
          "KRW 330,000-345,000 종가 이탈 시 수급 악화로 비중 축소",
          "Q1 공시에서 매출 성장률, 영업이익률, 마케팅 효율, 재고, 미국 실판매, 유럽 매출 기여 확인"
        ],
        "data_coverage": {
          "company_news_count": 3,
          "disclosures_count": 3,
          "social_source": "news_derived",
          "macro_items_count": 0
        }
      },
      "data_coverage": {
        "company_news_count": 3,
        "disclosures_count": 3,
        "social_source": "news_derived",
        "macro_items_count": 0
      },
      "quality_flags": [
        "token_usage_unavailable"
      ],
      "vendor_health": {
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4
      },
      "suggested_action_now": "HOLD",
      "suggested_action_if_triggered": "NONE",
      "trigger_conditions": [
        "KRW 356,000-365,000 조정 구간에서 종가 기준 지지와 안정된 거래량 확인 시 시작 포지션 검토",
        "KRW 408,500 위 종가 돌파와 286,905주를 뚜렷하게 넘는 거래량 확대, 가능하면 다음 거래일 후속 강세 또는 재시험 성공 확인",
        "KRW 393,000-408,500 부근에서 RSI 70 이상, 거래량 약화, 다음 종가 약세가 동시에 나타나면 경계 강화",
        "KRW 356,000 종가 이탈 시 단기 모멘텀 경고",
        "KRW 330,000-345,000 종가 이탈 시 수급 악화로 비중 축소",
        "Q1 공시에서 매출 성장률, 영업이익률, 마케팅 효율, 재고, 미국 실판매, 유럽 매출 기여 확인",
        "278470.KS Q1 실적이 높아진 시장 기대를 명확히 상회",
        "미국 오프라인 및 온라인 채널에서 반복 수요 기반 매출 성장 지속",
        "유럽 확장이 측정 가능한 매출 기여로 전환",
        "2026-03-31 기업가치 제고 공시의 실행 세부 내용 구체화",
        "실적 추정치 또는 목표주가 추가 상향이 실제 수치 개선으로 뒷받침",
        "KRW 408,500 상향 돌파가 강한 거래량과 후속 종가로 확인",
        "SK Securities 목표가 KRW 510,000 상향 이후 Q1 실적 또는 가이던스가 단순 부합에 그침",
        "판매마케팅비가 KRW 166.5 billion에서 KRW 255.5 billion으로 증가한 뒤 매출보다 빠르게 늘어 영업이익률을 압박",
        "재고가 KRW 165.5 billion 수준에서 다시 확대되어 할인 또는 채널 재고 위험을 키움",
        "미국 성장이 반복 소비 수요가 아니라 채널 채우기였다는 증거",
        "유럽 확장에 예상보다 큰 판촉비, 물류비, 유통 지원 비용이 필요",
        "KRW 310,000 결정적 종가 이탈"
      ],
      "confidence": 0.72,
      "stance": "BULLISH",
      "entry_action": "WAIT",
      "setup_quality": "DEVELOPING",
      "rationale": "Thesis is constructive: trend is intact above key moving averages, momentum has re-accelerated, and fundamentals/catalysts are supportive. Timing is not actionable yet because price is extended near KRW 408,500 resistance, RSI is near overbought, ATR is high, and volume has faded after the prior surge. Best read is hold existing small exposure and wait for either a controlled pullback holding KRW 356,000-365,000 or a volume-confirmed close above KRW 408,500 with follow-through/retest.",
      "trigger_profile": {
        "primary_trigger_type": "breakout_confirmation",
        "trigger_horizon": "days_to_weeks",
        "trigger_quality": 0.72,
        "entry_readiness": 0.38,
        "thesis_state": "constructive_but_not_confirmed",
        "semantic_summary": "Thesis is constructive: trend is intact above key moving averages, momentum has re-accelerated, and fundamentals/catalysts are supportive. Timing is not actionable yet because price is extended near KRW 408,500 resistance, RSI is near overbought, ATR is high, and volume has faded after the prior surge. Best read is hold existing small exposure and wait for either a controlled pullback holding KRW 356,000-365,000 or a volume-confirmed close above KRW 408,500 with follow-through/retest."
      },
      "decision_source": "RULE+DEEP",
      "thesis_strength": 0.74,
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "extended_near_resistance",
        "volume_confirmation_missing",
        "pullback_or_breakout_trigger_required",
        "held_position_manage_risk",
        "fundamental_event_confirmation_pending"
      ],
      "review_required": true,
      "score_now": 0.05710685696,
      "score_triggered": 0.16776714239999999,
      "gate_reasons": [
        "high_fallback_count"
      ],
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.144,
        "timing_now": 0.152,
        "timing_triggered": 0.38
      },
      "broker_symbol": "278470",
      "canonical_ticker": "278470.KS",
      "display_name": "에이피알"
    }
  ],
  "actions": [
    {
      "canonical_ticker": "000660.KS",
      "display_name": "SK하이닉스",
      "priority": 1,
      "confidence": 0.69,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.1793,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.1793,
      "trigger_conditions": [
        "000660.KS가 968000-970000으로 되돌림을 보인 뒤 종가 기준 방어하고 거래량이 안정",
        "000660.KS가 1096000-1099000 위에서 종가 안착하고 거래량이 2769753주를 명확히 상회하며 가능하면 6709356주에 근접",
        "돌파 후 1096000-1099000을 재시험할 때 지지로 전환되는지 확인",
        "RSI가 과열권으로 접근하는데 가격이 신고가를 만들지 못하면 소진 위험으로 감시",
        "MACD가 지지 재확인 뒤 플러스 영역에서 재확장",
        "Q1 또는 IR 이후 2026 영업이익 추정치가 상향 지속되고 둔화되지 않음",
        "HBM, AI 추론용 메모리, DRAM 및 NAND 가격 관련 뉴스가 실제 실적 기대 상향으로 연결",
        "000660.KS의 Q1 2026 실적이 기록적 이익 기대를 확인하거나 초과",
        "IR 코멘트가 HBM 수요, AI 추론용 메모리 수요, 가격, 마진, capex 규율을 뒷받침",
        "HBM뿐 아니라 DRAM과 NAND 가격 강세가 지속",
        "외국인 매수와 AI 반도체 ETF 유입이 1100000 KRW 돌파 서사 이후에도 유지",
        "1096000-1099000 저항을 종가 기준으로 돌파하고 거래량이 2769753주를 크게 상회하며 가능하면 6709356주에 근접",
        "927000-929000 종가 이탈로 VWMA와 50일 SMA 지지 실패",
        "Q1 실적 또는 가이던스가 높아진 시장 기대에 미달",
        "HBM 또는 차세대 AI 메모리 수요 둔화, 가격 정점, 고객 채택 지연 징후",
        "capex 확대가 향후 공급 과잉이나 마진 압박 신호로 해석되기 시작",
        "US ITC, 수출통제, 중국 관련 반도체 규제가 투자 서사의 중심 위험으로 부상",
        "1096000-1099000 돌파 후 거래량 부진과 함께 저항대 아래로 빠르게 재진입"
      ],
      "rationale": "Highest monitoring priority: strongest current score with a constructive AI/HBM memory thesis and existing position, but still HOLD only because resistance breakout and volume confirmation are missing and fallback count is elevated.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.76,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.42,
        "thesis_multiplier": 1.108,
        "timing_now": 0.168,
        "timing_triggered": 0.42,
        "score_now": 0.0588,
        "score_triggered": 0.1721
      },
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.42,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "near_resistance_zone",
        "support_retest_alternative",
        "event_confirmation_pending",
        "held_position_hold_only",
        "clear_invalidation_level",
        "highest_score_now",
        "high_fallback_count",
        "no_deployable_cash"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "278470.KS",
      "display_name": "에이피알",
      "priority": 2,
      "confidence": 0.72,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0627,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0627,
      "trigger_conditions": [
        "KRW 356,000-365,000 조정 구간에서 종가 기준 지지와 안정된 거래량 확인 시 시작 포지션 검토",
        "KRW 408,500 위 종가 돌파와 286,905주를 뚜렷하게 넘는 거래량 확대, 가능하면 다음 거래일 후속 강세 또는 재시험 성공 확인",
        "KRW 393,000-408,500 부근에서 RSI 70 이상, 거래량 약화, 다음 종가 약세가 동시에 나타나면 경계 강화",
        "KRW 356,000 종가 이탈 시 단기 모멘텀 경고",
        "KRW 330,000-345,000 종가 이탈 시 수급 악화로 비중 축소",
        "Q1 공시에서 매출 성장률, 영업이익률, 마케팅 효율, 재고, 미국 실판매, 유럽 매출 기여 확인",
        "278470.KS Q1 실적이 높아진 시장 기대를 명확히 상회",
        "미국 오프라인 및 온라인 채널에서 반복 수요 기반 매출 성장 지속",
        "유럽 확장이 측정 가능한 매출 기여로 전환",
        "2026-03-31 기업가치 제고 공시의 실행 세부 내용 구체화",
        "실적 추정치 또는 목표주가 추가 상향이 실제 수치 개선으로 뒷받침",
        "KRW 408,500 상향 돌파가 강한 거래량과 후속 종가로 확인",
        "SK Securities 목표가 KRW 510,000 상향 이후 Q1 실적 또는 가이던스가 단순 부합에 그침",
        "판매마케팅비가 KRW 166.5 billion에서 KRW 255.5 billion으로 증가한 뒤 매출보다 빠르게 늘어 영업이익률을 압박",
        "재고가 KRW 165.5 billion 수준에서 다시 확대되어 할인 또는 채널 재고 위험을 키움",
        "미국 성장이 반복 소비 수요가 아니라 채널 채우기였다는 증거",
        "유럽 확장에 예상보다 큰 판촉비, 물류비, 유통 지원 비용이 필요",
        "KRW 310,000 결정적 종가 이탈"
      ],
      "rationale": "Second priority: high confidence and strong growth thesis, but price is extended near resistance with fading volume and overbought risk, so maintain the small existing position and wait for either pullback support or confirmed breakout.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.144,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "score_now": 0.0571,
        "score_triggered": 0.1678
      },
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "extended_near_resistance",
        "volume_confirmation_missing",
        "pullback_or_breakout_trigger_required",
        "held_position_manage_risk",
        "fundamental_event_confirmation_pending",
        "high_confidence_relative",
        "high_fallback_count",
        "no_deployable_cash"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "012450.KS",
      "display_name": "한화에어로스페이스",
      "priority": 3,
      "confidence": 0.69,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.2475,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.2475,
      "trigger_conditions": [
        "1530000~1550000 위 종가와 최근 4월 수준을 뚜렷하게 넘는 거래량 동반 여부",
        "1459000 부근 10일 EMA에서 낮은 매도 거래량으로 지지되는지 여부",
        "1413000 부근 VWMA가 장중 약세 후에도 종가 기준으로 방어되는지 여부",
        "MACD 히스토그램이 유지 또는 확대되는지, 반대로 가격이 1530000을 회복하지 못한 채 꺾이는지 여부",
        "RSI가 65~70에 접근할 때 가격이 신고가 또는 1655000 전고점권 재시험으로 이어지는지 여부",
        "폴란드·인도네시아 관련 방산 뉴스가 구체적 계약 규모, 일정, 상대방을 포함하는지 여부",
        "1332440 부근 50일선 이탈 또는 ATR이 이미 높은 수준에서 추가 확대되는지 여부",
        "012450.KS의 2026-04-01 및 2026-04-10 공급계약 공시가 구체적 계약금액, 마진, 납기, 원가 조건 측면에서 긍정적으로 확인되는 경우",
        "폴란드 또는 인도네시아 방산 외교 일정이 구체적 주문 규모, 상대방, 일정이 포함된 후속 계약으로 전환되는 경우",
        "다음 실적에서 2025-12 매출 8.42조 KRW 성장과 함께 영업이익률 안정 또는 개선이 확인되는 경우",
        "영업현금흐름 4.13조 KRW와 자유현금흐름 3.20조 KRW 개선이 운전자본 일회성이 아니라 반복 가능한 현금창출력으로 확인되는 경우",
        "1530000~1550000 위에서 최근 4월 수준을 뚜렷하게 넘는 거래량과 MACD 히스토그램 유지 또는 추가 확대가 동반되는 경우",
        "012450.KS가 1332440 부근 50일선을 확대 거래량으로 이탈하는 경우",
        "1413000 부근 VWMA 이탈과 동시에 매도 거래량 증가 및 MACD 히스토그램 약화가 나타나는 경우",
        "신규 공급계약에서 낮은 마진, 납기 지연, 불리한 원가 부담, 수출 승인 불확실성이 확인되는 경우",
        "2025-12 현금흐름 개선이 운전자본 효과에 그치고 이후 재고·매출채권 또는 총부채 부담이 악화되는 경우",
        "추가 유상증자, 불리한 자금조달, 규제 정정, 풍문 해명 공시가 희석 또는 지배구조 우려를 다시 키우는 경우",
        "코스피 강세에도 012450.KS가 반복적으로 상대약세를 보이며 방산 섹터 수급 이탈이 지속되는 경우"
      ],
      "rationale": "Third priority: constructive defense thesis and large existing holding, but high ATR, incomplete volume confirmation, and already meaningful portfolio weight argue against adding until breakout or support-retest evidence improves.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.108,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "score_now": 0.0523,
        "score_triggered": 0.1557
      },
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_but_wait",
        "held_position_hold_only",
        "volume_confirmation_missing",
        "high_atr_timing_risk",
        "explicit_breakout_trigger_defined",
        "support_pullback_trigger_defined",
        "event_confirmation_pending",
        "constructive_medium_term_thesis",
        "large_existing_position",
        "high_fallback_count",
        "no_deployable_cash"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "010950.KS",
      "display_name": "S-Oil",
      "priority": 4,
      "confidence": 0.68,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0387,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0387,
      "trigger_conditions": [
        "010950.KS가 KRW 124500 위로 일봉 마감하고 거래량이 최근 4월 범위를 명확히 상회하는지 확인",
        "KRW 116000-118000 조정 구간에서 지지되고 RSI가 중립 이상, MACD가 양호하게 유지되는지 확인",
        "Q1 2026 영업이익이 KRW 500bn 기대에 부합하거나 상회하는지 확인",
        "Q1 실적 이후 Q2 정제마진, 재고이익, 운전자본, 순차입금 관련 코멘트 확인",
        "National Pension 또는 다른 기관투자자 지분 변화 확인",
        "ATR이 현 수준에서 축소되어 손절과 포지션 관리가 더 명확해지는지 확인",
        "Q1 2026 영업이익이 KRW 500bn 수준 이상으로 확인되고 전년 대비 흑자 전환이 명확해지는 경우",
        "정제마진과 원유·제품 스프레드가 견조하게 유지되면서 수요 둔화나 정책 부담이 나타나지 않는 경우",
        "National Pension 지분 확대가 저PBR 및 가치 재평가 논리를 계속 지지하는 경우",
        "KRW 124500 상향 돌파가 최근 4월 거래량을 웃도는 거래량과 함께 확인되는 경우",
        "주가가 10일 EMA 약 KRW 116027과 50일 SMA 약 KRW 111480 위에서 안정적으로 유지되는 경우",
        "KRW 116000 일봉 종가 이탈과 MACD 히스토그램 둔화가 함께 나타나는 경우",
        "50일 SMA 부근 KRW 111500을 이탈해 단기 회복 구조가 실패하는 경우",
        "Q1 2026 실적이 KRW 500bn 영업이익 기대를 하회하거나 Q2 마진 약화 가이던스가 제시되는 경우",
        "유가 USD 100 이상 환경이 재고이익보다 수요 파괴, 운전자본 부담, 정책 리스크로 더 크게 작용하는 경우",
        "순차입금, 유동성, 자유현금흐름이 다시 악화되고 대규모 capex 부담이 확대되는 경우"
      ],
      "rationale": "Fourth priority: turnaround setup is constructive and position size is small, but earnings and margin confirmation remain pending and the stock needs either KRW 124500 breakout confirmation or a controlled support retest.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "score_now": 0.0507,
        "score_triggered": 0.1518
      },
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_trend_above_moving_averages",
        "macd_positive_turn",
        "earnings_turnaround_expected_not_confirmed",
        "explicit_wait_entry_action",
        "breakout_requires_volume_confirmation",
        "pullback_support_alternative_unconfirmed",
        "high_atr_post_spike_volatility",
        "defined_downside_invalidation_levels",
        "held_position_hold_not_add",
        "high_fallback_count",
        "no_deployable_cash"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "005930.KS",
      "display_name": "삼성전자",
      "priority": 5,
      "confidence": 0.67,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0671,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0671,
      "trigger_conditions": [
        "상방 진입 trigger: 005930.KS가 210500 위로 종가 마감하고 거래량이 최근 평균을 명확히 웃돌며 MACD 히스토그램이 재확대되는지 확인",
        "momentum trigger: RSI가 60을 넘고 가격이 10일 EMA 부근 196900 위에 머무는지 확인",
        "눌림 starter trigger: 196900-189800 구간에서 지지, 거래량 안정, 부정적 earnings 또는 semiconductor news 부재가 동시에 확인되는지 확인",
        "위험 축소 trigger: 196900 아래 종가와 RSI 50 하회가 동시에 발생하는지 확인",
        "hard risk trigger: 185087 아래 종가 또는 semiconductor news flow가 recovery에서 estimate cuts로 전환되는지 확인",
        "AI data center 수요와 memory 가격 회복이 DRAM, NAND, HBM 기대를 높이는 점",
        "2026-04-07 preliminary earnings와 향후 IR 세부 내용이 영업이익률 20%대 지속성을 확인할 가능성",
        "semiconductor export momentum과 March ICT export 개선이 memory cycle 회복 논리를 강화하는 점",
        "KOSPI risk appetite 회복 시 foreign 및 index-driven demand가 005930.KS로 유입될 가능성",
        "210500 위 종가와 거래량 증가가 확인되면 218000-223000 재시험 가능성이 열리는 점",
        "196900 아래 종가와 RSI 50 하회가 동시에 발생해 4월 rebound가 실패하는 경우",
        "189800 VWMA와 185087 50일 SMA를 순차적으로 이탈해 pullback이 deeper correction으로 바뀌는 경우",
        "다음 earnings 세부 내용에서 영업이익률이 20% 아래로 약화되거나 profit 증가에도 FCF가 악화되는 경우",
        "HBM 또는 advanced packaging 경쟁력이 SK hynix, TSMC-linked supply chain peers 대비 계속 실망스러운 경우",
        "labor, privacy, strike 관련 이슈가 생산 차질, ESG discount, 평판 리스크로 확대되는 경우"
      ],
      "rationale": "Lowest priority among the provided tickers: quality semiconductor exposure and constructive medium-term thesis, but timing readiness is weakest, breakout remains unconfirmed, volume has faded, and adding would increase semiconductor concentration alongside SK hynix.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.78,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.132,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "score_now": 0.0453,
        "score_triggered": 0.1382
      },
      "decision_source": "RULE+DEEP+CODEX",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_action_wait",
        "breakout_not_confirmed",
        "volume_confirmation_missing",
        "momentum_contraction",
        "high_atr_requires_small_starter",
        "existing_position_hold_only",
        "lowest_timing_readiness",
        "sector_concentration_watch",
        "high_fallback_count",
        "no_deployable_cash"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "005380.KS",
      "display_name": "현대차",
      "priority": 6,
      "confidence": 0.62,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0799,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0799,
      "trigger_conditions": [
        "005380.KS 종가가 484400 위이고 거래량이 최근 평균 이상이면 STARTER 검토",
        "005380.KS 종가가 508500 위에서 유지되면 ADD 또는 OVERWEIGHT 검토",
        "RSI가 50 위로 상승하고 MACD 개선이 지속되면 매수 주도권 확인",
        "005380.KS 종가가 445500 아래이면 방어적 전환 및 매매성 노출 EXIT 검토",
        "OpenDART 내부자 또는 주요 주주 공시에서 의미 있는 순매수·순매도 확인",
        "중동 해운, 수출 물량, 공급업체 화재 이후 생산 정상화 관련 업데이트 확인",
        "다음 실적에서 마진, 운전자본, 자유현금흐름 개선 여부 확인",
        "005380.KS가 484400 위에서 최근 평균을 웃도는 거래량으로 마감해 10일 EMA·VWMA 회복을 확인",
        "005380.KS가 508500 부근 50일 SMA를 회복하고 유지해 최근 거절 구간을 돌파",
        "RSI가 50 위로 올라서고 MACD 개선이 이어져 매수 주도권 확인",
        "Genesis 국내 누적 100만대가 프리미엄 믹스와 마진 방어 서사를 강화",
        "AI, 로보틱스, 소프트웨어 중심 차량, 미래 모빌리티 전략에 대한 투자자 후원이 확대",
        "다음 실적에서 영업마진 회복, 운전자본 정상화, 자유현금흐름 개선 확인",
        "KOSPI 대형주 위험선호 흐름과 지정학적 완화 기대가 유지",
        "005380.KS가 종가 기준 445500 아래로 이탈",
        "482700-484400 회복 실패 후 하락 거래량 확대",
        "508500 부근 50일 SMA에서 재차 거절되고 모멘텀 악화",
        "공급업체 화재 또는 중동 물류 이슈가 2분기 생산·배송·마진에 중대한 부담으로 확대",
        "영업마진 추가 악화 또는 또 한 번의 대규모 음의 자유현금흐름 발생",
        "forward earnings 하향으로 낮은 PER이 가치 함정으로 재평가",
        "Korea 대형주 위험선호 흐름 또는 지정학적 낙관론 반전"
      ],
      "rationale": "현대차에 대한 중기 관점은 장기 추세 유지, 낮은 forward PER, Genesis 및 미래 모빌리티 선택권으로 건설적이지만, 현재 가격은 10일 EMA/VWMA와 50일 SMA 아래에 있고 RSI도 50 미만이라 즉시 증액 타이밍은 확인되지 않았다. 보유자는 핵심 보유는 가능하나 신규 또는 추가 매수는 484400 상회 종가와 평균 이상 거래량, 더 강하게는 508500 회복 유지가 필요하다.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.74,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.072,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "score_now": 0.0441,
        "score_triggered": 0.1354
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_required",
        "price_below_key_moving_averages",
        "volume_confirmed_breakout_needed",
        "held_position_core_hold_only",
        "explicit_invalidation_level",
        "elevated_volatility"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "042700.KS",
      "display_name": "한미반도체",
      "priority": 7,
      "confidence": 0.6,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0462,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0462,
      "trigger_conditions": [
        "042700.KS 종가 286000원 상향 돌파 여부와 거래량 회복 여부",
        "2026-04-10 거래량 1087130주에 근접하거나 상회하는 매수세 유입 여부",
        "271000~274000원 구간 지지 확인 후 반등 강도",
        "300000원 회복 후 안착 여부",
        "321000원대 볼린저 상단 접근 시 매물 소화 여부",
        "257000원대 50일 SMA 방어 여부",
        "MACD 양수권 유지와 RSI 55~60 회복 여부",
        "OpenDART 신규 수주, IR 후속 자료, 2026년 실적 전망 업데이트 여부",
        "042700.KS가 286000원 위로 종가 돌파하고 거래량이 2026-04-10의 1087130주에 근접하거나 이를 상회하는 경우",
        "300000원 회복 후 안착하며 매물 소화가 확인되는 경우",
        "신규 수주, 고객사 확대, TC본더/HBM 장비 수요 확인 또는 2026년 실적 가이던스 상향",
        "기업설명회에서 수주잔고, 고객 투자 일정, 증설 회수 속도에 대한 구체적 설명이 제시되는 경우",
        "반도체 수출 증가와 SK하이닉스/HBM 투자 사이클 관련 우호적 데이터가 지속되는 경우",
        "042700.KS가 271000~274000원 단기 평균선 및 수급 구간을 종가 기준 이탈하고 빠르게 회복하지 못하는 경우",
        "257000원대 50일 SMA 하회가 지속되어 중기 상승 구조가 훼손되는 경우",
        "2025-12-31 매출 둔화가 일시적 매출 인식 문제가 아니라 신규 수주 둔화로 확인되는 경우",
        "PER 54배 수준의 프리미엄을 정당화할 신규 수주, 고객사 투자, 가이던스 개선이 나오지 않는 경우",
        "설비투자 증가가 고마진 매출 증가로 연결되지 않고 고정비 부담으로 전환되는 경우",
        "MACD 양수권 유지 실패와 RSI 55~60 회복 실패가 동반되며 반등 모멘텀이 약화되는 경우"
      ],
      "rationale": "한미반도체의 HBM/TC본더 장비 사이클과 수익성, 재무 여력은 우호적이어서 보유 관점의 중기 thesis는 유지된다. 다만 286000원 저항 확인 후 거래량이 크게 줄고 종가가 밀렸으며, 현재 가격은 단기 평균선 바로 위에 머물러 즉시 증액이나 신규 진입 타이밍은 확인되지 않았다. 핵심 트리거는 286000원 종가 돌파와 거래량 회복, 또는 271000~274000원 지지 확인 후 강한 반등이다.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.72,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.38,
        "thesis_multiplier": 1.096,
        "timing_now": 0.152,
        "timing_triggered": 0.38,
        "score_now": 0.0436,
        "score_triggered": 0.1339
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.38,
      "reason_codes": [
        "bullish_thesis_waiting_for_confirmation",
        "resistance_rejection_needs_volume_recovery",
        "specific_breakout_trigger_defined",
        "support_retest_alternative_defined",
        "valuation_and_growth_visibility_risk",
        "held_position_but_no_add_signal"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "095340.KS",
      "display_name": "ISC",
      "priority": 8,
      "confidence": 0.63,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.1087,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.1087,
      "trigger_conditions": [
        "250,000-253,000을 최근 평균보다 높은 거래량으로 종가 회복한다.",
        "회복 다음 거래일에도 250,000 위를 유지하거나 장중 지지가 명확하게 확인된다.",
        "MACD 히스토그램 악화가 멈추고 양전환 방향으로 개선된다.",
        "RSI가 50 위에서 안정되고 가격이 10일 EMA 약 243,546 위를 유지한다.",
        "271,000을 강한 회전율로 돌파하면 추가 매수 후보로 격상한다.",
        "292,500을 장중 반락 없이 돌파하면 추세 재가속 확인으로 본다.",
        "CPO 테스트 소켓 수요, 고객 확보, 마진 지속성, 매출채권 회수, 재고 질에 대한 공시나 IR 확인이 나온다.",
        "240,000 이탈 또는 VWMA 부근 고거래량 분산 매도가 나오면 관찰 종목의 위험 경보로 전환한다.",
        "SOL AI반도체TOP2플러스 편입은 095340.KS에 패시브 및 테마 수급 유입 가능성을 만든다.",
        "AI 반도체, CPO, 광통신, 테스트 소켓 수요는 현재 시장이 선호하는 성장 테마와 맞닿아 있다.",
        "2025-12-31 기준 매출 72.33bn KRW, 영업이익 21.97bn KRW, 영업이익률 약 30.4%, 잉여현금흐름 18.16bn KRW는 단순 테마주가 아니라는 근거다.",
        "현금 및 단기투자 343.88bn KRW와 차입금 21.19bn KRW의 순현금 구조는 하방 완충력과 전략적 선택지를 제공한다.",
        "2026-04-14 반도체 섹터 위험 선호 개선은 095340.KS의 재상승 시도에 우호적 배경이 될 수 있다.",
        "240,000 이탈 후 반등이 약하면 조정이 단순 소화가 아니라 추세 약화로 전환될 가능성이 커진다.",
        "50일선 약 201,390 이탈은 중기 상승 구조를 훼손한다.",
        "CPO 및 테스트 소켓 기대가 다음 보고 주기에서 매출, 고객, 마진 가시성으로 연결되지 않으면 테마 프리미엄이 약해질 수 있다.",
        "매출채권 69.84bn KRW와 재고 25.01bn KRW가 추가로 늘고 현금 전환이 따라오지 않으면 이익의 질이 훼손된다.",
        "교환권 행사, 자기주식 처분, 지배구조 변화가 지속적 공급 부담이나 투자심리 약화로 이어지면 재평가 여지가 낮아진다."
      ],
      "rationale": "Medium-term thesis is constructive for held ISC exposure due to strong margins, net cash, AI/CPO test-socket narrative, ETF inclusion, and sector risk appetite. Timing is not actionable yet: the plan explicitly says NO_TRADE/WAIT and requires a volume-backed close above the 250,000-253,000 VWMA/supply zone, follow-through above 250,000, RSI/MACD improvement, and later breakouts at 271,000 and 292,500 before adding.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.64,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.108,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "score_now": 0.0409,
        "score_triggered": 0.1272
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "bullish_medium_term_thesis",
        "entry_wait_not_confirmed",
        "breakout_trigger_required",
        "momentum_below_confirmation",
        "volume_confirmation_needed",
        "held_position_core_hold",
        "clear_downside_invalidation"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "058470.KQ",
      "display_name": "리노공업",
      "priority": 9,
      "confidence": 0.6,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0363,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0363,
      "trigger_conditions": [
        "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 초과하면 entry_action을 STARTER로 상향하되 첫 비중은 20%-25%로 제한한다",
        "058470.KQ가 116800 돌파 후 두 번째 종가도 해당 가격 위에서 유지하고 상대강도가 개선되면 33%까지 확대를 검토한다",
        "058470.KQ가 110000 부근으로 조정받은 뒤 105000-106000 위를 방어하고 113400을 회복하면 STARTER를 검토한다",
        "058470.KQ가 105000 아래에서 종가 마감하면 portfolio_stance를 NEUTRAL 쪽으로 낮추고 기존 위험을 감축한다",
        "거래량이 600000 아래에 머물며 가격이 116800 아래에서 정체되면 WAIT을 유지한다",
        "다음 실적에서 매출 반등과 마진 방어가 동시에 확인되면 setup_quality를 COMPELLING 쪽으로 상향 검토한다",
        "058470.KQ가 116800 위에서 종가 마감하고 거래량이 1000000주를 넘으며 KOSDAQ 대비 상대강도가 회복되는 경우",
        "116800 돌파 후 두 번째 종가가 해당 가격 위에서 유지되고 고거래량 반전 없이 127000 재시험 가능성이 높아지는 경우",
        "다음 분기 매출이 84759949280에서 반등하고 영업이익률이 과거 높은 수준에 가깝게 유지되는 경우",
        "2026-03-26 기업가치 제고 계획이 측정 가능한 주주환원, 자본효율 목표, 현금 활용 방안으로 구체화되는 경우",
        "KOSDAQ 및 반도체 부품 순환매가 최근 소외된 고품질 종목으로 확산되는 경우",
        "058470.KQ가 일봉 종가 기준 105000-106000 지지권을 이탈하는 경우",
        "116800 아래에서 반복적으로 실패하고 거래량이 줄며 KOSDAQ 대비 상대 약세가 지속되는 경우",
        "다음 분기 매출이 2025-06-30, 2025-09-30, 2025-12-31로 이어진 하락 추세를 멈추지 못하는 경우",
        "설비투자와 건설중인자산 증가가 매출 회복 없이 감가상각 부담, 마진 압박, 자본효율 저하로 연결되는 경우",
        "영업이익률 압박으로 forward PE 약 36의 프리미엄 밸류에이션이 정당화되지 못하는 경우",
        "기업가치 제고 또는 배당 관련 공시가 구체성 없이 시장 기대에 미달하는 경우"
      ],
      "rationale": "Constructive medium-term thesis for 058470.KQ based on price above key moving averages, positive MACD, non-overbought RSI, high margins, strong liquidity, low leverage, and positive free cash flow. Timing is not actionable now because the plan explicitly says WAIT/NO_TRADE at the latest close near 113400 and requires confirmation: either a close above 116800 with more than 1000000 shares and relative strength recovery, or a controlled pullback near 110000 that holds 105000-106000 and then recovers. Existing small holding can be held while support remains intact, but new/add exposure is not confirmed.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.66,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.36,
        "thesis_multiplier": 1.084,
        "timing_now": 0.144,
        "timing_triggered": 0.36,
        "score_now": 0.0402,
        "score_triggered": 0.1255
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.36,
      "reason_codes": [
        "bullish_thesis_but_wait_action",
        "clear_breakout_trigger_not_met",
        "volume_confirmation_required",
        "relative_strength_unconfirmed",
        "support_break_invalidation_defined",
        "premium_valuation_needs_fundamental_confirmation",
        "held_position_risk_managed_not_addable"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "034020.KS",
      "display_name": "두산에너빌리티",
      "priority": 10,
      "confidence": 0.64,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.1134,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.1134,
      "trigger_conditions": [
        "103,000원 위 종가 안착과 최근 저거래 반등 대비 뚜렷한 거래량 증가",
        "MACD 히스토그램 양전환 또는 0선 근처 개선 지속과 100,000원 위 가격 유지",
        "98,100~98,700원 지지 확인 후 100,000원 회복 및 반등 거래량 증가",
        "106,300~109,600원 저항 재시험 시 거래량, 외국인·기관 수급, 원전 뉴스 동반 여부",
        "2026-04-13 접수번호 20260413002228 자기주식 취득 정정 공시의 규모, 시기, 조건 확인",
        "다음 분기 자유현금흐름, 순차입금, 영업마진이 2025년 4분기 개선을 반복하는지 확인",
        "034020.KS가 관련된 이집트 엘다바 또는 해외 원전 프로젝트에서 구체적 계약 규모, 귀속분, 납품 일정, 마진 정보가 확인되는 경우",
        "103,000원 위 종가 안착과 함께 1,746,075주를 단순히 넘는 수준이 아니라 최근 저거래 반등 대비 뚜렷한 거래량 증가가 동반되는 경우",
        "MACD 히스토그램이 양전환하고 100,000원 위 가격 유지가 확인되는 경우",
        "KOSPI 위험선호 회복 속에서 외국인·기관 수급이 원전·인프라 대형주로 유입되는 경우",
        "2026-04-13 자기주식 취득 정정 공시의 세부 내용이 실제 주가 지지력 있는 규모와 조건으로 확인되는 경우",
        "다음 실적에서 영업마진, 자유현금흐름, 순차입금 감소가 반복되는 경우",
        "98,100원 종가 이탈 후 50일선 98,142원과 10일 EMA 98,707원 부근을 빠르게 회복하지 못하는 경우",
        "95,000원 이탈로 중기 지지 구조가 훼손되는 경우",
        "원전 프로젝트 헤드라인이 034020.KS 귀속 계약 가치, 마진, 납품 일정으로 연결되지 않는 경우",
        "2025년 4분기 자유현금흐름 1.206조 원 개선이 운전자본 효과에 그치고 다음 분기에 반복되지 않는 경우",
        "순이자비용과 비영업손실이 영업이익을 계속 흡수해 최종 주주이익 개선이 지연되는 경우",
        "Forward PE 93배를 정당화할 수 있는 수주, 마진, 현금흐름 증거가 약화되는 경우"
      ],
      "rationale": "Medium-term thesis is constructive for 034020.KS due to intact long-term trend, nuclear/infrastructure catalysts, improved free cash flow, and reduced net debt, but the action is not yet timing-ready. Current recommendation is hold/wait: new buying requires confirmation via a close above 103,000 KRW with materially stronger volume and MACD improvement, or a defended 98,100-98,700 KRW support test followed by reclaim of 100,000 KRW. Existing position has defined downside risk lines at 98,100 KRW and 95,000 KRW.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 15,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.7,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "score_now": 0.04,
        "score_triggered": 0.125
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_medium_term_thesis",
        "entry_wait_conditioned_on_breakout",
        "volume_confirmation_required",
        "macd_not_confirmed",
        "support_reclaim_alternative_trigger",
        "held_position_with_defined_risk_lines",
        "valuation_and_volatility_constrain_sizing"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    },
    {
      "canonical_ticker": "064400.KS",
      "display_name": "LG CNS",
      "priority": 11,
      "confidence": 0.6,
      "action_now": "HOLD",
      "delta_krw_now": 0,
      "target_weight_now": 0.0202,
      "action_if_triggered": "NONE",
      "delta_krw_if_triggered": 0,
      "target_weight_if_triggered": 0.0202,
      "trigger_conditions": [
        "064400.KS가 63300 위에서 종가를 만들고 최근보다 높은 거래량을 동반하면 15%-25% 시험 진입 후보로 전환",
        "50D SMA 64832.36 위에서 1-2회 종가 유지 시 setup_quality를 COMPELLING에 가깝게 상향 검토",
        "200D SMA 65877.95 회복 시 중기 추세 복원 확인",
        "59680 부근 거래량가중평균과 59000-60000 방어 구간을 pullback에서 유지",
        "RSI가 50 위로 회복하고 MACD 본선이 0선 쪽으로 개선",
        "K-Edufine, 토큰증권, AI 인프라 관련 뉴스가 참여 가능성이나 과거 이력 언급이 아니라 실제 신규 매출로 연결되는지 확인",
        "2026-04-03 대량보유·최대주주·임원 보유 공시의 방향성이 매도 압력인지 안정적 보유인지 확인",
        "064400.KS의 차세대 K-Edufine 공공 시스템 참여 또는 수주 확정",
        "2026-04-01 단일판매·공급계약 공시의 금액, 상대방, 마진, 기간이 의미 있게 확인되는 경우",
        "2027년 2월 예정된 토큰증권 제도 시행을 앞두고 064400.KS가 직접 구현 파트너로 확인되는 경우",
        "FuriosaAI RNGD 기반 AI 인프라 서비스에서 SamsungSDS와 LG CNS의 상용 고객 채택 또는 성능 검증",
        "국민연금 지분 약 5.7% 수준의 안정 또는 증가와 기관 수급 유지",
        "다음 보고 기간에서 매출채권 회수와 운전자본 전환 개선 확인",
        "064400.KS가 59000-60000 방어 구간을 종가 기준으로 이탈한 뒤 55800도 종가 기준으로 하회",
        "63000-63300 재돌파에 반복 실패하고 MACD 히스토그램이 다시 음전환",
        "RSI가 50 아래에 머물고 MACD 본선이 0선 아래에서 추가 악화",
        "2026-04-01 계약 공시 세부 내용이 소규모, 저마진, 또는 불리한 조건으로 확인",
        "매출 증가에도 매출채권과 운전자본 유출이 다음 보고 기간에 계속 악화",
        "대량보유, 최대주주, 임원 또는 보호예수 관련 공시에서 의미 있는 매도 압력 확인"
      ],
      "rationale": "LG CNS has a constructive medium-term thesis supported by profitability, valuation, liquidity, dividend yield, and potential public SI/token securities/AI infrastructure catalysts, but timing is not confirmed. The stock is held, and the appropriate near-term action is HOLD/WAIT because the latest cited close remains below the 63000-63300 resistance zone, the 50D SMA, and the 200D SMA. Actionability depends on a close above 63300 with volume expansion, followed by acceptance above the 50D SMA; downside risk is managed around 59680 and the 59000-60000 defense zone, with 55800 as major thesis invalidation.",
      "data_health": {
        "coverage_score": 0.67,
        "vendor_calls": {
          "yfinance": 14,
          "naver": 3,
          "ecos": 1,
          "opendart": 1,
          "alpha_vantage": 2
        },
        "fallback_count": 4,
        "quality_flags": [
          "token_usage_unavailable"
        ],
        "trigger_quality": 0.58,
        "decision_source": "RULE+DEEP",
        "timing_readiness": 0.34,
        "thesis_multiplier": 1.072,
        "timing_now": 0.136,
        "timing_triggered": 0.34,
        "score_now": 0.0369,
        "score_triggered": 0.1172
      },
      "decision_source": "RULE+DEEP",
      "timing_readiness": 0.34,
      "reason_codes": [
        "constructive_fundamental_thesis",
        "held_position_hold_only",
        "breakout_not_confirmed",
        "below_key_moving_averages",
        "resistance_reclaim_required",
        "volume_confirmation_required",
        "catalysts_unconfirmed",
        "downside_defense_defined"
      ],
      "review_required": true,
      "trigger_type": "breakout_confirmation",
      "gate_reasons": [
        "high_fallback_count"
      ],
      "sector": null
    }
  ]
}