# How to backtest an ETF before it existed: proxy-extended history

Canonical URL: https://marketheist.io/portfolio/learn/proxy-backtesting
By Jeffrey Lin · Published 2026-11-05 · Updated 2026-11-05 · Data through Sep 2026
Category: Data

## Key takeaways

- Many popular ETFs launched in the 2000s or 2010s, so their own data miss the dot-com bust and often the 2008 crisis; a proxy, usually an index mutual fund or an index, supplies the earlier years.
- Splice returns, not prices: each month before the ETF existed takes the proxy's monthly total return, and the ETF's own returns take over from its first month. Prices of two different funds are not comparable; their percentage changes are.
- Judge a proxy on the months both existed: the correlation of monthly returns, the tracking error (the volatility of the monthly difference), and the tracking difference (the gap in annual growth).
- MarketHeist grades each proxy close, approximate or stand-in from those statistics, and shows the grade beside every extended history.
- An extended history carries the proxy's fees, holdings and survivorship, not the ETF's; it widens the sample of market conditions, not the certainty about the fund.

## Definition

Proxy-extended backtesting lengthens a young fund's price history by filling the years before its launch with the returns of an older fund or index that tracked the same market, joined on monthly returns rather than prices. It lets a backtest include market events the fund itself never lived through, at the cost of assuming the proxy behaved like the fund would have.

Also known as: proxy history, backtesting an ETF before it existed, extended ETF history, spliced returns, simulated ETF history, proxy chain.

## How it works

A backtest is only as informative as the markets it covers. A fund launched in 2011 has no own data for a deep bear market in stocks, a long bond bull market, or a decade of high inflation, so a test on its own history is a test on one regime. Extending the history with a proxy adds the regimes the fund missed.

The closest proxies are funds that tracked the same index, or a close relative, before the ETF existed: the index mutual fund the ETF was later created alongside, or the index itself. A chain can have several links, each older than the last; every link fills only the months before the earliest month already covered, so a younger, closer proxy always takes precedence.

The join happens on returns. Adjusted prices are rescaled whenever a fund pays a dividend, and two funds' prices start at arbitrary levels, so gluing prices together creates a false jump at the seam. Monthly percentage returns have neither problem: the ETF's first month simply follows the proxy's last.

Before trusting the early years, compare proxy and ETF over the months both existed. A correlation close to one says they moved together; a tracking error near zero says the monthly differences were small; a tracking difference near zero says neither grew systematically faster. A proxy can correlate well and still drift, so all three matter.

Proxy history is like reconstructing a city's climate before its weather station opened from a station a few miles away: valuable for knowing which storms happened, less reliable for the exact rainfall.

## Formula

**The splice**

```
r_t^{ext} = {\begin{pmatrix} r_t^{ETF} & t \ge t_0 \\ r_t^{proxy} & t < t_0 \end{pmatrix}
```

where:

- rₜᵉˣᵗ: monthly total return of the extended history in month t
- rₜᴱᵀᶠ: the ETF's own monthly total return
- rₜᵖʳᵒˣʸ: the proxy's monthly total return
- t₀: the ETF's first month of data

With a chain of proxies, the next link fills only the months before the earliest month already covered. Growth is then the product of (1 + rₜ) over the extended series.

**Tracking error and tracking difference over the overlap**

```
TE = \sqrt{12} \cdot sd (r_t^{proxy} - r_t^{ETF}), TD = (\prod_t (1 + r_t^{proxy}))^{12/n} - (\prod_t (1 + r_t^{ETF}))^{12/n}
```

where:

- TE: annualized tracking error: sample standard deviation (n − 1) of the monthly return differences, times √12
- TD: annualized tracking difference: the proxy's annual growth rate minus the ETF's over the same months; positive means the proxy earned more
- n: number of months both the proxy and the ETF have
- sd: sample standard deviation

**MarketHeist's proxy grade**

```
close: \rho \ge 0.95 ∧ TE \le 0.03; approximate: TE \le 0.08 ∧ (\sigma_{ETF} \le 0.03 ∨ (\rho \ge 0.8 ∧ v \le 1.25)); otherwise stand-in
```

where:

- ρ: correlation of the proxy's and the ETF's monthly returns over the overlap
- TE: annualized tracking error, as a fraction
- σ_ETF: the ETF's annualized volatility over the overlap; at or below 0.03 the ETF is treated as cash-like and judged on tracking error alone
- v: volatility ratio: the proxy's standard deviation divided by the ETF's

Checked in order: a proxy that passes the close test is close; otherwise approximate if it passes that test; otherwise a stand-in, meaning a fund from the same category rather than a copy of the index.

## Worked example

VXUS, Vanguard's total international stock ETF, extended backward with VGTSX (Vanguard Total International Stock Index Fund).

VXUS's own monthly data start in Feb 2011, about 16 years of history. Spliced with VGTSX, the history starts in May 1996, about 30 years.

Before using the early years, check how closely the proxy followed the ETF while both existed. Over 188 overlapping months the correlation of monthly returns was 0.999 and the annualized tracking error 0.77%, so MarketHeist grades the proxy close.

The extension changes the risk picture far more than the growth rate. The ETF's own years have a deepest decline of -27.8%; the extended history's is -58.5%, because it includes the 2007 to 2009 financial crisis. Its worst full calendar year, 2008 (-44.1%), predates the ETF. Growth rates differ less: 6.6% a year over the ETF's own data and 5.9% over the extended history.

That is the point of extending: not a different average, but the market events a backtest would otherwise never see. A portfolio tested only on VXUS's own years has never been through an international stock market falling by half.

Data through Sep 2026. Reproduce id: 694a5efbc1b58e17 (this guide, its lab setup and the data month).

