Methodology — Additional Performance Ratios
Transparency is a feature. This page explains what these additional performance ratios measure and why we compute them — in plain terms. The precise formulas, numeric conventions, and edge-case handling are documented in our internal methodology; the summary here is deliberate, not an omission.
These five ratios build on the core risk primitives to describe the shape and quality of a return stream, not just its average. They all read simple per-period returns as decimal fractions. Where a ratio is annualized, the caller declares the data frequency (for example, how many trading periods make up a year) rather than the library guessing it.
Hit rate
Hit rate is the share of periods that were winners — the fraction of periods with a strictly-positive return. A flat period counts as neither a win nor a loss but is still part of the total, so the result always falls between 0 and 1 (0% to 100%), and higher is better. It is a batting average, not an annualized figure, and it needs at least one period to have anything to score.
Win/loss ratio
Win/loss ratio compares the average size of a winning period to the average size of a losing period. It answers "when this strategy is right, how much does it make relative to what it loses when it is wrong?" — a value above 1 means the typical gain is larger than the typical loss. Flat periods are set aside on both sides. Because it divides one average by another, it is undefined if the history has no winners or no losers at all.
Upside-potential ratio (Sortino-Satchell)
The upside-potential ratio rewards average gains above a chosen threshold while penalizing only downside risk below that threshold. The threshold is the minimum acceptable return (by default, simply zero, so gains are upside and losses are downside). The denominator reuses our downside-deviation measure — the same "bad volatility only" idea behind the Sortino ratio — so upside swings are never punished. Higher is better. It is undefined when there is no downside at all, since there would be nothing to divide by.
Jensen's alpha
Jensen's alpha is the return a portfolio earned beyond what its market exposure alone would predict — the manager's value-add after accounting for how much the portfolio simply rode the benchmark. It comes from fitting the classic market model on excess returns (returns net of the risk-free rate): the slope captures sensitivity to the market (beta), and the leftover intercept is alpha. A positive alpha means out-performance that beta does not explain; it can be negative. The figure is annualized and is signed. It needs the portfolio and benchmark series to line up over the same periods, with at least two paired observations, and a benchmark that actually moves.
Modigliani M² (M-squared)
M² restates risk-adjusted performance as the return the portfolio would have earned if it had been dialed up or down to exactly match the benchmark's volatility. By putting the portfolio and benchmark on equal-risk footing, it produces a number in familiar return units that can be compared directly to the benchmark's own return — more intuitive than a bare ratio. It builds on the Sharpe ratio (the reward per unit of risk) and the benchmark's annualized volatility (the risk level to match), and it is signed. Like the other benchmark-relative measures, it needs the two series aligned over the same periods, at least two observations, and some variation in excess returns.