Add honest Torch validation gate
This commit is contained in:
@@ -50,25 +50,25 @@
|
||||
},
|
||||
"recommended": {
|
||||
"edge": 0.1,
|
||||
"probability": 0.57,
|
||||
"probability": 0.56,
|
||||
"confidence": 0.4,
|
||||
"trades": 38,
|
||||
"wins": 20,
|
||||
"win_rate": 0.5263157894736842,
|
||||
"total_net_percent": 10.8553482857082,
|
||||
"average_net_percent": 0.28566706015021576,
|
||||
"max_drawdown_percent": 3.0444999196004408,
|
||||
"profit_factor": 2.166318971301155,
|
||||
"score": 0.3782149184267729
|
||||
"trades": 42,
|
||||
"wins": 23,
|
||||
"win_rate": 0.5476190476190477,
|
||||
"total_net_percent": 11.314072641951345,
|
||||
"average_net_percent": 0.2693826819512225,
|
||||
"max_drawdown_percent": 3.2186862081818535,
|
||||
"profit_factor": 2.134577631464616,
|
||||
"score": 0.364437947239799
|
||||
},
|
||||
"full_replay": {
|
||||
"trades": 9,
|
||||
"wins": 8,
|
||||
"win_rate": 0.8889,
|
||||
"total_net_percent": 18.8986,
|
||||
"avg_net_percent": 2.0998,
|
||||
"max_drawdown_percent": 0.2996,
|
||||
"profit_factor": 64.0689,
|
||||
"total_net_percent": 18.647,
|
||||
"avg_net_percent": 2.0719,
|
||||
"max_drawdown_percent": 0.6796,
|
||||
"profit_factor": 28.4362,
|
||||
"trades_detail": [
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
@@ -77,102 +77,129 @@
|
||||
"net_percent": 0.2649,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 8,
|
||||
"entry_probability": 0.5763,
|
||||
"entry_expected_percent": 0.3499
|
||||
"entry_probability": 0.5772,
|
||||
"entry_expected_percent": 0.3525
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1779930000000,
|
||||
"entry_timestamp": 1779926400000,
|
||||
"exit_timestamp": 1779987600000,
|
||||
"net_percent": -0.2996,
|
||||
"net_percent": -0.6796,
|
||||
"reason": "forecast_negative",
|
||||
"held_bars": 16,
|
||||
"entry_probability": 0.5855,
|
||||
"entry_expected_percent": 0.1752
|
||||
"held_bars": 17,
|
||||
"entry_probability": 0.5716,
|
||||
"entry_expected_percent": 0.1155
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1780297200000,
|
||||
"exit_timestamp": 1780340400000,
|
||||
"net_percent": 1.163,
|
||||
"exit_timestamp": 1780344000000,
|
||||
"net_percent": 1.2211,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 12,
|
||||
"entry_probability": 0.578,
|
||||
"entry_expected_percent": 0.2182
|
||||
"held_bars": 13,
|
||||
"entry_probability": 0.5793,
|
||||
"entry_expected_percent": 0.2214
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1780776000000,
|
||||
"exit_timestamp": 1780794000000,
|
||||
"net_percent": 1.8208,
|
||||
"entry_timestamp": 1780768800000,
|
||||
"exit_timestamp": 1780797600000,
|
||||
"net_percent": 2.0598,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 5,
|
||||
"entry_probability": 0.5736,
|
||||
"entry_expected_percent": 0.6405
|
||||
"held_bars": 8,
|
||||
"entry_probability": 0.5637,
|
||||
"entry_expected_percent": 0.5713
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1781136000000,
|
||||
"entry_timestamp": 1781132400000,
|
||||
"exit_timestamp": 1781197200000,
|
||||
"net_percent": 3.4248,
|
||||
"net_percent": 3.8719,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 17,
|
||||
"entry_probability": 0.5767,
|
||||
"entry_expected_percent": 0.282
|
||||
"held_bars": 18,
|
||||
"entry_probability": 0.5691,
|
||||
"entry_expected_percent": 0.2522
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1781434800000,
|
||||
"exit_timestamp": 1781521200000,
|
||||
"net_percent": 5.1663,
|
||||
"entry_timestamp": 1781431200000,
|
||||
"exit_timestamp": 1781517600000,
|
||||
"net_percent": 3.6087,
|
||||
"reason": "max_hold",
|
||||
"held_bars": 24,
|
||||
"entry_probability": 0.5737,
|
||||
"entry_expected_percent": 0.2332
|
||||
"entry_probability": 0.5636,
|
||||
"entry_expected_percent": 0.2261
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1781524800000,
|
||||
"entry_timestamp": 1781521200000,
|
||||
"exit_timestamp": 1781535600000,
|
||||
"net_percent": 3.5713,
|
||||
"net_percent": 4.3178,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 3,
|
||||
"entry_probability": 0.689,
|
||||
"entry_expected_percent": 0.4931
|
||||
"held_bars": 4,
|
||||
"entry_probability": 0.7034,
|
||||
"entry_expected_percent": 0.5491
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1781586000000,
|
||||
"entry_timestamp": 1781582400000,
|
||||
"exit_timestamp": 1781596800000,
|
||||
"net_percent": 2.0739,
|
||||
"net_percent": 2.1644,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 3,
|
||||
"entry_probability": 0.5721,
|
||||
"entry_expected_percent": 0.1205
|
||||
"held_bars": 4,
|
||||
"entry_probability": 0.5705,
|
||||
"entry_expected_percent": 0.1058
|
||||
},
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"entry_timestamp": 1781863200000,
|
||||
"exit_timestamp": 1781931600000,
|
||||
"net_percent": 1.7132,
|
||||
"exit_timestamp": 1781935200000,
|
||||
"net_percent": 1.8181,
|
||||
"reason": "forecast_weak_profit_lock",
|
||||
"held_bars": 19,
|
||||
"entry_probability": 0.5705,
|
||||
"entry_expected_percent": 0.1482
|
||||
"held_bars": 20,
|
||||
"entry_probability": 0.5711,
|
||||
"entry_expected_percent": 0.1502
|
||||
}
|
||||
],
|
||||
"symbol_breakdown": [
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"trades": 9,
|
||||
"wins": 8,
|
||||
"win_rate": 0.8889,
|
||||
"total_net_percent": 18.6471,
|
||||
"avg_net_percent": 2.0719,
|
||||
"max_drawdown_percent": 0.6796,
|
||||
"profit_factor": 28.4383,
|
||||
"trade_share": 1.0
|
||||
}
|
||||
]
|
||||
},
|
||||
"walk_forward": {
|
||||
"summary": {
|
||||
"trades": 17,
|
||||
"wins": 8,
|
||||
"win_rate": 0.4706,
|
||||
"total_net_percent": 10.3038,
|
||||
"avg_net_percent": 0.6061,
|
||||
"max_drawdown_percent": 1.5511,
|
||||
"profit_factor": 3.6814,
|
||||
"status": "ok"
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"status": "warn"
|
||||
},
|
||||
"symbol_breakdown": [
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"trade_share": 1.0
|
||||
}
|
||||
],
|
||||
"folds_with_trades": 1,
|
||||
"folds": [
|
||||
{
|
||||
"fold": 1,
|
||||
@@ -180,16 +207,16 @@
|
||||
"test_records": 720,
|
||||
"thresholds": {
|
||||
"edge": 0.1,
|
||||
"probability": 0.6,
|
||||
"probability": 0.62,
|
||||
"confidence": 0.4,
|
||||
"trades": 6,
|
||||
"wins": 3,
|
||||
"win_rate": 0.5,
|
||||
"total_net_percent": -0.04776569264114405,
|
||||
"average_net_percent": -0.00796094877352401,
|
||||
"max_drawdown_percent": 1.812991648733242,
|
||||
"profit_factor": 0.9736536609672094,
|
||||
"score": -0.04306718362513842
|
||||
"trades": 3,
|
||||
"wins": 1,
|
||||
"win_rate": 0.3333333333333333,
|
||||
"total_net_percent": -0.5232258119866717,
|
||||
"average_net_percent": -0.17440860399555724,
|
||||
"max_drawdown_percent": 1.4887951136316468,
|
||||
"profit_factor": 0.6485575434820195,
|
||||
"score": -0.12638320925319477
|
||||
},
|
||||
"test": {
|
||||
"trades": 0,
|
||||
@@ -198,7 +225,8 @@
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0
|
||||
"profit_factor": 0.0,
|
||||
"symbol_breakdown": []
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -207,25 +235,38 @@
|
||||
"test_records": 720,
|
||||
"thresholds": {
|
||||
"edge": 0.1,
|
||||
"probability": 0.57,
|
||||
"probability": 0.56,
|
||||
"confidence": 0.4,
|
||||
"trades": 14,
|
||||
"trades": 17,
|
||||
"wins": 9,
|
||||
"win_rate": 0.6428571428571429,
|
||||
"total_net_percent": 0.4316747127586451,
|
||||
"average_net_percent": 0.030833908054188935,
|
||||
"max_drawdown_percent": 3.0444999196004408,
|
||||
"profit_factor": 1.0927846710457836,
|
||||
"score": -0.02831168312815889
|
||||
"win_rate": 0.5294117647058824,
|
||||
"total_net_percent": 0.05666907902904805,
|
||||
"average_net_percent": 0.0033334752370028265,
|
||||
"max_drawdown_percent": 3.2186862081818535,
|
||||
"profit_factor": 1.0111053980425537,
|
||||
"score": -0.07120060423478176
|
||||
},
|
||||
"test": {
|
||||
"trades": 17,
|
||||
"wins": 8,
|
||||
"win_rate": 0.4706,
|
||||
"total_net_percent": 10.3038,
|
||||
"avg_net_percent": 0.6061,
|
||||
"max_drawdown_percent": 1.5511,
|
||||
"profit_factor": 3.6814
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"symbol_breakdown": [
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"trade_share": 1.0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -252,74 +293,215 @@
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0
|
||||
"profit_factor": 0.0,
|
||||
"symbol_breakdown": []
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"benchmark": {
|
||||
"name": "trend_macd_baseline",
|
||||
"summary": {
|
||||
"trades": 0,
|
||||
"wins": 0,
|
||||
"win_rate": 0.0,
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"status": "no_trades"
|
||||
},
|
||||
"symbol_breakdown": [],
|
||||
"folds_with_trades": 0,
|
||||
"folds": [
|
||||
{
|
||||
"fold": 1,
|
||||
"test_records": 720,
|
||||
"test": {
|
||||
"trades": 0,
|
||||
"wins": 0,
|
||||
"win_rate": 0.0,
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"symbol_breakdown": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"fold": 2,
|
||||
"test_records": 720,
|
||||
"test": {
|
||||
"trades": 0,
|
||||
"wins": 0,
|
||||
"win_rate": 0.0,
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"symbol_breakdown": []
|
||||
}
|
||||
},
|
||||
{
|
||||
"fold": 3,
|
||||
"test_records": 720,
|
||||
"test": {
|
||||
"trades": 0,
|
||||
"wins": 0,
|
||||
"win_rate": 0.0,
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"symbol_breakdown": []
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"validation": {
|
||||
"status": "fail",
|
||||
"passed": false,
|
||||
"checks": [
|
||||
{
|
||||
"name": "oos_trades",
|
||||
"value": 4,
|
||||
"required": 30,
|
||||
"passed": false
|
||||
},
|
||||
{
|
||||
"name": "oos_symbols",
|
||||
"value": 1,
|
||||
"required": 2,
|
||||
"passed": false
|
||||
},
|
||||
{
|
||||
"name": "max_symbol_share",
|
||||
"value": 1.0,
|
||||
"required": 0.75,
|
||||
"passed": false
|
||||
},
|
||||
{
|
||||
"name": "folds_with_trades",
|
||||
"value": 1,
|
||||
"required": 2,
|
||||
"passed": false
|
||||
},
|
||||
{
|
||||
"name": "oos_avg_net_positive",
|
||||
"value": 3.4907,
|
||||
"required": "> 0",
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "oos_profit_factor",
|
||||
"value": 999.0,
|
||||
"required": 1.1,
|
||||
"passed": true
|
||||
},
|
||||
{
|
||||
"name": "beats_benchmark_total",
|
||||
"value": 13.9628,
|
||||
"required": 0.0,
|
||||
"passed": true
|
||||
}
|
||||
],
|
||||
"oos_summary": {
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"status": "warn"
|
||||
},
|
||||
"benchmark_summary": {
|
||||
"trades": 0,
|
||||
"wins": 0,
|
||||
"win_rate": 0.0,
|
||||
"total_net_percent": 0,
|
||||
"avg_net_percent": 0.0,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 0.0,
|
||||
"status": "no_trades"
|
||||
},
|
||||
"symbol_breakdown": [
|
||||
{
|
||||
"symbol": "ETHUSDT",
|
||||
"trades": 4,
|
||||
"wins": 4,
|
||||
"win_rate": 1.0,
|
||||
"total_net_percent": 13.9628,
|
||||
"avg_net_percent": 3.4907,
|
||||
"max_drawdown_percent": 0.0,
|
||||
"profit_factor": 999.0,
|
||||
"trade_share": 1.0
|
||||
}
|
||||
]
|
||||
},
|
||||
"probability_calibration": {
|
||||
"samples": 2880,
|
||||
"buckets": [
|
||||
{
|
||||
"bucket": "0.30-0.35",
|
||||
"samples": 38,
|
||||
"avg_probability": 0.3361,
|
||||
"actual_win_rate": 0.1053,
|
||||
"avg_future_net_percent": -0.6575
|
||||
"samples": 37,
|
||||
"avg_probability": 0.3359,
|
||||
"actual_win_rate": 0.1081,
|
||||
"avg_future_net_percent": -0.6726
|
||||
},
|
||||
{
|
||||
"bucket": "0.35-0.40",
|
||||
"samples": 406,
|
||||
"avg_probability": 0.3838,
|
||||
"actual_win_rate": 0.2192,
|
||||
"avg_future_net_percent": -0.641
|
||||
"samples": 392,
|
||||
"avg_probability": 0.3839,
|
||||
"actual_win_rate": 0.227,
|
||||
"avg_future_net_percent": -0.6306
|
||||
},
|
||||
{
|
||||
"bucket": "0.40-0.45",
|
||||
"samples": 1043,
|
||||
"avg_probability": 0.4276,
|
||||
"actual_win_rate": 0.2809,
|
||||
"avg_future_net_percent": -0.4529
|
||||
"samples": 1038,
|
||||
"avg_probability": 0.4277,
|
||||
"actual_win_rate": 0.29,
|
||||
"avg_future_net_percent": -0.4258
|
||||
},
|
||||
{
|
||||
"bucket": "0.45-0.50",
|
||||
"samples": 918,
|
||||
"avg_probability": 0.4744,
|
||||
"actual_win_rate": 0.3301,
|
||||
"avg_future_net_percent": -0.3166
|
||||
"samples": 922,
|
||||
"avg_probability": 0.4742,
|
||||
"actual_win_rate": 0.3308,
|
||||
"avg_future_net_percent": -0.3125
|
||||
},
|
||||
{
|
||||
"bucket": "0.50-0.55",
|
||||
"samples": 312,
|
||||
"avg_probability": 0.5195,
|
||||
"actual_win_rate": 0.3846,
|
||||
"avg_future_net_percent": -0.1107
|
||||
"samples": 327,
|
||||
"avg_probability": 0.5196,
|
||||
"actual_win_rate": 0.3914,
|
||||
"avg_future_net_percent": -0.0857
|
||||
},
|
||||
{
|
||||
"bucket": "0.55-0.60",
|
||||
"samples": 108,
|
||||
"avg_probability": 0.5753,
|
||||
"actual_win_rate": 0.4259,
|
||||
"avg_future_net_percent": 0.0115
|
||||
"samples": 107,
|
||||
"avg_probability": 0.5751,
|
||||
"actual_win_rate": 0.4299,
|
||||
"avg_future_net_percent": 0.0174
|
||||
},
|
||||
{
|
||||
"bucket": "0.60-0.65",
|
||||
"samples": 42,
|
||||
"samples": 44,
|
||||
"avg_probability": 0.6136,
|
||||
"actual_win_rate": 0.4762,
|
||||
"avg_future_net_percent": 0.0003
|
||||
"actual_win_rate": 0.4545,
|
||||
"avg_future_net_percent": -0.0248
|
||||
},
|
||||
{
|
||||
"bucket": "0.65-0.70",
|
||||
"samples": 7,
|
||||
"avg_probability": 0.666,
|
||||
"avg_probability": 0.6664,
|
||||
"actual_win_rate": 0.2857,
|
||||
"avg_future_net_percent": 0.538
|
||||
},
|
||||
{
|
||||
"bucket": "0.70-0.75",
|
||||
"samples": 6,
|
||||
"avg_probability": 0.7106,
|
||||
"avg_probability": 0.7107,
|
||||
"actual_win_rate": 0.8333,
|
||||
"avg_future_net_percent": 2.1268
|
||||
}
|
||||
@@ -694,27 +876,27 @@
|
||||
"edge": 0.1,
|
||||
"probability": 0.6,
|
||||
"confidence": 0.4,
|
||||
"trades": 16,
|
||||
"trades": 18,
|
||||
"wins": 9,
|
||||
"win_rate": 0.5625,
|
||||
"total_net_percent": 7.917141995065846,
|
||||
"average_net_percent": 0.49482137469161536,
|
||||
"max_drawdown_percent": 1.812991648733242,
|
||||
"profit_factor": 3.629214989861449,
|
||||
"score": 0.5816887551556057
|
||||
"win_rate": 0.5,
|
||||
"total_net_percent": 6.354067302186417,
|
||||
"average_net_percent": 0.3530037390103565,
|
||||
"max_drawdown_percent": 2.512166737458932,
|
||||
"profit_factor": 2.5447559325558493,
|
||||
"score": 0.3929497464193848
|
||||
},
|
||||
{
|
||||
"edge": 0.08,
|
||||
"probability": 0.6,
|
||||
"confidence": 0.4,
|
||||
"trades": 16,
|
||||
"trades": 18,
|
||||
"wins": 9,
|
||||
"win_rate": 0.5625,
|
||||
"total_net_percent": 7.917141995065846,
|
||||
"average_net_percent": 0.49482137469161536,
|
||||
"max_drawdown_percent": 1.812991648733242,
|
||||
"profit_factor": 3.629214989861449,
|
||||
"score": 0.5816887551556057
|
||||
"win_rate": 0.5,
|
||||
"total_net_percent": 6.354067302186417,
|
||||
"average_net_percent": 0.3530037390103565,
|
||||
"max_drawdown_percent": 2.512166737458932,
|
||||
"profit_factor": 2.5447559325558493,
|
||||
"score": 0.3929497464193848
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user