{
  "ticker": "FANG",
  "ticker_name": "Diamondback Energy",
  "status": "success",
  "trade_date": "2026-04-16",
  "analysis_date": "2026-04-16",
  "decision": "{\n  \"rating\": \"OVERWEIGHT\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.67,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"FANG에 대한 최종 판단은 조건부 OVERWEIGHT이다. 공격적 분석가가 강조한 대로 2026-04-15 종가 185.87은 50일선 180.83과 200일선 153.37 위에 있어 중기 추세가 아직 훼손되지 않았고, 2025-12-31 분기 영업현금흐름 2.343B, 잉여현금흐름 873M, 순부채 감소, 장기채 776.763M 재매입, UBS 246 및 JPMorgan 228 목표가 상향은 투자 가능한 원유 레버리지 논리를 뒷받침한다. 다만 보수적·중립 분석가가 지적한 것처럼 현재 가격은 10일 EMA 189.26과 VWMA 192.78 아래이고, RSI 47.42, MACD 히스토그램 -1.98, ATR 6.67로 단기 매수세와 변동성 조건이 아직 불완전하다. 따라서 방향성은 BULLISH로 유지하되 오늘 즉시 신규 진입은 WAIT가 맞다. 180-181 지지 확인 또는 193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선이 나타나면 작은 starter가 정당화될 수 있고, 본격 증액은 189-193 공급대와 VWMA 회복 뒤에만 허용한다.\",\n  \"exit_logic\": \"기존 보유분은 중기 추세가 유지되는 동안만 보유한다. 50일선 180.83을 종가 기준으로 이탈하고 빠르게 회복하지 못하면 일부 축소하며, 최근 조정 저점 175.14를 결정적으로 하회하면 controlled correction 논리가 훼손되므로 강한 축소 또는 청산한다. Q1 실적에서 낮은 가스 실현가, capex, 현금흐름 질, 부채 궤적, 주주환원 여력이 기존의 정상화 이익 및 원유 레버리지 논리를 확인하지 못하면 포트폴리오 스탠스를 재평가한다.\",\n  \"position_sizing\": \"오늘은 신규 full position을 열지 않는다. 기존 보유자는 180.83 위에서는 partial exposure를 유지할 수 있으나, ATR 6.67이 종가의 약 3.6%이고 에너지주 특성상 유가·지정학 뉴스에 갭 리스크가 있으므로 정상보다 작은 비중을 유지한다. 신규 매수자는 180-181 지지가 거래량과 유가 흐름으로 확인될 때 매우 작은 starter만 검토하고, 193 이상 종가 회복, VWMA 192.78 회복, RSI 50 상회, MACD 히스토그램 개선이 동반될 때 단계적으로 확대한다.\",\n  \"risk_limits\": \"핵심 위험선은 175.14이며, 이탈 시 단순 손절선이 아니라 투자 논리 무효화 기준으로 본다. 180.83 하회 후 회복 실패는 setup_quality 하향 및 비중 축소 신호다. 189.26 10일 EMA와 192.78 VWMA 아래에서 MACD 히스토그램이 계속 음수이면 추가 매수 금지다. 재무 리스크는 현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B로 관리해야 하며, 보수적 분석가가 지적한 대로 장기채 재매입은 긍정적 자본구조 관리인 동시에 단기 유동성 완충력을 낮출 수 있다.\",\n  \"catalysts\": [\n    \"WTI와 Brent가 강세를 유지하고, 특히 WTI가 FANG의 Q1 비헤지 실현 유가 73.47/bbl보다 충분히 높은 수준을 유지하는 경우\",\n    \"Q1 실적에서 원유 실현가격과 약 133M 예상 파생상품 현금 이익이 낮은 가스 가격 영향을 상쇄하는 것이 확인되는 경우\",\n    \"영업현금흐름 2.343B와 잉여현금흐름 873M 수준의 현금창출력이 일회성이 아니라는 증거와 순부채 감소 지속\",\n    \"장기채 776.763M 재매입이 이자 부담 완화와 만기 구조 개선으로 이어지면서 주주환원을 훼손하지 않는다는 확인\",\n    \"UBS 246 및 JPMorgan 228 목표가 상향이 193 이상 기술적 회복과 함께 기관 수요로 연결되는 경우\",\n    \"193 이상 종가 회복, RSI 50 상회, VWMA 192.78 회복, MACD 히스토그램 개선이 동시에 나타나는 경우\"\n  ],\n  \"invalidators\": [\n    \"175.14를 결정적으로 하회해 최근 조정 저점과 50일선 지지 논리가 무너지는 경우\",\n    \"180.83 아래에서 빠른 회복에 실패하며 중기 추세가 약화되는 경우\",\n    \"WTI가 low-to-mid 70s로 되돌아가거나 Iran/Hormuz 관련 지정학 프리미엄이 빠르게 사라지는 경우\",\n    \"Q1 실적에서 약한 잉여현금흐름, 반복적인 대규모 조정, capex 부담, 낮은 가스 가격 영향이 원유 강세를 압도하는 경우\",\n    \"현금 약 104M, 유동비율 0.416, 운전자본 -2.685B, 순부채 14.385B와 관련된 유동성 또는 신용 압박이 커지는 경우\",\n    \"SGF FANG HOLDINGS 및 내부자 매도가 반등 구간에서 추가 공급 부담으로 반복되는 경우\"\n  ],\n  \"watchlist_triggers\": [\n    \"193 이상 종가 회복과 RSI 50 상회, MACD 히스토그램 개선, VWMA 192.78 회복이 동반되면 starter 또는 add 검토\",\n    \"180-181 지지 테스트 후 거래량과 유가 흐름이 constructive하면 매우 작은 starter 검토, 단 175.14 아래 위험 통제 필수\",\n    \"180.83 하회 뒤 빠른 회복 실패 시 setup_quality를 WEAK로 낮추고 기존 노출 축소\",\n    \"WTI가 low-to-mid 70s로 하락하거나 Brent의 지정학 프리미엄이 약화되면 BULLISH 스탠스 재평가\",\n    \"Q1 실적에서 실현가격, 파생상품 현금 이익, capex, 잉여현금흐름, 부채 감축, 주주환원 내용을 확인\",\n    \"190-193 구간에서 내부자·대주주 매도성 공급이나 거래량 동반 실패가 나타나면 돌파 신뢰도 하향\"\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-16T23:17:42.110660+09:00",
  "finished_at": "2026-04-16T23:31:35.502385+09:00",
  "duration_seconds": 833.39,
  "metrics": {
    "llm_calls": 57,
    "tool_calls": 18,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 57
    }
  },
  "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_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_balance_sheet",
        "vendor": "yfinance",
        "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_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",
    "intraday_snapshot_missing_same_day"
  ],
  "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": "FANG",
      "attempted": true,
      "success": true,
      "checkpoint": "01:35",
      "interval": "5m",
      "attempted_at": "2026-04-17T02:51:01.112790+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T13:50:00-04:00"
    },
    {
      "ticker": "FANG",
      "attempted": true,
      "success": true,
      "checkpoint": "selective_rerun",
      "interval": "5m",
      "attempted_at": "2026-04-17T03:58:17.175120+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T14:55:00-04:00"
    },
    {
      "ticker": "FANG",
      "attempted": true,
      "success": true,
      "checkpoint": "03:35",
      "interval": "5m",
      "attempted_at": "2026-04-17T04:46:56.317147+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:45:00-04:00"
    }
  ],
  "latest_intraday_snapshot_attempt": {
    "ticker": "FANG",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:46:56.317147+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:45:00-04:00"
  },
  "intraday_snapshot_latest_attempt": {
    "ticker": "FANG",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:46:56.317147+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:45:00-04:00"
  }
}