Files
Bithumb/data/mtf/mtf_rules_v3.json
dsyoon b7c4ec0de5 feat: MTF·인과 전략 파이프라인 및 docs 단계별 폴더 재구성
0~3단계 산출물을 docs/0_ground_truth~3_causal로 정리하고, sim 초기 40만원·총평가 구간별 매수 상한을 적용한다. MTF 상관 분석, composite+MTF, 워크포워드 인과 sim과 2·3단계 리포트를 추가·재생성한다.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 19:30:16 +09:00

285 lines
7.3 KiB
JSON

{
"version": "v1",
"min_rules_pass": 2,
"min_cohens_d": 1.2,
"max_rules_per_type": 4,
"source_report": "2026-06-10 09:55:32",
"rules_by_type": {
"swing_low": [
{
"signal_type": "swing_low",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "close_vs_ema60_pct",
"operator": "<=",
"threshold": -1.0797,
"cohens_d": -3.3693,
"positive_mean": -2.1584,
"negative_mean": -0.001
},
{
"signal_type": "swing_low",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "close_vs_ema60_pct",
"operator": "<=",
"threshold": -0.8197,
"cohens_d": -3.3402,
"positive_mean": -1.6348,
"negative_mean": -0.0046
},
{
"signal_type": "swing_low",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "ema60_slope_5_pct",
"operator": "<=",
"threshold": -0.1292,
"cohens_d": -3.2206,
"positive_mean": -0.2577,
"negative_mean": -0.0007
},
{
"signal_type": "swing_low",
"timeframe_label": "10분",
"interval_min": 10,
"feature": "close_vs_ema60_pct",
"operator": "<=",
"threshold": -1.2707,
"cohens_d": -3.0885,
"positive_mean": -2.5485,
"negative_mean": 0.0071
}
],
"pullback": [
{
"signal_type": "pullback",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "rsi14",
"operator": "<=",
"threshold": 40.1582,
"cohens_d": -1.7046,
"positive_mean": 30.2127,
"negative_mean": 50.1037
},
{
"signal_type": "pullback",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "rsi14",
"operator": "<=",
"threshold": 39.9309,
"cohens_d": -1.6721,
"positive_mean": 29.8693,
"negative_mean": 49.9925
},
{
"signal_type": "pullback",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "close_vs_ema60_pct",
"operator": "<=",
"threshold": -0.3053,
"cohens_d": -1.5914,
"positive_mean": -0.606,
"negative_mean": -0.0046
},
{
"signal_type": "pullback",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "bb_position",
"operator": "<=",
"threshold": 0.2575,
"cohens_d": -1.5293,
"positive_mean": 0.0128,
"negative_mean": 0.5021
}
],
"breakout": [
{
"signal_type": "breakout",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "rsi14",
"operator": ">=",
"threshold": 61.5524,
"cohens_d": 1.9172,
"positive_mean": 73.1124,
"negative_mean": 49.9925
},
{
"signal_type": "breakout",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "bb_position",
"operator": ">=",
"threshold": 0.8015,
"cohens_d": 1.8993,
"positive_mean": 1.108,
"negative_mean": 0.495
},
{
"signal_type": "breakout",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "bb_position",
"operator": ">=",
"threshold": 0.7662,
"cohens_d": 1.6419,
"positive_mean": 1.0303,
"negative_mean": 0.5021
},
{
"signal_type": "breakout",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "rsi14",
"operator": ">=",
"threshold": 59.2898,
"cohens_d": 1.576,
"positive_mean": 68.4758,
"negative_mean": 50.1037
}
],
"div_bull": [
{
"signal_type": "div_bull",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "close_vs_ema60_pct",
"operator": "<=",
"threshold": -0.3864,
"cohens_d": -1.5935,
"positive_mean": -0.7718,
"negative_mean": -0.001
},
{
"signal_type": "div_bull",
"timeframe_label": "15분",
"interval_min": 15,
"feature": "rsi14",
"operator": "<=",
"threshold": 41.3649,
"cohens_d": -1.5801,
"positive_mean": 32.6455,
"negative_mean": 50.0843
},
{
"signal_type": "div_bull",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "rsi14",
"operator": "<=",
"threshold": 40.9304,
"cohens_d": -1.5709,
"positive_mean": 31.757,
"negative_mean": 50.1037
},
{
"signal_type": "div_bull",
"timeframe_label": "10분",
"interval_min": 10,
"feature": "rsi14",
"operator": "<=",
"threshold": 41.3839,
"cohens_d": -1.5395,
"positive_mean": 32.6749,
"negative_mean": 50.0929
}
],
"swing_high": [
{
"signal_type": "swing_high",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "close_vs_ema60_pct",
"operator": ">=",
"threshold": 0.5705,
"cohens_d": 2.6826,
"positive_mean": 1.1456,
"negative_mean": -0.0046
},
{
"signal_type": "swing_high",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "close_vs_ema60_pct",
"operator": ">=",
"threshold": 0.7137,
"cohens_d": 2.509,
"positive_mean": 1.4283,
"negative_mean": -0.001
},
{
"signal_type": "swing_high",
"timeframe_label": "3분",
"interval_min": 3,
"feature": "ema60_slope_5_pct",
"operator": ">=",
"threshold": 0.079,
"cohens_d": 2.0795,
"positive_mean": 0.1588,
"negative_mean": -0.0007
},
{
"signal_type": "swing_high",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "rsi14",
"operator": ">=",
"threshold": 62.1777,
"cohens_d": 2.0767,
"positive_mean": 74.2517,
"negative_mean": 50.1037
}
],
"div_bear": [
{
"signal_type": "div_bear",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "rsi14",
"operator": ">=",
"threshold": 59.1545,
"cohens_d": 1.5543,
"positive_mean": 68.2053,
"negative_mean": 50.1037
},
{
"signal_type": "div_bear",
"timeframe_label": "5분",
"interval_min": 5,
"feature": "close_vs_ema60_pct",
"operator": ">=",
"threshold": 0.3582,
"cohens_d": 1.4906,
"positive_mean": 0.7174,
"negative_mean": -0.001
},
{
"signal_type": "div_bear",
"timeframe_label": "10분",
"interval_min": 10,
"feature": "rsi14",
"operator": ">=",
"threshold": 58.486,
"cohens_d": 1.4868,
"positive_mean": 66.8792,
"negative_mean": 50.0929
},
{
"signal_type": "div_bear",
"timeframe_label": "15분",
"interval_min": 15,
"feature": "rsi14",
"operator": ">=",
"threshold": 58.1961,
"cohens_d": 1.475,
"positive_mean": 66.3079,
"negative_mean": 50.0843
}
]
}
}