{
  "ticker": "NVDA",
  "ticker_name": "NVIDIA",
  "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.67,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"NVDA에 대한 방향성은 우호적이지만 즉시 진입 조건은 아직 완성되지 않았다. 공격적 분석가는 최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 매출총이익률 약 75%, 영업이익률 약 65%와 AI 수요 견조를 근거로 상승 여력을 강조했고, 중립 분석가는 10일 EMA 184.12, 50일 SMA 182.08, 200일 SMA 181.10 회복과 MACD 1.92, MACDH 2.46 양전환을 실제 모멘텀 회복으로 인정했다. 다만 보수적 분석가가 지적한 대로 2026-03-30의 165.17에서 2026-04-13의 189.31까지 빠르게 반등한 뒤 189.66-190.00 저항 바로 아래에 있고 RSI 66.77, ATR 5.31, 베타 2.335로 추격 진입의 실패 돌파 위험이 크다. 따라서 현재 결정은 약세가 아니라 조건부 참여 대기다. 일봉이 190.00 위에서 강한 거래량으로 마감하고 MACD와 MACDH가 양의 영역을 유지하면 STARTER가 정당화된다. 또는 184.12가 먼저 지지되고, 더 신뢰도 높게는 182.08-181.10 이동평균 밀집 구간에서 매수세가 확인되면 STARTER를 고려한다.\",\n  \"exit_logic\": \"돌파 진입의 경우 190.00 위 안착에 실패한 뒤 184.12를 잃으면 축소 또는 청산한다. 눌림 진입의 경우 181.10 아래 일봉 종가는 회복된 50일·200일 지지 구간 훼손으로 보고 청산한다. MACD가 0선 쪽으로 빠르게 되돌아가거나 MACDH가 급격히 축소되고, 이후 VWMA 부근 177.26 및 175.00 하방 구간으로 밀리면 bullish 대기 관점을 중립 또는 방어적으로 낮춘다.\",\n  \"position_sizing\": \"확인 전 신규 포지션은 열지 않는다. 유효 트리거가 발생하면 의도한 최종 노출의 약 30-40%만 STARTER로 시작한다. 이는 공격적 분석가의 one-third to one-half 제안과 보수적 분석가의 25-33% 제한을 절충한 수준이며, ATR 5.31이 최근 189.31 대비 약 2.8%이고 베타 2.335로 변동성이 크다는 점을 반영한다. 190.00 위 유지, 194.00 박스 상단 추세 확장, 또는 184.12-181.10 지지 후 재상승이 확인될 때만 단계적으로 증액한다.\",\n  \"risk_limits\": \"단일 거래 손실 한도를 표준 예산 안으로 제한하고, 촘촘한 틱 손절보다 ATR 기반 위험 관리를 사용한다. 181.10 아래 일봉 종가는 핵심 기술적 위험 한도다. 177.26-175.00은 181.10 이탈 후 다음 하방 위험 구간으로 둔다. 실적 전 불확실성, 지정학적 스트레스, 이벤트성 갭, AI 수요 둔화, 또는 거래량 없는 돌파에서는 추가 매수를 금지한다. 재고가 100.80억 달러에서 214.03억 달러로, 매출채권이 230.65억 달러에서 384.66억 달러로 증가한 점은 성장 대응일 수도 있지만 다음 실적에서 회전율과 현금흐름으로 검증되기 전까지 포지션 확대 제한 요인으로 본다.\",\n  \"catalysts\": [\n    \"AI 칩 수요가 견조하다는 보도와 2026-04-13 Raymond James의 강한 매수 논리 및 공급 가이던스 낙관론이 투자 심리를 지지한다.\",\n    \"최근 분기 매출 68.127B, 순이익 42.960B, 자유현금흐름 34.904B, 매출총이익률 약 75%, 영업이익률 약 65%로 펀더멘털 품질이 매우 강하다.\",\n    \"NVDA는 2026-03-30의 165.17에서 2026-04-13의 189.31까지 회복했고 10일 EMA 184.12, 50일 SMA 182.08, 200일 SMA 181.10을 모두 되찾았다.\",\n    \"MACD가 -4.02에서 1.92로, MACDH가 -1.43에서 2.46으로 개선되어 하락 모멘텀에서 상승 모멘텀으로 전환된 증거가 있다.\",\n    \"2026-04-10 거래량 160459500주와 2026-04-13 거래량 133242100주, 최근 거래대금 집중은 주도주형 수급 회복을 뒷받침한다.\",\n    \"Nasdaq 100 강세, 물가 둔화 서사, 금리 인하 기대는 고성장 메가캡 기술주에 우호적인 배경이다.\"\n  ],\n  \"invalidators\": [\n    \"181.10-182.08의 200일·50일 이동평균 밀집 구간을 일봉 종가로 이탈하면 회복 구조가 실패한 것으로 본다.\",\n    \"190.00 저항에서 반복적으로 실패하고 거래량 동반 매도가 커지며 RSI 또는 MACD가 악화되면 돌파 대기 논리가 약화된다.\",\n    \"AI 수요, 데이터센터 가이던스, 공급 관련 코멘트가 약화되어 프리미엄 밸류에이션을 정당화하기 어려워지는 경우다.\",\n    \"재고와 매출채권 증가가 성장 준비가 아니라 수요 둔화 또는 회전율 악화로 재해석되는 경우다.\",\n    \"TTM PER 39.8배, PBR 30.1배에 대한 압박이 금리 상승, 위험 회피, 고베타 기술주 매도와 결합해 밸류에이션 압축으로 이어지는 경우다.\",\n    \"확인되지 않은 M&A 루머, 내부자 매도 논란, Michael Burry 풋옵션 보도 같은 심리적 악재가 가격 약세와 결합되는 경우다.\"\n  ],\n  \"watchlist_triggers\": [\n    \"NVDA가 190.00 위에서 강한 거래량으로 일봉 마감하고 2026-04-10 및 2026-04-13 고점 위 후속 매수가 붙는지 확인한다.\",\n    \"190.00 돌파 뒤 다음 세션에서 190.00을 지지하거나 194.00 박스 상단 쪽으로 확장하면 STARTER 이후 증액을 검토한다.\",\n    \"184.12 부근 눌림에서 매수세가 들어오고 MACD가 양의 영역을 유지하면 작은 STARTER를 검토한다.\",\n    \"182.08-181.10 구간에서 매수세가 확인되고 종가가 다시 10일 EMA 위로 회복되면 더 신뢰도 높은 STARTER 조건으로 본다.\",\n    \"181.10 아래 일봉 종가는 bullish-wait를 중립 또는 방어 관점으로 낮추는 트리거다.\",\n    \"다음 분기 가이던스, 데이터센터 수요, 재고, 매출채권, 내부자 매도, 확인 또는 부인된 M&A 관련 뉴스는 포지션 확대 여부의 핵심 점검 항목이다.\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 3,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 2\n  }\n}",
  "started_at": "2026-04-15T02:19:46.088608+09:00",
  "finished_at": "2026-04-15T02:32:20.703171+09:00",
  "duration_seconds": 754.61,
  "metrics": {
    "llm_calls": 55,
    "tool_calls": 21,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 55
    }
  },
  "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_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": "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"
  }
}