What is the Calmar ratio? Formula, the 36-month original, example
On this page
Key takeaways
- The Calmar ratio compares a portfolio's yearly growth rate with its deepest fall from a peak: how much growth it delivered for the worst decline it went through.
- Terry Young's 1991 definition, made for ranking commodity trading advisors, uses the latest 36 months of monthly data; the MAR ratio makes the same comparison over a fund's whole history.
- MarketHeist computes it over the whole window of a backtest or a portfolio, not a trailing 36 months, so its figure is in effect the MAR ratio and is comparable only between results over the same window.
- It rests on a single event, the deepest decline. The ratio jumps when a deeper decline arrives, and longer histories tend to lower it, because the deepest decline can only get deeper as months are added.
- Monthly data miss falls that reversed within the month, so a Calmar ratio from monthly data is usually higher than one from daily data over the same years.
Definition
The Calmar ratio divides a portfolio's compound annual growth rate by the size of its maximum drawdown, the deepest fall from a peak, to give growth per unit of worst-case loss. Terry Young introduced it in 1991 using the latest 36 months; computed over a whole history, the same division is often called the MAR ratio.
Also known as: Calmar, MAR ratio, return over maximum drawdown, RoMaD, drawdown-adjusted return.
How it works
The Sharpe ratio charges a portfolio for every swing, up or down. Many investors care about something narrower: how bad it got. The Calmar ratio answers with the bluntest measure of that, the maximum drawdown, and divides the growth rate by it. A portfolio that compounded steadily with shallow declines scores high; one that grew just as fast but once lost half its value scores low.
Terry Young published the ratio in 1991 in Futures magazine and named it after his newsletter, California Managed Accounts Reports. He used the most recent 36 months, updated every month, to rank managers of commodity trading programs. A trailing window keeps the ratio current, so a manager's crash from a decade ago no longer counts against them, but it also forgets that the crash happened.
Over a whole track record the same division is commonly called the MAR ratio, after the Managed Account Reports newsletter. Backtests usually report this whole-period version under the Calmar name, and MarketHeist does too.
Because the denominator is one number, the ratio behaves differently from averages. Most months leave it almost unchanged; a single new low resets the denominator and drops the ratio at once. Two portfolios with the same Calmar ratio can have very different histories: one deep crash and calm years otherwise, or many moderate declines that never quite reached the same depth.
It is like judging a river crossing by the deepest point alone: useful for knowing whether anyone could drown, silent about how much of the crossing was spent wading up to the waist.
Formula
- CAGR
- compound annual growth rate over the window
- MDD
- maximum drawdown over the same window, a negative fraction
- V_T
- value at the end of the latest month T
- V_T−36
- value 36 months earlier, at the start of the window
- MDD_T−35…T
- maximum drawdown measured within those 36 months only
Recomputed every month. A decline that ended more than three years ago drops out of the denominator.
- Vₜ
- value at the end of month t (growth of one unit, dividends reinvested)
- max Vₛ
- the highest value up to and including month t
- UPI
- Ulcer performance index (Martin ratio) at a zero risk-free rate
- UI
- Ulcer index: root mean square of every month's drawdown
- DDₜ
- drawdown at the end of month t
- N
- number of months
The same numerator over a denominator that counts every month below a previous high, so it reacts to how long declines last, not only to the deepest one.
Worked example
The All Weather portfolio (30% US stocks, 40% long Treasuries, 15% intermediate Treasuries, 7.5% gold, 7.5% commodities) and the S&P 500 alone (SPY), month-end values from Dec 2004 to Sep 2026, about 22 years.
All Weather grew at 6.8% a year and its deepest fall from a peak was -21.5%, for a Calmar ratio of 0.32. The S&P 500 grew faster, at 10.9% a year, but fell as far as -50.8%, for a Calmar ratio of 0.22.
The two denominators come from different crises. All Weather's maximum drawdown ran from Dec 2021 to Oct 2023, when stocks and long Treasuries fell together as interest rates rose. The S&P 500's ran from Oct 2007 to Feb 2009, through the global financial crisis.
The Ulcer performance index, which divides the same growth by the depth and duration of every decline instead of the single deepest one, ranks the two the same way: 1.25 for All Weather against 0.94 for the S&P 500.
Young's original definition would have used only the latest 36 months, a stretch that contains neither of these declines. It would describe how the last three years went, which is what he wanted for monitoring managers, and say nothing about the worst either portfolio went through. The whole-window figure keeps the worst in view, at the price of being dominated by it.
Data through Sep 2026. Reproduce id 87f4f424590477d7 (this guide, its lab setup and the data month).
Interactive lab
The underwater curves of both picks over the same months, with growth rate, maximum drawdown and the Calmar ratio that divides them. Switch portfolios to see which ones the ratio favours and which single decline sets each denominator.
| Measure | All Weather | SPY |
|---|---|---|
| Maximum drawdown | -21.5% | -50.8% |
| Peak to trough | Dec 2021 to Oct 2023 | Oct 2007 to Feb 2009 |
| Back at the high | Aug 2025 | Mar 2012 |
| Months down | 22 | 16 |
| Months to recover | 22 | 37 |
| Longest underwater (months) | 43 | 52 |
| Ulcer index | 5.4 | 11.7 |
| Drawdowns deeper than 10% | 3 | 4 |
| CAGR | 6.8% | 10.9% |
| Volatility (annualized) | 8.1% | 14.8% |
| Ulcer performance index | 1.25 | 0.94 |
| Calmar ratio | 0.32 | 0.22 |
Ulcer index: the root mean square of the monthly drawdowns, in percent. Ulcer performance index: CAGR divided by the Ulcer index as a fraction, at a zero risk-free rate. Calmar ratio: CAGR divided by the size of the maximum drawdown. Dec 2004 to Sep 2026.
| Deepest drawdowns: All Weather | Trough | Depth | Back at the high | Months down | Months up |
|---|---|---|---|---|---|
| Dec 2021 | Oct 2023 | -21.5% | Aug 2025 | 22 | 22 |
| Dec 2008 | Feb 2009 | -12.0% | Sep 2009 | 2 | 7 |
| Jun 2008 | Oct 2008 | -11.8% | Dec 2008 | 4 | 2 |
| Jan 2015 | Dec 2015 | -7.0% | Jun 2016 | 11 | 6 |
| Jul 2016 | Nov 2016 | -6.9% | Aug 2017 | 4 | 9 |
The first column is the month of the high before the decline.
| Deepest drawdowns: SPY | Trough | Depth | Back at the high | Months down | Months up |
|---|---|---|---|---|---|
| Oct 2007 | Feb 2009 | -50.8% | Mar 2012 | 16 | 37 |
| Dec 2021 | Sep 2022 | -23.9% | Dec 2023 | 9 | 15 |
| Dec 2019 | Mar 2020 | -19.4% | Jul 2020 | 3 | 4 |
| Sep 2018 | Dec 2018 | -13.5% | Apr 2019 | 3 | 4 |
| Jul 2015 | Sep 2015 | -8.5% | May 2016 | 2 | 8 |
The first column is the month of the high before the decline.
How MarketHeist computes it
Every choice an implementation has to make, as the code makes it today. The page is checked against the code each time it is built.
| Choice | How it is computed | In the code |
|---|---|---|
| Data | Monthly total returns (dividends reinvested). Funds younger than the period shown are extended backward with older funds, spliced on returns, not prices. | |
| Window | The worked example and the lab use the common window of the two portfolios compared, Dec 2004 to Sep 2026 (262 months), ending at the data month of this page. Another pick in the lab is read over its own common window. | |
| Portfolio streams | A fund is its proxy-extended monthly return stream. A built-in portfolio is read as the MarketHeist MCP reads it: its composed stream with its own rebalancing rule and overlay. A custom mix is rebalanced yearly. | |
| Drawdown | The percentage below the highest month-end value so far, from a value rebased to 1 at the start of the window. An episode runs from the month of a high until the value regains that high; the Ulcer index is the root mean square of the monthly drawdowns in percent, and time underwater counts every month below a high. | |
| Calmar ratio | CAGR divided by the absolute value of the maximum drawdown. A maximum drawdown of exactly 0 returns infinity; a negative CAGR gives a negative ratio. | calmarpackages/shared/engine/metrics.ts |
| Window | The whole window: the backtest's full aligned period, or on this page the common window of the two picks. There is no trailing 36-month version, so the figure matches what the literature calls the MAR ratio. | |
| In the backtester | Computed for the strategy and for buy-and-hold from the CAGR and maximum drawdown of the bar-by-bar equity curve at the chosen frequency (daily, weekly or monthly), so a daily backtest also counts falls that reversed within a month. It appears in the metrics table and in the backtest tool of the MCP server. | runBacktestpackages/shared/engine/backtest.ts |
| On this page | Month-end values of each pick, growth of one unit with dividends reinvested; the same calmar function applied to the CAGR and maximum drawdown of that series. The portfolio app shows the maximum drawdown and CAGR but not the ratio itself. | drawdownSidecontent-engine/lab/compute.ts |
| CAGR and maximum drawdown | CAGR = final value^(1 / years) − 1 with years = periods / periods per year; maximum drawdown = the lowest value of (value / running peak − 1), with the running peak starting at the end of the first period. | cagrpackages/shared/engine/metrics.ts |
| Engine functions | The functions the portfolio app and the MarketHeist MCP tools run, called here on the same monthly returns. | drawdownpackages/portfolio/engine/metrics.tsdrawdownEpisodespackages/portfolio/engine/analytics.tsulcerIndexpackages/portfolio/engine/metrics_extra.tslongestUnderwaterMonthspackages/portfolio/engine/metrics_extra.tsmetricsFromReturnspackages/portfolio/engine/portfolio.ts |
Calmar ratio compared with its neighbours
| Ratio | Numerator | Denominator | Window |
|---|---|---|---|
| Calmar ratio (Young) | Annualized return | Maximum drawdown | Latest 36 months |
| MAR ratio | Compound annual growth rate | Maximum drawdown | Whole history |
| Calmar ratio on MarketHeist | Compound annual growth rate | Maximum drawdown | Whole window |
| Sterling ratio | Annual return | Average of the yearly maximum drawdowns, often with an added cushion | Usually three years |
| Ulcer performance index (Martin ratio) | Compound annual growth rate (risk-free rate 0 here) | Ulcer index | Whole window |
| Sharpe ratio | Average return | Volatility | Whole window |
Limitations
- It rests on one observation, the single worst decline. Small changes to the start date or a few more months of data can change it a lot, and it says nothing about how often or how long a portfolio was below its highs.
- Over a whole window it is not comparable across windows of different length: a longer history has had more chances for a deep fall.
- The original trailing 36-month version and the whole-window version can differ widely for the same portfolio; check which one a published figure uses.
- Month-end data understate declines that reversed within a month, which raises the ratio relative to one computed from daily data.
- Long histories are extended backward with older funds or indexes where a fund is younger than the window, so early declines approximate the fund rather than reproduce it.
Frequently asked questions
- What is a good Calmar ratio?
- There is no universal cutoff, because the value depends heavily on the window length and the data frequency. Compare portfolios over the same months with the same data, and read the maximum drawdown and its date beside the ratio.
- What is the difference between the Calmar ratio and the MAR ratio?
- The formula is the same: growth rate divided by maximum drawdown. Young's Calmar ratio uses the latest 36 months; the MAR ratio uses the whole history. Many backtesting tools, MarketHeist included, report the whole-history version under the Calmar name.
- How is the Calmar ratio different from the Sharpe ratio?
- The Sharpe ratio divides return by volatility, which counts every swing up or down. The Calmar ratio divides growth by the single deepest fall. Two portfolios can rank one way on volatility and the other on drawdown, especially when one has rare, deep losses.
- Why does MarketHeist compute it over the whole window?
- So that it describes the same period as every other figure in a backtest or portfolio, and so that the worst decline in the record is never dropped. The trailing version suits monitoring a manager month by month, which is not what a backtest does.
- Can the Calmar ratio be negative?
- Yes. If the portfolio lost money over the window, its CAGR is negative and so is the ratio. It is undefined when there was no decline at all, which month-end data almost never show over long periods.
References
- Young, T. W. (1991) Calmar Ratio: A Smoother Tool. Futures 20(1). The original definition over the latest 36 months.
- Magdon-Ismail, M. and Atiya, A. F. (2004) Maximum Drawdown. Risk 17(10). Relates the expected Calmar ratio to the Sharpe ratio and the length of the window.
- Eling, M. and Schuhmacher, F. (2007) Does the Choice of Performance Measure Influence the Evaluation of Hedge Funds?. Journal of Banking and Finance 31(9). Compares rankings by Sharpe, Calmar, Sterling and other ratios.
- Bacon, C. R. (2008) Practical Portfolio Performance Measurement and Attribution. Wiley, second edition. Definitions of the Calmar, Sterling, Burke and Martin ratios.
- Martin, P. G. and McCann, B. B. (1989) The Investor's Guide to Fidelity Funds. Wiley. The Ulcer index and the Ulcer performance index.
Try it on your own holdings
Run a backtest and read its Calmar ratio beside buy-and-hold →
Or ask an assistant connected to the MarketHeist MCP server (https://marketheist.io/mcp), which computes the same figures:
Using MarketHeist.io, compare the Calmar ratio (CAGR divided by maximum drawdown) of the All Weather portfolio and SPY over the same months, and tell me which decline sets each one's maximum drawdown
Ask an AI assistant
The prompt opens in a new tab, already filled in. An assistant without the MarketHeist connector answers from its own knowledge, not from the figures on this page.
Historical simulation, not advice. Computed by the MarketHeist portfolio engine from monthly total returns, data through Sep 2026. Markdown version of this page: calmar-ratio.md.