{
  "ticker": "GLDM",
  "ticker_name": "SPDR Gold MiniShares Trust",
  "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.63,\n  \"time_horizon\": \"medium\",\n  \"entry_logic\": \"GLDM의 방향성 평가는 건설적이다. 공격적 분석가가 지적한 것처럼 가격은 200일선 부근 82.5를 크게 웃돌고, 10 EMA 약 93.56 및 VWMA 지지권 91.7-93.0을 회복했으며, RSI 52.94와 MACD 히스토그램 +0.678은 3월 급락 이후 매도 압력이 약해졌음을 보여준다. 다만 보수적·중립 분석가의 반론처럼 GLDM은 아직 50일선 저항 96.9-97.2 아래에 있고 MACD 본선도 약 -0.700으로 0선 아래라서 중기 추세 복구가 확정되지는 않았다. 따라서 즉시 신규 전량 진입은 보류한다. 기본 진입 조건은 GLDM이 97.2 위에서 일봉 종가를 형성하고 MACD가 0선 쪽으로 추가 개선되며 거래량 또는 ETF 자금 유입이 동반되는 것이다. 단, 91.7-93.0 지지권 또는 93-94 부근에서 안정화되고 MACD 히스토그램이 꺾이지 않으며 USD와 실질금리가 금에 불리하게 급등하지 않는 경우에는 소규모 선발 진입을 검토할 수 있다.\",\n  \"exit_logic\": \"기존 보유분은 GLDM이 91.7-93.0 단기 지지대를 유지하는 동안만 보유한다. 일봉 종가가 91.7 아래로 내려가면 전술적 노출을 축소하거나 청산한다. 86-87의 3월 저점권을 재시험하거나 이탈하면 반등 구조가 훼손된 것으로 판단한다. 200일선 부근 82.5를 결정적으로 이탈하면 장기 상승 구조 자체가 무효화된다. 97.2 돌파 후에도 해당 구간을 다시 지지로 확인하지 못하거나 MACD 히스토그램이 재차 하락 전환하면 추가 매수는 보류한다.\",\n  \"position_sizing\": \"확인 전 신규 전량 배정은 하지 않는다. 선발 진입이 허용되는 경우에도 중립 분석가의 조정안을 반영해 목표 GLDM 배정의 15%-25%로 제한하고, 25%-33%는 현재 확인 수준에서는 다소 공격적이다. 97.2 위 일봉 종가와 MACD 개선, 거래량 또는 ETF 유입 확인 시 40%-60% 수준의 부분 포지션으로 확대할 수 있다. 전량 배정은 96.9-97.2 구간의 지지 전환 또는 추가 상승 지속이 확인되고 USD·실질금리 환경이 악화되지 않을 때만 검토한다. ATR 약 2.24를 기준으로 정상 일중 변동 안에 손절선을 두지 않는다.\",\n  \"risk_limits\": \"GLDM은 기업 실적이나 배당이 아니라 금 가격, 실질금리, USD, ETF 자금 흐름, 지정학적 수요에 민감하므로 거래당 위험은 낮게 유지한다. 전술적 포지션에는 최소 1.5 ATR, 약 3.36포인트 이상의 변동 여지를 고려하되, 91.7 종가 이탈은 반드시 재평가 기준으로 삼는다. 주요 거시 지표, 중앙은행 발언, 지정학적 이벤트 직전에는 기술적 확인 없이 추가하지 않는다. USD 강세 또는 실질금리 급등이 나타나면 97.2 돌파 신호의 품질을 낮게 평가한다.\",\n  \"catalysts\": [\n    \"GLDM이 96.9-97.2 50일선 저항대를 일봉 종가로 돌파하고 해당 구간을 지지로 전환\",\n    \"MACD가 0선 쪽으로 추가 개선되거나 0선 위로 회복하면서 히스토그램이 양수를 유지\",\n    \"2026-04-08 유입 신호 이후 GLDM 또는 금 ETF 자금 유입 지속\",\n    \"실질금리 하락, USD 약세, Fed 금리 인하 기대 강화\",\n    \"지정학적 위험, 인플레이션 우려, 중앙은행 금 매입, 탈달러화 수요로 안전자산 선호 재강화\"\n  ],\n  \"invalidators\": [\n    \"96.9-97.2 저항 돌파 실패 후 GLDM이 93 아래로 반락\",\n    \"일봉 종가가 VWMA 지지권인 91.7 아래로 하락\",\n    \"86-87 3월 저점권 재시험 또는 이탈\",\n    \"MACD가 0선 아래에 머문 상태에서 히스토그램이 하락 전환\",\n    \"USD 강세 또는 실질금리 상승으로 금 가격 압박이 재개\",\n    \"위험자산 회복이 안전자산 수요를 약화시키고 금 ETF 유입이 지속되지 않음\"\n  ],\n  \"watchlist_triggers\": [\n    \"GLDM이 97.2 위에서 종가를 형성하고 거래량 확대 또는 ETF 유입이 동반되는지 확인\",\n    \"GLDM이 조정 시 93-94 또는 91.7-93.0 지지권을 지키고 10 EMA가 계속 상승하는지 확인\",\n    \"GLDM이 91.7 아래로 종가 이탈하면 반등 수요 약화 경고로 처리\",\n    \"금 현물이 USD, 실질금리, Fed 금리 인하 기대, 지정학적 뉴스에 어떻게 반응하는지 추적\",\n    \"97.2 돌파 후 첫 되돌림에서 96.9-97.2가 지지로 작동하는지 확인\",\n    \"선발 진입은 지지권 안정화와 MACD 히스토그램 유지가 동시에 충족될 때만 검토\"\n  ],\n  \"data_coverage\": {\n    \"company_news_count\": 5,\n    \"disclosures_count\": 0,\n    \"social_source\": \"news_derived\",\n    \"macro_items_count\": 5\n  }\n}",
  "started_at": "2026-04-15T01:25:44.946869+09:00",
  "finished_at": "2026-04-15T01:38:16.715951+09:00",
  "duration_seconds": 751.77,
  "metrics": {
    "llm_calls": 57,
    "tool_calls": 24,
    "tokens_in": 0,
    "tokens_out": 0,
    "tokens_available": false,
    "calls_by_model": {
      "gpt-5.4": 57
    }
  },
  "tool_telemetry": {
    "total_tool_calls": 24,
    "vendor_calls": {
      "yfinance": 17,
      "naver": 3,
      "ecos": 1,
      "opendart": 1,
      "alpha_vantage": 2
    },
    "fallback_count": 7,
    "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": "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_company_news",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "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": "fallback",
        "fallback": true,
        "note": "naver: empty or unusable result"
      },
      {
        "method": "get_company_news",
        "vendor": "yfinance",
        "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": "fallback",
        "fallback": true,
        "note": "yfinance: empty or unusable result"
      },
      {
        "method": "get_fundamentals",
        "vendor": "yfinance",
        "status": "success",
        "fallback": false,
        "note": null
      },
      {
        "method": "get_insider_transactions",
        "vendor": "alpha_vantage",
        "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"
  }
}