Performance, Risk, and Diagnostic Metrics
40 pages, grouped into performance ratios, risk and drawdown measures, beta variants, and higher-moment diagnostics. Each page covers the mathematical definition of one metric, its interpretation, and its primary academic citation.
39 of these pages document a value a run returns. GARCH Beta is the exception: it is documented as related work, and no run computes it. Read the two counts separately. A further 18 fields ship without a page of their own, and the last section lists them.
Benchmark-relative values carry a basis
Alpha, the beta variants, the information ratio, tracking error, M-squared, the capture ratios, the V2 ratio, coskewness and cokurtosis all read the benchmark of the run. The portfolio returns include dividends. A price-return index does not, so it understates the benchmark return by approximately the index dividend yield.
- Against a price-return index, Jensen's alpha and the numerator of the information ratio are biased upward by approximately the index dividend yield. Beta, tracking error and M-squared are largely unaffected, because they read the movement and the volatility of the benchmark and not its average return.
- A retail run on an Indian benchmark uses the price index unless it chooses the Total Return Index. A fund-manager run that names no benchmark uses the NIFTY 500 Total Return Index, and one that names a benchmark uses its Total Return Index where one exists, unless it chooses the price index. BSE SENSEX has no Total Return Index. The US benchmarks are total-return ETFs.
- Each run states the series it used in its
benchmark_basisblock, and on a price-return basis that block names the biased metrics.
The benchmarks guide explains the two series and gives a measured example.
Three of these values are conditional
Most fields are present on every successful run. Three are not. Each one needs a minimum sample, and it is absent from the result when the condition fails.
- Rolling Beta needs at least 252 daily portfolio returns (about one trading year), or the map is empty. A single year also needs at least 20 aligned observations, or that year is left out.
- Deflated Sharpe Ratio needs more than one candidate in the trial family and a positive trial variance. It is null otherwise.
- Sharpe Stability Ratio needs at least 60 rolling-Sharpe observations. A shorter history produces no value.
The six optional beta and co-moment fields (Welch beta, semi-beta, coskewness, cokurtosis, Vasicek beta and James-Stein beta) can also be null, because each needs a minimum sample and a non-degenerate benchmark variance. Their pages give the exact rules.
On this page
Performance Ratios
Risk-adjusted return measures, ranging from the classical Sharpe and Sortino ratios to drawdown-adjusted variants (Calmar, Sterling, V2), information-ratio style active measures, and Modigliani-style benchmark-rescaled returns.
Sharpe Ratio
Excess return per unit of total volatility.
Probabilistic Sharpe Ratio
Probability the true Sharpe beats a benchmark, given sample length and higher moments.
Sharpe Stability Ratio
HAC-robust temporal consistency of the rolling Sharpe.
Deflated Sharpe Ratio
Sharpe significance corrected for selection bias across the candidates of a search campaign.
Sortino Ratio
Excess return per unit of downside-only deviation.
Treynor Ratio
Excess return per unit of CAPM beta.
Jensen's Alpha
CAPM-adjusted excess return; intercept of the market-model regression.
Information Ratio
Active return per unit of tracking error.
Omega Ratio
Probability-weighted gain-to-loss ratio.
Calmar Ratio
CAGR divided by absolute maximum drawdown, over the full sample.
RoMaD
Return over maximum drawdown. The same number as the Calmar field.
Sterling Ratio
Return-to-average-drawdown variant of Calmar.
V2 Ratio
Relative-curve growth over the quadratic mean of its drawdowns.
Modigliani M-squared
Sharpe ratio rescaled to the volatility of a benchmark.
Upside Potential Ratio
Above-target gain over below-target deviation.
Risk & Drawdown Metrics
Tail-loss and dispersion measures, including coherent risk measures (CVaR, EVaR), drawdown-based measures (DaR, CDaR, Ulcer Index), and the third- and fourth-moment shape statistics of the return distribution.
Value at Risk (VaR)
Tail-quantile loss at a chosen confidence level.
Conditional VaR
Expected loss in the worst (1 - alpha)-fraction of scenarios.
Entropic VaR (EVaR)
Coherent, smooth upper bound on CVaR via Chernoff.
Maximum Drawdown
Worst peak-to-trough decline over the sample.
Drawdown at Risk
Quantile of the running drawdown distribution.
Conditional Drawdown at Risk
Expected drawdown in the worst tail-fraction.
Ulcer Index
Root-mean-squared drawdown across the sample.
Skewness
Third standardised moment; asymmetry of the return distribution.
Kurtosis
Fourth standardised moment; tail-heaviness.
Tracking Error
Volatility of the active return relative to a benchmark.
Beta Variants
Different lenses on systematic exposure to a benchmark, including the classical CAPM beta, time-varying rolling beta, mean-reverting Blume adjustment, slope-bounded Welch beta, and the asymmetric semi-beta.
CAPM Beta
OLS slope on the market excess return.
Rolling Beta
One beta per calendar year, on non-overlapping yearly buckets.
Blume-Adjusted Beta
Mean-reverting beta shrinkage toward 1.
Welch-Style Robust Beta
Slope-bounded beta estimator following Welch (2022).
Semi-Beta (Downside)
Beta computed on negative-return co-movement only.
Vasicek Bayesian-Shrunk Beta
Per-asset shrinkage toward the peer mean, weighted by each estimate's precision.
James-Stein Shrunk Beta
One shared shrinkage factor, minimising total squared error across the betas.
GARCH Beta (Related Work)
Conditional beta from a multivariate GARCH. Related work only: the field is commented out of the response model and no run computes it.
Higher-Moment & Diagnostic Metrics
Higher-order co-moments with the benchmark, concentration and diversification diagnostics on the weight vector, and capture ratios that summarise asymmetric performance in up- and down-benchmark periods.
Coskewness
Higher-order co-moment with the benchmark return.
Cokurtosis
Fourth-moment co-movement with the benchmark return.
Portfolio Entropy
Shannon entropy of the weight vector; concentration measure.
Gini Mean Difference
Pairwise mean absolute difference of returns.
Upside Capture Ratio
Geometric average return in up-benchmark months relative to the benchmark.
Downside Capture Ratio
Geometric average return in down-benchmark months relative to the benchmark.
Effective Number of Constituents
Inverse Herfindahl-Hirschman concentration on weights.
Reported Without a Dedicated Page
These fields reach every customer in the performance block of a run result, and no page above covers them. The table gives the field name, what the value is, and the path to it in the API response.
| Field | What it is | Where it appears |
|---|---|---|
expected_return | The annualised return of the portfolio, measured on every method: the arithmetic mean of the realised daily returns over the fitted window, times 252. The Sharpe Ratio page describes the calculation. | results.<method>.performance.expected_return |
volatility | The annualised volatility of the portfolio, measured on every method: the sample standard deviation of the realised daily returns, times the square root of 252. | results.<method>.performance.volatility |
realized_expected_return, realized_volatility, realized_sharpe | The same three measured values as expected_return, volatility and sharpe, under names that state they are realised. They are always equal to those three fields. | results.<method>.performance.realized_* |
model_expected_return, model_volatility, model_sharpe | The estimate of the method itself, from its expected-return and covariance inputs at the solved weights, present only when the method returns one. It is not a measurement of the portfolio, and the reports label it so. The Sharpe Ratio page describes the inputs. | results.<method>.performance.model_* |
cagr | The compound annual growth rate of the cumulative return curve of the run. It is the numerator of both the Calmar ratio and romad. | results.<method>.performance.cagr |
r_squared | The squared correlation between the portfolio excess returns and the benchmark excess returns. It is a proxy for the R-squared of the market-model regression, and the code says so: it is not read off a fitted regression. | results.<method>.performance.r_squared |
beta_pvalue | The two-sided p-value of the t-test on the CAPM beta slope. It is evidence about the market exposure of the portfolio, not about its alpha. The Jensen's Alpha page gives the test and the fallback rules. | results.<method>.performance.beta_pvalue |
alpha_pvalue | The two-sided p-value of the t-test on the intercept of the same regression. A value above 0.05 means the regression cannot separate the alpha from zero at the 5% level. | results.<method>.performance.alpha_pvalue |
alpha_stderr, beta_stderr | The classical OLS standard errors of the alpha and the beta. The alpha standard error is multiplied by 252, so it sits beside the annualised alpha. | results.<method>.performance.alpha_stderr |
residual_volatility | The standard deviation of the regression residual, annualised by the square root of 252. It is the volatility the benchmark does not explain. | results.<method>.performance.residual_volatility |
regression_observations | The count of daily observations in the regression. A value of 0 means the regression did not run, so its p-values read 1.0 and its standard errors read 0.0. | results.<method>.performance.regression_observations |
var_90 | The 90% member of the Value at Risk pair, from the 10% empirical quantile of the daily return series. The Value at Risk page documents the 95% member and describes both levels. | results.<method>.performance.var_90 |
cvar_90 | The 90% member of the Conditional VaR pair, averaging the daily returns at or below the 10% empirical quantile. The Conditional VaR page documents the 95% member and describes both levels. | results.<method>.performance.cvar_90 |
Two notes a reader needs
romad and calmar_ratio are the same expression. Both are the CAGR divided by the absolute maximum drawdown, and both come from the same two inputs of the same run. The two fields always carry the same number. Do not read them as two independent measurements.
r_squared is not a regression output. It is the squared correlation between the portfolio excess returns and the benchmark excess returns, used as a proxy for the R-squared of the market model. The two agree for a single-regressor OLS fit with an intercept, so the proxy is a close one, but the value is never read off a fitted regression. The field falls back to 0.0 when the correlation cannot be computed.
Not investment advice. Past performance is not indicative of future results.