{
  "ticker": "000660.KS",
  "ticker_name": "SK하이닉스",
  "status": "success",
  "trade_date": "2026-04-15",
  "analysis_date": "2026-04-15",
  "decision": "{\n  \"rating\": \"OVERWEIGHT\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.72,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"000660.KS의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가는 AI/HBM 수요, DRAM 및 NAND 가격 회복, 강한 현금창출, 순차입금 감소, MACD의 강한 개선을 근거로 리더십을 강조했고, 중립 분석가도 가격이 10일 EMA 993000, 50일 SMA 934700, VWAP 934600 위에 있으며 펀더멘털이 단순 서사가 아니라고 확인했다. 다만 보수적 분석가와 중립 분석가가 공통으로 지적했듯 2026-03-31 807000에서 2026-04-14 1103000까지 36.7% 반등했고 2026-04-15 장중 1158000 근처의 신고가가 보고되어 즉시 추격 매수의 보상 대비 위험은 낮다. 오늘의 실행은 WAIT이다. 신규 진입은 1128000 돌파 구간 위 종가와 4754545주를 넘는 거래량이 동시에 확인되거나, 1033000-1000000 조정 구간을 방어하고 10일 EMA 부근 993000 위에서 모멘텀이 안정될 때만 허용한다. 조건이 충족되면 소규모 starter는 정당화될 수 있으나, 조건 전에는 매수하지 않는다.\",\n  \"exit_logic\": \"전술적 노출은 1000000 이탈 후 993000을 거래량 증가와 함께 깨면 축소하거나 청산한다. 50일 SMA 부근 934700이 무너지면 중기 추세 방어선이 훼손된 것으로 보고 포지션을 재평가한다. 다음 실적 또는 가이던스에서 HBM 수요, DRAM/NAND 가격, 출하, 마진이 약화되거나 자유현금흐름, 재고, 매출채권, 운전자본이 악화되어 이익의 질이 흔들리면 비중을 줄인다. 보수적 분석가가 지적한 2025-12-31 분기 capex 약 -12.25조 KRW, 운전자본 유출 약 -2.37조 KRW, 매출채권 변화 약 -3.71조 KRW, 재고 약 14.29조 KRW, 큰 규모의 unusual items -13.88조 KRW는 다음 보고서에서 반드시 확인해야 할 위험 신호다.\",\n  \"position_sizing\": \"신규 자금은 정상 목표 비중보다 작게 시작하고 반드시 분할 진입한다. 첫 tranche는 돌파 확인 또는 지지 확인 이후에만 집행하며, 추가 매수는 진입 트리거 이후 가격이 유지되고 반도체 업종 폭이 동반될 때로 제한한다. 최근 평균 변동폭이 약 65221 KRW, 2026-04-14 종가 대비 약 5.9%로 크므로 포지션 크기는 일반적인 리더십 주식보다 보수적으로 둔다. 이미 보유 중인 계정은 중기 OVERWEIGHT 관점을 유지하되, 신고가 추격 갭에서는 증액하지 않는다.\",\n  \"risk_limits\": \"전술 포지션은 진입가에서 최근 평균 변동폭 약 65221 KRW를 반영한 변동성 기반 손절을 사용한다. 934700은 중기 추세 방어선으로 취급한다. 실적, 투자자관계 공시, 메모리 가격 자료, 미국 정책 및 법적 이슈, 환율, 인플레이션, 미국 AI 반도체 대형주 움직임 전후에는 노출을 제한한다. 보수적 분석가가 강조한 200일 SMA 대비 약 94.9% 프리미엄, beta 약 1.751, 1470 KRW 환율 기준, 수입물가 월간 16% 상승 같은 거시 및 수급 리스크는 비중 확대를 늦추는 근거로 반영한다.\",\n  \"catalysts\": [\n    \"공격적 분석가가 강조한 AI 인프라 투자와 HBM 수요 지속이 000660.KS의 가격, 제품 믹스, 마진을 지지하는 경우\",\n    \"DRAM과 NAND 가격 회복이 HBM 단일 서사를 넘어 이익 사이클을 넓히는 경우\",\n    \"Korea Investment & Securities의 28% 이익 추정 상향 이후 추가 추정치 상향이 이어지는 경우\",\n    \"2026-04-15 장중 신고가 이후에도 외국인과 기관 매수가 지속되고 1128000 위 돌파가 거래량으로 확인되는 경우\",\n    \"2026-04-09 투자자관계 공시와 후속 회사 가이던스가 HBM, DRAM, NAND, 현금흐름에 대해 긍정적으로 유지되는 경우\"\n  ],\n  \"invalidators\": [\n    \"HBM 고객 수요, 가격, 공급 능력이 높아진 기대에 미달하는 경우\",\n    \"DRAM 또는 NAND 가격 회복이 실적 추정치 실현 전에 멈추거나 반전되는 경우\",\n    \"재고, 매출채권, 운전자본 유출이 악화되어 보고이익과 현금흐름의 정합성이 약해지는 경우\",\n    \"capex 확대가 향후 공급과잉이나 마진 압박으로 해석되기 시작하는 경우\",\n    \"미국 ITC 특허 조사, 수출통제, 중국 노출, FX, 인플레이션 충격이 AI 메모리 펀더멘털보다 더 큰 주가 결정 요인이 되는 경우\"\n  ],\n  \"watchlist_triggers\": [\n    \"강세: 000660.KS가 1128000 위에서 종가를 형성하고 거래량이 2026-04-14의 4754545주를 초과하면 starter 진입 또는 보유분 증액을 검토한다\",\n    \"강세: 조정 시 1033000-1000000을 방어하고 10일 EMA 부근 993000 위에서 모멘텀이 안정되면 pullback starter를 검토한다\",\n    \"강세 확인 보강: 돌파 또는 지지 확인이 반도체 업종 전반의 양호한 폭과 함께 나타나면 setup_quality를 COMPELLING으로 상향할 수 있다\",\n    \"약세: 993000을 거래량 증가와 약한 업종 폭 속에 이탈하면 전술 노출을 줄인다\",\n    \"약세: 50일 SMA 부근 934700이 무너지면 중기 OVERWEIGHT 근거를 재검토한다\",\n    \"기본적 확인: 다음 실적 또는 가이던스에서 정상화 이익, 보고이익, 자유현금흐름, 재고, 매출채권이 함께 개선되는지 확인한다\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 4,\n    \"disclosures_count\": 1,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-15T11:43:01.651613+09:00",
  "finished_at": "2026-04-15T11:56:37.703417+09:00",
  "duration_seconds": 816.05,
  "metrics": {
    "llm_calls": 59,
    "tool_calls": 22,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 59
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 22,
    "vendor_calls": {
      "yfinance": 15,
      "naver": 3,
      "ecos": 1,
      "opendart": 1,
      "alpha_vantage": 2
    },
    "fallback_count": 4,
    "events": [
      {
        "method": "get_stock_data",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_indicators",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_company_news",
        "vendor": "naver",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_social_sentiment",
        "vendor": "naver",
        "status": "fallback",
        "fallback": true,
        "note": "naver: empty or unusable result"
      },
      {
        "method": "get_social_sentiment",
        "vendor": "yfinance",
        "status": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_macro_news",
        "vendor": "ecos",
        "status": "fallback",
        "fallback": true,
        "note": "ecos: ECOS API key is not configured."
      },
      {
        "method": "get_disclosures",
        "vendor": "opendart",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_macro_news",
        "vendor": "alpha_vantage",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_company_news",
        "vendor": "naver",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_cashflow",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_income_statement",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_balance_sheet",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_insider_transactions",
        "vendor": "yfinance",
        "status": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_fundamentals",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_insider_transactions",
        "vendor": "alpha_vantage",
        "status": "success",
        "fallback": false,
        "note": null
      }
    ]
  },
  "quality_flags": [
    "token_usage_unavailable"
  ],
  "report_writer": {
    "status": "success",
    "scope": "ticker",
    "provider": "codex",
    "model": "gpt-5.4"
  },
  "provider": "codex",
  "models": {
    "quick_model": "gpt-5.4",
    "deep_model": "gpt-5.4",
    "output_model": "gpt-5.4"
  }
}