Skip to main content

Strategy Health & Alpha Decay

Every edge decays — the research is blunt that the half-life of a quant strategy has collapsed from years to months, so adaptation beats discovery. The Strategy Health monitor tells you, from a strategy's own return history, whether the edge is still there.

Open cBots → Strategy Health (/quant/health).

What it does​

Given a return series (or equity curve, oldest first), it:

  • splits the history into an earlier and a recent half and compares their Sharpe ratios;
  • runs a CUSUM change-point scan to locate the observation where the mean most clearly shifted (a regime break), reported only when the deviation is statistically notable;
  • returns a verdict:
VerdictMeaning
HealthyRecent performance is in line with (or better than) the earlier record.
DegradingRecent Sharpe is materially weaker than the earlier record — watch closely.
DecayedThe edge has effectively disappeared in the recent window — consider pausing.
UnknownNot enough history to judge.
  • Straight from a backtest run — no copy-paste. Every completed backtest exposes a heart Check strategy health icon on the Backtest list row and on its instance detail view; one click runs the monitor on that run's stored equity curve and shows the verdict in a dialog. The icon is disabled until the backtest has completed and produced a report, so it is never a dead control. Under the hood this is POST /api/quant/health/backtest/{instanceId}, which reads the stored report's equity curve.
POST /api/quant/health
{ "returns": [...] } // or { "equity": [...] }

Why it is reliable​

It is pure, deterministic domain code (Core.Health) with no infrastructure dependency and no external calls — unit-tested for the decayed, degrading, healthy and too-short cases and for change-point localization. It is the manual companion to the always-on health checks that back the autonomous agents: the same statistics drive the circuit breaker that de-risks a live strategy whose edge is fading.