feat: 2단계 인과 기법 39종 확장 및 레거시 폴더 정리

1단계 GT 타점 재현을 위해 스윙·눌림목·돌파·다이버전스·추세·모멘텀 등
단일 33종과 복합 6종 기법을 추가하고, zero-price·Stochastic 오류를 방어한다.
docs/02_ground_truth·04_causal 중복 GT JSON을 제거해 0~3단계 폴더 구조를 정리한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dsyoon
2026-06-11 08:48:09 +09:00
parent b7c4ec0de5
commit c164dfbc84
48 changed files with 293911 additions and 139651 deletions

View File

@@ -1,5 +1,5 @@
{
"generated_at": "2026-06-10 15:21:34",
"generated_at": "2026-06-11 01:01:25",
"symbol": "BTC",
"gt": {
"leg_count": 920,
@@ -8,66 +8,6 @@
"lookback_days": 3447
},
"ranking": [
{
"technique_id": "minor_swing",
"technique_name": "소형 스윙 하이브리드",
"category": "hybrid",
"causal": true,
"leg_count": 3055,
"tech_return_pct": 1.3567658215386816e+70,
"buy_recall": 0.8834,
"sell_recall": 0.9518,
"leg_recall": 0.737,
"return_capture_ratio": 2.5225885401380273e+26,
"score": 0.8668,
"avg_buy_offset": 42.6,
"avg_sell_offset": 11.0
},
{
"technique_id": "local_extrema",
"technique_name": "국소 극값",
"category": "swing",
"causal": true,
"leg_count": 2261,
"tech_return_pct": 6.962991401964204e+49,
"buy_recall": 0.8684,
"sell_recall": 0.9084,
"leg_recall": 0.7098,
"return_capture_ratio": 1294605.306,
"score": 0.8426,
"avg_buy_offset": 74.9,
"avg_sell_offset": 62.9
},
{
"technique_id": "zigzag_causal",
"technique_name": "인과 ZigZag",
"category": "swing",
"causal": true,
"leg_count": 944,
"tech_return_pct": 2.6972350332943655e+44,
"buy_recall": 0.6033,
"sell_recall": 0.8687,
"leg_recall": 0.7478,
"return_capture_ratio": 5.0149,
"score": 0.7797,
"avg_buy_offset": 46.0,
"avg_sell_offset": 0.9
},
{
"technique_id": "bb_reversal",
"technique_name": "볼린저 역추세",
"category": "indicator",
"causal": true,
"leg_count": 2060,
"tech_return_pct": 8.401219284705273e+31,
"buy_recall": 1.0,
"sell_recall": 1.0,
"leg_recall": 0.6348,
"return_capture_ratio": 0.0,
"score": 0.7222,
"avg_buy_offset": 8.9,
"avg_sell_offset": 7.7
},
{
"technique_id": "donchian",
"technique_name": "돈치안 채널",
@@ -98,50 +38,20 @@
"avg_buy_offset": 8.7,
"avg_sell_offset": 10.1
},
{
"technique_id": "rsi_swing",
"technique_name": "RSI 스윙",
"category": "indicator",
"causal": true,
"leg_count": 1467,
"tech_return_pct": 1.694318577273707e+25,
"buy_recall": 0.9883,
"sell_recall": 0.9688,
"leg_recall": 0.5207,
"return_capture_ratio": 0.0,
"score": 0.6715,
"avg_buy_offset": 53.1,
"avg_sell_offset": 59.0
},
{
"technique_id": "ma_cross",
"technique_name": "EMA 크로스",
"category": "indicator",
"causal": true,
"leg_count": 780,
"tech_return_pct": 5.108854079133327e+17,
"buy_recall": 0.9466,
"sell_recall": 0.9273,
"leg_recall": 0.3065,
"return_capture_ratio": 0.0,
"score": 0.5757,
"avg_buy_offset": 65.9,
"avg_sell_offset": 78.0
},
{
"technique_id": "composite_v3",
"technique_name": "v3 통합 스코어링",
"category": "composite",
"causal": true,
"leg_count": 529,
"tech_return_pct": 1012809657458066.8,
"buy_recall": 0.9114,
"sell_recall": 0.8499,
"leg_recall": 0.187,
"leg_count": 638,
"tech_return_pct": 2.8885116603545724e+16,
"buy_recall": 0.9752,
"sell_recall": 0.8933,
"leg_recall": 0.2304,
"return_capture_ratio": 0.0,
"score": 0.5058,
"avg_buy_offset": 123.0,
"avg_sell_offset": 146.9
"score": 0.5478,
"avg_buy_offset": 71.3,
"avg_sell_offset": 118.9
}
]
}