{
  "ticker": "TSLA",
  "ticker_name": "Tesla",
  "status": "success",
  "trade_date": "2026-04-16",
  "analysis_date": "2026-04-17",
  "decision": "{\n  \"rating\": \"HOLD\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.63,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"TSLA의 중기 배분 관점은 보유 가능한 강세 편향이지만, 오늘 신규 자본을 즉시 투입할 만큼 확정된 자리는 아니다. 공격적 분석이 지적한 2026-04-15 종가 391.95, 거래량 113,381,300주, 50일선 390.43 회복, MACD 히스토그램 -0.96에서 4.63 개선, RSI 56 부근은 반등의 질이 개선됐다는 근거다. 그러나 보수적·중립 분석이 공통으로 지적했듯 가격은 아직 200일선 398.37 아래이고 2026-04-15 고가 394.65도 저항을 넘지 못했다. 따라서 기존 보유자는 축소된 핵심 노출을 유지하되, 신규 진입은 398.37 위 일간 종가와 400 위 후속 흐름이 거래량을 동반하거나, 390.43 부근의 통제된 되돌림이 지지로 확인될 때 작은 초기 포지션만 정당화된다.\",\n  \"exit_logic\": \"390.43의 50일선 아래 종가 이탈이 발생하면 최근 고거래량 반등의 품질이 훼손된 것으로 보고 일부 축소한다. 10일 EMA/VWMA 구간인 고점 360달러대, 특히 368.27 부근을 이탈하면 반등 실패 가능성이 커지므로 더 적극적으로 줄인다. 분기 매출이 280.95억 달러에서 249.01억 달러로 감소하고 순이익이 13.73억 달러에서 8.4억 달러로 줄었다는 보수적 분석의 우려가 다음 실적, 인도량, 마진, 잉여현금흐름에서 반복되면 AI·자율주행 재평가 논리를 낮추고 퇴출을 검토한다.\",\n  \"position_sizing\": \"기존 보유분은 정상 성장주 비중을 넘기지 않는 축소-정상 범위의 핵심 노출로 제한한다. 신규 진입은 지금 추격하지 않고, 398.37 위 종가와 400 위 후속 확인 또는 390.43 지지 확인 뒤 작은 초기 포지션으로 시작한다. ATR 15.36과 beta 1.915가 손실 속도를 키울 수 있으므로 첫 진입은 표준 고성장주 포지션보다 작게 하고, 200일선 위 안착과 거래량 유지, 이후 390.43 지지 재확인 때만 단계적으로 증액한다.\",\n  \"risk_limits\": \"거래당 위험은 낮게 유지하고, TSLA의 정상 변동성을 감안해 손절은 최소 1 ATR 이상의 여유를 두되 포지션 크기로 달러 손실을 통제한다. TTM PE 351, Forward PE 139, P/B 17.64, TTM 순이익률 약 4.0%, 영업이익률 약 4.7%는 AI·자율주행 기대가 이미 높은 가격에 반영됐음을 뜻하므로 헤드라인만으로 비중을 키우지 않는다. Nasdaq과 AI·성장주 위험선호가 약해지거나, Cybertruck 수요·희석·주식보상비용·현금흐름 우려가 커지면 신규 매수 기준을 더 엄격히 한다.\",\n  \"catalysts\": [\n    \"398.37의 200일선 위 일간 종가와 거래량 유지\",\n    \"400 위 후속 흐름으로 저항 돌파가 확인되는 경우\",\n    \"AI5, AI6, Dojo3, Optimus, FSD, 로보택시 관련 상용화 신뢰도를 높이는 구체적 진전\",\n    \"인도량, 마진, 잉여현금흐름, 유기적 차량 수요가 기대보다 개선되는 경우\",\n    \"현금 및 단기투자 440.59억 달러, 유동비율 2.164, 양의 영업현금흐름이 장기 투자 여력을 뒷받침한다는 인식 강화\",\n    \"UBS 업그레이드 이후 추가 목표가 상향이나 애널리스트 시각 개선\",\n    \"Nasdaq과 AI·성장주 위험선호가 유지되는 거시 환경\"\n  ],\n  \"invalidators\": [\n    \"398.37과 400 돌파 실패 후 390.43의 50일선 아래 종가 이탈\",\n    \"368.27 부근의 10일 EMA/VWMA 구간 이탈로 단기 반등 실패가 확인되는 경우\",\n    \"분기 매출, 순이익, 잉여현금흐름, 마진의 추가 악화\",\n    \"Cybertruck 또는 broader vehicle demand가 비유기적·관계사 수요에 의존한다는 증거 확대\",\n    \"Waymo 등 자율주행 경쟁사가 상용화 격차를 더 벌리고 TSLA 일정이 지연되는 경우\",\n    \"희석, 주식보상비용, 내부자 매도 부담이 주당 가치에 계속 압력을 주는 경우\",\n    \"고평가 성장주 전반의 멀티플 압축과 Nasdaq 조정\"\n  ],\n  \"watchlist_triggers\": [\n    \"TSLA가 398.37 위에서 일간 종가를 만들고 거래량이 유지되는지 확인\",\n    \"400 위 후속 거래와 숏커버링·모멘텀 매수 지속 여부 확인\",\n    \"되돌림 시 390.43 부근을 지키고 부정적 회사 뉴스가 없는지 확인\",\n    \"368.27 부근 이탈 여부를 반등 실패 경고로 감시\",\n    \"다음 인도량, 마진, 잉여현금흐름 업데이트가 기대 대비 개선되는지 확인\",\n    \"FSD, 로보택시, AI 칩, Optimus, 에너지 저장 관련 규제·상업화 이정표 확인\",\n    \"TSLL 콜 비중 78.56%, 거래량 252.24K 계약, 미결제약정 850.08K 계약처럼 치우친 옵션 수급이 돌파 시 추격 매수로 작동하는지 또는 실패 시 되돌림 압력으로 바뀌는지 감시\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 3,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-17T03:28:04.262997+09:00",
  "finished_at": "2026-04-17T03:42:01.046082+09:00",
  "duration_seconds": 836.78,
  "metrics": {
    "llm_calls": 62,
    "tool_calls": 18,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 62
    }
  },
  "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_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_company_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": "TSLA",
      "attempted": true,
      "success": true,
      "checkpoint": "selective_rerun",
      "interval": "5m",
      "attempted_at": "2026-04-17T04:00:06.749114+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:00:00-04:00"
    },
    {
      "ticker": "TSLA",
      "attempted": true,
      "success": true,
      "checkpoint": "03:35",
      "interval": "5m",
      "attempted_at": "2026-04-17T04:19:26.425362+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:15:00-04:00"
    }
  ],
  "latest_intraday_snapshot_attempt": {
    "ticker": "TSLA",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:19:26.425362+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:15:00-04:00"
  },
  "intraday_snapshot_latest_attempt": {
    "ticker": "TSLA",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:19:26.425362+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:15:00-04:00"
  }
}