{
  "ticker": "AAPL",
  "ticker_name": "Apple",
  "status": "success",
  "trade_date": "2026-04-16",
  "analysis_date": "2026-04-17",
  "decision": "{\n  \"rating\": \"OVERWEIGHT\",\n  \"portfolio_stance\": \"BULLISH\",\n  \"entry_action\": \"WAIT\",\n  \"setup_quality\": \"DEVELOPING\",\n  \"confidence\": 0.66,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"AAPL에 대한 최종 판단은 중기적으로 소폭 OVERWEIGHT를 유지하는 BULLISH 관점이지만, 오늘 즉시 추격 매수할 자리는 아니다. 공격적 분석가가 지적한 대로 가격은 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 위를 회복했고, MACD는 2026-04-10의 -0.16에서 2026-04-16의 1.30으로 플러스 전환했으며 RSI 57.86은 과열권이 아니다. 또한 최근 분기 매출 143.756 billion, 순이익 42.097 billion, 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion은 우량성과 주주환원 기반을 뒷받침한다. 다만 보수적·중립 분석가가 강조한 것처럼 246.63에서 266.43까지 이미 약 8% 반등했고, 현재는 266.43 1차 저항과 272 이전 매물대 앞이며 2026-04-30 실적 갭 리스크가 남아 있다. 따라서 신규 자금은 WAIT가 맞다. 진입은 266.43 위 거래량 동반 일간 종가, RSI 60 회복 또는 유지, MACD 양수 유지가 동시에 확인될 때 작은 starter로 허용하거나, 260-262로 질서 있는 눌림이 발생하고 10일 EMA 및 50일 SMA 부근에서 종가 지지가 확인될 때만 단계적으로 허용한다.\",\n  \"exit_logic\": \"신규 전술 포지션은 AAPL이 256 아래로 일간 종가 이탈하면 감액하거나 회피한다. 이는 공격적·중립 분석가가 공통으로 인정한 VWMA 지지 상실 및 반등 품질 약화 신호다. 260-262 지지 실패가 반복되거나 266.43 돌파 실패 후 되밀림이 나타나면 실적 전 노출을 먼저 낮춘다. 200일 SMA 부근인 251.51을 결정적으로 이탈하면 중기 BULLISH thesis를 재검토한다. 2026-04-30 실적 이후 iPhone 수요, 서비스 성장, AI 로드맵, 마진, 가이던스, buyback commentary가 프리미엄 밸류에이션을 방어하지 못하면 OVERWEIGHT를 HOLD 또는 그 이하로 낮춘다.\",\n  \"position_sizing\": \"기존 보유자는 적정 범위의 소폭 OVERWEIGHT를 유지할 수 있지만, 이미 과도한 overweight라면 2026-04-30 실적 전 이벤트 노출 상한을 정하고 일부 축소를 고려한다. 신규 자금은 정상 포지션보다 작게 시작해야 하며, ATR 5.90, 현재가 대비 약 2.2% 변동성과 실적 갭 리스크를 반영해 partial starter만 허용한다. 돌파 진입 후 266.43 위 안착 또는 272 돌파 및 post-earnings 확인이 나오기 전까지 추가 매수는 제한한다. 눌림 진입의 경우 260-262 지지 확인 뒤에만 1차 진입하고, 지지 재확인 또는 실적 확인 후 단계적으로 확대한다.\",\n  \"risk_limits\": \"266-272 저항권에서 확인 없는 추격 매수는 금지한다. 향후 starter는 1 ATR 불리한 움직임이 포트폴리오 위험 예산을 넘지 않도록 산정한다. 256 일간 종가 이탈은 전술적 감액 기준, 251.51 부근 200일 SMA 결정적 이탈은 중기 thesis review 기준으로 둔다. 실적 전후 갭 리스크는 종가 손절만으로 통제되지 않으므로 2026-04-30 전 포지션 크기를 제한한다. P/E 33.3배, 선행 P/E 28.3배, P/B 43.9배는 우량성을 반영한 프리미엄인 만큼, 기대 미달 시 멀티플 압축 위험을 명시적으로 관리한다.\",\n  \"catalysts\": [\n    \"2026-04-30 실적에서 revenue, EPS, services growth, iPhone demand, margins, buyback commentary가 기대를 상회할 가능성\",\n    \"BofAS 목표가 325 상향과 평균 목표가 301.37이 시사하는 중기 상방 여지\",\n    \"MACD 1.30 플러스 전환, 가격의 10일 EMA 259.93, 50일 SMA 260.68, 200일 SMA 251.51 회복, RSI 57.86의 비과열 모멘텀\",\n    \"최근 분기 자유현금흐름 51.552 billion, 영업이익률 약 35.4%, 분기 자사주 매입 24.701 billion에 기반한 EPS 및 주주환원 지원\",\n    \"TSMC 58% 이익 증가, 첨단 칩 수요, WWDC, Siri 개선, Gemini AI 통합 가능성, foldable iPhone optionality가 만드는 AI·프리미엄 기기 사이클 기대\"\n  ],\n  \"invalidators\": [\n    \"AAPL이 256 아래로 일간 종가 이탈해 VWMA 지지와 반등 품질을 훼손하는 경우\",\n    \"200일 SMA 부근 251.51을 결정적으로 이탈해 중기 추세 기반이 약화되는 경우\",\n    \"260-262 지지 확인 실패가 반복되거나 266.43 돌파 실패 후 거래량을 동반해 되밀리는 경우\",\n    \"2026-04-30 실적 또는 가이던스에서 iPhone demand, services growth, margins, AI roadmap, capital return 기대를 충족하지 못하는 경우\",\n    \"AI 기능 지연, 수익화 부족, Gemini 통합 또는 Siri 개선 기대 약화로 프리미엄 밸류에이션 방어 논리가 약해지는 경우\",\n    \"지정학 또는 공급망 스트레스가 반도체 비용, 핵심 화학·가스 공급, 생산 일정에 부담을 주는 경우\",\n    \"고밸류에이션 구간에서 내부자 계획 매도와 기관 수급 혼재가 투자심리를 추가로 약화시키는 경우\"\n  ],\n  \"watchlist_triggers\": [\n    \"거래량을 동반한 AAPL의 266.43 위 일간 종가와 이후 해당 가격대 지지 확인\",\n    \"RSI가 60을 회복 또는 유지하고 MACD가 양수를 유지하며 히스토그램 둔화가 제한적인 경우\",\n    \"260-262로 질서 있는 눌림이 발생하고 10일 EMA 259.93 및 50일 SMA 260.68 부근에서 종가 지지가 확인되는 경우\",\n    \"272 위 안착으로 이전 매물대와 prior congestion을 넘어서는 follow-through가 확인되는 경우\",\n    \"2026-04-30 실적 이후 guidance, iPhone demand, services growth, AI roadmap, buyback commentary가 프리미엄 밸류에이션을 지지하는 경우\",\n    \"256 아래 종가 이탈, 260-262 지지 실패, 또는 실적 후 갭다운이 발생해 setup_quality를 WEAK로 낮춰야 하는 경우\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 5,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 1\n  }\n}",
  "started_at": "2026-04-17T02:53:25.099803+09:00",
  "finished_at": "2026-04-17T03:06:06.163329+09:00",
  "duration_seconds": 761.06,
  "metrics": {
    "llm_calls": 60,
    "tool_calls": 18,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 60
    }
  },
  "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_social_sentiment",
        "vendor": "yfinance",
        "status": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_company_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_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"
  },
  "intraday_snapshot_attempts": [
    {
      "ticker": "AAPL",
      "attempted": true,
      "success": true,
      "checkpoint": "selective_rerun",
      "interval": "5m",
      "attempted_at": "2026-04-17T03:57:41.976457+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T14:55:00-04:00"
    },
    {
      "ticker": "AAPL",
      "attempted": true,
      "success": true,
      "checkpoint": "03:35",
      "interval": "5m",
      "attempted_at": "2026-04-17T04:17:13.307745+09:00",
      "provider": "yfinance_intraday",
      "market_data_asof": "2026-04-16T15:15:00-04:00"
    }
  ],
  "latest_intraday_snapshot_attempt": {
    "ticker": "AAPL",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:17:13.307745+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:15:00-04:00"
  },
  "intraday_snapshot_latest_attempt": {
    "ticker": "AAPL",
    "attempted": true,
    "success": true,
    "checkpoint": "03:35",
    "interval": "5m",
    "attempted_at": "2026-04-17T04:17:13.307745+09:00",
    "provider": "yfinance_intraday",
    "market_data_asof": "2026-04-16T15:15:00-04:00"
  }
}