{
  "ticker": "ETN",
  "ticker_name": "Eaton",
  "status": "success",
  "trade_date": "2026-04-14",
  "analysis_date": "2026-04-15",
  "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\": \"ETN은 중기적으로 우호적인 배분 후보로 유지한다. 공격적 분석가는 가격이 10일 지수이동평균 386.2047, 50일 단순이동평균 368.9103, 200일 단순이동평균 357.5705 위에 있고 MACD가 2026-04-06의 -0.0432에서 2026-04-14의 9.9856으로 개선된 점을 근거로 추세 회복을 강조했다. 또한 최근 분기 매출 7.055 billion, 영업이익 1.386 billion, 희석 EPS 2.91, 잉여현금흐름 1.573 billion, 영업현금흐름 1.965 billion, 순부채 감소가 투자 가능한 질을 뒷받침한다. 다만 보수적·중립 분석가가 지적했듯 현재 가격은 407-408 저항과 52주 고점 부근이고 RSI 67.2581, ATR 12.7175로 진입 비대칭이 완성되지 않았다. 따라서 오늘 즉시 추격 매수하지 않고, 407-408 위의 거래량 동반 일간 종가 또는 386 부근까지의 통제된 되돌림 후 안정화를 기다린다.\",\n  \"exit_logic\": \"기존 보유분은 ETN이 386 위를 유지하는 한 핵심 비중을 유지할 수 있다. 407-408에서 실패하고 하락 거래량이 확대되거나 386 아래로 종가가 내려가면 위험 축소와 재검토가 필요하다. 374-369는 깊은 지지 구간이며, 369 아래 종가는 현재 중기 추세 설정의 무효화로 보고 자본 보호를 우선한다. 실적에서 주문, 수주잔고, 마진, 잉여현금흐름 전환, 데이터센터 및 전력 인프라 수요가 기대에 못 미치거나 프리미엄 밸류에이션을 정당화하지 못하는 가이던스가 나오면 신규 진입을 피하고 기존 노출도 줄인다.\",\n  \"position_sizing\": \"신규 자금은 확인 전 투입하지 않는다. 조건이 충족될 경우에도 ATR 12.7175와 TTM PER 38.45933, forward PER 25.91213, PBR 8.0256405에 따른 밸류에이션 민감도를 반영해 정상보다 작은 시작 비중만 허용한다. 407-408 돌파가 거래량 증가와 함께 유지되거나 386 부근 되돌림이 분산 매도 없이 안정화될 때만 단계적으로 확대한다. 기존 보유자는 핵심 노출은 유지하되 실적 확인 전 과도한 집중은 피한다.\",\n  \"risk_limits\": \"실패한 돌파에는 추가하지 않는다. 386 아래 종가는 단기 모멘텀 경고, 374-369는 핵심 방어 구간, 369 아래 종가는 중기 추세 무효화로 설정한다. 변동성이 높으므로 촘촘한 정액 손절보다 변동성 조정 손절을 사용하고, 실적 전 신규 포지션에는 사전 정의된 손절선과 비중 상한을 둔다. 보수적 분석가가 지적한 높은 밸류에이션, 407-408 저항, 제한적인 단기 상승 목표 415-420 대비 386·374·369까지의 하방 폭을 위험 관리의 중심에 둔다.\",\n  \"catalysts\": [\n    \"AI 데이터센터와 전력 인프라 수요가 ETN의 주문 성장과 프리미엄 밸류에이션을 계속 뒷받침하는 경우\",\n    \"중전압 스위치기어 생산 확대와 Nebraska 시설 계획이 장기 공급 대응 능력을 강화하는 경우\",\n    \"다음 실적에서 주문, 수주잔고, 마진, 잉여현금흐름 전환이 높은 기대치를 충족하거나 상회하는 경우\",\n    \"407-408 위의 일간 종가가 최근 1.8-2.25 million 주 거래량 범위를 넘는 거래량과 함께 확인되어 415-420으로의 기술적 경로가 열리는 경우\"\n  ],\n  \"invalidators\": [\n    \"ETN이 369 아래로 종가 마감해 핵심 중기 지지 구간을 이탈하는 경우\",\n    \"실적 또는 가이던스에서 마진 압박, 약한 주문, 부진한 잉여현금흐름 전환, 데이터센터·전력 인프라 수요 둔화가 확인되는 경우\",\n    \"고금리, 에너지 충격, 인플레이션, 건설 또는 상업 투자 약세가 산업재 수요와 밸류에이션 배수를 동시에 압박하는 경우\",\n    \"고점 부근 내부자 매도와 밸류에이션 우려가 커지는데 이를 상쇄할 운영 개선이나 수주 증거가 부족한 경우\"\n  ],\n  \"watchlist_triggers\": [\n    \"ETN이 407-408 위에서 일간 종가를 형성하고 거래량이 최근 1.8-2.25 million 주 범위를 상회하는지 확인\",\n    \"386 부근 되돌림에서 거래량이 안정되고 가격 구조가 무너지지 않는지 확인\",\n    \"386 아래 종가가 발생해 374-369로의 되돌림 위험이 커지는지 확인\",\n    \"다음 실적의 수주잔고, 스위치기어 수요, 데이터센터 노출, 마진 지속성, 잉여현금흐름 전환에 대한 발언 확인\",\n    \"407-408 돌파 후 407 위에서 후속 유지가 나오는지, 약한 거래량의 돌파 실패로 전환되는지 확인\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 1,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 2\n  }\n}",
  "started_at": "2026-04-15T21:14:20.814250+09:00",
  "finished_at": "2026-04-15T21:28:02.111025+09:00",
  "duration_seconds": 821.3,
  "metrics": {
    "llm_calls": 52,
    "tool_calls": 21,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 52
    }
  },
  "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_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_income_statement",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_cashflow",
        "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"
  }
}