Files
foxhunt/archive/temp/example_backtest_results.json
jgrusewski 2df1ea92e1 feat(ml): WAVE 29 DQN Codebase Cleanup & Refactoring Campaign
BREAKING CHANGES:
- Removed orphaned dqn.rs monolithic trainer (4,975 lines)
- Removed orphaned dqn_ensemble.rs module (816 lines)
- Removed orphaned tft.rs and tft_complete_int8_integration_test.rs
- TFT trainer split into modular directory structure

DQN Module Refactoring:
- Split trainers/dqn.rs into modular structure (config.rs, statistics.rs, trainer.rs)
- Fixed hyperopt 39D search space (continuous params only)
- Boolean flags (use_dueling, use_double_dqn, use_per, use_noisy_nets) are now FIXED architectural decisions
- use_distributional defaults to false (Candle BUG #36 - scatter_add gradient issues)

Clean Module Structure:
- ml/src/trainers/dqn/ directory with proper mod.rs exports
- ml/src/trainers/tft/ directory with config.rs, types.rs, model.rs, trainer.rs, tests.rs
- All P0 features validated: TD-error clamping, batch diversity, LR scheduler, priority staleness

Documentation:
- Added comprehensive docs in docs/codebase-cleanup/
- ADR-001 for DQN refactoring decisions
- Rainbow DQN component matrix and quick reference guides

Build Status: Compiles with zero errors

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 23:46:13 +01:00

48 lines
1.3 KiB
JSON

{
"model_path": "/home/user/foxhunt/ml/trained_models/dqn_best_model.safetensors",
"data_path": "/home/user/foxhunt/test_data/ES_FUT_unseen.parquet",
"evaluation_timestamp": "2025-11-08T14:32:45.123456789Z",
"warmup_bars": 50,
"device": "cuda",
"total_runtime_sec": 2.453,
"action_distribution": {
"buy_count": 1234,
"sell_count": 987,
"hold_count": 3456,
"buy_pct": 21.5,
"sell_pct": 17.2,
"hold_pct": 61.3,
"total_bars": 5677
},
"avg_q_values": {
"buy_avg": 0.4523,
"sell_avg": -0.1234,
"hold_avg": 0.8912
},
"inference_performance": {
"mean_latency_us": 342.5,
"median_latency_us": 325,
"p50_latency_us": 325,
"p95_latency_us": 412,
"p99_latency_us": 487,
"min_latency_us": 198,
"max_latency_us": 1243
},
"policy_consistency": {
"total_switches": 1456,
"switch_rate": 0.2564,
"interpretation": "Moderate - Healthy adaptive behavior"
},
"production_readiness": {
"latency_p99_ok": true,
"latency_p99_threshold_us": 5000,
"latency_p99_actual_us": 487,
"consistency_ok": true,
"consistency_threshold_pct": "10-30%",
"consistency_actual_pct": 25.64,
"balanced_actions_ok": true,
"q_values_finite_ok": true,
"overall_ready": true
}
}