{
  "ticker": "LLY",
  "ticker_name": "Eli Lilly",
  "status": "success",
  "trade_date": "2026-04-14",
  "analysis_date": "2026-04-15",
  "decision": "{\n  \"rating\": \"NO_TRADE\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.66,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"LLY의 중기 방향성은 긍정적이다. 세 분석가 모두 2025년 분기 매출이 12.7B에서 19.3B USD로 증가했고, 4분기 영업이익이 약 9.0B, 영업이익률이 약 45%였다는 점을 성장 근거로 인정했다. Foundayo 승인과 $149/month 출시, Centessa 및 CrossBridge Bio 인수, Jaypirca 3상 자료도 상승 촉매다. 다만 오늘 즉시 진입은 보류한다. 가격은 약 929.55로 50일 단순이동평균 981-985 아래에 있고, 상대강도지수는 47.08로 50 미만이며, 이동평균 수렴·확산 지표도 아직 0 아래다. 955 위 종가, 상대강도지수 50 상회, 거래량 개선이 함께 확인되면 20%-25%의 소규모 시작 진입은 정당화된다. 981-985를 유지하며 돌파할 때만 추가 또는 비중확대 검토로 넘어간다. 900-901 재시험은 매도 거래량 둔화와 빠른 안정이 있을 때만 위험이 정의된 진입 후보로 본다.\",\n  \"exit_logic\": \"LLY가 900-901 아래에서 반복적으로 종가를 형성하거나 878.24를 이탈하면 상승 전환 논리는 훼손된다. 970-985 구간 반등이 강한 매도 거래량으로 실패하면 보유 축소 또는 진입 보류가 필요하다. Foundayo의 처방 증가, 보험 적용, 지속 복용, 공급, 마진 자료가 기대에 못 미치거나 Novo Nordisk 등 경쟁사의 효능, 가격, 접근성 대응이 강화되면 투자 논리를 재평가한다. 자유현금흐름 부진이 지속되고 순부채, 재고, 매출채권, 연구개발비, 설비투자, 인수 비용 부담이 동시에 커질 경우도 방어적으로 전환한다.\",\n  \"position_sizing\": \"오늘은 신규 전체 포지션을 열지 않는다. 확인 신호가 나오면 의도한 LLY 배정의 20%-25%로 시작한다. 955 돌파만으로는 저항 981-985가 가까우므로 보수적으로 시작하고, 981-985 위에서 종가 유지와 거래량 확인이 나타날 때 추가한다. 900-901 지지가 확인되는 되돌림에서는 매도 압력 둔화가 명확할 때만 동일하게 소규모 시작 진입을 고려한다. 과거 계획의 25%-33% 범위보다 낮게 잡는 이유는 보수 및 중립 분석가가 지적한 높은 밸류에이션, 현금흐름 민감도, 상방 저항 때문이다.\",\n  \"risk_limits\": \"시작 진입 시 초기 위험 한도는 900-905 아래 종가 또는 진입가 대비 약 1.5 평균진폭 중 더 엄격한 기준으로 둔다. 평균진폭이 약 27로 높기 때문에 촘촘한 고정 손절보다 변동성 조정 손절을 사용한다. LLY 전체 노출은 정상 단일 종목 한도 안에 둔다. 후행 주가수익비율 40 초과, 주가순자산비율 31 초과, 선행 주가수익비율 약 22.3에 반영된 높은 이익 기대, 약한 자유현금흐름과 순부채 35.235B를 고려해 확인 전 과도한 비중확대는 금지한다.\",\n  \"catalysts\": [\n    \"Foundayo의 승인과 $149/month 미국 출시가 경구 비만 치료 수요를 확대할 수 있다.\",\n    \"2025년 분기 매출이 12.7B에서 15.6B, 17.6B, 19.3B USD로 증가했고 4분기 영업이익이 약 9.0B로 강한 이익 추세를 보였다.\",\n    \"선행 주가수익비율 약 22.3은 후행 주가수익비율 약 40.7보다 낮아, 수요와 생산능력 확대가 실행되면 이익 증가가 주가를 뒷받침할 수 있다.\",\n    \"Centessa 및 CrossBridge Bio 인수와 Jaypirca 3상 긍정 자료가 비만 치료제 외 성장 축을 넓힌다.\",\n    \"S&P 500 회복과 Nasdaq 100의 10거래일 상승은 고품질 성장주에 우호적인 위험 선호 환경을 제공한다.\"\n  ],\n  \"invalidators\": [\n    \"LLY가 900-901 아래에서 종가를 형성하고 200일 단순이동평균을 회복하지 못한다.\",\n    \"878.24 이탈로 3월 저점 아래의 실패한 반등이 확인된다.\",\n    \"Foundayo의 처방, 보험 적용, 지속 복용, 공급, 마진 자료가 기대에 못 미친다.\",\n    \"$149/month 가격 정책이 시장 확대보다 마진 압박, 보험자 반발, 가격 경쟁 심화로 이어진다.\",\n    \"자유현금흐름 254.2M 수준의 부진이 이어지고, 설비투자 약 3.0B, 순부채 35.235B, 재고 13.744B, 매출채권 20.155B 부담이 커진다.\",\n    \"Novo Nordisk 또는 다른 경쟁사가 효능, 가격, 접근성, 차세대 제품에서 우위를 회복한다.\"\n  ],\n  \"watchlist_triggers\": [\n    \"LLY가 955 위에서 종가를 형성하고 상대강도지수 50 상회와 거래량 확대가 동반되면 소규모 시작 진입을 검토한다.\",\n    \"981-985의 50일 단순이동평균 저항을 돌파한 뒤 유지하면 추가 매수 또는 비중확대 검토로 상향한다.\",\n    \"900-901 재시험에서 매도 거래량이 줄고 가격이 빠르게 안정되면 위험이 정의된 시작 진입 후보로 유지한다.\",\n    \"925 또는 거래량가중이동평균 아래 종가와 이동평균 수렴·확산 막대 약화가 함께 나타나면 반등 실패 경고로 본다.\",\n    \"900-901 아래 반복 종가 또는 878.24 이탈은 상승 관점을 중립 또는 방어적 관점으로 낮추는 신호다.\",\n    \"Foundayo의 신규 처방, 보험 적용, 공급, 마진, 경영진 가이던스 자료를 확인한다.\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 2,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 2\n  }\n}",
  "started_at": "2026-04-15T01:52:12.520996+09:00",
  "finished_at": "2026-04-15T02:06:59.866670+09:00",
  "duration_seconds": 887.35,
  "metrics": {
    "llm_calls": 62,
    "tool_calls": 21,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 62
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 21,
    "vendor_calls": {
      "yfinance": 15,
      "naver": 3,
      "ecos": 1,
      "opendart": 1,
      "alpha_vantage": 1
    },
    "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_social_sentiment",
        "vendor": "naver",
        "status": "fallback",
        "fallback": true,
        "note": "naver: empty or unusable result"
      },
      {
        "method": "get_company_news",
        "vendor": "naver",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "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": "fallback",
        "fallback": true,
        "note": "opendart: empty or unusable result"
      },
      {
        "method": "get_company_news",
        "vendor": "naver",
        "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
      }
    ]
  },
  "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"
  }
}