How We Can Backtest Leveraged ETFs All the Way Back To 1927

Leveraged ETFs on the S&P 500 are a relatively new phenomenon. ETFs as a whole are.

The first ETF on the S&P 500 was launched in 1993. The SPDR® S&P 500® ETF, also called SPY.

Therefore backtesting levereaged ETFs is much more complicated than it first may seem.

On this page we explain our methodology which allows us to accurately backtest leveraged ETFs all the way back to 1927.

What Data To Use?

What do leveraged ETFs like the or track? The S&P 500 Total Return Index (S&P500TR)
What is a total return index? It's simply the price index including events such as dividends. The so called is one of them.
The Problem we face now is that data for the SPY only goes back to 1993. Using that data, like many other backtesting tools and websites, would not include major historical events such as , , the and more.
When we make investment decisions, we should be able to see how an investment would have performed in the past. So why not use the Total Return Index then? Because even that data only goes back to February 1988. Which still doesn't include enough major important historical events to run sensible backtests and complex analysis.
So what do we do? There is available for the S&P Price Index all the way back to 1927. We also have on the dividends that were paid out on the S&P 500.
We can use that data to simulate the S&P500 Total Return Index before 1988, combine it together with real data starting in 1988 and voilà, we have a datast of the S&P 500 Total Return Index all the way back to 1927.
The simulated data will not be 100% accurate, but it will be as accurate as we need it to be.
In case you've read enough theory, you can check out our backtesting tool or statistical analysis tool, right now or, of course, you are invited to keep on reading.

Comparing S&P 500 Price Index vs S&P 500 Total Return Index

Here we visualize the difference between the S&P 500 Price Index and the S&P 500 Total Return Index. The Price Index (orange line) only tracks price changes, while the Total Return Index (white line) includes both price changes and reinvested dividends.
To demonstrate that the difference isn't just due to different starting values, we've added a version of the Price Index (teal line) that starts at the same value as the Total Return Index. Even when normalized to the same starting point, the Price Index significantly trails behind the Total Return Index, showing the powerful effect of reinvesting dividends over time.
Loading chart data...

Log vs Linear Scale

Try out the Log Scale to more easily see differences in the earlier parts of the simulations. You can also hide or show specific lines by using the toggles above the Log Scale toggle.

Our Simulation of the S&P 500 Total Return Index (S&P500TR)

Let's dive into the simulation. Here is what our simulated S&P500TR data looks like compared to the actual S&P 500 Total Return Index. If you can't see the difference, try using the toggles in the chart to hide/show specific lines. In the best case they should be exactly the same.

As you can see, our data and simulation are not 100% accurate, but accurate enough for our purposes. If you have suggestions on how to improve our simulation, please let us know.

Loading chart data...

S&P 500 Total Return Index (S&P500TR) Extended by Leveraged-ETFs.com

Nearly there! Just one last step.

For the period before 1988, we simulate total returns using our validated methodology above. This extended dataset forms the foundation for all our backtesting simulations.

Again in this chart you can compare our simulated "extended" S&P500TR data to the actual S&P500TR data.

Note how the real data starts in 1988. That's the point where our simulation switches to using real data. This means for all simulations you run, only the data before 1988 is simulated.

Loading chart data...

Simulating Leveraged ETF Returns

Now that we have a complete dataset for the S&P 500 Total Return Index going back to 1927, we look into how we can simulate the returns of leveraged ETFs.

To do so we need to account for various factors, including:

  • Daily rebalancing effects
  • Management fees - Total Expense Ratio (TER)
  • Borrowing Costs
  • Addition "Hidden" Costs

Daily rebalancing

Leveraged ETFs are rebalanced daily to maintain the leverage ratio. This means that the value of the ETF will fluctuate based on the daily changes in the S&P 500. This sounds very fancy and complicated, but the math is very simple:

leveraged return = 2 * (S&P 500 return)

This means that if the S&P 500 goes up by 1% today, the leveraged ETF will go up by 2%. Then we simply do this for each day in our dataset. For 3x leveraged ETFs we simply replace the 2 with a 3.

Management fees - Total Expense Ratio (TER)

The TER is the management fee that the ETF issuer charges to manage the ETF. It is deducted from the value of the ETF daily and is just a tiny bit more complicated to account for:

leveraged return = ((1 - TER) / trading days per year) * (S&P 500 return)

This means we simply apply the TER to the value of the ETF daily.

But beware: trading days per year vary. Especially if we go back further in time.

We got that covered. Since we have the daily data avaialble, we can simply count the number of trading days for each year from our dataset.

Borrowing costs

Now this is where it gets interesting. We work on the assumption that leveraged ETF providers are able to borrow money at the Fed rate. Or often referred to as the risk-free rate. Luckily, the FRED API has us covered. We can take the historical rates and apply them accordingly.

Addition "Hidden" Costs

There are some additional costs that are not immediately obvious. Transaction costs, unknown fees, etc. To account for this, we try to do the following:

  • We run a simulations with the known TER and risk-free rate and compare the results to the actual data.
  • We use mathematical models to estimate the additional costs. By applying different parameters so that the median and average tracking difference to the real data is as close as possible.

Our 2x Leverage Simulation vs Real SSO Data

Loading chart data...

Our 3x Leverage Simulation vs Real UPRO Data

Loading chart data...

Improving Our Simulations

Since the markets are always changing and delivering new data, we can consistently improve our simulations. This includes recalibrating simulation parameters and cost assumptions to minimize tracking differences. We strive to do so at least once a week.

If you still have questions, feedback or ideas to improve our simulations, please let us know.