diff --git a/Metric-Catalogue.md b/Metric-Catalogue.md index e849784..b683ed4 100644 --- a/Metric-Catalogue.md +++ b/Metric-Catalogue.md @@ -56,18 +56,18 @@ The single-run scorecard. All are pure functions of the per-period return series | metric | formula | computed from | threshold | |---|---|---|---| -| Total return | `sum_t r_t` | `r` | none in isolation | -| CAGR / annualized | pip/additive: `mean(r)·P`; geometric: `(prod(1+r))^(P/T)−1` | `r`, `P` | asset-class relative | -| Volatility (ann.) | `std(r)·sqrt(P)`, sample std `1/(T−1)` | `r`, `P` | magnitude; sqrt(P) iid-only | -| **Sharpe** | `sqrt(P)·(mean(r)−r_f)/std(r−r_f)` | `r`, `r_f`, `P` | `<0` bad, `0–1` acceptable, `1–2` good, `2–3` very good, `>3` excellent **[C]**; sustained `>2` short-sample = overfit flag. **[CORR:** denominator = std of the *excess* return `std(r−r_f)`; equals `std(r)` only when `r_f` constant**]** | -| **Sortino** | `sqrt(P)·(mean(r)−MAR)/DD`, `DD=sqrt(Σ min(0,r−MAR)²/N)` | `r`, MAR (default 0), `P` | `<0` losing, `0–1` sub-optimal (*one* band), `1–2` good, `2–3` very good, `>3` excellent; "good" = `>1`. **[CORR:** no 0.5 split; "good" bar `>1` not `>2`; divisor total N**]** | -| Calmar | `mean(r)·P / |MaxDD|`; strict = trailing-36mo monthly | `r`, `E` | `<1` poor, `1–3` acceptable/good, `>3` excellent; HF ~1.5–3.0. **[CORR:** `>2` alone is NOT excellent (reserve for `>3`); `0.5–1.0` is "weak"**]** | -| MAR ratio | `CAGR(inception)/|MaxDD(inception)|` | full `E` | ~`>0.5` acc, `>1` good **[C]**; differs from Calmar in *window AND numerator* (avg-annual vs CAGR) **[CORR]** | -| Sterling | `CompoundROR / |avgAnnualMaxDD − 10%|` | annual DD episodes | no band; lower than Calmar. **[CORR:** subtract 10% *inside* the abs; 10% ≈ 1981 T-bill rate**]** | -| Burke | `(r_P−r_F)/sqrt(Σ_t D_t²)`; modified divides `Σ D_t²` by n | DD-episode list | no band; higher better **[L]** | -| Omega(θ) | `Σ max(0,r−θ) / Σ max(0,θ−r)` | `r`, θ | `=1` breakeven (θ=mean), `>1` preferred **[L]** | -| Information ratio | `mean(r−b)/std(r−b)`, ann. ×`sqrt(P)` | `r`, benchmark `b` | `0.4–0.6` good, `0.61–1.0` very good, `≥1.0` exceptional **[formula L; thresholds C]** | -| Treynor | `(E(R_p)−R_f)/beta`, `beta=Cov(R_p,R_m)/Var(R_m)` | `r`, market `R_m` | no abs threshold; ranking only **[L]** | +| Total return | $\sum_t r_t$ | `r` | none in isolation | +| CAGR / annualized | pip/additive: $\operatorname{mean}(r)\cdot P$; geometric: $(\prod(1+r))^{P/T}-1$ | `r`, `P` | asset-class relative | +| Volatility (ann.) | $\operatorname{std}(r)\cdot\sqrt{P}$, sample std $1/(T-1)$ | `r`, `P` | magnitude; sqrt(P) iid-only | +| **Sharpe** | $\sqrt{P}\cdot\frac{\operatorname{mean}(r)-r_f}{\operatorname{std}(r-r_f)}$ | `r`, `r_f`, `P` | `<0` bad, `0–1` acceptable, `1–2` good, `2–3` very good, `>3` excellent **[C]**; sustained `>2` short-sample = overfit flag. **[CORR:** denominator = std of the *excess* return `std(r−r_f)`; equals `std(r)` only when `r_f` constant**]** | +| **Sortino** | $\sqrt{P}\cdot\frac{\operatorname{mean}(r)-\mathrm{MAR}}{DD}$, $DD=\sqrt{\sum\min(0,r-\mathrm{MAR})^2/N}$ | `r`, MAR (default 0), `P` | `<0` losing, `0–1` sub-optimal (*one* band), `1–2` good, `2–3` very good, `>3` excellent; "good" = `>1`. **[CORR:** no 0.5 split; "good" bar `>1` not `>2`; divisor total N**]** | +| Calmar | $\operatorname{mean}(r)\cdot P/\lvert\mathrm{MaxDD}\rvert$; strict = trailing-36mo monthly | `r`, `E` | `<1` poor, `1–3` acceptable/good, `>3` excellent; HF ~1.5–3.0. **[CORR:** `>2` alone is NOT excellent (reserve for `>3`); `0.5–1.0` is "weak"**]** | +| MAR ratio | $\mathrm{CAGR}(\text{inception})/\lvert\mathrm{MaxDD}(\text{inception})\rvert$ | full `E` | ~`>0.5` acc, `>1` good **[C]**; differs from Calmar in *window AND numerator* (avg-annual vs CAGR) **[CORR]** | +| Sterling | $\mathrm{CompoundROR}/\lvert\mathrm{avgAnnualMaxDD}-10\%\rvert$ | annual DD episodes | no band; lower than Calmar. **[CORR:** subtract 10% *inside* the abs; 10% ≈ 1981 T-bill rate**]** | +| Burke | $(r_P-r_F)/\sqrt{\sum_t D_t^2}$; modified divides $\sum D_t^2$ by n | DD-episode list | no band; higher better **[L]** | +| Omega(θ) | $\sum\max(0,r-\theta)/\sum\max(0,\theta-r)$ | `r`, θ | `=1` breakeven (θ=mean), `>1` preferred **[L]** | +| Information ratio | $\operatorname{mean}(r-b)/\operatorname{std}(r-b)$, ann. $\times\sqrt{P}$ | `r`, benchmark `b` | `0.4–0.6` good, `0.61–1.0` very good, `≥1.0` exceptional **[formula L; thresholds C]** | +| Treynor | $(E(R_p)-R_f)/\beta$, $\beta=\operatorname{Cov}(R_p,R_m)/\operatorname{Var}(R_m)$ | `r`, market `R_m` | no abs threshold; ranking only **[L]** | **Annualization rule [L as convention]:** mean ×`P`, std ×`sqrt(P)`, ratio ×`sqrt(P)`; `P=252` daily (trading days, not 365), 52 weekly, 12 monthly. Valid