feat: ISV-adaptive micro-reward weights — regime routing adjusts reward composition
Volatile regime → price confirmation weighted higher (momentum matters) Stable regime → book aggression + hold quality weighted higher Regime transition → hold quality drops (don't hold through shifts) Uses ISV signals[11] (regime_stability) and signals[2] (volatility) already available in env_step_batch. Zero new parameters — the temporal attention pipeline drives reward composition through ISV routing. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1789,11 +1789,22 @@ extern "C" __global__ void experience_env_step(
|
||||
hold_quality = sign_pos * hold_return / fmaxf(atr_pct, 1e-6f);
|
||||
}
|
||||
|
||||
/* Composite quality */
|
||||
/* ISV-adaptive reward weights: regime routing adjusts micro-reward composition.
|
||||
* Volatile regime → weight momentum (price_confirm) higher.
|
||||
* Stable regime → weight book aggression + hold quality higher.
|
||||
* Regime transition (low stability) → reduce hold quality (don't hold through shifts). */
|
||||
float regime_stab = (isv_signals_ptr != NULL) ? isv_signals_ptr[11] : 0.5f;
|
||||
float volatility = (isv_signals_ptr != NULL) ? isv_signals_ptr[2] : 0.5f;
|
||||
|
||||
float w_price = price_confirm_weight * (0.5f + 0.5f * volatility);
|
||||
float w_book = book_aggression_weight * (0.5f + 0.5f * regime_stab);
|
||||
float w_hold = hold_quality_weight * regime_stab;
|
||||
|
||||
/* Composite quality — regime-adaptive */
|
||||
float quality = flow_momentum * (1.0f + vol_informed)
|
||||
+ price_confirm_weight * price_confirm
|
||||
+ book_aggression_weight * sign_pos * book_aggression
|
||||
+ hold_quality_weight * hold_quality
|
||||
+ w_price * price_confirm
|
||||
+ w_book * sign_pos * book_aggression
|
||||
+ w_hold * hold_quality
|
||||
- spread_penalty;
|
||||
reward = micro_reward_scale * tanhf(quality / micro_reward_temp);
|
||||
} else if (!segment_complete && fabsf(position) > 0.001f) {
|
||||
|
||||
Reference in New Issue
Block a user