Files
TradeBot/runtime/torch_threshold_calibration.json
T
2026-06-25 06:19:14 +03:00

903 lines
24 KiB
JSON

{
"artifact": {
"version": 4,
"created_at": "2026-06-23T19:07:54.434411+00:00",
"feature_count": 55,
"target_horizon": 3,
"target_horizons": [
1,
3,
6,
12
],
"target_transform": "net_return_over_volatility",
"symbols": {
"BTCUSDT": {
"model": "torch_gru",
"lookback": 64,
"hidden_size": 96,
"skill": 0.15903346077183758,
"directional_accuracy": 0.725
},
"ETHUSDT": {
"model": "torch_gru",
"lookback": 64,
"hidden_size": 64,
"skill": 0.09273757527902074,
"directional_accuracy": 0.6916666666666667
},
"SOLUSDT": {
"model": "torch_gru",
"lookback": 64,
"hidden_size": 96,
"skill": 0.03400498728351002,
"directional_accuracy": 0.6416666666666667
},
"LTCUSDT": {
"model": "torch_gru",
"lookback": 64,
"hidden_size": 96,
"skill": 0.11954702418314447,
"directional_accuracy": 0.6583333333333333
}
}
},
"records_by_symbol": {
"BTCUSDT": 720,
"ETHUSDT": 720,
"SOLUSDT": 720,
"LTCUSDT": 720
},
"recommended": {
"edge": 0.1,
"probability": 0.56,
"confidence": 0.4,
"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.647,
"avg_net_percent": 2.0719,
"max_drawdown_percent": 0.6796,
"profit_factor": 28.4362,
"trades_detail": [
{
"symbol": "ETHUSDT",
"entry_timestamp": 1779832800000,
"exit_timestamp": 1779861600000,
"net_percent": 0.2649,
"reason": "forecast_weak_profit_lock",
"held_bars": 8,
"entry_probability": 0.5772,
"entry_expected_percent": 0.3525
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1779926400000,
"exit_timestamp": 1779987600000,
"net_percent": -0.6796,
"reason": "forecast_negative",
"held_bars": 17,
"entry_probability": 0.5716,
"entry_expected_percent": 0.1155
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1780297200000,
"exit_timestamp": 1780344000000,
"net_percent": 1.2211,
"reason": "forecast_weak_profit_lock",
"held_bars": 13,
"entry_probability": 0.5793,
"entry_expected_percent": 0.2214
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1780768800000,
"exit_timestamp": 1780797600000,
"net_percent": 2.0598,
"reason": "forecast_weak_profit_lock",
"held_bars": 8,
"entry_probability": 0.5637,
"entry_expected_percent": 0.5713
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1781132400000,
"exit_timestamp": 1781197200000,
"net_percent": 3.8719,
"reason": "forecast_weak_profit_lock",
"held_bars": 18,
"entry_probability": 0.5691,
"entry_expected_percent": 0.2522
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1781431200000,
"exit_timestamp": 1781517600000,
"net_percent": 3.6087,
"reason": "max_hold",
"held_bars": 24,
"entry_probability": 0.5636,
"entry_expected_percent": 0.2261
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1781521200000,
"exit_timestamp": 1781535600000,
"net_percent": 4.3178,
"reason": "forecast_weak_profit_lock",
"held_bars": 4,
"entry_probability": 0.7034,
"entry_expected_percent": 0.5491
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1781582400000,
"exit_timestamp": 1781596800000,
"net_percent": 2.1644,
"reason": "forecast_weak_profit_lock",
"held_bars": 4,
"entry_probability": 0.5705,
"entry_expected_percent": 0.1058
},
{
"symbol": "ETHUSDT",
"entry_timestamp": 1781863200000,
"exit_timestamp": 1781935200000,
"net_percent": 1.8181,
"reason": "forecast_weak_profit_lock",
"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": 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,
"train_records": 720,
"test_records": 720,
"thresholds": {
"edge": 0.1,
"probability": 0.62,
"confidence": 0.4,
"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,
"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,
"train_records": 1440,
"test_records": 720,
"thresholds": {
"edge": 0.1,
"probability": 0.56,
"confidence": 0.4,
"trades": 17,
"wins": 9,
"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": 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
}
]
}
},
{
"fold": 3,
"train_records": 2160,
"test_records": 720,
"thresholds": {
"edge": 0.1,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.9255653124403987
},
"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": []
}
}
]
},
"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": 37,
"avg_probability": 0.3359,
"actual_win_rate": 0.1081,
"avg_future_net_percent": -0.6726
},
{
"bucket": "0.35-0.40",
"samples": 392,
"avg_probability": 0.3839,
"actual_win_rate": 0.227,
"avg_future_net_percent": -0.6306
},
{
"bucket": "0.40-0.45",
"samples": 1038,
"avg_probability": 0.4277,
"actual_win_rate": 0.29,
"avg_future_net_percent": -0.4258
},
{
"bucket": "0.45-0.50",
"samples": 922,
"avg_probability": 0.4742,
"actual_win_rate": 0.3308,
"avg_future_net_percent": -0.3125
},
{
"bucket": "0.50-0.55",
"samples": 327,
"avg_probability": 0.5196,
"actual_win_rate": 0.3914,
"avg_future_net_percent": -0.0857
},
{
"bucket": "0.55-0.60",
"samples": 107,
"avg_probability": 0.5751,
"actual_win_rate": 0.4299,
"avg_future_net_percent": 0.0174
},
{
"bucket": "0.60-0.65",
"samples": 44,
"avg_probability": 0.6136,
"actual_win_rate": 0.4545,
"avg_future_net_percent": -0.0248
},
{
"bucket": "0.65-0.70",
"samples": 7,
"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.7107,
"actual_win_rate": 0.8333,
"avg_future_net_percent": 2.1268
}
]
},
"top_results": [
{
"edge": 0.1,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.08,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.06,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.05,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.04,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.02,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.0,
"probability": 0.62,
"confidence": 0.4,
"trades": 10,
"wins": 4,
"win_rate": 0.4,
"total_net_percent": 8.297644920429114,
"average_net_percent": 0.8297644920429115,
"max_drawdown_percent": 1.4887951136316468,
"profit_factor": 4.295314421439746,
"score": 0.7872712304332469
},
{
"edge": 0.1,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.08,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.06,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.05,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.04,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.02,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.0,
"probability": 0.68,
"confidence": 0.4,
"trades": 3,
"wins": 2,
"win_rate": 0.6666666666666666,
"total_net_percent": 6.378880906676532,
"average_net_percent": 2.1262936355588438,
"max_drawdown_percent": 0.33852124402657946,
"profit_factor": 19.84336956464595,
"score": 0.6437676518357281
},
{
"edge": 0.1,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.08,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.06,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.05,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.04,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.02,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.0,
"probability": 0.66,
"confidence": 0.4,
"trades": 4,
"wins": 2,
"win_rate": 0.5,
"total_net_percent": 6.065901369307769,
"average_net_percent": 1.5164753423269421,
"max_drawdown_percent": 0.6515007813953422,
"profit_factor": 10.31065862471602,
"score": 0.5969352778734036
},
{
"edge": 0.1,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.08,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.06,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.05,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.04,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.02,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.0,
"probability": 0.64,
"confidence": 0.4,
"trades": 5,
"wins": 3,
"win_rate": 0.6,
"total_net_percent": 5.9312659261036345,
"average_net_percent": 1.186253185220727,
"max_drawdown_percent": 0.48325866434849596,
"profit_factor": 13.27348077473139,
"score": 0.5927433894697359
},
{
"edge": 0.1,
"probability": 0.6,
"confidence": 0.4,
"trades": 18,
"wins": 9,
"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": 18,
"wins": 9,
"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
}
]
}