hybrid DD tier와 Option C 2차(+1000%) 검증을 추가하고 실거래 사이징을 정합한다.
인과 GT leg 엔진·drawdown tier·train 캘리브레이션, Phase 2 Go/No-Go 및 시뮬 리포트를 반영한다. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
379
docs/04_matching/causal_gt_calibration.json
Normal file
379
docs/04_matching/causal_gt_calibration.json
Normal file
@@ -0,0 +1,379 @@
|
||||
{
|
||||
"symbol": "WLD",
|
||||
"interval_min": 3,
|
||||
"gt_pnl_pct": 4291.35,
|
||||
"grid_combinations": 1728,
|
||||
"valid_combinations": 432,
|
||||
"min_trades": 30,
|
||||
"best": {
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
"best_params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
},
|
||||
"top": [
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 2.5,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.66,
|
||||
"trade_count": 134,
|
||||
"leg_count": 17,
|
||||
"max_drawdown_pct": 0.96,
|
||||
"capture_ratio": 0.0034,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 8,
|
||||
"buy_swing_pct": 3.0,
|
||||
"sell_swing_pct": 4.0,
|
||||
"bb_max": 0.75,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 60,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.35,
|
||||
"trade_count": 133,
|
||||
"leg_count": 18,
|
||||
"max_drawdown_pct": 0.81,
|
||||
"capture_ratio": 0.0033,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 12,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.55,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 90,
|
||||
"use_local_trough": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"pnl_pct": 14.35,
|
||||
"trade_count": 133,
|
||||
"leg_count": 18,
|
||||
"max_drawdown_pct": 0.81,
|
||||
"capture_ratio": 0.0033,
|
||||
"params": {
|
||||
"peak_mode": "local",
|
||||
"pivot_order": 12,
|
||||
"buy_swing_pct": 2.0,
|
||||
"sell_swing_pct": 3.0,
|
||||
"bb_max": 0.65,
|
||||
"min_leg_pct": 8.0,
|
||||
"min_bars_between_legs": 90,
|
||||
"use_local_trough": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"target_pnl_pct": 300.0,
|
||||
"target_met": false
|
||||
}
|
||||
76
docs/04_matching/hybrid_dd_calibration.json
Normal file
76
docs/04_matching/hybrid_dd_calibration.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"best_params": {
|
||||
"dd_large_pct": 5.0,
|
||||
"dd_medium_pct": 2.0
|
||||
},
|
||||
"best_metrics": {
|
||||
"dd_large_pct": 5.0,
|
||||
"dd_medium_pct": 2.0,
|
||||
"train_pnl_pct": 681.36,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1120.97,
|
||||
"max_drawdown_pct": 19.22,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1598
|
||||
},
|
||||
"grid_size": 18,
|
||||
"top5": [
|
||||
{
|
||||
"dd_large_pct": 5.0,
|
||||
"dd_medium_pct": 2.0,
|
||||
"train_pnl_pct": 681.36,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1120.97,
|
||||
"max_drawdown_pct": 19.22,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1598
|
||||
},
|
||||
{
|
||||
"dd_large_pct": 5.0,
|
||||
"dd_medium_pct": 3.0,
|
||||
"train_pnl_pct": 681.36,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1120.97,
|
||||
"max_drawdown_pct": 19.22,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1598
|
||||
},
|
||||
{
|
||||
"dd_large_pct": 5.0,
|
||||
"dd_medium_pct": 4.0,
|
||||
"train_pnl_pct": 681.36,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1120.97,
|
||||
"max_drawdown_pct": 19.22,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1598
|
||||
},
|
||||
{
|
||||
"dd_large_pct": 12.0,
|
||||
"dd_medium_pct": 2.0,
|
||||
"train_pnl_pct": 671.91,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1106.19,
|
||||
"max_drawdown_pct": 15.64,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1531
|
||||
},
|
||||
{
|
||||
"dd_large_pct": 12.0,
|
||||
"dd_medium_pct": 3.0,
|
||||
"train_pnl_pct": 671.91,
|
||||
"holdout_pnl_pct": 62.36,
|
||||
"full_pnl_pct": 1106.19,
|
||||
"max_drawdown_pct": 15.64,
|
||||
"wf_positive_months": 11,
|
||||
"wf_months": 12,
|
||||
"large_tier_buys": 1531
|
||||
}
|
||||
],
|
||||
"holdout_start": "2026-04-11 05:33:00"
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user