Files
fxhnt/tests/integration
jgrusewski 8cad8909b2 fix(forward): production ts_trend/stablecoin kills use scale-invariant WindowedEdgeHealth (stops PH over-kill)
PageHinkleyDecay hard-kill over-killed daily crypto returns: not scale-invariant,
unbounded inception statistic, dead consecutive-day re-arm. Replace it in both live
forward sleeves with WindowedEdgeHealth (EWMA t-stat of trailing risk-adjusted drift):
scale-invariant, bounded, naturally re-arming. Kill when health() < kill_floor.

- Swap PageHinkleyDecay -> WindowedEdgeHealth in ts_trend_strategy + stablecoin_strategy
- Param migration: decay_lam/decay_reenter_days -> decay_window=63, kill_floor=0.15
- State carried under extra["weh"]; old extra["ph"] is migrated to a fresh WEH (no crash)
- assets.py callers pass no decay params, so no caller changes were needed
- PageHinkleyDecay kept in edge_decay.py (other code/tests reference it)
- Rewrote behavioral tests: healthy never killed, sustained-negative killed within
  ~window, recovery re-arms within ~window, old-format extra does not crash

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-23 01:17:38 +02:00
..