{
  "ticker": "FANG",
  "ticker_name": "Diamondback Energy",
  "status": "success",
  "trade_date": "2026-04-14",
  "analysis_date": "2026-04-15",
  "decision": "{\n  \"rating\": \"HOLD\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.62,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"FANG의 중기 방향성은 아직 건설적이다. 공격적 분석가와 중립 분석가가 지적했듯이 가격은 50일선 180.26과 200일선 153.12 위에 있고, 204.91에서 175.14까지 급락한 뒤 189.10까지 반등해 장기 상승 구조가 완전히 훼손되지는 않았다. 정상화 EBITDA 25.35억 달러, 자유현금흐름 8.73억 달러, 순부채 감소도 보유 논리를 지지한다. 다만 보수적 분석가와 중립 분석가가 강조한 것처럼 현재 가격은 10일 EMA 190.01과 VWMA 193.36 아래이고, RSI 48.31은 50 미만이며, MACD 히스토그램 -1.96은 단기 매수 주도권이 아직 회복되지 않았음을 뜻한다. 따라서 오늘 즉시 신규 진입이나 추가 매수는 보류한다. 190.01 위 일봉 종가와 RSI 50 회복이 동시에 나오면 매우 작은 starter는 정당화될 수 있고, 193.36 위에서 거래량 개선과 MACD 히스토그램 개선이 확인될 때만 증액한다.\",\n  \"exit_logic\": \"기존 보유분은 조건부로 유지하되, FANG가 190.01-193.36 회복에 계속 실패하며 낮은 고점을 만들면 일부 축소하거나 헤지한다. 180.26은 1차 지지선으로 관찰하고, 175.14 이탈은 전술적 무효화로 간주한다. 특히 175.14가 거래량 증가와 함께 깨지면 조정이 아니라 추세 훼손으로 해석해 전술 노출을 종료한다. 197.79-202.19 또는 204.91 저항대 접근 시 거래량이 약하거나 MACD 히스토그램이 계속 음수라면 추격 매수보다 일부 차익 실현과 손절선 상향을 우선한다.\",\n  \"position_sizing\": \"신규 자금은 확인 전까지 투입하지 않는다. 조건이 충족될 경우에도 ATR 6.82, 원유 헤드라인 민감도, 실적 이벤트 위험을 반영해 정상보다 작은 starter만 허용한다. 190.01 위 종가와 RSI 50 회복은 소규모 시험 진입 조건이고, 193.36 VWMA 위 안착, 거래량 개선, MACD 히스토그램의 연속 개선이 붙을 때만 단계적으로 확대한다. 기존 보유자는 core를 유지할 수 있지만 reduced-to-normal보다 보수적인 관리 크기를 유지하고, 180.26 방어 실패나 원유 급락 시 노출을 줄인다.\",\n  \"risk_limits\": \"FANG는 원유 가격과 지정학 뉴스에 민감하므로 고정 손절보다 변동성 기반 손절을 사용한다. 180.26은 1차 방어선, 175.14는 하드 전술 무효화선이다. 가격이 VWMA 193.36 아래이고 RSI가 50 아래인 동안에는 full size를 금지한다. 2026-04-08 약 7% 하락과 2026-04-09 유가 급락 속 -4.62% 하락은 유가 베타가 기회이면서 동시에 포트폴리오 변동성 확대 요인임을 보여준다. 순부채 143.85억 달러, 현금 1.04억 달러, 유동비율 0.416, 운전자본 -26.85억 달러도 실적 전 과도한 진입을 제한하는 근거다.\",\n  \"catalysts\": [\n    \"190.01 위 일봉 종가와 RSI 50 회복으로 단기 매수 주도권이 복원되는 신호.\",\n    \"VWMA 193.36 위 안착, 거래량 개선, MACD 히스토그램의 연속적인 덜 부정적인 전환.\",\n    \"Strait of Hormuz, 공급 차질, $100 유가 가능성 등 지정학 리스크가 실제 원유 가격 강세로 이어지는 경우.\",\n    \"Q1 결과나 가이던스에서 생산, 비용 통제, 자본 규율, 자유현금흐름 지속성이 확인되는 경우.\",\n    \"2051년과 2052년 만기 장기채 공개매수, 순부채 감소 같은 자본구조 개선이 계속되는 경우.\",\n    \"UBS의 245달러 목표가처럼 긍정적 애널리스트 수정이 Roth의 중립 하향과 200달러 목표가 우려를 상쇄하는 경우.\"\n  ],\n  \"invalidators\": [\n    \"175.14 최근 저점 이탈, 특히 거래량 증가가 동반될 때.\",\n    \"50일선 180.26 방어 실패 후 낮은 고점이 형성되는 흐름.\",\n    \"원유 가격 반락으로 FANG의 현금흐름과 주주환원 기대가 약해지는 경우.\",\n    \"Q1 실적에서 두 자릿수 이익 압박, 마진 악화, capex 부담, 생산 가이던스 약화가 확인되는 경우.\",\n    \"2026년 3월 이후 고위 임원과 주요 보유자 매도, SGF/FANG HOLDINGS의 1,265만 주 처분 같은 수급 부담이 추가로 확대되는 경우.\",\n    \"매출이 39.06억 달러에서 33.41억 달러로 감소하고 영업이익이 12.53억 달러에서 7.76억 달러로 낮아진 흐름이 지속되는 경우.\"\n  ],\n  \"watchlist_triggers\": [\n    \"190.01 위 일봉 종가와 RSI 50 회복.\",\n    \"193.36 VWMA 위 일봉 종가와 최근 반등 거래량을 넘어서는 수급 개선.\",\n    \"MACD 히스토그램이 여러 세션 연속 덜 부정적으로 전환.\",\n    \"180.26 부근 재시험에서 지지 확인, 175.14 미이탈.\",\n    \"원유가 지정학 헤드라인 이후 상승분을 유지하는지 여부.\",\n    \"Q1 실적 발표일, capex 가이던스, 자유현금흐름, 부채 감축, 주주환원 발언.\",\n    \"197.79-202.19 및 204.91 저항대 접근 시 거래량과 모멘텀의 동반 여부.\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 2,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-15T21:39:55.098162+09:00",
  "finished_at": "2026-04-15T21:52:28.551146+09:00",
  "duration_seconds": 753.45,
  "metrics": {
    "llm_calls": 58,
    "tool_calls": 22,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 58
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 22,
    "vendor_calls": {
      "yfinance": 15,
      "naver": 3,
      "ecos": 1,
      "opendart": 1,
      "alpha_vantage": 2
    },
    "fallback_count": 5,
    "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_balance_sheet",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_income_statement",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_cashflow",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_fundamentals",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_insider_transactions",
        "vendor": "yfinance",
        "status": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_insider_transactions",
        "vendor": "alpha_vantage",
        "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"
  }
}