{
  "generated_at": "2026-06-12 13:44:24",
  "symbol": "BTC",
  "description": "2단계 인과 sim — 1단계와 동일 거래 기간·초기 자본. 1단계는 사후 GT 타점, 2단계는 인과 기법 신호로 체결.",
  "sim_period_from": "2023-06-12 16:48:00",
  "sim_period_to": "2026-06-11 16:48:00",
  "sim_lookback_days": 1095,
  "stage1_benchmark_v3": {
    "label": "1단계 GT sim (v3, 사후 최적 타점)",
    "period_from": "2023-06-12 16:48:00",
    "period_to": "2026-06-11 16:48:00",
    "sim_lookback_days": 1095,
    "initial_cash_krw": 200000.0,
    "final_equity_krw": 188507083.0,
    "total_return_pct": 94153.54,
    "buys_executed": 239,
    "sells_executed": 151
  },
  "ranking": [
    {
      "technique_id": "fractal_swing",
      "technique_name": "프랙탈 스윙",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 7560826.36,
      "final_equity_krw": 15121852728.0,
      "buys_executed": 56893,
      "sells_executed": 56892,
      "buys_skipped": 0,
      "sells_skipped": 1,
      "gt_align_score": 0.9136,
      "chart_file": "technique_chart_sim_fractal_swing.html"
    },
    {
      "technique_id": "pivot_swing",
      "technique_name": "피벗 스윙",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 4687495.29,
      "final_equity_krw": 9375190572.0,
      "buys_executed": 12656,
      "sells_executed": 12658,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.911,
      "chart_file": "technique_chart_sim_pivot_swing.html"
    },
    {
      "technique_id": "minor_swing",
      "technique_name": "소형 스윙 하이브리드",
      "category": "hybrid",
      "causal": true,
      "sim_return_pct": 286537.08,
      "final_equity_krw": 573274151.0,
      "buys_executed": 831,
      "sells_executed": 887,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.8636,
      "chart_file": "technique_chart_sim_minor_swing.html"
    },
    {
      "technique_id": "keltner_reversal",
      "technique_name": "Keltner 역추세",
      "category": "volatility",
      "causal": true,
      "sim_return_pct": 203631.72,
      "final_equity_krw": 407463436.0,
      "buys_executed": 26554,
      "sells_executed": 24839,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7228,
      "chart_file": "technique_chart_sim_keltner_reversal.html"
    },
    {
      "technique_id": "atr_channel",
      "technique_name": "ATR 채널",
      "category": "volatility",
      "causal": true,
      "sim_return_pct": 188785.51,
      "final_equity_krw": 377771027.0,
      "buys_executed": 26047,
      "sells_executed": 24068,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7232,
      "chart_file": "technique_chart_sim_atr_channel.html"
    },
    {
      "technique_id": "stochastic_cross",
      "technique_name": "Stochastic 크로스",
      "category": "momentum",
      "causal": true,
      "sim_return_pct": 154933.8,
      "final_equity_krw": 310067605.0,
      "buys_executed": 38214,
      "sells_executed": 40169,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7506,
      "chart_file": "technique_chart_sim_stochastic_cross.html"
    },
    {
      "technique_id": "local_extrema",
      "technique_name": "국소 극값",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 139529.7,
      "final_equity_krw": 279259410.0,
      "buys_executed": 761,
      "sells_executed": 835,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.8394,
      "chart_file": "technique_chart_sim_local_extrema.html"
    },
    {
      "technique_id": "rsi_swing",
      "technique_name": "RSI 스윙",
      "category": "indicator",
      "causal": true,
      "sim_return_pct": 106181.84,
      "final_equity_krw": 212563679.0,
      "buys_executed": 7483,
      "sells_executed": 7087,
      "buys_skipped": 0,
      "sells_skipped": 2,
      "gt_align_score": 0.6685,
      "chart_file": "technique_chart_sim_rsi_swing.html"
    },
    {
      "technique_id": "zigzag_causal",
      "technique_name": "인과 ZigZag",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 92711.14,
      "final_equity_krw": 185622289.0,
      "buys_executed": 97,
      "sells_executed": 97,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7761,
      "chart_file": "technique_chart_sim_zigzag_causal.html"
    },
    {
      "technique_id": "bb_reversal",
      "technique_name": "볼린저 역추세",
      "category": "indicator",
      "causal": true,
      "sim_return_pct": 92487.04,
      "final_equity_krw": 185174086.0,
      "buys_executed": 31433,
      "sells_executed": 27208,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7206,
      "chart_file": "technique_chart_sim_bb_reversal.html"
    },
    {
      "technique_id": "cci_extreme",
      "technique_name": "CCI 극값",
      "category": "momentum",
      "causal": true,
      "sim_return_pct": 68708.04,
      "final_equity_krw": 137616085.0,
      "buys_executed": 15685,
      "sells_executed": 15362,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7128,
      "chart_file": "technique_chart_sim_cci_extreme.html"
    },
    {
      "technique_id": "composite_divergence",
      "technique_name": "다이버전스 복합",
      "category": "composite",
      "causal": true,
      "sim_return_pct": 58652.62,
      "final_equity_krw": 117505239.0,
      "buys_executed": 7998,
      "sells_executed": 8043,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.6633,
      "chart_file": "technique_chart_sim_composite_divergence.html"
    },
    {
      "technique_id": "support_bounce",
      "technique_name": "지지·저항 반등",
      "category": "pullback",
      "causal": true,
      "sim_return_pct": 20608.61,
      "final_equity_krw": 41417222.0,
      "buys_executed": 2559,
      "sells_executed": 2880,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.4684,
      "chart_file": "technique_chart_sim_support_bounce.html"
    },
    {
      "technique_id": "donchian",
      "technique_name": "돈치안 채널",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 2295.97,
      "final_equity_krw": 4791936.0,
      "buys_executed": 4440,
      "sells_executed": 4132,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.7151,
      "chart_file": "technique_chart_sim_donchian.html"
    },
    {
      "technique_id": "rsi_divergence",
      "technique_name": "RSI 다이버전스",
      "category": "divergence",
      "causal": true,
      "sim_return_pct": 2185.63,
      "final_equity_krw": 4571262.0,
      "buys_executed": 1670,
      "sells_executed": 1626,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.4481,
      "chart_file": "technique_chart_sim_rsi_divergence.html"
    },
    {
      "technique_id": "swing_failure",
      "technique_name": "스윙 실패",
      "category": "swing",
      "causal": true,
      "sim_return_pct": 1776.81,
      "final_equity_krw": 3753618.0,
      "buys_executed": 3948,
      "sells_executed": 4000,
      "buys_skipped": 0,
      "sells_skipped": 1,
      "gt_align_score": 0.5685,
      "chart_file": "technique_chart_sim_swing_failure.html"
    },
    {
      "technique_id": "macd_divergence",
      "technique_name": "MACD 다이버전스",
      "category": "divergence",
      "causal": true,
      "sim_return_pct": 1754.55,
      "final_equity_krw": 3709095.0,
      "buys_executed": 2865,
      "sells_executed": 2923,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.5463,
      "chart_file": "technique_chart_sim_macd_divergence.html"
    },
    {
      "technique_id": "volume_spike",
      "technique_name": "거래량 스파이크",
      "category": "volume",
      "causal": true,
      "sim_return_pct": 339.74,
      "final_equity_krw": 879480.0,
      "buys_executed": 214,
      "sells_executed": 254,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.3887,
      "chart_file": "technique_chart_sim_volume_spike.html"
    },
    {
      "technique_id": "roc_reversal",
      "technique_name": "ROC 반전",
      "category": "momentum",
      "causal": true,
      "sim_return_pct": 41.15,
      "final_equity_krw": 282301.0,
      "buys_executed": 3,
      "sells_executed": 6,
      "buys_skipped": 0,
      "sells_skipped": 1,
      "gt_align_score": 0.1288,
      "chart_file": "technique_chart_sim_roc_reversal.html"
    },
    {
      "technique_id": "parabolic_sar",
      "technique_name": "Parabolic SAR",
      "category": "trend",
      "causal": true,
      "sim_return_pct": 0.0,
      "final_equity_krw": 200000.0,
      "buys_executed": 0,
      "sells_executed": 0,
      "buys_skipped": 38840,
      "sells_skipped": 0,
      "gt_align_score": 0.2561,
      "chart_file": "technique_chart_sim_parabolic_sar.html"
    },
    {
      "technique_id": "pivot_points",
      "technique_name": "피벗 포인트",
      "category": "structure",
      "causal": true,
      "sim_return_pct": 0.0,
      "final_equity_krw": 200000.0,
      "buys_executed": 0,
      "sells_executed": 0,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.0022,
      "chart_file": "technique_chart_sim_pivot_points.html"
    },
    {
      "technique_id": "supertrend",
      "technique_name": "Supertrend",
      "category": "trend",
      "causal": true,
      "sim_return_pct": 0.0,
      "final_equity_krw": 200000.0,
      "buys_executed": 0,
      "sells_executed": 0,
      "buys_skipped": 0,
      "sells_skipped": 0,
      "gt_align_score": 0.0,
      "chart_file": "technique_chart_sim_supertrend.html"
    },
    {
      "technique_id": "obv_divergence",
      "technique_name": "OBV 다이버전스",
      "category": "divergence",
      "causal": true,
      "sim_return_pct": -30.87,
      "final_equity_krw": 138263.0,
      "buys_executed": 1286,
      "sells_executed": 1632,
      "buys_skipped": 0,
      "sells_skipped": 5,
      "gt_align_score": 0.3978,
      "chart_file": "technique_chart_sim_obv_divergence.html"
    },
    {
      "technique_id": "composite_full",
      "technique_name": "전체 통합 복합",
      "category": "composite",
      "causal": true,
      "sim_return_pct": -65.52,
      "final_equity_krw": 68964.0,
      "buys_executed": 630,
      "sells_executed": 198,
      "buys_skipped": 23,
      "sells_skipped": 1,
      "gt_align_score": 0.2565,
      "chart_file": "technique_chart_sim_composite_full.html"
    },
    {
      "technique_id": "adx_trend",
      "technique_name": "ADX 추세",
      "category": "trend",
      "causal": true,
      "sim_return_pct": -95.77,
      "final_equity_krw": 8461.0,
      "buys_executed": 13820,
      "sells_executed": 13615,
      "buys_skipped": 1550,
      "sells_skipped": 1482,
      "gt_align_score": 0.6906,
      "chart_file": "technique_chart_sim_adx_trend.html"
    },
    {
      "technique_id": "bb_squeeze_breakout",
      "technique_name": "BB 스퀴즈 돌파",
      "category": "breakout",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 2699,
      "sells_executed": 2772,
      "buys_skipped": 5185,
      "sells_skipped": 5735,
      "gt_align_score": 0.591,
      "chart_file": "technique_chart_sim_bb_squeeze_breakout.html"
    },
    {
      "technique_id": "composite_breakout",
      "technique_name": "돌파 복합",
      "category": "composite",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4998.0,
      "buys_executed": 1721,
      "sells_executed": 1630,
      "buys_skipped": 14446,
      "sells_skipped": 14450,
      "gt_align_score": 0.6502,
      "chart_file": "technique_chart_sim_composite_breakout.html"
    },
    {
      "technique_id": "composite_pullback",
      "technique_name": "눌림목 복합",
      "category": "composite",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4998.0,
      "buys_executed": 2071,
      "sells_executed": 1872,
      "buys_skipped": 9345,
      "sells_skipped": 8300,
      "gt_align_score": 0.5961,
      "chart_file": "technique_chart_sim_composite_pullback.html"
    },
    {
      "technique_id": "composite_swing",
      "technique_name": "스윙 복합",
      "category": "composite",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4998.0,
      "buys_executed": 2195,
      "sells_executed": 2122,
      "buys_skipped": 4161,
      "sells_skipped": 4021,
      "gt_align_score": 0.5858,
      "chart_file": "technique_chart_sim_composite_swing.html"
    },
    {
      "technique_id": "composite_v3",
      "technique_name": "v3 통합 스코어링",
      "category": "composite",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 1885,
      "sells_executed": 1237,
      "buys_skipped": 6090,
      "sells_skipped": 3050,
      "gt_align_score": 0.5464,
      "chart_file": "technique_chart_sim_composite_v3.html"
    },
    {
      "technique_id": "ema_pullback",
      "technique_name": "EMA 눌림목",
      "category": "pullback",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 2794,
      "sells_executed": 2747,
      "buys_skipped": 20687,
      "sells_skipped": 20117,
      "gt_align_score": 0.6123,
      "chart_file": "technique_chart_sim_ema_pullback.html"
    },
    {
      "technique_id": "fib_pullback",
      "technique_name": "피보나치 눌림목",
      "category": "pullback",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 5000.0,
      "buys_executed": 1872,
      "sells_executed": 1809,
      "buys_skipped": 2138,
      "sells_skipped": 2226,
      "gt_align_score": 0.5529,
      "chart_file": "technique_chart_sim_fib_pullback.html"
    },
    {
      "technique_id": "ichimoku_trend",
      "technique_name": "일목 추세",
      "category": "trend",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 4670,
      "sells_executed": 4659,
      "buys_skipped": 7751,
      "sells_skipped": 7714,
      "gt_align_score": 0.6713,
      "chart_file": "technique_chart_sim_ichimoku_trend.html"
    },
    {
      "technique_id": "ma_cross",
      "technique_name": "EMA 크로스",
      "category": "indicator",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 4155,
      "sells_executed": 4155,
      "buys_skipped": 777,
      "sells_skipped": 776,
      "gt_align_score": 0.5754,
      "chart_file": "technique_chart_sim_ma_cross.html"
    },
    {
      "technique_id": "macd_cross",
      "technique_name": "MACD 크로스",
      "category": "indicator",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 5423,
      "sells_executed": 5423,
      "buys_skipped": 15127,
      "sells_skipped": 15127,
      "gt_align_score": 0.7065,
      "chart_file": "technique_chart_sim_macd_cross.html"
    },
    {
      "technique_id": "range_breakout",
      "technique_name": "레인지 돌파",
      "category": "breakout",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 876,
      "sells_executed": 771,
      "buys_skipped": 4343,
      "sells_skipped": 4467,
      "gt_align_score": 0.5905,
      "chart_file": "technique_chart_sim_range_breakout.html"
    },
    {
      "technique_id": "support_resistance",
      "technique_name": "구조적 지지·저항",
      "category": "structure",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4999.0,
      "buys_executed": 4001,
      "sells_executed": 4013,
      "buys_skipped": 361016,
      "sells_skipped": 361136,
      "gt_align_score": 0.7472,
      "chart_file": "technique_chart_sim_support_resistance.html"
    },
    {
      "technique_id": "volume_breakout",
      "technique_name": "거래량 돌파",
      "category": "breakout",
      "causal": true,
      "sim_return_pct": -97.5,
      "final_equity_krw": 4998.0,
      "buys_executed": 1224,
      "sells_executed": 1165,
      "buys_skipped": 9637,
      "sells_skipped": 10749,
      "gt_align_score": 0.5744,
      "chart_file": "technique_chart_sim_volume_breakout.html"
    },
    {
      "technique_id": "keltner_breakout",
      "technique_name": "Keltner 돌파",
      "category": "breakout",
      "causal": true,
      "sim_return_pct": -98.66,
      "final_equity_krw": 2689.0,
      "buys_executed": 1854,
      "sells_executed": 1731,
      "buys_skipped": 11991,
      "sells_skipped": 12253,
      "gt_align_score": 0.604,
      "chart_file": "technique_chart_sim_keltner_breakout.html"
    }
  ],
  "meta": {
    "interval_label": "3분",
    "initial_cash_krw": 200000.0,
    "sim_lookback_days": 1095
  },
  "best_technique": {
    "technique_id": "fractal_swing",
    "technique_name": "프랙탈 스윙",
    "category": "swing",
    "causal": true,
    "sim_return_pct": 7560826.36,
    "final_equity_krw": 15121852728.0,
    "buys_executed": 56893,
    "sells_executed": 56892,
    "buys_skipped": 0,
    "sells_skipped": 1,
    "gt_align_score": 0.9136,
    "chart_file": "technique_chart_sim_fractal_swing.html"
  },
  "best_technique_chart": "causal_sim_chart_best_technique.html"
}