Risk statistics
Risk answers what downside, variability, and exposure accompanied the selected returns? It looks beyond whether the result was profitable to examine the path used to produce it.
Risk is available with Pro. Percentage-path statistics follow the complete-month, coverage, and compounding rules in How statistics are calculated.
Risk-adjusted performance
Sharpe, Sortino, annualized volatility, and annualized downside deviation use consecutive complete calendar-month percentage returns. Returns within each month are geometrically linked. Partial boundary months and the current month are excluded, while inactive complete months inside the effective window contribute 0%.
Let r[1..N] be those monthly percentage returns:
mean = sum(r) / N
sample SD = sqrt(sum((r - mean)^2) / (N - 1))
downside deviation = sqrt(sum(min(0, r)^2) / N)
The fixed risk-free rate and minimum acceptable return are both 0%.
Sharpe ratio
Sharpe = mean monthly return / sample SD * sqrt(12)
Sharpe compares return with all monthly variability, whether that variation came from positive or negative months. Higher values mean more average return relative to the observed variation. It is unavailable below three complete months or when sample deviation is zero. Three to five months is limited. Six or more satisfies the normal observation recommendation.
The conventional sqrt(12) scaling annualizes monthly observations. It does not assert that journal returns are independent or guarantee that the relationship will persist.
Sortino ratio
Sortino = mean monthly return / downside deviation * sqrt(12)
Sortino focuses on harmful variation below 0%. Every month remains in the downside denominator, with non-losing months contributing zero shortfall. This differs from calculating deviation using only negative months.
Sortino requires at least three complete months and at least one downside month. It is limited below six months or with only one downside month. A zero downside denominator makes standalone Sortino unavailable rather than infinite.
Annualized volatility and downside deviation
Annualized volatility = sample SD * sqrt(12)
Annualized downside deviation = downside deviation * sqrt(12)
Volatility measures all month-to-month dispersion. Downside deviation measures only shortfall below zero. A valid zero is possible for either supporting statistic. These are monthly percentage-path measures, not the individual-trade standard deviation described later.
Annualized return and Calmar
Calmar uses the exact selected-period percentage path rather than equal monthly observations:
ending factor = product(1 + trade percentage return / 100)
years = elapsed calendar days / 365.25
CAGR = ending factor^(1 / years) - 1
Calmar = CAGR / abs(maximum percentage drawdown)
Elapsed time includes inactive time inside the effective dates. CAGR and drawdown use the same ordered closed-trade path.
Calmar is unavailable with fewer than 30 elapsed days, fewer than five selected trades, zero maximum drawdown, or a non-positive ending factor. A result from 30 through 364 days is limited. One year satisfies the product's recommended history threshold. The often-cited 36-month horizon is useful mature context, not a hard requirement.
Calmar is most useful when comparing selections with similar evidence and elapsed time. A short annualized period can produce an extreme CAGR even when the arithmetic is correct.
Drawdown and recovery
A drawdown episode begins at a peak, reaches a trough, and ends if the prior peak is regained. The final episode may remain open.
Profit or R depth = trough cumulative value - peak cumulative value
Percentage depth = (trough index / peak index - 1) * 100
The percentage index starts at 100 and compounds selected closed-trade returns. It is not marked-to-market equity. If two +50% returns take the index from 100 to 225 and a subsequent -50% takes it to 112.5, the drawdown is -50%, not the percentage-point difference between cumulative return labels.
Episode statistics
- Maximum drawdown is the deepest episode.
- Average drawdown is the arithmetic mean depth of all open and recovered episodes.
- Time to low runs from the starting peak to the trough.
- Typical recovery is the median time from trough back to the previous peak, using recovered episodes only.
- Recovery rate is recovered episodes divided by all episodes. Open episodes remain in the denominator.
An open episode has no recovery duration. Trading Vault does not invent one at the end of the selected period.
Recovery factor
recovery factor = net result / abs(maximum drawdown)
It supports Profit, R, and Percentage. The numerator remains signed, so an unprofitable selection produces a negative factor. Zero drawdown is undefined rather than infinite.
Recovery factor is cumulative and tends to change with the length of the selected history. Compare it across similar windows. Calmar differs by annualizing percentage growth before comparing it with drawdown.
Loss containment
Loss containment asks whether losing price movement stayed within the recorded initial stop boundary. It uses Pip R, which is independent of the selected R display mode, account balance, commissions, and fees.
For each observed losing Pip R value q:
excess loss = max(0, abs(q) - 1R)
Average Excess Loss = sum(excess loss) / all observed losing trades
A loss at or inside -1R contributes zero. A loss at -1.4R contributes 0.4R. Including all observed losses in the denominator combines breach frequency and severity.
Supporting evidence includes contained losses, breach count and rate, average breach size, total excess loss, and worst Pip R loss. Average breach size uses only breached trades, so it will normally be larger than Average Excess Loss.
At least 30 Pip R observations and 80% coverage are required. Fifty observations, 90% coverage, and ten losing observations are recommended. No measured losses can be a favorable zero only when the wider evidence is sufficient.
A breach does not prove deliberate rule-breaking. Gaps, slippage, staged exits, incomplete stop history, or source-data quality may contribute. Use the affected trades for review.
Risk sizing consistency
Sizing statistics use the absolute initial risk recorded on each trade. Percentage risk and financial risk are separate variants. Financial amounts are normalized into the reporting currency before the distribution is calculated.
Typical risk per trade is the median, calculated as the interpolated 50th percentile. Middle 50% risk spans the 25th to 75th percentile.
Unusually large positions use a robust upper-outlier boundary:
IQR = Q75 - Q25
upper threshold = Q75 + 1.5 * IQR
unusually large = risk values above the threshold
Fewer than three observations is unavailable. Three to nine is limited. Ten or more is available. Missing initial risk is excluded and disclosed through coverage.
This card describes your historical distribution. The median or quartile range is not a recommended risk target, and the outlier rule does not know whether a larger position was intentional.
Individual-trade variability
Standard deviation measures the dispersion of observed individual trades:
mean = sum(x) / N
standard deviation = sqrt(sum((x - mean)^2) / N)
It supports Profit, R, and Percentage and uses population deviation. One observed outcome therefore has a valid deviation of zero. This statistic is not annualized volatility. It measures trade outcomes rather than completed monthly returns.
Use it with expectancy and extreme trades. A larger spread can come from harmful losses, beneficial runners, or both.
Concurrent positions and recorded risk
Most trades open at once counts overlapping valid open-to-close intervals. Intervals are half-open: a position closing at exactly the same instant another opens does not create false overlap. When the maximum occurs more than once, the first maximum cohort is shown.
Recorded risk when the peak began reconstructs remaining downside across that cohort from saved entry quantities, allocations, and stop history. A full initial downside contributes 1R, half the initial downside contributes 0.5R, and a break-even or profit-locking stop contributes 0R.
This is measured in initial-risk equivalents. It is not a universal monetary R, correlation-adjusted portfolio exposure, or a prediction of gap risk. It is easiest to interpret when the trades used broadly similar initial sizing.
Coverage is all-or-nothing at the peak. If any open position lacks the quantity, allocation, or effective stop history needed to reconstruct its risk, the combined value is unavailable rather than understated. The position still remains in the concurrency count.
Return smoothness
Return smoothness describes the stability of consecutive complete-month compounded percentage returns:
dispersion = population SD(monthly returns)
RMS = sqrt(sum(monthly return^2) / N)
if RMS is 0: score = 100
otherwise: score = 100 * max(0, 1 - dispersion / RMS)
It measures smoothness only. Constant +2%, constant -2%, and active constant 0% months can all score 100. Profitability is measured elsewhere. At least three complete months and two active months are required. Six complete months and three active months are recommended.
Monthly Return Reliability answers a different question about dependable R production. Read the dedicated Monthly Return Reliability guide.
A useful Risk workflow
- Confirm percentage-return coverage and effective observation dates.
- Compare Sharpe and Sortino to distinguish total from downside variation.
- Read Calmar alongside elapsed time and maximum drawdown.
- Inspect individual drawdown episodes and open recovery state.
- Review Average Excess Loss and the breached trades.
- Check sizing distribution rather than relying only on its median.
- Review concurrency with its recorded-risk coverage and limitations.
- Finish with Monthly Return Reliability to assess active-month repeatability.
Trading Mastery Score
Learn how Trading Vault combines edge, resilience, downside performance, reliability, and risk control into an evidence-aware score.
Monthly Return Reliability
Understand dependable monthly return, opportunity-adjusted targets, shortfall scoring, evidence, and the Monthly Return Reliability score.