## How MarketHeist computes it

- **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, May 1996 to Sep 2026 (365 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.
- **Splice**: Monthly total returns (dividends reinvested). The ETF keeps every month it has; each later link of the chain fills only months strictly before the earliest month covered so far. A proxy never fills a gap inside or after the ETF's own range. Returns are spliced, never prices. (`spliceChain` in packages/portfolio/engine/splice.ts)
- **Proxy chains**: Each fund's chain is listed nearest substitute first, mostly index mutual funds from the same family (for example VGTSX for VXUS, VUSTX for TLT, VBMFX for BND) and, for broad commodities, the GSCI commodity index itself. A proxy that fails to load shortens the history instead of stopping it. (`ASSET_INFO` in packages/portfolio/data/proxies.ts)
- **Overlap statistics**: Computed on the months both the ETF and the proxy have. Correlation is Pearson; tracking error is the sample standard deviation (n − 1) of the monthly differences times √12; tracking difference is the annualized geometric growth gap; beta and the volatility ratio use sample moments. (`overlapStats` in packages/portfolio/engine/tracking.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 (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. A fund-history page shows the worst grade among the proxies that contribute months; this lab shows the first proxy's grade. (`proxyGrade` in packages/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_MONTHS` in content-engine/src/history.ts)
- **Own vs extended columns**: The ETF's own column starts at its first month of data; the extended column runs from the first month of the spliced series. Both end at the same data month. Maximum drawdown, CAGR and the worst full calendar year are computed on each column separately, from month-end values.
- **Engine functions**: `spliceChain` (packages/portfolio/engine/splice.ts), `overlapStats` (packages/portfolio/engine/tracking.ts), `proxyGrade` (packages/portfolio/engine/tracking.ts), `metricsFromReturns` (packages/portfolio/engine/portfolio.ts)

## Proxy-extended backtesting compared with its neighbours

Ways to get a longer history for a young fund

| Approach | What fills the early years | Fees in the early years | Main risk |
| --- | --- | --- | --- |
| ETF's own data only | Nothing; the test starts at launch | The ETF's own | Misses the market regimes before launch |
| Index mutual fund proxy | A fund that tracked the same or a similar index | The mutual fund's, often higher | Small differences in index, costs and cash drag |
| Index proxy | The index itself | None | No costs at all, so early growth is overstated |
| Category stand-in | A fund with a similar strategy but a different method | That fund's | Different holdings and behaviour; returns approximate the category, not the fund |
| Simulated or reconstructed index | Returns rebuilt from rules and historical data | Usually none | Look-ahead and survivorship in how the rules were chosen |

## Limitations

- An extended history is a hybrid. Before the splice point the returns are the proxy's, with its own index, holdings, costs and cash drag; the grade measures how alike the two were after the ETF launched, not before.
- Fees differ. An index mutual fund often charged more than the ETF that replaced it, which understates early growth slightly; an index proxy charges nothing, which overstates it.
- Survivorship: proxies are chosen because they still exist and have long records. Funds that closed or merged are not candidates, which can make the available history look better than what investors could have held.
- Category stand-ins, such as one managed-futures fund standing in for another, share a strategy label but not the method. Their early years describe the category, not the fund.
- Correlation alone can mislead: a proxy with longer bonds or a different currency hedge can move in step with the ETF and still grow at a different rate. Read the tracking error and tracking difference beside it.

## Frequently asked questions

**How do you backtest an ETF before it existed?**

Use the monthly returns of an older fund or index that tracked the same market for the months before the ETF launched, and the ETF's own returns after. Join them on returns, not prices, and check how closely the two tracked each other while both existed.

**Why splice returns instead of prices?**

Two funds' prices start at unrelated levels, and adjusted prices are rescaled after every dividend, so joining prices creates a jump at the seam. Monthly percentage returns join cleanly: growth over the combined period is simply the product of one plus each month's return.

**How reliable is proxy-extended history?**

It depends on the proxy. An index mutual fund that tracked the same index, with a correlation near one and a tracking error of a fraction of a percent, gives early years that differ from the ETF's by little more than fees. A category stand-in is a rough guide to the market environment, not to the fund. MarketHeist shows the grade of every proxy so the difference is visible.

**What is the difference between tracking error and tracking difference?**

Tracking error is the volatility of the monthly gap between proxy and ETF: how much they wander apart month to month. Tracking difference is the gap in annual growth over the whole overlap: whether one systematically earned more. A proxy can have low tracking error and a steady tracking difference from fees.

**How far back can a fund be tested on MarketHeist?**

Each fund's history page lists its proxy chain, the extended start month and the grade of each proxy. The VXUS page is the example used here.

## References

1. Roll, R. (1992) A Mean/Variance Analysis of Tracking Error. Journal of Portfolio Management 18(4).
2. Brown, S. J., Goetzmann, W., Ibbotson, R. G. and Ross, S. A. (1992) Survivorship Bias in Performance Studies. Review of Financial Studies 5(4).
3. Elton, E. J., Gruber, M. J. and Blake, C. R. (1996) Survivor Bias and Mutual Fund Performance. Review of Financial Studies 9(4).
4. Bailey, D. H., Borwein, J. M., López de Prado, M. and Zhu, Q. J. (2014) Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance. Notices of the American Mathematical Society 61(5). Why short samples make backtests unreliable.

## Try it

App: https://marketheist.io/portfolio/history/vxus

MCP prompt (MarketHeist MCP server, https://marketheist.io/mcp):

```
Using MarketHeist.io, how far back can I backtest VXUS, which older fund extends its history, and how closely did that fund track VXUS while both existed?
```

Historical simulation, not advice.
