Current definition riskstat-v1. Charts stamped with it were computed by src/metrics/riskstats.py, and every value plotted for a past date could have been computed on that date.
risk.py says where an asset sits. This module answers the questions that follow from that reading and are otherwise left to the reader's imagination:
- what has historically happened *next* from each risk level, - how long the market has stayed at an extreme once it got there, - how much a lookahead-normalised version of the metric would have lied.
Nothing here re-defines risk. Every function takes the risk series produced by risk.compute and describes it, so a change to the risk definition propagates rather than being silently duplicated.
Forward returns are in-sample by construction. They describe what followed in the record we have; they are not a forecast and there is no out-of-sample holdout large enough to make one. Every consumer of band_forward_returns states the sample size beside the number, because a decile with eleven observations and a decile with two thousand are not the same claim.
Newest first. Each entry says what changed and whether values that had already been published moved with it, followed by the sentence from the module that decided the verdict.
forward returns by risk decile, band excursions, lookahead gap against global normalisation.
The first version of this metric. There is no earlier definition to restate.
15 charts name this metric in their readout line.