{
  "ticker": "FANG",
  "ticker_name": "Diamondback Energy",
  "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.59,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"FANG에 대한 방향성은 아직 건설적이다. 공격적 분석가가 지적했듯 가격은 상승 중인 50일선 180.25와 200일선 153.12 위에 있고, 최근 분기 순손실 -14.58억 달러는 Total Unusual Items -33.53억 달러와 Special Income Charges -35.25억 달러의 영향이 커 Normalized Income 10.8억 달러와 TTM EBITDA 102.06억 달러가 기초 현금창출력을 뒷받침한다. 다만 즉시 진입은 보류한다. 보수적·중립 분석가가 공통으로 지적한 대로 FANG는 아직 VWMA 193.76 아래이고, RSI 47.63은 50을 회복하지 못했으며, MACD histogram은 2026-04-14 기준 -1.9965로 단기 매수 우위가 확인되지 않았다. 따라서 오늘은 신규 매수하지 않고, 193.76-195.50 위 종가 돌파와 거래량 확장, RSI 50 이상 유지, MACD histogram 개선이 함께 확인되거나 180-186 구간에서 ATR 축소와 유가 안정이 확인될 때만 소규모 starter를 검토한다.\",\n  \"exit_logic\": \"기존 보유분은 FANG가 50일선 부근 180.25를 종가 기준으로 방어하는 동안만 유지한다. 180.25 아래 종가는 단순 경고가 아니라 포트폴리오 스탠스 하향 신호로 보고 노출을 줄인다. 178.90은 향후 tactical starter의 보조 위험선으로만 사용하며, 175.14가 깨지면 2026-04-08 저점 붕괴로 판단해 신규 진입 논리를 폐기한다. 돌파 후 진입이 발생한 경우 197.06과 202.19 저항에서 거래량, 유가, 섹터 자금 흐름이 동반되지 않으면 일부 축소 또는 추가 매수 보류가 적절하다.\",\n  \"position_sizing\": \"오늘 신규 포지션은 없다. 193.76-195.50 위 종가 돌파가 확인되더라도 중립 분석가의 지적처럼 상단 197.06과 202.19 저항이 가깝고 ATR이 6.82로 높기 때문에 첫 진입은 전체 의도 물량의 0.25-0.33으로 제한한다. 돌파 구간이 다음 거래에서 지지로 전환되고 RSI가 50 위에서 유지되며 MACD histogram이 개선되면 0.50까지 확대할 수 있다. 180-186 pullback base는 ATR 하락, 유가 안정, 매도 압력 완화가 함께 확인될 때만 같은 수준의 작은 starter를 허용한다.\",\n  \"risk_limits\": \"레버리지는 사용하지 않는다. FANG 단일 종목 노출은 193.76-195.50 위 확인 또는 변동성 수축 전까지 정상 에너지 배분보다 낮게 유지한다. 180.25 종가 이탈 시 방어 전환, 175.14 이탈 시 신규 매수 금지로 설정한다. 보수적 분석가가 강조한 유동비율 0.416, 운전자본 -26.85억 달러, SGF FANG HOLDINGS, LP의 2026-03-12 1,265만 주 매도, Q1 두 자릿수 이익 감소 가능성, 유가 헤드라인 의존성을 계속 감시한다. 유가가 급락하거나 capex 지침이 상승하고 FCF 전환이 약화되면 기술적 지지와 무관하게 노출을 재평가한다.\",\n  \"catalysts\": [\n    \"FANG가 193.76-195.50 위에서 종가 마감하고 거래량이 확장되며 RSI가 50 위로 회복되는 경우.\",\n    \"MACD histogram이 개선되고 193.76-195.50 돌파 구간이 다음 거래에서 지지로 전환되는 경우.\",\n    \"Q1 결과에서 normalized income 회복, capex 통제, 강한 FCF 전환, 총부채 감소 추세가 확인되는 경우.\",\n    \"Strait of Hormuz 긴장, OPEC+ spare capacity 제약, 지정학 공급 위험으로 유가 강세가 유지되고 에너지 섹터 자금 흐름이 동반되는 경우.\",\n    \"추가 자사주 매입, 배당 유지, 2051년·2052년 만기 장기 선순위채 공개매수 등 자본구조 개선 신호가 강화되는 경우.\"\n  ],\n  \"invalidators\": [\n    \"FANG가 180.25 아래에서 종가 마감하는 경우, 특히 거래량이 증가할 때.\",\n    \"2026-04-08 저점 175.14가 이탈되는 경우.\",\n    \"유가가 지정학 프리미엄 소멸이나 수요 둔화 우려로 급락해 FCF, 배당, 자사주 매입 기대를 훼손하는 경우.\",\n    \"Q1 결과가 두 자릿수 이익 감소, 약한 normalized income, 높은 capex, 부진한 FCF 전환, 반복성 있는 unusual charges를 확인하는 경우.\",\n    \"내부자 또는 주요 보유자의 매도가 반등 구간에서 계속되고 이를 상쇄할 실적 확인이 없는 경우.\",\n    \"유동성 지표가 악화되거나 운전자본 부담이 확대되는 경우.\"\n  ],\n  \"watchlist_triggers\": [\n    \"FANG가 193.76-195.50 위에서 거래량 확장과 RSI 50 이상 회복을 동반해 종가 마감하면 0.25-0.33 starter를 검토한다.\",\n    \"돌파 후 193.76-195.50 구간을 지지로 재확인하고 MACD histogram이 개선되면 0.50까지 확대를 검토한다.\",\n    \"FANG가 180-186 구간에서 여러 세션을 버티고 ATR이 하락하며 유가가 안정되면 tight risk 조건의 starter를 검토한다.\",\n    \"FANG가 180.25 아래에서 종가 마감하면 BULLISH-WAIT에서 NEUTRAL 또는 방어적 관리로 낮추고 신규 진입을 중단한다.\",\n    \"FANG가 197.06 또는 202.19를 시험할 때 거래량과 유가 확인이 약하면 추격 매수하지 않고 일부 축소를 검토한다.\",\n    \"유가가 지정학 프리미엄 소멸 후 하락 전환하면 FANG 기술적 구조가 유지되더라도 portfolio_stance를 재평가한다.\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 2,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 2\n  }\n}",
  "started_at": "2026-04-15T00:59:19.738688+09:00",
  "finished_at": "2026-04-15T01:11:59.069993+09:00",
  "duration_seconds": 759.33,
  "metrics": {
    "llm_calls": 53,
    "tool_calls": 20,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 53
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 20,
    "vendor_calls": {
      "yfinance": 14,
      "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_social_sentiment",
        "vendor": "naver",
        "status": "fallback",
        "fallback": true,
        "note": "naver: empty or unusable result"
      },
      {
        "method": "get_company_news",
        "vendor": "naver",
        "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": "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_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"
  }
}