{ "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 } ] }