{
  "timestamp_utc": "2026-06-07T06:05:45.219249+00:00",
  "source": "yfinance public quote/history; broker quote must override for orders",
  "summary": {
    "mode": "DEFENSE",
    "mode_ko": "방어",
    "top_actions": [
      {
        "ticker": "SOXS",
        "price": 6.84,
        "prev_close": 5.2,
        "day_change_pct": 31.54,
        "sma20": 7.51,
        "sma50": 16.82,
        "sma200": 56.35,
        "rsi14": 35.44,
        "atr14_pct": 15.75,
        "volume_ratio": 2.42,
        "vwap_intraday": 6.14,
        "vwap_gap_pct": 11.48,
        "trend_label": "TREND BREAK",
        "timing_label": "INVERSE BUY SETUP",
        "action_label": "DEFEND",
        "entry_trigger": "하락 확인 및 인버스 VWAP 위",
        "stop_or_invalidation": "6.16",
        "target_1": "7.66",
        "target_2": "8.48",
        "notes": "본계좌 전용입니다. 시간 손절을 반드시 정합니다. 본계좌 전용.",
        "trend_label_ko": "추세 이탈",
        "timing_label_ko": "인버스 매수 후보",
        "action_label_ko": "방어"
      },
      {
        "ticker": "AVGO",
        "price": 385.73,
        "prev_close": 418.91,
        "day_change_pct": -7.92,
        "sma20": 429.02,
        "sma50": 398.41,
        "sma200": 354.92,
        "rsi14": 39.51,
        "atr14_pct": 5.93,
        "volume_ratio": 1.95,
        "vwap_intraday": 402.23,
        "vwap_gap_pct": -4.1,
        "trend_label": "DAMAGED",
        "timing_label": "EXIT WATCH",
        "action_label": "DEFEND",
        "entry_trigger": "지지선 또는 추세 이탈",
        "stop_or_invalidation": "358.27",
        "target_1": "420.05",
        "target_2": "449.80",
        "notes": "추세 회복 전까지 물타기 금지.",
        "trend_label_ko": "추세 손상",
        "timing_label_ko": "이탈/청산 감시",
        "action_label_ko": "방어"
      },
      {
        "ticker": "JEPI",
        "price": 55.52,
        "prev_close": 55.71,
        "day_change_pct": -0.34,
        "sma20": 55.63,
        "sma50": 55.98,
        "sma200": 55.33,
        "rsi14": 50.44,
        "atr14_pct": 0.61,
        "volume_ratio": 0.91,
        "vwap_intraday": 55.73,
        "vwap_gap_pct": -0.38,
        "trend_label": "DAMAGED",
        "timing_label": "EXIT WATCH",
        "action_label": "DEFEND",
        "entry_trigger": "지지선 또는 추세 이탈",
        "stop_or_invalidation": "54.13",
        "target_1": "57.74",
        "target_2": "59.96",
        "notes": "추세 회복 전까지 물타기 금지.",
        "trend_label_ko": "추세 손상",
        "timing_label_ko": "이탈/청산 감시",
        "action_label_ko": "방어"
      },
      {
        "ticker": "SPY",
        "price": 737.55,
        "prev_close": 757.09,
        "day_change_pct": -2.58,
        "sma20": 746.29,
        "sma50": 713.51,
        "sma200": 681.56,
        "rsi14": 48.63,
        "atr14_pct": 0.97,
        "volume_ratio": 2.0,
        "vwap_intraday": 745.87,
        "vwap_gap_pct": -1.12,
        "trend_label": "PULLBACK",
        "timing_label": "NO EDGE",
        "action_label": "WAIT",
        "entry_trigger": "명확한 트리거 없음",
        "stop_or_invalidation": "719.11",
        "target_1": "767.05",
        "target_2": "796.55",
        "notes": "현금도 포지션입니다.",
        "trend_label_ko": "조정",
        "timing_label_ko": "우위 없음",
        "action_label_ko": "대기"
      },
      {
        "ticker": "QQQ",
        "price": 705.06,
        "prev_close": 740.61,
        "day_change_pct": -4.8,
        "sma20": 722.01,
        "sma50": 667.81,
        "sma200": 620.85,
        "rsi14": 47.96,
        "atr14_pct": 1.67,
        "volume_ratio": 2.53,
        "vwap_intraday": 718.79,
        "vwap_gap_pct": -1.91,
        "trend_label": "PULLBACK",
        "timing_label": "NO EDGE",
        "action_label": "WAIT",
        "entry_trigger": "명확한 트리거 없음",
        "stop_or_invalidation": "687.43",
        "target_1": "733.26",
        "target_2": "761.46",
        "notes": "현금도 포지션입니다.",
        "trend_label_ko": "조정",
        "timing_label_ko": "우위 없음",
        "action_label_ko": "대기"
      }
    ],
    "soxl_status": {
      "ticker": "SOXL",
      "price": 182.54,
      "prev_close": 262.7,
      "day_change_pct": -30.51,
      "sma20": 201.61,
      "sma50": 136.44,
      "sma200": 68.53,
      "rsi14": 53.59,
      "atr14_pct": 17.75,
      "volume_ratio": 1.87,
      "vwap_intraday": 213.12,
      "vwap_gap_pct": -14.35,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "164.29",
      "target_1": "204.44",
      "target_2": "226.35",
      "notes": "현금도 포지션입니다. 본계좌 전용.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    "soxs_status": {
      "ticker": "SOXS",
      "price": 6.84,
      "prev_close": 5.2,
      "day_change_pct": 31.54,
      "sma20": 7.51,
      "sma50": 16.82,
      "sma200": 56.35,
      "rsi14": 35.44,
      "atr14_pct": 15.75,
      "volume_ratio": 2.42,
      "vwap_intraday": 6.14,
      "vwap_gap_pct": 11.48,
      "trend_label": "TREND BREAK",
      "timing_label": "INVERSE BUY SETUP",
      "action_label": "DEFEND",
      "entry_trigger": "하락 확인 및 인버스 VWAP 위",
      "stop_or_invalidation": "6.16",
      "target_1": "7.66",
      "target_2": "8.48",
      "notes": "본계좌 전용입니다. 시간 손절을 반드시 정합니다. 본계좌 전용.",
      "trend_label_ko": "추세 이탈",
      "timing_label_ko": "인버스 매수 후보",
      "action_label_ko": "방어"
    }
  },
  "rows": [
    {
      "ticker": "SPY",
      "price": 737.55,
      "prev_close": 757.09,
      "day_change_pct": -2.58,
      "sma20": 746.29,
      "sma50": 713.51,
      "sma200": 681.56,
      "rsi14": 48.63,
      "atr14_pct": 0.97,
      "volume_ratio": 2.0,
      "vwap_intraday": 745.87,
      "vwap_gap_pct": -1.12,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "719.11",
      "target_1": "767.05",
      "target_2": "796.55",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "QQQ",
      "price": 705.06,
      "prev_close": 740.61,
      "day_change_pct": -4.8,
      "sma20": 722.01,
      "sma50": 667.81,
      "sma200": 620.85,
      "rsi14": 47.96,
      "atr14_pct": 1.67,
      "volume_ratio": 2.53,
      "vwap_intraday": 718.79,
      "vwap_gap_pct": -1.91,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "687.43",
      "target_1": "733.26",
      "target_2": "761.46",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "IWM",
      "price": 281.65,
      "prev_close": 292.01,
      "day_change_pct": -3.55,
      "sma20": 284.93,
      "sma50": 274.12,
      "sma200": 254.74,
      "rsi14": 54.19,
      "atr14_pct": 1.91,
      "volume_ratio": 1.39,
      "vwap_intraday": 285.71,
      "vwap_gap_pct": -1.42,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "274.61",
      "target_1": "292.92",
      "target_2": "304.18",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "DIA",
      "price": 509.7,
      "prev_close": 516.7,
      "day_change_pct": -1.35,
      "sma20": 503.68,
      "sma50": 490.62,
      "sma200": 476.72,
      "rsi14": 65.02,
      "atr14_pct": 1.11,
      "volume_ratio": 1.33,
      "vwap_intraday": 514.32,
      "vwap_gap_pct": -0.9,
      "trend_label": "UPTREND",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "496.96",
      "target_1": "530.09",
      "target_2": "550.48",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "상승 추세",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "SMH",
      "price": 569.69,
      "prev_close": 627.53,
      "day_change_pct": -9.22,
      "sma20": 584.09,
      "sma50": 506.94,
      "sma200": 396.25,
      "rsi14": 53.52,
      "atr14_pct": 4.34,
      "volume_ratio": 2.16,
      "vwap_intraday": 589.78,
      "vwap_gap_pct": -3.41,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "540.00",
      "target_1": "606.80",
      "target_2": "638.97",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "SOXX",
      "price": 539.77,
      "prev_close": 602.72,
      "day_change_pct": -10.44,
      "sma20": 545.93,
      "sma50": 462.42,
      "sma200": 344.35,
      "rsi14": 57.06,
      "atr14_pct": 5.25,
      "volume_ratio": 2.53,
      "vwap_intraday": 562.36,
      "vwap_gap_pct": -4.02,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "505.74",
      "target_1": "582.30",
      "target_2": "619.16",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "SOXL",
      "price": 182.54,
      "prev_close": 262.7,
      "day_change_pct": -30.51,
      "sma20": 201.61,
      "sma50": 136.44,
      "sma200": 68.53,
      "rsi14": 53.59,
      "atr14_pct": 17.75,
      "volume_ratio": 1.87,
      "vwap_intraday": 213.12,
      "vwap_gap_pct": -14.35,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "164.29",
      "target_1": "204.44",
      "target_2": "226.35",
      "notes": "현금도 포지션입니다. 본계좌 전용.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "SOXS",
      "price": 6.84,
      "prev_close": 5.2,
      "day_change_pct": 31.54,
      "sma20": 7.51,
      "sma50": 16.82,
      "sma200": 56.35,
      "rsi14": 35.44,
      "atr14_pct": 15.75,
      "volume_ratio": 2.42,
      "vwap_intraday": 6.14,
      "vwap_gap_pct": 11.48,
      "trend_label": "TREND BREAK",
      "timing_label": "INVERSE BUY SETUP",
      "action_label": "DEFEND",
      "entry_trigger": "하락 확인 및 인버스 VWAP 위",
      "stop_or_invalidation": "6.16",
      "target_1": "7.66",
      "target_2": "8.48",
      "notes": "본계좌 전용입니다. 시간 손절을 반드시 정합니다. 본계좌 전용.",
      "trend_label_ko": "추세 이탈",
      "timing_label_ko": "인버스 매수 후보",
      "action_label_ko": "방어"
    },
    {
      "ticker": "NVDA",
      "price": 205.1,
      "prev_close": 218.66,
      "day_change_pct": -6.2,
      "sma20": 218.87,
      "sma50": 203.22,
      "sma200": 188.34,
      "rsi14": 34.33,
      "atr14_pct": 4.2,
      "volume_ratio": 1.25,
      "vwap_intraday": 210.56,
      "vwap_gap_pct": -2.59,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "194.76",
      "target_1": "218.02",
      "target_2": "229.22",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "AVGO",
      "price": 385.73,
      "prev_close": 418.91,
      "day_change_pct": -7.92,
      "sma20": 429.02,
      "sma50": 398.41,
      "sma200": 354.92,
      "rsi14": 39.51,
      "atr14_pct": 5.93,
      "volume_ratio": 1.95,
      "vwap_intraday": 402.23,
      "vwap_gap_pct": -4.1,
      "trend_label": "DAMAGED",
      "timing_label": "EXIT WATCH",
      "action_label": "DEFEND",
      "entry_trigger": "지지선 또는 추세 이탈",
      "stop_or_invalidation": "358.27",
      "target_1": "420.05",
      "target_2": "449.80",
      "notes": "추세 회복 전까지 물타기 금지.",
      "trend_label_ko": "추세 손상",
      "timing_label_ko": "이탈/청산 감시",
      "action_label_ko": "방어"
    },
    {
      "ticker": "AMD",
      "price": 466.38,
      "prev_close": 523.2,
      "day_change_pct": -10.86,
      "sma20": 473.93,
      "sma50": 358.72,
      "sma200": 245.97,
      "rsi14": 58.55,
      "atr14_pct": 6.8,
      "volume_ratio": 1.37,
      "vwap_intraday": 485.81,
      "vwap_gap_pct": -4.0,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "428.30",
      "target_1": "513.98",
      "target_2": "555.23",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "MU",
      "price": 864.01,
      "prev_close": 996.0,
      "day_change_pct": -13.25,
      "sma20": 849.82,
      "sma50": 617.35,
      "sma200": 360.72,
      "rsi14": 60.12,
      "atr14_pct": 8.53,
      "volume_ratio": 1.39,
      "vwap_intraday": 924.04,
      "vwap_gap_pct": -6.5,
      "trend_label": "UPTREND",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "777.61",
      "target_1": "967.69",
      "target_2": "1070.48",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "상승 추세",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "MRVL",
      "price": 263.47,
      "prev_close": 316.43,
      "day_change_pct": -16.74,
      "sma20": 208.52,
      "sma50": 165.34,
      "sma200": 103.42,
      "rsi14": 69.03,
      "atr14_pct": 9.99,
      "volume_ratio": 2.23,
      "vwap_intraday": 289.95,
      "vwap_gap_pct": -9.13,
      "trend_label": "UPTREND",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "237.12",
      "target_1": "295.09",
      "target_2": "326.70",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "상승 추세",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "AAOI",
      "price": 177.0,
      "prev_close": 202.89,
      "day_change_pct": -12.76,
      "sma20": 182.21,
      "sma50": 156.74,
      "sma200": 70.13,
      "rsi14": 46.2,
      "atr14_pct": 13.31,
      "volume_ratio": 1.54,
      "vwap_intraday": 192.78,
      "vwap_gap_pct": -8.18,
      "trend_label": "PULLBACK",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "159.30",
      "target_1": "198.24",
      "target_2": "219.48",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "조정",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "RDW",
      "price": 18.45,
      "prev_close": 21.43,
      "day_change_pct": -13.91,
      "sma20": 17.3,
      "sma50": 12.62,
      "sma200": 9.58,
      "rsi14": 58.71,
      "atr14_pct": 16.86,
      "volume_ratio": 0.9,
      "vwap_intraday": 19.65,
      "vwap_gap_pct": -6.1,
      "trend_label": "UPTREND",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "16.61",
      "target_1": "20.66",
      "target_2": "22.88",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "상승 추세",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "GNTA",
      "price": 2.04,
      "prev_close": 1.96,
      "day_change_pct": 4.08,
      "sma20": 1.0,
      "sma50": 0.82,
      "sma200": 1.73,
      "rsi14": 85.37,
      "atr14_pct": 16.38,
      "volume_ratio": 0.18,
      "vwap_intraday": 2.06,
      "vwap_gap_pct": -0.86,
      "trend_label": "REPAIR",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "1.84",
      "target_1": "2.28",
      "target_2": "2.53",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "추세 회복",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    },
    {
      "ticker": "JEPI",
      "price": 55.52,
      "prev_close": 55.71,
      "day_change_pct": -0.34,
      "sma20": 55.63,
      "sma50": 55.98,
      "sma200": 55.33,
      "rsi14": 50.44,
      "atr14_pct": 0.61,
      "volume_ratio": 0.91,
      "vwap_intraday": 55.73,
      "vwap_gap_pct": -0.38,
      "trend_label": "DAMAGED",
      "timing_label": "EXIT WATCH",
      "action_label": "DEFEND",
      "entry_trigger": "지지선 또는 추세 이탈",
      "stop_or_invalidation": "54.13",
      "target_1": "57.74",
      "target_2": "59.96",
      "notes": "추세 회복 전까지 물타기 금지.",
      "trend_label_ko": "추세 손상",
      "timing_label_ko": "이탈/청산 감시",
      "action_label_ko": "방어"
    },
    {
      "ticker": "SCHD",
      "price": 32.3,
      "prev_close": 32.59,
      "day_change_pct": -0.89,
      "sma20": 32.19,
      "sma50": 31.49,
      "sma200": 28.89,
      "rsi14": 61.07,
      "atr14_pct": 1.06,
      "volume_ratio": 1.33,
      "vwap_intraday": 32.5,
      "vwap_gap_pct": -0.61,
      "trend_label": "UPTREND",
      "timing_label": "NO EDGE",
      "action_label": "WAIT",
      "entry_trigger": "명확한 트리거 없음",
      "stop_or_invalidation": "31.49",
      "target_1": "33.59",
      "target_2": "34.88",
      "notes": "현금도 포지션입니다.",
      "trend_label_ko": "상승 추세",
      "timing_label_ko": "우위 없음",
      "action_label_ko": "대기"
    }
  ]
}