{
  "ticker": "NVDA",
  "ticker_name": "NVIDIA",
  "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.72,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"NVDA의 중기 배분 관점은 OVERWEIGHT로 유지한다. 공격적 분석가와 중립 분석가가 공통으로 지적한 것처럼 가격은 50일선 182.74와 200일선 181.52를 재돌파했고, 2026-03-30 종가 165.17에서 2026-04-15 종가 198.87까지 강하게 회복했으며, MACD는 2026-04-02의 -2.90에서 2026-04-16의 3.90으로 개선됐다. 또한 2026-04-14 거래량 161.3M, 2026-04-15 거래량 185.3M은 회복 추세의 질을 뒷받침한다. 다만 보수적 분석가가 강조한 RSI 68.90, ATR 5.27, 베타 2.335, 단기 급반등 이후 평균 회귀 위험 때문에 오늘 즉시 추격 매수하지 않는다. 진입은 200.40 위 일봉 종가 안착과 거래량 유지, 또는 10일 EMA 부근 189.12 눌림 후 강한 종가 회복이 확인될 때로 제한한다. 따라서 방향성은 BULLISH, 즉시 실행은 WAIT, 감시 가능한 우호적 셋업은 유지한다.\",\n  \"exit_logic\": \"기존 보유자는 NVDA가 181.52-182.74의 200일선/50일선 지지 구간 위에 있고 AI 수요, 매출 성장, gross margin, 자유현금흐름이 훼손되지 않는 한 OVERWEIGHT를 유지한다. 189.12를 종가 기준으로 이탈하고 MACD 히스토그램 둔화와 거래량 증가가 동반되면 전술 비중을 줄인다. 181.52-182.74를 일봉 종가로 이탈하거나, 다음 실적 또는 가이던스에서 AI 수요 둔화, 가격결정력 약화, gross margin 압박, 현금 전환 악화가 확인되면 중기 상승 논리를 종료한다.\",\n  \"position_sizing\": \"기존 보유자는 mandate를 초과하지 않는 범위에서 OVERWEIGHT를 유지한다. 신규 자금은 확인 전 투입하지 않는다. 200.40 위 일봉 종가 안착과 거래량 유지가 확인되면 의도한 신규 배분의 약 1/3만 1차로 집행하고, 이후 1-2거래일 동안 196.51-200.40 구간을 지키면 추가 1/3을 검토한다. 189.12 부근 눌림 뒤 강한 종가 회복이 나오면 손익비가 더 좋아지므로 1/3에서 최대 1/2까지 단계적 진입을 허용한다. 보수적 분석가의 지적처럼 ATR 5.27과 베타 2.335가 높으므로 한 번에 1/2 이상을 추격 집행하지 않는다.\",\n  \"risk_limits\": \"진입 전 포트폴리오 손실 한도를 고정하고, NVDA의 정상 변동성을 고려해 1 ATR보다 지나치게 촘촘한 손절은 피한다. 189.12는 전술적 위험선이며, 이탈과 MACD 히스토그램 악화가 동시에 나타나면 신규 진입을 중단하고 단기 비중을 줄인다. 181.52-182.74는 중기 thesis stop 구간이다. 200.40 돌파가 실패하거나 196.51-200.40 구간을 빠르게 재이탈하면 돌파 매수는 무효로 본다. 수출통제, 중국 규제, 공급망 조사 관련 악재가 가격 확인 없이 확대될 때는 추가 매수를 보류한다.\",\n  \"catalysts\": [\n    \"200.40 위 일봉 종가 안착과 지속 거래량은 중립 분석가가 제시한 추세 추종 1차 진입 조건을 충족한다.\",\n    \"가격이 189.12 부근까지 조정된 뒤 강한 종가 회복을 보이면 보수적 분석가가 선호한 더 나은 손익비의 눌림 매수 조건이 된다.\",\n    \"TSMC의 58% 이익 증가, 반도체 ETF 강세, Dell과 DigitalOcean의 AI 인프라 확장, Marvell 협력 뉴스는 공격적 분석가가 강조한 AI 인프라 생태계 수요를 뒷받침한다.\",\n    \"최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 영업이익률 65% 수준이 다음 실적에서도 유지되면 valuation premium이 정당화된다.\",\n    \"MACD가 3.90으로 전환되고 히스토그램이 2.95까지 확대된 흐름이 유지되면 회복 국면이 상승 전환으로 강화된다.\"\n  ],\n  \"invalidators\": [\n    \"181.52-182.74의 200일선/50일선 지지 구간을 일봉 종가로 이탈한다.\",\n    \"189.12를 종가 기준으로 잃고 MACD 히스토그램 둔화와 거래량 증가가 동시에 발생한다.\",\n    \"다음 실적 또는 가이던스에서 매출 성장, gross margin, AI 주문 가시성, 자유현금흐름 전환율이 약화된다.\",\n    \"매출채권 증가, 재고 증가, 영업권 및 무형자산 증가가 현금 전환과 수요 증거 없이 계속 확대된다.\",\n    \"수출통제, 중국 제한, Super Micro 관련 공급망 조사 등 규제 리스크가 NVDA 수요나 valuation multiple에 직접 압박을 준다.\",\n    \"AI 인프라 테마와 고베타 대형 성장주에서 자금이 이탈해 NVDA의 프리미엄이 빠르게 압축된다.\"\n  ],\n  \"watchlist_triggers\": [\n    \"매수/추가 트리거: NVDA가 200.40 위에서 일봉 종가로 안착하고 거래량이 유지되며 RSI가 무질서하게 확장되지 않는다.\",\n    \"추가 확인 트리거: 돌파 후 1-2거래일 동안 196.51-200.40 구간을 재이탈하지 않는다.\",\n    \"눌림 트리거: 189.12 부근 테스트 후 강한 종가 회복 또는 bullish reversal이 나온다.\",\n    \"주의 트리거: 189.12 이탈과 MACD 히스토그램 하락 전환이 동시에 발생한다.\",\n    \"위험 트리거: 181.52-182.74 아래 종가 이탈 또는 해당 구간 회복 실패가 몇 거래일 지속된다.\",\n    \"펀더멘털 트리거: 다음 NVDA 실적에서 매출 성장, gross margin, 자유현금흐름 전환, 매출채권, 재고, 중국 및 수출통제 코멘트를 점검한다.\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 5,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-17T19:55:10.902593+09:00",
  "finished_at": "2026-04-17T20:06:49.244620+09:00",
  "duration_seconds": 698.34,
  "metrics": {
    "llm_calls": 53,
    "tool_calls": 18,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 53
    }
  },
  "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": "NVDA",
      "attempted": true,
      "success": true,
      "checkpoint": "05:05",
      "interval": "5m",
      "attempted_at": "2026-04-17T21:03:48.282016+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:55:00-04:00"
    },
    {
      "ticker": "NVDA",
      "attempted": true,
      "success": true,
      "checkpoint": "selective_rerun",
      "interval": "5m",
      "attempted_at": "2026-04-17T22:25:58.487892+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:55:00-04:00"
    },
    {
      "ticker": "NVDA",
      "attempted": true,
      "success": true,
      "checkpoint": "03:35",
      "interval": "5m",
      "attempted_at": "2026-04-18T04:41:27.399521+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-17T15:40:00-04:00"
    }
  ],
  "latest_intraday_snapshot_attempt": {
    "ticker": "NVDA",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-18T04:41:27.399521+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-17T15:40:00-04:00"
  },
  "intraday_snapshot_latest_attempt": {
    "ticker": "NVDA",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-18T04:41:27.399521+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-17T15:40:00-04:00"
  }
}