{
  "ticker": "042700.KS",
  "ticker_name": "한미반도체",
  "status": "success",
  "trade_date": "2026-04-16",
  "analysis_date": "2026-04-16",
  "decision": "{\n  \"rating\": \"OVERWEIGHT\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.68,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"042700.KS는 HBM/TC 본더 성장 노출, 영업이익률 약 33.3%, 순이익률 약 37.1%, ROE 약 34.8%, 낮은 부채와 현금성 자산 약 2762억 KRW 등으로 중기 투자 매력은 유지된다. 2026-04-15 종가 295000은 10일 EMA 279800.65와 50일 SMA 260932.96 위에 있고 MACD도 양전환해 추세 훼손은 아니다. 다만 316000-323000 저항 돌파가 아직 없고, 2026-04-15 거래량 898476주는 2월 이벤트성 600만 주 이상 거래량 대비 확정적 후원 신호가 아니며, 2026-04-16에는 290500-291000 부근 차익실현이 확인됐다. 따라서 방향성은 BULLISH로 유지하되 오늘 즉시 추격 매수하지 않고 WAIT한다. 신규 진입은 286000-280000 지지 확인 또는 316000-323000 거래량 동반 종가 돌파 때만 소형 시작 포지션이 정당화된다.\",\n  \"exit_logic\": \"기존 보유분은 260000-271000 지지대 위에서 HBM TC 본더 주문 서사가 유지되는 동안 보유한다. 316000-323000 저항권 돌파 시도가 거래량 둔화와 함께 실패하면 일부 축소한다. 종가가 260000 아래로 내려가거나, 251000 재시험에 실패하거나, 다음 실적 및 IR에서 매출 재가속, 주문 가시성, 고마진 유지가 확인되지 않으면 물량을 크게 줄이거나 청산한다.\",\n  \"position_sizing\": \"베타 약 2.245, ATR 약 18254 KRW로 하루 정상 변동폭이 약 6% 수준이므로 정상 비중보다 낮게 운용한다. 조건 충족 전에는 신규 매수하지 않고, 지지 확인 또는 돌파 확인 뒤에도 작은 1차 tranche만 허용한다. 보수적 의견을 반영해 첫 tranche는 일반 starter보다 작게 시작하며, 실적, IR 후속 가이던스, 주문 가시성 또는 저항 돌파 확인 전에는 full-size 노출로 확대하지 않는다.\",\n  \"risk_limits\": \"핵심 위험 구간은 260000-271000이다. 260000 종가 이탈은 반등 구조 훼손으로 보고 251000 및 241747.27까지의 하락 위험을 인정한다. 295000 부근에서는 확인 없는 추격을 금지한다. 316000-323000은 거래량이 898476주를 명확히 웃도는 종가 돌파 전까지 저항으로 본다. 손절과 비중은 ATR을 반영해 설정하며, 약 6% 일일 변동에도 강제 청산되지 않도록 포지션을 작게 유지한다.\",\n  \"catalysts\": [\n    \"042700.KS의 HBM TC 본더 수요 확대와 HBM4/HBM5 장비 로드맵 확인\",\n    \"신규 수주, 고객사 설비투자 가속, AI/HBM 패키징 투자와 연결된 실적 추정치 상향\",\n    \"2026-04-10 IR 이후 주문 가시성, 고객 확대, 차세대 장비 준비에 대한 구체적 후속 확인\",\n    \"316000-323000을 거래량 동반 종가 돌파해 333500 고점 재시험 가능성이 열리는 경우\",\n    \"한국 HBM 공급망 핵심주에 대한 반도체 섹터 위험선호와 기관 및 ETF 수급 지속\"\n  ],\n  \"invalidators\": [\n    \"042700.KS가 260000 아래로 종가 이탈하고 260000-271000 지지대를 회복하지 못하는 경우\",\n    \"다음 실적에서 2025-12-31 둔화 이후 매출 재가속 없이 부진이 이어지는 경우\",\n    \"성장률 또는 마진 가정 하향으로 forward PER 프리미엄이 압축되는 경우\",\n    \"Hanwha Semitech 등 경쟁사가 TC 본더 점유율, 가격 결정력, 핵심 고객 확보에서 가시적 진전을 보이는 경우\",\n    \"HBM 설비투자 시점 지연, 고객 주문 지연, 또는 HBM 집중 서사가 부정적 심리로 전환되는 경우\"\n  ],\n  \"watchlist_triggers\": [\n    \"316000-323000 위 종가 돌파와 898476주를 명확히 웃도는 거래량 확대\",\n    \"286000-280000까지의 조정 후 지지 확인, 거래량 개선, 부정적 주문 뉴스 부재\",\n    \"271000 이탈, 특히 260000 하향 이탈 시 위험 축소 신호\",\n    \"확정 돌파 이후 333500 재시험 여부를 통한 모멘텀 검증\",\n    \"IR, 공시, 뉴스에서 HBM4/HBM5 준비, 주문 잔고, 고객 확장이 확인되는 경우\",\n    \"분기 실적에서 2025-12-31 둔화 이후 매출 재가속과 높은 영업이익률 유지가 확인되는 경우\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 5,\n    \"disclosures_count\": 1,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-16T10:34:10.371009+09:00",
  "finished_at": "2026-04-16T10:47:52.276511+09:00",
  "duration_seconds": 821.91,
  "metrics": {
    "llm_calls": 60,
    "tool_calls": 22,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 60
    }
  },
  "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_income_statement",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_cashflow",
        "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
      }
    ],
    "called_tools": [],
    "intraday_snapshot_used": false
  },
  "quality_flags": [
    "token_usage_unavailable",
    "intraday_snapshot_missing_same_day"
  ],
  "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"
  }
}