Files
cointrader/models/trxusdt/training_log.json
21in7 02e41881ac feat: strategy parameter sweep and production param optimization
- Add independent backtest engine (backtester.py) with walk-forward support
- Add backtest sanity check validator (backtest_validator.py)
- Add CLI tools: run_backtest.py, strategy_sweep.py (with --combined mode)
- Fix train-serve skew: unify feature z-score normalization (ml_features.py)
- Add strategy params (SL/TP ATR mult, ADX filter, volume multiplier) to
  config.py, indicators.py, dataset_builder.py, bot.py, backtester.py
- Fix WalkForwardBacktester not propagating strategy params to test folds
- Update production defaults: SL=2.0x, TP=2.0x, ADX=25, Vol=2.5
  (3-symbol combined PF: 0.71 → 1.24, MDD: 65.9% → 17.1%)
- Retrain ML models with new strategy parameters

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 23:39:43 +09:00

102 lines
2.5 KiB
JSON

[
{
"date": "2026-03-05T23:54:05.625978",
"backend": "lgbm",
"auc": 0.947,
"best_threshold": 0.2822,
"best_precision": 0.446,
"best_recall": 0.763,
"samples": 2940,
"features": 26,
"time_weight_decay": 2.0,
"model_path": "models/trxusdt/lgbm_filter.pkl",
"tuned_params_path": null,
"lgbm_params": {
"n_estimators": 434,
"learning_rate": 0.123659,
"max_depth": 6,
"num_leaves": 14,
"min_child_samples": 10,
"subsample": 0.929062,
"colsample_bytree": 0.94633,
"reg_alpha": 0.573971,
"reg_lambda": 0.000157
},
"weight_scale": 1.783105
},
{
"date": "2026-03-06T02:00:40.471987",
"backend": "lgbm",
"auc": 0.9433,
"best_threshold": 0.2433,
"best_precision": 0.439,
"best_recall": 0.947,
"samples": 2940,
"features": 26,
"time_weight_decay": 2.0,
"model_path": "models/trxusdt/lgbm_filter.pkl",
"tuned_params_path": null,
"lgbm_params": {
"n_estimators": 434,
"learning_rate": 0.123659,
"max_depth": 6,
"num_leaves": 14,
"min_child_samples": 10,
"subsample": 0.929062,
"colsample_bytree": 0.94633,
"reg_alpha": 0.573971,
"reg_lambda": 0.000157
},
"weight_scale": 1.783105
},
{
"date": "2026-03-06T22:37:17.762061",
"backend": "lgbm",
"auc": 0.9493,
"best_threshold": 0.2613,
"best_precision": 0.448,
"best_recall": 0.975,
"samples": 2952,
"features": 26,
"time_weight_decay": 2.0,
"model_path": "models/trxusdt/lgbm_filter.pkl",
"tuned_params_path": null,
"lgbm_params": {
"n_estimators": 434,
"learning_rate": 0.123659,
"max_depth": 6,
"num_leaves": 14,
"min_child_samples": 10,
"subsample": 0.929062,
"colsample_bytree": 0.94633,
"reg_alpha": 0.573971,
"reg_lambda": 0.000157
},
"weight_scale": 1.783105
},
{
"date": "2026-03-06T23:35:11.188338",
"backend": "lgbm",
"auc": 0.96,
"best_threshold": 0.6121,
"best_precision": 0.75,
"best_recall": 0.6,
"samples": 648,
"features": 26,
"time_weight_decay": 2.0,
"model_path": "models/trxusdt/lgbm_filter.pkl",
"tuned_params_path": null,
"lgbm_params": {
"n_estimators": 434,
"learning_rate": 0.123659,
"max_depth": 6,
"num_leaves": 14,
"min_child_samples": 10,
"subsample": 0.929062,
"colsample_bytree": 0.94633,
"reg_alpha": 0.573971,
"reg_lambda": 0.000157
},
"weight_scale": 1.783105
}
]