- No fixed risk-free rate: the statistics page now nets Sharpe, Sortino
and CAPM alpha against BIL (SPDR 1-3 Month T-Bill) daily total
returns from the data bundle — the same reference the Fund Lab uses
for all its alphas (pre-2007 dates fill 0, as in fundlab.decompose).
- metrics: sharpe/sortino/beta_alpha/summary accept a daily rf SERIES
(or scalar annual rate as before) via a shared excess() helper.
- Also fixes a latent double-count: the old scalar-rf alpha subtracted
rf twice (once in the returns, once in the intercept term); alpha is
now mean(excess fund) - beta * mean(excess bench), the standard CAPM
intercept on excess returns.
- Page caption states the T-bill reference (or warns if BIL is absent).
- Tests: series-rf identities (sharpe/sortino/beta/alpha), benchmark
self-row beta 1 / alpha 0, caption check.