Tracking error vs tracking difference: definitions, formula, example
On this page
Key takeaways
- Tracking error measures how far a fund's returns wander from its benchmark's month to month, quoted as a yearly figure: the volatility of the gap between the two.
- Tracking difference is the gap in yearly growth between a fund and its benchmark over the same months. A fund can track closely month to month yet trail steadily because of its fees, or wander widely yet end up with almost the same growth.
- Correlation, tracking error and tracking difference answer three different questions: did they move together, how far apart did they wander, and did one systematically earn more.
- Index funds are judged on all three; active managers are judged mostly on tracking error, also called active risk, the risk figure in the information ratio.
- MarketHeist uses tracking error to grade every proxy that extends a fund's history, measured on monthly returns over the months both existed.
Definition
Tracking error is the annualized standard deviation of the difference between a fund's returns and a benchmark's returns: it measures how much the two wander apart from period to period. It says nothing about which one grew faster; that is the tracking difference, the gap between their annual growth rates.
Also known as: TE, active risk, tracking error volatility, tracking difference, tracking error vs tracking difference, ex-post tracking error.
How it works
Take two return series over the same months: a fund and the benchmark it is meant to follow, or, in a proxy-extended backtest, an ETF and the older fund standing in for it. Subtract one from the other month by month. If the two were identical, every difference would be zero.
Tracking error is the standard deviation of those differences. It ignores their average: a fund that lags its index by the same small amount every month has a tracking error near zero, because the gap never varies. What raises tracking error is a gap that swings, one month ahead and the next behind, as happens when the two hold different securities, weight them differently, or value them at different times.
Tracking difference looks at the average instead. It compares how much each grew over the whole period, annualized. For an index fund it is usually close to minus the expense ratio; for two different indexes it can be anything, and it says nothing about the month-to-month fit.
Tracking error is how far a dog on a leash strays from its owner's side; tracking difference is whether the dog ends the walk ahead of the owner or behind.
Correlation is a third, separate view: it measures whether the two moved in the same direction, not by how much. Two funds can correlate highly while one swings twice as hard as the other, which creates tracking error, or while one carries a cost the other does not, which creates tracking difference.
Formula
- dₜ
- difference between the two monthly returns in month t
- rₜᴾ
- monthly total return of the series being judged (the proxy, or a fund)
- rₜᴮ
- monthly total return of the reference (the ETF the proxy stands in for, or a fund's benchmark)
- d̄
- average monthly difference
- n
- number of months both series have
- TE
- annualized tracking error, as a fraction (0.02 = 2% a year)
- √12
- annualization factor for monthly data, which assumes the monthly gaps are independent
- n − 1
- sample divisor
Subtracting d̄ makes tracking error blind to a steady gap. Some practitioners use the root mean square of dₜ instead, which also counts the average gap.
- TD
- annualized tracking difference: positive means the series being judged grew faster than the reference
- ∏
- product over the overlapping months
- IR
- information ratio: average active return per unit of tracking error, both annualized
- 12 · d̄
- average monthly difference, annualized arithmetically
Used to judge active managers against their benchmark. MarketHeist does not report it; it is shown for context.
Worked example
DBC, a broad commodity ETF, and the S&P GSCI commodity index (^SPGSCI) that MarketHeist uses to extend DBC's history back to Feb 1985, compared over the 247 months both existed.
The two moved together: the correlation of their monthly returns was 0.953. Yet the annualized tracking error was 7.41%, large for two series that follow the same asset class. DBC tracks a different commodity index, with a different mix of energy, metals and farm goods and a different way of rolling its futures, so in any given month one could be well ahead of the other.
Over the whole overlap those gaps nearly cancelled. The tracking difference, the gap between the two annual growth rates, was 0.02%: across the full overlap neither series systematically out-earned the other. A high tracking error with a near-zero tracking difference is the textbook case of the two measures disagreeing.
MarketHeist grades this proxy approximate. However well the two move together, a close proxy may have a tracking error of at most 3%, and this one's is well above that, which is why the early part of DBC's extended history, the years before Mar 2006, approximates the fund rather than reproduces it.
Switch the lab to SPY or VTI to see the other extreme: a proxy that is the same index's mutual fund, with a tracking error a small fraction of DBC's.
Data through Sep 2026. Reproduce id 2c5497320f8a3d15 (this guide, its lab setup and the data month).
Interactive lab
Growth of $10,000 over the extended history and over the ETF's own years, with the splice point marked, and the proxy's correlation, tracking error and tracking difference. Pick another fund to compare a close proxy with an approximate one.
| Measure | DBC own history | Extended history |
|---|---|---|
| Window | Mar 2006 – Sep 2026 | Feb 1985 – Sep 2026 |
| Years | 20.6 | 41.7 |
| CAGR | 2.8% | 3.2% |
| Volatility (annualized) | 18.8% | 18.5% |
| Maximum drawdown | -74.6% | -74.6% |
| Sharpe ratio | 0.24 | 0.26 |
| Growth of $10,000 | $17,505 | $37,566 |
| Worst calendar year | 2008 (-31.8%) | 2008 (-31.8%) |
Risk-free rate 0. The extended history splices ^SPGSCI onto DBC on returns, not prices, at Mar 2006. Returns are stored to six decimals, so a dollar figure can differ from the fund-history page by a few dollars.
| Proxy | Overlap | Correlation | Tracking error | Difference | Grade |
|---|---|---|---|---|---|
| ^SPGSCIS&P GSCI commodity index | 247 months | 0.953 | 7.4% | +0.02% | Approximate |
Overlap: the months both the ETF and the proxy exist. Tracking error: annualized standard deviation of the monthly return differences. Tracking difference: annualized return of the proxy minus the ETF. Feb 1985 to Sep 2026.
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 fund's whole extended history, Feb 1985 to Sep 2026 (500 months), ending at the data month of this page. | |
| Splice | The ETF's own returns wherever it has data; the earlier months come from the first proxy of its chain that has them, and so on down the chain. The splice is on returns, never on price levels. The tracking figures compare the first proxy with the ETF over the months both exist, and the grade is the one the fund-history pages use. | |
| Overlap | Statistics use only the months both the ETF and its first proxy have, from the ETF's own monthly total returns (dividends reinvested) and the proxy's. The extended series is never compared with itself. | overlapStatspackages/portfolio/engine/tracking.ts |
| Tracking error | Sample standard deviation (divides by n − 1) of the monthly differences proxy minus ETF, times √12. The average difference is removed first, so a constant gap adds nothing. | overlapStatspackages/portfolio/engine/tracking.ts |
| Tracking difference | The proxy's compound growth over the overlap raised to 12/n, minus the ETF's, so each is an annual growth rate. Positive means the proxy earned more. | overlapStatspackages/portfolio/engine/tracking.ts |
| Correlation | Pearson correlation of the two monthly return series over the overlap. | pearsonpackages/portfolio/engine/correlation.ts |
| Grade | Close: correlation at least 0.95 and tracking error at most 3%. Approximate: tracking error at most 8% and either a cash-like ETF (annualized volatility at most 3%) or a correlation of at least 0.80 with a volatility ratio of at most 1.25. Anything else, including missing statistics, is a stand-in. | proxyGradepackages/portfolio/engine/tracking.ts |
| Minimum overlap | A fund-history page needs at least 24 overlapping months between the ETF and each proxy before it publishes the proxy's statistics. | MIN_OVERLAP_MONTHScontent-engine/src/history.ts |
| Engine functions | The functions the portfolio app and the MarketHeist MCP tools run, called here on the same monthly returns. | spliceChainpackages/portfolio/engine/splice.tsoverlapStatspackages/portfolio/engine/tracking.tsproxyGradepackages/portfolio/engine/tracking.tsmetricsFromReturnspackages/portfolio/engine/portfolio.ts |
Tracking error compared with its neighbours
| Statistic | Question it answers | Blind to | Typical use |
|---|---|---|---|
| Tracking error | How far apart do the two wander month to month? | A steady gap, such as a fee | Index fund quality; active risk of a manager |
| Tracking difference | Did one grow faster over the whole period? | How bumpy the path was | Cost of owning an index fund; proxy bias |
| Correlation | Do they move in the same direction? | Size of the moves and any steady gap | First screen for a proxy or a hedge |
| Beta | How much does one move per unit move of the other? | Moves the other does not explain | Matching the size of moves |
| Information ratio | Average outperformance per unit of tracking error | Nothing new; combines the two | Judging active managers |
Limitations
- Annualizing with √12 assumes the monthly gaps are independent. When gaps persist for several months, as with a slowly diverging index, the true annual spread can be larger than the figure suggests.
- Tracking error measured after the fact describes the past fit. It is not a forecast of the fit in future months, and it can change when either side changes its holdings or method.
- For a proxy, the statistics describe the years after the ETF launched. The proxy's behaviour in its earlier, unchecked years can differ, for example if its own index or fees changed.
- A low tracking error does not make a proxy cheap or a fund efficient: a constant fee gap shows up only in the tracking difference.
- Monthly data hide day-to-day gaps. Daily tracking error of the same pair, annualized, can come out higher, partly because of timing differences in closing prices that wash out over a month.
Frequently asked questions
- What is the difference between tracking error and tracking difference?
- Tracking error is the volatility of the gap between a fund and its benchmark: how much the gap moves around from period to period. Tracking difference is the average size of the gap over a whole period, usually as an annual growth rate. Index fund investors pay the tracking difference; tracking error tells them how reliably they get the index month by month.
- What is a good tracking error for an index fund?
- There is no universal cutoff. Funds that hold every security of a large, liquid index usually run a small fraction of a percent a year on monthly data, while funds that sample a broad bond or emerging-market index, or hold futures, run higher. Compare funds that track the same index, measured over the same months and frequency.
- How do you calculate tracking error from monthly returns?
- Subtract the benchmark's return from the fund's in each month, take the sample standard deviation of those differences, and multiply by √12 to annualize. Do not include months where either series is missing.
- Can two funds have high correlation and high tracking error?
- Yes. Correlation measures direction, not size. If one fund swings harder than the other, or holds a different mix inside the same asset class, they can move the same way almost every month and still drift apart by a sizable amount each time.
- How does MarketHeist use tracking error?
- To grade each older fund or index that extends an ETF's history. The grade combines correlation, tracking error and the volatility ratio, and each fund-history page shows them with the tracking difference.
References
- Roll, R. (1992) A Mean/Variance Analysis of Tracking Error. Journal of Portfolio Management 18(4).
- Grinold, R. C. and Kahn, R. N. (2000) Active Portfolio Management. McGraw-Hill, second edition. Active risk and the information ratio.
- Pope, P. F. and Yadav, P. K. (1994) Discovering Errors in Tracking Error. Journal of Portfolio Management 20(2). Serial correlation and the annualization of tracking error.
- Frino, A. and Gallagher, D. R. (2001) Tracking S&P 500 Index Funds. Journal of Portfolio Management 28(1).
Try it on your own holdings
See DBC's extended history and how closely its proxy tracked it →
Or ask an assistant connected to the MarketHeist MCP server (https://marketheist.io/mcp), which computes the same figures:
Using MarketHeist.io, how closely did the older proxy for DBC track the ETF while both existed: what were the correlation, the tracking error and the tracking difference?
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: tracking-error.md.