feat(ml): re-enable hyperopt action counting (fixes 62% Sharpe degradation)
This commit is contained in:
@@ -3044,15 +3044,9 @@ impl HyperparameterOptimizable for DQNTrainer {
|
||||
};
|
||||
|
||||
// Component 2: HFT activity score (25% weight)
|
||||
// P0 FIX (2025-11-20): TEMPORARILY DISABLED due to missing action counters
|
||||
// Root cause: DQN trainer never populates buy_count/sell_count/hold_count in additional_metrics
|
||||
// This causes false -5.0 penalty, degrading Sharpe from 0.77 to 0.29 (62% loss)
|
||||
// Proper fix requires 1-2h to implement action counting in ml/src/trainers/dqn.rs
|
||||
// TODO: Re-enable after implementing buy/sell/hold action counting
|
||||
let hft_activity = 0.0; // DISABLED: was calculate_hft_activity_score_wave10(...)
|
||||
|
||||
// Log warning about disabled activity penalty
|
||||
tracing::warn!("P0 FIX: Activity penalty DISABLED (action counters not implemented)");
|
||||
// Re-enabled: DQN trainer now populates buy_count/sell_count/hold_count
|
||||
// in additional_metrics from the 45-action factored space.
|
||||
let hft_activity = calculate_hft_activity_score_wave10(buy_pct, sell_pct, hold_pct);
|
||||
|
||||
// Component 3: Stability penalty (15% weight)
|
||||
// Penalizes gradient explosion (>50.0) and Q-value volatility (>100.0)
|
||||
|
||||
Reference in New Issue
Block a user