{
  "ticker": "LLY",
  "ticker_name": "Eli Lilly",
  "status": "success",
  "trade_date": "2026-04-16",
  "analysis_date": "2026-04-17",
  "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\": \"LLY의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가가 강조한 것처럼 2025년 매출이 12.7285B에서 19.292B까지 확대되고, 영업이익 8.9874B, 희석 EPS 7.39, 영업이익률 44.896%, 순이익률 31.667%로 성장성과 수익성이 강하다. Foundayo의 심혈관 및 사망률 개선 데이터, 간 안전성 신호 부재, 사망위험 57% 감소 언급도 투자 논리를 지지한다. 다만 보수적·중립적 분석가의 지적처럼 최근 종가 905.03은 200일선 902-903 바로 위에 있고 ATR 28.13이 지지선과의 거리보다 훨씬 커서 오늘 즉시 진입하기에는 기술적 확인이 부족하다. 신규 매수는 923-925를 거래량 증가와 함께 일봉 종가로 회복하거나, 902-903 방어 후 고점·저점이 높아지고 RSI/MACD가 개선되는 경우로 제한한다. 따라서 방향성은 BULLISH이나 즉시 실행은 WAIT이다.\",\n  \"exit_logic\": \"LLY가 902-903 아래로 일봉 종가 이탈한 뒤 빠르게 회복하지 못하면 200일선 지지 실패로 보고 신규 진입을 중단하며 전술적 노출을 줄인다. 888을 거래량 증가와 함께 결정적으로 이탈하면 878.24 재시험 위험이 커지므로 전술 포지션은 청산하거나 회피한다. Foundayo 승인 일정 지연, 제한적 라벨, 예상보다 부담스러운 시판 후 요구, 안전성 논란, 경쟁 심화, 또는 강한 이익 성장에도 자유현금흐름 부진이 지속되면 중기 OVERWEIGHT 논리를 재평가한다.\",\n  \"position_sizing\": \"현재는 신규 포지션을 열지 않는다. 923-925 회복이 거래량으로 확인되면 최대 절반 규모의 초기 포지션만 허용하고, 923-925 지지 재확인 또는 939-955 돌파 후에만 단계적으로 추가한다. 902-903 방어형 진입은 고점·저점 상승과 RSI 50 회복, MACD 개선이 동반될 때만 작은 선발 포지션으로 정당화될 수 있다. ATR이 약 28포인트, 가격 대비 약 3.1%이므로 손절 폭은 정상 변동성에 휩쓸리지 않도록 최소 1 ATR 이상을 반영하되 포지션 크기는 그만큼 축소한다.\",\n  \"risk_limits\": \"923-925 아래에서는 확인 없는 추격 매수를 금지한다. 902-903은 장기 추세 방어선, 888은 전술적 실패선으로 둔다. ATR 28.13과 3.1% 수준의 변동성, FDA·라벨·경쟁 이벤트 위험을 반영해 거래당 위험을 낮게 유지한다. 최신 분기 자유현금흐름 254.2M, capex 약 3.0B, 총부채 42.5B, 순부채 35.2B, debt-to-equity 165.31은 성장 투자의 결과일 수 있지만 현금 전환과 재무 유연성 감시가 필요하다.\",\n  \"catalysts\": [\n    \"Foundayo의 심혈관 및 사망률 개선 데이터와 간 안전성 신호 부재가 당뇨·비만 프랜차이즈 확장 기대를 지지\",\n    \"2형 당뇨 적응증에 대한 Q2 말까지의 미국 승인 신청 계획\",\n    \"Foundayo 라벨, 승인 일정, 의사 채택 기대가 우호적으로 확인될 경우 실적 추정치 상향 가능성\",\n    \"2025년 매출 확대, 높은 영업이익률, EPS 성장 지속\",\n    \"Centessa 인수 보도가 장기 파이프라인 다변화 선택지를 제공할 가능성\",\n    \"923-925 회복 후 939-955 및 976-979 저항대 돌파 시 기술적 회복 신뢰도 상승\"\n  ],\n  \"invalidators\": [\n    \"902-903 아래 일봉 종가 이탈 후 빠른 회복 실패\",\n    \"거래량 증가를 동반한 888 하향 이탈과 878.24 재시험 위험 확대\",\n    \"Foundayo 관련 FDA 지연, 제한적 라벨, 더 심각한 안전성 우려 또는 부담스러운 시판 후 요구\",\n    \"Novo Nordisk, Viking Therapeutics, Kailera 등 경쟁사가 가격, 점유율, 처방 기대, 임상 비교 우위를 압박한다는 증거\",\n    \"capex, 부채, 배당, 자사주 매입, 인수 지출이 늘어나는 가운데 자유현금흐름 부진 지속\",\n    \"성장률 전망 하향으로 forward PE 21.47 및 PEG 0.9769의 밸류에이션 지지가 약화\"\n  ],\n  \"watchlist_triggers\": [\n    \"923-925 위 일봉 종가 회복과 최근 평균을 웃도는 거래량\",\n    \"923-925 회복 후 해당 구간을 지지로 재확인\",\n    \"RSI 50 회복 및 MACD가 0선 방향으로 개선\",\n    \"939-955 위 종가로 단기 반등 모멘텀 강화 확인\",\n    \"976-979 위 종가로 중기 추세 복구 신호 확인\",\n    \"902-903 아래 종가 또는 888 하향 압력 발생 시 하방 경고\",\n    \"Foundayo 승인 신청, FDA 시판 후 연구 범위, 라벨 문구 관련 업데이트\",\n    \"다음 실적에서 자유현금흐름, capex, 재고, 매출채권, 공급능력 가이던스 확인\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 4,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-17T18:58:25.667354+09:00",
  "finished_at": "2026-04-17T19:13:15.005919+09:00",
  "duration_seconds": 889.34,
  "metrics": {
    "llm_calls": 69,
    "tool_calls": 18,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 69
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 18,
    "vendor_calls": {
      "yfinance": 15,
      "alpha_vantage": 3
    },
    "fallback_count": 1,
    "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": "alpha_vantage",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_social_sentiment",
        "vendor": "yfinance",
        "status": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_company_news",
        "vendor": "alpha_vantage",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_macro_news",
        "vendor": "alpha_vantage",
        "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": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_fundamentals",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      }
    ],
    "called_tools": [],
    "intraday_snapshot_used": false
  },
  "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"
  },
  "intraday_snapshot_attempts": [
    {
      "ticker": "LLY",
      "attempted": true,
      "success": true,
      "checkpoint": "05:05",
      "interval": "5m",
      "attempted_at": "2026-04-17T21:03:06.819850+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:55:00-04:00"
    },
    {
      "ticker": "LLY",
      "attempted": true,
      "success": true,
      "checkpoint": "selective_rerun",
      "interval": "5m",
      "attempted_at": "2026-04-17T22:25:22.959772+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:55:00-04:00"
    },
    {
      "ticker": "LLY",
      "attempted": true,
      "success": true,
      "checkpoint": "01:35",
      "interval": "5m",
      "attempted_at": "2026-04-18T02:26:20.300316+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-17T13:25:00-04:00"
    }
  ],
  "latest_intraday_snapshot_attempt": {
    "ticker": "LLY",
    "attempted": true,
    "success": true,
    "checkpoint": "01:35",
    "interval": "5m",
    "attempted_at": "2026-04-18T02:26:20.300316+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-17T13:25:00-04:00"
  },
  "intraday_snapshot_latest_attempt": {
    "ticker": "LLY",
    "attempted": true,
    "success": true,
    "checkpoint": "01:35",
    "interval": "5m",
    "attempted_at": "2026-04-18T02:26:20.300316+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-17T13:25:00-04:00"
  }
}