Simulating Returns of Leveraged ETFs

Discuss all general (i.e. non-personal) investing questions and issues, investing news, and theory.
blackswan
Posts: 6
Joined: Wed Aug 10, 2016 1:37 pm

Re: Simulating Returns of Leveraged ETFs

Post by blackswan »

siamond wrote: Mon Jan 11, 2021 9:08 am Hi there. Cool project. A bit of feedback:
Thank you for your input! I'm very grateful for your help; I agree this stuff can be confusing. I realized I didn't explain the mechanics of the computation very well, let me see if I've understood your points.
a) 'S' should be 'factor - 1' (i.e. 2 if leverage factor is 3, etc). This is made clear by researcher articles and by reasoning (there were a few cogent explanations in this thread a while ago). There is no reason to do any curve-fitting here.
My understanding was that LETFs don't just borrow 'factor - 1' times their capital, but hold some stock and some swaps. The fraction of swaps and the swap rate (the borrow rate + swap spread) vary by ETF and over time and are difficult to obtain. Thus their cost is "some multiple" times the borrow rate (plus some small fixed transaction fees), where we can't know the multiple; thus (per-ETF) curve fitting. Is there a better way to find this?
b) the math implementing the equation should be geometric instead of arithmetic, i.e. a+b really means (1+a)*(1+b)-1.
My variables are the daily simple returns; after subtracting expenses, they're all multiplied to get the cumulative returns.

Just to be extra sure, because this is something I want to be 100% confident on: Daily expenses are exactly the annual expense ratio divided by 252, right? And this is subtracted from the daily return? This is the literal calculation spelled out in the prospectus that funds themselves use to adjust their NAV, yes? (I'm taking after for example DiLellio 2018, equation 3.)

So let's say you had a (magic...) fund that grosses 0.1% per day with an annual ER of 0.05%. That means the net return for one day would be 1.001 - 0.0005 / 252. The cumulative return for the year would the product of 252 of these, (1.001 - 0.0005 / 252) ^ 252 ~= 1.28579. Yes? (I'm ignoring the -1.)

Let's then incorporate a borrow rate of 2% annually. Assuming we borrow 1X for simplicity, then our net cumulative return would be (1.001 - 0.0005 / 252 - 0.02 / 252) ^ 252, yeah? Or maybe it's 0.02 / 360 for rates, but that's the basic structure. ;)
c) the '252' math seems strange. I use a daily index data series, so I side-stepped the issue, but as far as I remember, the right divider is 360. But then my model does the math for all days of the year, not only trading days. Interest rates are SO confusing.

d) yes, some sort of curve-fitting factor ends up being necessary to match actuals, but it is clearly not the same across index families and is likely to not be a constant over time for a given index/fund or a function of some other variable condition. Plus we have few years of actuals, so the curve-fitting process is downright dubious. This is all we have though, but this really has to be taken with a big grain of salt.
Agreed on interest rates! My approach is to get a good fit / extrapolation with a simple formula, rather than get interpretable fit variables. By analogy, if you're fitting a line y = mx + b for variables m and b, you could fit instead y = (m/2)x + b - 0.1, and you'll get different variables, but the same fit. Similarly, we could fit a borrowing cost of something like (swap_fraction * (borrow_rate + swap_spread)) / 360, but since the swap_fraction and swap_spread (and the 360?? :wink: ) are (changing) unknowables, I just lump them together. "something" times borrow_rate. The units and scale of "something" aren't meaningful, but it gives the same fit.

I agree that curve fitting is fraught. I do fit the parameters per-ETF, but it seems the historical best fit is the best we can do.
e) leveraged ETFs expense ratios varied over time too... So any kind of curve-fitting would be better achieved when checking ER-free gross returns (I know, this isn't easy to retrieve from public sources).
Yeah... I guess I'm trying to make it easy to get a pretty-good simulation automatically, without a lot of custom / proprietary digging per ETF. For most ETFs it tracks within a handful of basis points per year, which is approaching hair-splitting territory. I do worry about systematic or conceptual error, which is why it's great to have smart people give it a good once-over.
f) this is the equation based on daily returns, which is kind of the easy part. What is more tricky is to go further in the past when daily values for the (total-return) index of reference were not available...
Yes! That's the next step. Thanks again for helping me on this!
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

blackswan wrote: Mon Jan 11, 2021 5:43 pm
siamond wrote: Mon Jan 11, 2021 9:08 am a) 'S' should be 'factor - 1' (i.e. 2 if leverage factor is 3, etc). This is made clear by researcher articles and by reasoning (there were a few cogent explanations in this thread a while ago). There is no reason to do any curve-fitting here.
My understanding was that LETFs don't just borrow 'factor - 1' times their capital, but hold some stock and some swaps. The fraction of swaps and the swap rate (the borrow rate + swap spread) vary by ETF and over time and are difficult to obtain. Thus their cost is "some multiple" times the borrow rate (plus some small fixed transaction fees), where we can't know the multiple; thus (per-ETF) curve fitting. Is there a better way to find this?
I don't think there is variation per ETF in this respect (EDIT: beyond what uncorrelated hypothesized below, which is more about friction cost imho). All definitions I've seen use 'S' as 'factor - 1'. Research articles, the definition of leveraged indices from MSCI, fund literature, etc. We had a good and conclusive discussion on the exact mechanics involved a few pages ago in this thread. I think this conclusion is solid. For sure, some fudge factor has to be added, but we shouldn't fudge the part which is solid. I must say I don't remember the details, please dive back in this thread and you should figure it out.
blackswan wrote: Mon Jan 11, 2021 5:43 pm
siamond wrote: Mon Jan 11, 2021 9:08 am b) the math implementing the equation should be geometric instead of arithmetic, i.e. a+b really means (1+a)*(1+b)-1.
My variables are the daily simple returns; after subtracting expenses, they're all multiplied to get the cumulative returns.
Let me clarify. You have this equation: lev = factor * ret - exp - S*borrow + C. What I was saying is that what it really means the following:
lev = (1+factor*ret) * (1+C) / (1+exp) / (1+S*borrow) - 1. Geometric math instead of arithmetic. Doesn't really matter with today's interest rates, but when dealing with interest rates from the 70s, it DOES matter. And small differences have a nasty way of cumulating over time, notably with compounding returns.

As to interest rates and dividing by 252, I am not too sure this works. While updating the 'borrowing rate' part of my spreadsheets, I refreshed my memory. The model is to divide the annual rate by 360 and then apply it to EVERY day of the year. This is called the "365/360 US Rule Methodology". If you think (US) bankers have a really weird sense of math, welcome to the club.

An important detail is that I use the LIBOR/overnight though, as the funds are not borrowed for long. And before LIBOR existed, I approximated it with the Fed Effective Federal Funds Rate (EFFR, which you can find on FRED).
Last edited by siamond on Tue Jan 12, 2021 10:17 am, edited 1 time in total.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

blackswan wrote: Mon Jan 11, 2021 5:43 pm
siamond wrote: Mon Jan 11, 2021 9:08 am e) leveraged ETFs expense ratios varied over time too... So any kind of curve-fitting would be better achieved when checking ER-free gross returns (I know, this isn't easy to retrieve from public sources).
Yeah... I guess I'm trying to make it easy to get a pretty-good simulation automatically, without a lot of custom / proprietary digging per ETF. For most ETFs it tracks within a handful of basis points per year, which is approaching hair-splitting territory. I do worry about systematic or conceptual error, which is why it's great to have smart people give it a good once-over.
Since the regression equation uses fixed factors, I think it is wise to eliminate anything from it which we know is variable (e.g. the ER). This being said, in this precise case, I took a quick look at the history of ERs for leveraged funds and fact is they didn't vary that much. So maybe I was splitting hairs. While for some other passive funds, this is definitely a consideration to pay attention to.
blackswan wrote: Mon Jan 11, 2021 5:43 pm
siamond wrote: Mon Jan 11, 2021 9:08 am f) this is the equation based on daily returns, which is kind of the easy part. What is more tricky is to go further in the past when daily values for the (total-return) index of reference were not available...
Yes! That's the next step. Thanks again for helping me on this!
Interestingly enough, all this daily math isn't THAT useful. The simple equation based on monthly returns and monthly std-deviation is remarkably accurate. I compared both when using actuals, and the match is really quite amazing. Anyhoo, I'll let you figure this out by re-reading this long thread. I'll share my updated simulator once done (should be a matter of days).
User avatar
Uncorrelated
Posts: 1237
Joined: Sun Oct 13, 2019 3:16 pm

Re: Simulating Returns of Leveraged ETFs

Post by Uncorrelated »

blackswan wrote: Sun Jan 10, 2021 5:21 pm So for a single day's leveraged return lev:

Code: Select all

    lev = factor * ret - exp - S*borrow + C
There is a slight error in this formula related to the risk free rate. To show this, let's decompose the leveraged ETF return unto three components:

Wphy, the fraction of the fund allocated to physical products
Wswap, the fraction of the fund allocated to swap contracts.
Wbill, the fraction of the fund allocated to treasury bills used as collateral for the swap contracts.
The weights are constrained such that Wphy + Wbill = 1 because 100% of the portfolio weight must be allocated to something, and Wphy + Wswap = L the fund leverage, because the fund promises to provide 3x exposure to the underlying.

Based on these numbers we can fund the following formula:


lev = ret * Wphy + ret * Wswap + Tbill_rate * Wbill - exp - Wswap * borrow_rate

The borrow rate is the swap spread plus the libor rate, which we will assume is the same as the T-bill rate, so we get:

lev = ret * Wphy + ret * Wswap + libor * Wbill - exp - Wswap * (swap_spread + libor)

we replace Wbill with (1 - Wphy) and expand the last part of the equation:

lev = ret * Wphy + ret * Wswap + libor * (1 - Wphy) - exp - Wswap * swap_spread - Wswap * libor

Which we can rearrange as:
lev =
+ ret * (Wphy + Wswap)
+ libor * (1 - Wphy - Wswap)
- swap_spread * Wswap
- exp

The ret term reduces to ret * L, the libor term reduces to libor * (1 - L) or -libor * (L - 1). So now we have our final formula:

lev = ret * L - libor * (L - 1) - swap_spread * Wswap - exp

although I prefer this form:

lev - libor = (ret - libor) * L - swap_spread * Wswap - exp

Here (lev - libor) and (ret - libor) indicate the excess return. When dealing with portfolio optimization, 99% of the time you'll be using the excess return.


Wswap differs per ETF's and depends on the implementation. For proshares 2x ETF's it's generally around 1.3, for 3x ETF's around 2.5, for inverse ETF's it's always equal to L. See this post, common stock holdings = Wphy.
blackswan
Posts: 6
Joined: Wed Aug 10, 2016 1:37 pm

Re: Simulating Returns of Leveraged ETFs

Post by blackswan »

Thank you for the detailed breakdown. That helps. So to summarize, the formula boils down to:
lev = ret * L - libor * (L - 1) - swap_spread * Wswap - exp
Where swap_spread and Wswap both vary by ETF, the former varies over time and is hard to find, and the latter doesn't always follow the rules. So without a (simple, automated) way to disentangle those, is it fair to combine them into one unknown to be curve fit (per-ETF)? That effectively leaves an equation of one unknown, just an additive constant. This is a very simple linear-ish model, which I like. My previous equation above had one multiplicative factor and one constant.

If I fit my original two-variable model vs. the "1-var" model, I get these telltale relative errors (I've switched to the Federal Funds Rate):

Code: Select all

LETF     RMSE   CAGR
---------------------
ULPIX   .0117  .0003
 1-var  .0125  .0000

UPRO    .0032  .0003
 1-var  .0075  .0017
 
TQQQ    .0044  .0015
 1-var  .0076  .003

TMF     .0036 -.0009
 1-var  .0037 -.0008
 
SH      .0022 -.0002
 1-var  .0029 -.0001
So with fitting just one additive constant, the RMSE is generally higher, the CAGR is not consistently better or worse. So the argument for using a simpler model, even if it's perhaps not quite as good a fit, would be that it's more theoretically plausible and perhaps extrapolates to the past better.

Does this seem reasonable? And is the telltale error the best metric to use? Is it worth fudging / fitting the leverage factor or borrow rate, either multiplicatively or additively?
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

blackswan wrote: Thu Jan 14, 2021 1:51 amDoes this seem reasonable? And is the telltale error the best metric to use? Is it worth fudging / fitting the leverage factor or borrow rate, either multiplicatively or additively?
It's probably quite reasonable, while still having to take things with a big grain of salt, as regressing/fudging over a single decade is basically a shot in the dark, likely plagued by recency bias. But then that's all we have.

I would suggest to explore making the fudging factor a function of leverage, e.g. a*L + b. I'd be curious to see if you get something interesting.

Also, you may want to ignore the first year to assess the Telltale error as quite clearly most leveraged funds had a troubled first year (compared to the benchmark) for whatever operational reason. Personally, I just eyeballed the Telltale chart to calibrate the fudging factor... Sometimes, there is a lot to say for the human eye...
User avatar
Uncorrelated
Posts: 1237
Joined: Sun Oct 13, 2019 3:16 pm

Re: Simulating Returns of Leveraged ETFs

Post by Uncorrelated »

blackswan wrote: Thu Jan 14, 2021 1:51 am
I think it's quite obvious that the model with more degrees of freedom has a lower in-sample RMSE. Perhaps you should evaluate the out-of-sample RMSE to see which model is better.

The swap spread varies over time. On top of my head, for equities it's generally in the range of 0.4%, but during the 2008 financial crisis there was a time where the spread was around 2%. No linear model will be able to capture this.

I think either model works just fine. For portfolio decisions you're most interested in the expected return of leveraged funds, both regressions should arrive at basically the same estimate.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

Uncorrelated wrote: Tue Jan 12, 2021 4:02 amSo now we have our final formula:

lev = ret * L - libor * (L - 1) - swap_spread * Wswap - exp

although I prefer this form:

lev - libor = (ret - libor) * L - swap_spread * Wswap - exp

Here (lev - libor) and (ret - libor) indicate the excess return. When dealing with portfolio optimization, 99% of the time you'll be using the excess return.

Wswap differs per ETF's and depends on the implementation. For proshares 2x ETF's it's generally around 1.3, for 3x ETF's around 2.5, for inverse ETF's it's always equal to L. See this post, common stock holdings = Wphy.
As I am finalizing the 2020 update of my LETF simulator, I pondered about something. We observed (and discussed) in the past that:
- stock LETFs with positive leverage require a non-negligible adjustment (which you explained with the swap factors)
- stock LETFs with negative leverage tend to track their benchmark pretty good (no adjustment required)
- bond LETFs with positive leverage tend to track their benchmark pretty good (no adjustment required)

What I mean by 'tracking the benchmark' is that gross returns (no ER) match the simple formula: lev = ret * L - libor * (L - 1)

I don't think we discussed very much the case of bond LETFs (ITT or LTT) with negative leverage (-1, -2, -3). My empirical observation is that we need a rather significant adjustment factor (e.g. 0.5% annualized for simple inverse, 1% for -2x and more for -3x).

Any cogent explanation on why this would be?
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

I completed my first round of updates for the monthly simulated returns, essentially extending the model to 2020 for all series and updating the comparisons to real-life LETFs. This proved to be quite some work, so many data series to deal with...

I plan to do another round of updates, reworking the bond series for the first few decades, as new historical data emerged which should significantly improve the quality of the data for the time periods where a formal index wasn't available. I should get to it the coming week.

Folks who were waiting impatiently for this update, please contact me via private message. Otherwise, you may want to hold a bit longer until I complete the 2nd round of updates.
danaht
Posts: 664
Joined: Sun Oct 18, 2015 11:28 am

Re: Simulating Returns of Leveraged ETFs

Post by danaht »

The past is no indication of the future. Growth stocks have been the best investment for the last decade - and even people like Dave Ramsey are telling people to invest in "growth" mutual funds only. I find this to be flawed. In the same way a simulation of how funds perform in the past is good - but there are no guarantees that the future will be like the past.
User avatar
Uncorrelated
Posts: 1237
Joined: Sun Oct 13, 2019 3:16 pm

Re: Simulating Returns of Leveraged ETFs

Post by Uncorrelated »

siamond wrote: Fri Jan 15, 2021 1:17 pm
Uncorrelated wrote: Tue Jan 12, 2021 4:02 amSo now we have our final formula:

lev = ret * L - libor * (L - 1) - swap_spread * Wswap - exp

although I prefer this form:

lev - libor = (ret - libor) * L - swap_spread * Wswap - exp

Here (lev - libor) and (ret - libor) indicate the excess return. When dealing with portfolio optimization, 99% of the time you'll be using the excess return.

Wswap differs per ETF's and depends on the implementation. For proshares 2x ETF's it's generally around 1.3, for 3x ETF's around 2.5, for inverse ETF's it's always equal to L. See this post, common stock holdings = Wphy.
As I am finalizing the 2020 update of my LETF simulator, I pondered about something. We observed (and discussed) in the past that:
- stock LETFs with positive leverage require a non-negligible adjustment (which you explained with the swap factors)
- stock LETFs with negative leverage tend to track their benchmark pretty good (no adjustment required)
- bond LETFs with positive leverage tend to track their benchmark pretty good (no adjustment required)

What I mean by 'tracking the benchmark' is that gross returns (no ER) match the simple formula: lev = ret * L - libor * (L - 1)

I don't think we discussed very much the case of bond LETFs (ITT or LTT) with negative leverage (-1, -2, -3). My empirical observation is that we need a rather significant adjustment factor (e.g. 0.5% annualized for simple inverse, 1% for -2x and more for -3x).

Any cogent explanation on why this would be?
Long and short ETF's should have a different fudge factor because there is a spread between the long and the short swap rate of about 0.2% (exhibit 1). This would explain a difference of around 0.6% per year between 3x and -3x ETF's. If the difference is larger than that, I don't know what would cause that.

I spent some time with pen and paper to see If I could work out an usable formula that would explain the difference, but I didn't get very far.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

siamond wrote: Fri Jan 15, 2021 6:37 pm I completed my first round of updates for the monthly simulated returns, essentially extending the model to 2020 for all series and updating the comparisons to real-life LETFs. This proved to be quite some work, so many data series to deal with...

I plan to do another round of updates, reworking the bond series for the first few decades, as new historical data emerged which should significantly improve the quality of the data for the time periods where a formal index wasn't available. I should get to it the coming week.

Folks who were waiting impatiently for this update, please contact me via private message. Otherwise, you may want to hold a bit longer until I complete the 2nd round of updates.
Ok, I'm finally done with my updates (I hope!). Same link for those of you who contacted me.

I updated all bonds series with the following improvements (which should moderately affect the first few decades of returns):
- refreshed all yield numbers from FRED
- better modeling technique to simulate biannual distributions
- direct modeling of all relevant indices (i.e. 1-3, 3-7, 7-10 and 20-30) as opposed to more indirect proxies
Lee_WSP
Posts: 4245
Joined: Fri Apr 19, 2019 5:15 pm
Location: Arizona

Re: Simulating Returns of Leveraged ETFs

Post by Lee_WSP »

Is the link public or do I need to pm you?
blackswan
Posts: 6
Joined: Wed Aug 10, 2016 1:37 pm

Re: Simulating Returns of Leveraged ETFs

Post by blackswan »

OK, I've updated my simulations, too.

https://nbviewer.jupyter.org/urls/gitla ... ETFs.ipynb

NOW with over 50 leveraged ETFs! New and improved more accurate data!**
**(Probably. I hope. :wink: )

CSV:
https://gitlab.com/doctorj/quantitative ... line=false

The main update is empirical selection of a curve-fitting model, i.e., which variables do we "fudge." TL;DR: a simple additive constant is best, and throwing out bad data is even better.

Taking Uncorrelated and siamond's suggestions, I assembled about 50 leveraged ETFs and mutual funds, fit models to the last half, and measured their accuracy on the first half. I also threw out any "rough start" data at the start of each ETF's history, determined by manually eyeballing the fit. (Wouldn't you know, this usually boils down to throwing out ProShares data before 2009 and Direxion data before 2013.)

So: model selection. I took the basic equation:

Code: Select all

lev = factor * ret - exp - (factor - 1) * borrow
And added fudge factors: scaling the leverage factor, applied to returns only (A); adding to the leverage factor that multiples borrow rates (B); scaling the borrow rate (C); and an overall additive constant (D).

Code: Select all

lev = factor * A * ret - exp - (factor + B - 1) * borrow * C + D
I then took all 16 possible subsets of fudge factors A B C D and found the best fit with that subset on the most recent half of the data, for each of the ~50 leveraged funds independently. That is, for each combination of fitting each parameter or leaving it at the default (1 for scales, 0 for increments), I found the best fit on the last half of the fund, then measured the error on the first half. I used median relative RMSE (of the telltale) as the main figure of merit; this essentially weights each fund equally. Fitting only D (an overall additive constant) gives the best out-of-sample RMSE of .0124 and the smallest IQR spread, followed closely by the combo of A and D (factor scale and additive constant) at .0129. D is typically in the range .001 to .01 (annualized).

I also tried adding a factor for T-bill rates, but it didn't really help.

One nice additional property of only using a single additive constant is that it makes it easy to spot bad data from a telltale.

The single additive constant is also very near the best when including bad data (RMSE within .004), so it's fairly robust. Incidentally most leveraged funds had large misses during the coronavirus crash in March 2020, which also tweaks the fit. I did not exclude it for the overall final fit because it didn't make a huge difference. In the "future work" department, filtering individual large outlier days (large deviations from "the formula") and/or bootstrapping could provide an even more robust fit.

However, the results are already not terrible. Using the single-constant model and fitting all the data (except bad initial data), all simulated funds are virtually always within 30% of actual over the life of the fund. Most funds are within 6%. The median (absolute) CAGR difference is .003 and the largest is .014.

Image

So, just to be explicit, the final model / formula is:

Code: Select all

lev = factor * ret - exp - (factor - 1) * borrow + D
where D is the only curve-fit parameter.

I included leveraged mutual funds in model selection because they have a good long history. They seem to be playing the same basic game under the hood as ETFs, but if there are reasons why they would not use the same leverage formula, let me know. Incidentally, I had to throw out many mutual funds because Yahoo just has complete garbage prices for them. Their charts are correct, but the historical data download is completely different.

Let me know what you think!
User avatar
RovenSkyfall
Posts: 216
Joined: Wed Apr 01, 2020 11:40 am

Re: Simulating Returns of Leveraged ETFs

Post by RovenSkyfall »

Everyone here deserves significant praise. You have all worked towards creating something important which will help people. Thank you.
I saved my money, but it can't save me | The Chariot
User avatar
Mando
Posts: 14
Joined: Mon Jan 04, 2021 8:56 am

Re: Simulating Returns of Leveraged ETFs

Post by Mando »

blackswan wrote: Mon Jan 25, 2021 3:36 am OK, I've updated my simulations, too.

https://nbviewer.jupyter.org/urls/gitla ... ETFs.ipynb

NOW with over 50 leveraged ETFs! New and improved more accurate data!**
**(Probably. I hope. :wink: )

CSV:
https://gitlab.com/doctorj/quantitative ... line=false

The main update is empirical selection of a curve-fitting model, i.e., which variables do we "fudge." TL;DR: a simple additive constant is best, and throwing out bad data is even better.

Taking Uncorrelated and siamond's suggestions, I assembled about 50 leveraged ETFs and mutual funds, fit models to the last half, and measured their accuracy on the first half. I also threw out any "rough start" data at the start of each ETF's history, determined by manually eyeballing the fit. (Wouldn't you know, this usually boils down to throwing out ProShares data before 2009 and Direxion data before 2013.)

So: model selection. I took the basic equation:

Code: Select all

lev = factor * ret - exp - (factor - 1) * borrow
And added fudge factors: scaling the leverage factor, applied to returns only (A); adding to the leverage factor that multiples borrow rates (B); scaling the borrow rate (C); and an overall additive constant (D).

Code: Select all

lev = factor * A * ret - exp - (factor + B - 1) * borrow * C + D
I then took all 16 possible subsets of fudge factors A B C D and found the best fit with that subset on the most recent half of the data, for each of the ~50 leveraged funds independently. That is, for each combination of fitting each parameter or leaving it at the default (1 for scales, 0 for increments), I found the best fit on the last half of the fund, then measured the error on the first half. I used median relative RMSE (of the telltale) as the main figure of merit; this essentially weights each fund equally. Fitting only D (an overall additive constant) gives the best out-of-sample RMSE of .0124 and the smallest IQR spread, followed closely by the combo of A and D (factor scale and additive constant) at .0129. D is typically in the range .001 to .01 (annualized).

I also tried adding a factor for T-bill rates, but it didn't really help.

One nice additional property of only using a single additive constant is that it makes it easy to spot bad data from a telltale.

The single additive constant is also very near the best when including bad data (RMSE within .004), so it's fairly robust. Incidentally most leveraged funds had large misses during the coronavirus crash in March 2020, which also tweaks the fit. I did not exclude it for the overall final fit because it didn't make a huge difference. In the "future work" department, filtering individual large outlier days (large deviations from "the formula") and/or bootstrapping could provide an even more robust fit.

However, the results are already not terrible. Using the single-constant model and fitting all the data (except bad initial data), all simulated funds are virtually always within 30% of actual over the life of the fund. Most funds are within 6%. The median (absolute) CAGR difference is .003 and the largest is .014.

Image

So, just to be explicit, the final model / formula is:

Code: Select all

lev = factor * ret - exp - (factor - 1) * borrow + D
where D is the only curve-fit parameter.

I included leveraged mutual funds in model selection because they have a good long history. They seem to be playing the same basic game under the hood as ETFs, but if there are reasons why they would not use the same leverage formula, let me know. Incidentally, I had to throw out many mutual funds because Yahoo just has complete garbage prices for them. Their charts are correct, but the historical data download is completely different.

Let me know what you think!
Wow, this is amazing work! I will definitely be parsing through this data. I came to this thread to ask if anyone looked at simulating short ETF's and it looks like you answered my question before I even arrived! :D
This is the Way.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

A poster asked me by PM to look at extending the simulation model to Emerging Markets (e.g. ProShares EET tracks MSCI 2x; Direxion EDC tracks MSCI EM 3x). So I took a good look. Before I forget, let me put in writing my observations.

MSCI EM total returns are available since Jan 1988, but only in monthly form until Jan-2001 (then it goes daily). Fortunately the corresponding price series is daily from the beginning, which is good enough to run the model with solid accuracy. Which I did, assembling 2x and 3x monthly simulations since 1988.

Unfortunately, there is a giant BUT. The monthly (and annual) numbers just don't match the EET and EDC actuals, unless I apply a giant 'fudge' factor. In other words, those LETFs returned way less than what my model predicted (as in more than 3% a year for EET and even worse for EDC). Either they are extremely poorly implemented (wouldn't entirely surprise me with Direxion/EDC, but Proshares/EET should be a solid offering) or my model just doesn't work quite right for international funds. I suspect the latter is true as my EAFE model also requires quite a fudge factor, although nowhere near as dramatic as EM.

Fact is there is a specific challenge with International due to time zones and the end-of-day not being in sync between securities involved in the index and the LETF itself, which I didn't tackle in my model (I have no clue what to do about it, quite frankly). I find hard to believe this fully explains the issue, but it is definitely a problem specific to Int'l LETFs.

Bottomline: I am afraid my EM numbers are largely a case of 'garbage in, garbage out'... And I have doubts about the EAFE numbers as well. Sorry! If anybody has an idea on how to improve Int'l LETF simulation, speak up...
blackswan
Posts: 6
Joined: Wed Aug 10, 2016 1:37 pm

Re: Simulating Returns of Leveraged ETFs

Post by blackswan »

I get a pretty good fit to EET and EDC (0.02% CAGR error) without crazy fudge factors by leveraging the vanilla 1X EEM as a proxy. Presumably it already has "internationalization" applied. It only has history back to 2003 though. If you want to use the index returns directly, you might experiment with finding the transformations needed to get from the index to EEM. That would eliminate the leverage part of the equation and let you focus on the internationalization, while matching on more history may give you more confidence. Another trick is to leverage the vanilla 1X ETF as far back as you can, then stitch in the leveraged index before that.
Similarly for EAFE, you can use EFA; there is also the 2X mutual fund UNPIX going back to 2006 to compare with.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

blackswan wrote: Mon Feb 08, 2021 1:34 am I get a pretty good fit to EET and EDC (0.02% CAGR error) without crazy fudge factors by leveraging the vanilla 1X EEM as a proxy. Presumably it already has "internationalization" applied. It only has history back to 2003 though. If you want to use the index returns directly, you might experiment with finding the transformations needed to get from the index to EEM. That would eliminate the leverage part of the equation and let you focus on the internationalization, while matching on more history may give you more confidence. Another trick is to leverage the vanilla 1X ETF as far back as you can, then stitch in the leveraged index before that.
Similarly for EAFE, you can use EFA; there is also the 2X mutual fund UNPIX going back to 2006 to compare with.
This is an interesting observation. The goal is clearly to go back in time back by decades, going as far as we can, hence using the index as the basis for computations. But you're right, maybe exploring how the index and EEM relate (without the leveraging logic on top) will unlock the situation. Plus it's an interesting topic in itself, actually. I might open a separate thread about this precise topic, actually. Thanks for the feedback!

PS. Proshares EET seems to hint at the same thing here:
ProShares Ultra MSCI Emerging Markets seeks daily investment results, before fees and expenses, that correspond to two times (2x) the daily performance of the MSCI Emerging Markets Index®.
Because the value of the index is not computed as of the close of the U.S. securities markets due to differences in trading hours between U.S. and foreign markets, correlation to the index will be measured by comparing the daily change in the fund's net asset value per share to the performance of one or more U.S. exchange traded securities or instruments that reflect the values of the securities underlying the index as of the close of the U.S. securities markets.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

After some meandering, I finally came back to updating our backtesting spreadsheet (aka Simba), customized with LETF annual returns. This includes my latest research about historical numbers, so the data is a tad different from what I shared a couple of years ago, although the big picture shouldn't have changed much.

Download the custom spreadsheet here (Excel file): https://drive.google.com/file/d/1H5DvKA ... sp=sharing

More information about the Simba backtesting spreadsheet: https://www.bogleheads.org/wiki/Simba%2 ... preadsheet
jarjarM
Posts: 1034
Joined: Mon Jul 16, 2018 1:21 pm

Re: Simulating Returns of Leveraged ETFs

Post by jarjarM »

siamond wrote: Wed Feb 17, 2021 1:28 pm After some meandering, I finally came back to updating our backtesting spreadsheet (aka Simba), customized with LETF annual returns. This includes my latest research about historical numbers, so the data is a tad different from what I shared a couple of years ago, although the big picture shouldn't have changed much.

Download the custom spreadsheet here (Excel file): https://drive.google.com/file/d/1H5DvKA ... sp=sharing

More information about the Simba backtesting spreadsheet: https://www.bogleheads.org/wiki/Simba%2 ... preadsheet
Thanks for the amazing work as usual, Siamond :beer
RonSea
Posts: 54
Joined: Mon Jan 04, 2021 6:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by RonSea »

siamond wrote: Wed Feb 17, 2021 1:28 pm After some meandering, I finally came back to updating our backtesting spreadsheet (aka Simba), customized with LETF annual returns. This includes my latest research about historical numbers, so the data is a tad different from what I shared a couple of years ago, although the big picture shouldn't have changed much.

Download the custom spreadsheet here (Excel file): https://drive.google.com/file/d/1H5DvKA ... sp=sharing

More information about the Simba backtesting spreadsheet: https://www.bogleheads.org/wiki/Simba%2 ... preadsheet

Hi Siamond,

If it doesn't take too much time could you list the estimated "adjustment factor" used for each fund? There seem to be some LEFTs that are worth avoiding (gold and emerging especially) because of their high frictional/spread/hidden costs. If designing a ~2x portfolio it may be worth having a bias towards only holding efficient LEFTs and ignoring the inefficient LEFTs for 1x versions of that asset class. Therefore knowing which ones are the most / least efficient may be useful.

Thank you so much for the work you put into this project!
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

RonSea wrote: Wed Feb 24, 2021 11:06 pmIf it doesn't take too much time could you list the estimated "adjustment factor" used for each fund? There seem to be some LEFTs that are worth avoiding (gold and emerging especially) because of their high frictional/spread/hidden costs. If designing a ~2x portfolio it may be worth having a bias towards only holding efficient LEFTs and ignoring the inefficient LEFTs for 1x versions of that asset class. Therefore knowing which ones are the most / least efficient may be useful.
I have a draft blog article where I am trying to document everything which went in this simulation. I never seem to finish it though... This should be the right place for such information. At a high-level, US bonds do not require adjustment, US stocks (large, mid, small) do require an adjustment, but definitely much less than Gold and/or International.

About International, I have to wonder if our simulation model is applicable though, I feel that we're missing something, quite possibly related to issues about market closure and time differences... About Gold, I am baffled, but the fact that the benchmark is an international index (LBMA) might create a time difference issue similar to International...
RonSea
Posts: 54
Joined: Mon Jan 04, 2021 6:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by RonSea »

siamond wrote: Wed Feb 24, 2021 11:19 pm At a high-level, US bonds do not require adjustment, US stocks (large, mid, small) do require an adjustment, but definitely much less than Gold and/or International.

About International, I have to wonder if our simulation model is applicable though, I feel that we're missing something, quite possibly related to issues about market closure and time differences... About Gold, I am baffled, but the fact that the benchmark is an international index (LBMA) might create a time difference issue similar to International...

Appreciate the information!

I'm now thinking about how funds have an approximate additional cost of [Leverage * Overnight LIBOR]. I wonder if this information can be used advantageously.

For example, it indicates it's more efficient to hold LEFTs at times when LIBOR is low, such as right now.

But if we're holding LEFT treasury funds when LIBOR is low the long-term expected return from treasuries are also going to be low. They may still act as a hedge but the average long-term return from them will be lower. So then maybe LEFT treasury funds are also more efficient to hold at times when the yield curve is high? As that would indicate cheap leverage + positive long-term returns of long-term treasuries (and they'll still act as an equities hedge).

Basically my thoughts are that when LIBOR is exceptionally cheap LEFT funds like TMF and TYD are more efficient leverage. However if overnight LIBOR raises substantially (2.4% in 2019, 5.3% in 2007) then it may be more worthwhile to hedge instead with unleveraged extended treasury funds like EDV. With exceptionally high LIBOR it may also be worth abandoning leveraged equity funds like UPRO and increasing equity risk / returns by opting for a basket of unleveraged risky funds like micro-caps, SCV, emerging markets, high momentum, etc.

However, perhaps the market is aware of this and it's priced in to everything. I can't be sure.
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Hey guys,

it's great that there has already been so much thought put into leveraged ETFs and how they might have performed over long periods of time.

I first got very interested in leveraged ETFs when I came across this article (http://www.ddnum.com/articles/leveragedETFs.php) that suggested that 2x is the optimal amount of leverage long-term.

However, I realized that they only used the price index. But, there is a follow-up article by the same guys that uses the more appropriate total return index (http://www.ddnum.com/articles/leveragedETFsandDCA.php) and in that article the conclusion is that a leverage of 3x and even 4x would make sense long-term.

This finding got me really excited about holding 3x leveraged ETFs as a long-term strategy. ;)

Do you guys see any flaws in their conclusion?
Laurizas
Posts: 233
Joined: Mon Dec 31, 2018 4:44 am
Location: Lithuania

Re: Simulating Returns of Leveraged ETFs

Post by Laurizas »

tradri wrote: Tue Mar 23, 2021 5:49 pm This finding got me really excited about holding 3x leveraged ETFs as a long-term strategy. ;)
How much of your portfolio are you inclined to allocate to 3x Etfs?
jarjarM
Posts: 1034
Joined: Mon Jul 16, 2018 1:21 pm

Re: Simulating Returns of Leveraged ETFs

Post by jarjarM »

tradri wrote: Tue Mar 23, 2021 5:49 pm Hey guys,

it's great that there has already been so much thought put into leveraged ETFs and how they might have performed over long periods of time.

I first got very interested in leveraged ETFs when I came across this article (http://www.ddnum.com/articles/leveragedETFs.php) that suggested that 2x is the optimal amount of leverage long-term.

However, I realized that they only used the price index. But, there is a follow-up article by the same guys that uses the more appropriate total return index (http://www.ddnum.com/articles/leveragedETFsandDCA.php) and in that article the conclusion is that a leverage of 3x and even 4x would make sense long-term.

This finding got me really excited about holding 3x leveraged ETFs as a long-term strategy. ;)

Do you guys see any flaws in their conclusion?
Don’t do 4x (not that there’s one in existence at the moment), a 25% drop will wipe out the LETF. 1987 drop was 22.7%, pretty close to that. Buy and hold 3x LETF is requires understanding the substantial risk that comes with it along with it. You should check out how UPRO performed in the last 18 months vs SPY. It dropped 77% vs 34% for SPY. Are you able to SWAN with that kind of losses? LETF requires substantially longer to recover from a big drop when compare to 1x holding. Understand your own risk tolerance and have an exit strategy before you dive in. Good luck :beer
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Laurizas wrote: Wed Mar 24, 2021 2:36 am
tradri wrote: Tue Mar 23, 2021 5:49 pm This finding got me really excited about holding 3x leveraged ETFs as a long-term strategy. ;)
How much of your portfolio are you inclined to allocate to 3x Etfs?
I am still young and don't even have much to invest to begin with, so I am personally willing to put all my investment money into a 3x leveraged ETF and just ride out the crazy ups and downs, if it really means that they produce superior returns long-term.
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

jarjarM wrote: Wed Mar 24, 2021 2:57 am
tradri wrote: Tue Mar 23, 2021 5:49 pm Hey guys,

it's great that there has already been so much thought put into leveraged ETFs and how they might have performed over long periods of time.

I first got very interested in leveraged ETFs when I came across this article (http://www.ddnum.com/articles/leveragedETFs.php) that suggested that 2x is the optimal amount of leverage long-term.

However, I realized that they only used the price index. But, there is a follow-up article by the same guys that uses the more appropriate total return index (http://www.ddnum.com/articles/leveragedETFsandDCA.php) and in that article the conclusion is that a leverage of 3x and even 4x would make sense long-term.

This finding got me really excited about holding 3x leveraged ETFs as a long-term strategy. ;)

Do you guys see any flaws in their conclusion?
Don’t do 4x (not that there’s one in existence at the moment), a 25% drop will wipe out the LETF. 1987 drop was 22.7%, pretty close to that. Buy and hold 3x LETF is requires understanding the substantial risk that comes with it along with it. You should check out how UPRO performed in the last 18 months vs SPY. It dropped 77% vs 34% for SPY. Are you able to SWAN with that kind of losses? LETF requires substantially longer to recover from a big drop when compare to 1x holding. Understand your own risk tolerance and have an exit strategy before you dive in. Good luck :beer
Yes, 3x is the highest I can get anyways, so I have to be happy with that. 4x is really pushing an edge case in my opinion.

I fully agree that I have to understand all the risks and possible rewards that come with holding leveraged ETFs long-term, as otherwise I will definitely be tempted to sell out of fear in a market downturn.

From my understanding, the main risk of holding leveraged ETFs is that the market will either remain relatively flat, in which case a leveraged ETF will do worse because of volatility decay, or that the market becomes much more volatile than it has been in the past, which will also be bad in terms of volatility decay. There have been some strategies that proposed to "time" leveraged ETFs by only investing in them when the VIX is below a certain level, but I don't want to deal with that, so I am looking at it from a buy-and-hold standpoint.

As far as risks concerning the investment vehicle itself, I don't see much more risk than with normal ETFs, as they are simply getting the returns through swap agreements, same as many other ETFs.

As for the upside, I got very excited when looking at the possible reward that I could get as compensation for taking on that much more volatility. Hence, why I am asking if there are any problems with the simulated long-term returns presented in this article: http://www.ddnum.com/articles/leveragedETFsandDCA.php Maybe there are some things they didn't account for...black swan events?

I am fully aware that these ETFs produce much higher drawdowns, but I think that's fine, as otherwise one couldn't expect higher returns without taking on more risk, right? Isn't that the efficient market hypothesis? However, I think if you are planning to hold them for decades, it shouldn't matter that much in the end.

As far as the exit strategy, I think a reasonable strategy would be to take the money out of these leveraged ETFs in the last 10 years before you actually want to live off of it. That way you have a 10-year period to "time your exit" and make sure that you aren't selling during a market crash, right?

Anyways, I am happy to change my mind in case I overlooked something. :sharebeer
Hydromod
Posts: 510
Joined: Tue Mar 26, 2019 10:21 pm

Re: Simulating Returns of Leveraged ETFs

Post by Hydromod »

I was trying to get a better handle on LETF behavior using historical data.

As a test, I wanted to see how a mixture of UPRO and SPXU would do. I did a simple check using SPY to generate UPRO and SPXU equivalents, using the current ER and historical LIBOR.

I implemented the equivalent UPRO and SPXU from SPY according to the formula where the daily movement of the everaged ETF is N*d - (N-1)*r - ER/252, where d is the daily SPY movement, r is the daily borrow rate and ER is the annual expense ratio. I did not correct for the SPY ER, which is quite small. The current ER for both UPRO and SPXU is about 0.92%.

I plotted the result as below. In the plots, I imposed an ER of 1.5%, because it seemed to match better than 0.9%.

Image

The top plot is SPY, normalized to the end date.

The middle plot is a daily rebalanced portfolio, 50/50 UPRO (3x SPY)/SPXU (-3x SPY). The portfolio is calculated four ways: (i) ER only (multiplying SPY movements by 3 and -3, subtracting the ER, and adding the LETF equivalents at 50/50); (ii) LIBOR only (multiplying SPY movements, subtracting the costs from the bottom figure, and adding the equivalents); (iii) ER + LIBOR (same procedure with both); and (iv) UPRO/SPXU directly.

The bottom plot is the LIBOR value and the corresponding borrowing costs. SPXU has negative borrowing costs.

I expected that the result would be like the blue line in the top plot, which is the strict daily movement adjusted for the ER, or at least that I would have some sort of continual loss.

The gray line is the behavior that the formula gives. The actual funds seem to generally match, except for a deflection from 2018 to spring 2020. I was quite surprised to see that the formula would give a profit during periods of high interest rates by holding a 50/50 mixture, even with an ER drag.

The second figure is the same thing, zoomed into the period with UPRO and SPXU both in existence.

Image

Here there is a clear deviation from the formula, although it appears to be strongly related to LIBOR rates based on the timing between the two. The increase in borrowing rates had a favorable effect for this strategy.

I'm not interested in exploring whether or not this would be a profitable strategy overall, I'm just interested in understanding (i) whether these results would be expected, (ii) why the unexpected deviation from the formula during high interest rates, and (iii) how would this be accounted for in synthetic LETFs?

My suspicion is that ProShares internally balances out some of the borrowing costs between opposing funds, so external borrowing would be smaller than meets the eye at first.

Explain carefully please, because I know nothing about such financial doings, in ways that I can test for myself.

Thank you for your gentle patience with me.
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

Dear all,

I fully understand that the returns of leveraged ETFs have to reflect at least the following costs:
1) management fees - included in the expense ratio
2) borrowing costs - floating leg of the total return equity swaps pays (probably) 1M LIBOR + spread
3) other costs - this includes transaction fees, slippage, bid-ask spreads.. They are probably very low.

Neglecting 3) I end up with the following equation describing the relationship between the daily returns of the underlying asset (or index) and the daily returns of the leveraged ETF:

LETF = L*UNDERLYING - (L-1)*1M_LIBOR - SWAP*Wswap - EXPESNE_RATIO

Yet, this is not at all what I observe in case of UPRO, SSO, TQQQ.. Somehow all these ETFs beat the underlying index multiplied by the leverage. So in other words:
LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
and all the costs are covered. So UPRO, SSO, TQQQ beat the simple index multiplied by the leverage ratio.

How is it possible? :confused Any ideas? :confused

Here you can see a chart of UPRO vs 3*S&P500.
https://postimg.cc/w7DK5sCx

Here you can see a telltale chart of UPRO vs 3*S&P500.
https://postimg.cc/jWndbjWD

Do you have any idea how it is possible that UPRO beats 3*S&P500 (and I mean here total return S&P500 with reinvested dividends). The same holds for SSO and TQQQ vs NASDAQ100.

Thank you very much!
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Rogue_trader wrote: Wed Apr 07, 2021 3:14 pm Dear all,

I fully understand that the returns of leveraged ETFs have to reflect at least the following costs:
1) management fees - included in the expense ratio
2) borrowing costs - floating leg of the total return equity swaps pays (probably) 1M LIBOR + spread
3) other costs - this includes transaction fees, slippage, bid-ask spreads.. They are probably very low.

Neglecting 3) I end up with the following equation describing the relationship between the daily returns of the underlying asset (or index) and the daily returns of the leveraged ETF:

LETF = L*UNDERLYING - (L-1)*1M_LIBOR - SWAP*Wswap - EXPESNE_RATIO

Yet, this is not at all what I observe in case of UPRO, SSO, TQQQ.. Somehow all these ETFs beat the underlying index multiplied by the leverage. So in other words:
LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
and all the costs are covered. So UPRO, SSO, TQQQ beat the simple index multiplied by the leverage ratio.

How is it possible? :confused Any ideas? :confused

Here you can see a chart of UPRO vs 3*S&P500.
https://postimg.cc/w7DK5sCx

Here you can see a telltale chart of UPRO vs 3*S&P500.
https://postimg.cc/jWndbjWD

Do you have any idea how it is possible that UPRO beats 3*S&P500 (and I mean here total return S&P500 with reinvested dividends). The same holds for SSO and TQQQ vs NASDAQ100.

Thank you very much!
I don't know if this is the reason why your simulations underperform, but from what I can tell one should use the overnight rate, not the 1 month LIBOR.
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

tradri wrote: Wed Apr 07, 2021 3:19 pm Rogue_trader wrote: ↑Wed Apr 07, 2021 10:14 pm
Dear all,

I fully understand that the returns of leveraged ETFs have to reflect at least the following costs:
1) management fees - included in the expense ratio
2) borrowing costs - floating leg of the total return equity swaps pays (probably) 1M LIBOR + spread
3) other costs - this includes transaction fees, slippage, bid-ask spreads.. They are probably very low.

Neglecting 3) I end up with the following equation describing the relationship between the daily returns of the underlying asset (or index) and the daily returns of the leveraged ETF:

LETF = L*UNDERLYING - (L-1)*1M_LIBOR - SWAP*Wswap - EXPESNE_RATIO

Yet, this is not at all what I observe in case of UPRO, SSO, TQQQ.. Somehow all these ETFs beat the underlying index multiplied by the leverage. So in other words:
LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
and all the costs are covered. So UPRO, SSO, TQQQ beat the simple index multiplied by the leverage ratio.

How is it possible? Any ideas?

Here you can see a chart of UPRO vs 3*S&P500.
https://postimg.cc/w7DK5sCx

Here you can see a telltale chart of UPRO vs 3*S&P500.
https://postimg.cc/jWndbjWD

Do you have any idea how it is possible that UPRO beats 3*S&P500 (and I mean here total return S&P500 with reinvested dividends). The same holds for SSO and TQQQ vs NASDAQ100.

Thank you very much!
I don't know if this is the reason why your simulations underperform, but from what I can tell one should use the overnight rate, not the 1 month LIBOR.
In those simulations (on the charts) I am not using any rate at all. I am just comparing UPRO vs 3*daily S&P500 and UPRO beats it brutally, which makes no sense economically. It looks as if there were no borrowing costs and no expense ratio at all!!! Has anybody ever tried to compare UPRO and 3*S&P500?
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Rogue_trader wrote: Wed Apr 07, 2021 3:14 pm LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
Did you just multiply the S&P 500 by 3x over that whole time period?

Because due to the daily compounding, a 3x leveraged ETF produces more than 3x leverage in a strong bull market, such as the one we have seen in the past few years.

Anyways, here is the Python code I used to estimate CAGRs: https://pastebin.com/qxqQV5xg
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

tradri wrote: Wed Apr 07, 2021 4:17 pm
Rogue_trader wrote: Wed Apr 07, 2021 3:14 pm LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
Did you just multiply the S&P 500 by 3x over that whole time period?

Because due to the daily compounding, a 3x leveraged ETF produces more than 3x leverage in a strong bull market, such as the one we have seen in the past few years.

Anyways, here is the Python code I used to estimate CAGRs: https://pastebin.com/qxqQV5xg
I am aware of the volatility drag.. I multiplied daily returns of S&P500 by 3 just like UPRO aims to do! UPRO should be lagging behind 3*S&P500 and not beating it. It should be lagging by expense ratio, borrowing costs and possibly also other costs (transactions fees, slippage...), but it is not the case. I really do not understand why. It makes no sense, because it basically means that there is an arbitrage opportunity.

I see in your code that you are simulating LETF from 1980, but have you tried to compare your simulation with UPRO or SSO? (Of course you have to shorten the time series. These LETFs were launched in 2009.)
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Rogue_trader wrote: Wed Apr 07, 2021 4:52 pm
tradri wrote: Wed Apr 07, 2021 4:17 pm
Rogue_trader wrote: Wed Apr 07, 2021 3:14 pm LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
Did you just multiply the S&P 500 by 3x over that whole time period?

Because due to the daily compounding, a 3x leveraged ETF produces more than 3x leverage in a strong bull market, such as the one we have seen in the past few years.

Anyways, here is the Python code I used to estimate CAGRs: https://pastebin.com/qxqQV5xg
I am aware of the volatility drag.. I multiplied daily returns of S&P500 by 3 just like UPRO aims to do! UPRO should be lagging behind 3*S&P500 and not beating it. It should be lagging by expense ratio, borrowing costs and possibly also other costs (transactions fees, slippage...), but it is not the case. I really do not understand why. It makes no sense, because it basically means that there is an arbitrage opportunity.

I see in your code that you are simulating LETF from 1980, but have you tried to compare your simulation with UPRO or SSO? (Of course you have to shorten the time series. These LETFs were launched in 2009.)
Yes, I did compare a perfect 3x S&P 500 with the actual UPRO, and the UPRO (obviously) lags behind the perfect simulation.

Did you make sure to multiply the daily leveraged returns by each other?
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

tradri wrote: Wed Apr 07, 2021 4:57 pm
Rogue_trader wrote: Wed Apr 07, 2021 4:52 pm
tradri wrote: Wed Apr 07, 2021 4:17 pm
Rogue_trader wrote: Wed Apr 07, 2021 3:14 pm LETF = L*UNDERLYING or actually LETF > L*UNDERLYING
Did you just multiply the S&P 500 by 3x over that whole time period?

Because due to the daily compounding, a 3x leveraged ETF produces more than 3x leverage in a strong bull market, such as the one we have seen in the past few years.

Anyways, here is the Python code I used to estimate CAGRs: https://pastebin.com/qxqQV5xg
I am aware of the volatility drag.. I multiplied daily returns of S&P500 by 3 just like UPRO aims to do! UPRO should be lagging behind 3*S&P500 and not beating it. It should be lagging by expense ratio, borrowing costs and possibly also other costs (transactions fees, slippage...), but it is not the case. I really do not understand why. It makes no sense, because it basically means that there is an arbitrage opportunity.

I see in your code that you are simulating LETF from 1980, but have you tried to compare your simulation with UPRO or SSO? (Of course you have to shorten the time series. These LETFs were launched in 2009.)
Yes, I did compare a perfect 3x S&P 500 with the actual UPRO, and the UPRO (obviously) lags behind the perfect simulation.

Did you make sure to multiply the daily leveraged returns by each other?
Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Hydromod
Posts: 510
Joined: Tue Mar 26, 2019 10:21 pm

Re: Simulating Returns of Leveraged ETFs

Post by Hydromod »

Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Are you using the index for S&P500 or the total returns? UPRO includes dividend reinvestment.
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

Hydromod wrote: Wed Apr 07, 2021 5:51 pm
Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Are you using the index for S&P500 or the total returns? UPRO includes dividend reinvestment.
Yes, I am using total return S&P500 (the ticker on yahoo is ^GSPC). So dividends definitely do not explain it.
Hydromod
Posts: 510
Joined: Tue Mar 26, 2019 10:21 pm

Re: Simulating Returns of Leveraged ETFs

Post by Hydromod »

Rogue_trader wrote: Wed Apr 07, 2021 5:57 pm
Hydromod wrote: Wed Apr 07, 2021 5:51 pm
Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Are you using the index for S&P500 or the total returns? UPRO includes dividend reinvestment.
Yes, I am using total return S&P500 (the ticker on yahoo is ^GSPC). So dividends definitely do not explain it.
^GSPC is the price index only. You can tell because the adjusted close is the same as the close in yahoo finance. You should compare to SPY or some other index fund.
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

Hydromod wrote: Wed Apr 07, 2021 6:23 pm
Rogue_trader wrote: Wed Apr 07, 2021 5:57 pm
Hydromod wrote: Wed Apr 07, 2021 5:51 pm
Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Are you using the index for S&P500 or the total returns? UPRO includes dividend reinvestment.
Yes, I am using total return S&P500 (the ticker on yahoo is ^GSPC). So dividends definitely do not explain it.
^GSPC is the price index only. You can tell because the adjusted close is the same as the close in yahoo finance. You should compare to SPY or some other index fund.
^GSPC is not price index, ^GSPC is the S&P 500 total return index (the one the whole world follows). Please have a look here.
https://finance.yahoo.com/quote/%5EGSPC ... c=fin-srch

here you can see the nice overlap of SPY and ^GSPC
https://finance.yahoo.com/chart/%5EGSPC ... QifX19fQ--
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm
Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Here are the results from the Python code I posted above, from 2010, 1, 1 to 2021, 1, 1.

Image
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

tradri wrote: Thu Apr 08, 2021 9:55 am
Rogue_trader wrote: Wed Apr 07, 2021 5:10 pm
Yes, I did. I multiplied every day's return with 3 and then calculated cumulative product. So if S&P500 returns were:
Day1 1%
Day2 2%
S&P500 is then (assuming it starts from 100) 100*(1+1%)*(1+2%)
In case of 3*S&P500 I end up with
Day1 3%
Day2 6%
and then the value is 100*(1+3%)*(1+6%)

UPRO does not lag behind the perfect simulation, it beats it. Just look the charts I posted. Would you please share with me your data, where I can see the lagging? I can't believe it! I checked it thousand times. I know it should be lagging, but it is simply not the case.
Here are the results from the Python code I posted above, from 2010, 1, 1 to 2021, 1, 1.

Image
Thank you. You are right. I was leveraging S&P500 and then SPY close prices (from yahoo) and I should have leveraged SPY adjusted prices from yahoo, just like you apparently did. Apparently UPRO tracks total return index not price index. Either the equity swaps they do are tied to total return S&P500 or they somehow reinvest dividends. That is the only way to explain it.
If you try to do your simulation with S&P500 or SPY close prices you will also see that UPRO beats it.
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

Rogue_trader wrote: Thu Apr 08, 2021 2:37 pm
Thank you. You are right. I was leveraging S&P500 and then SPY close prices (from yahoo) and I should have leveraged SPY adjusted prices from yahoo, just like you apparently did. Apparently UPRO tracks total return index not price index. Either the equity swaps they do are tied to total return S&P500 or they somehow reinvest dividends. That is the only way to explain it.
If you try to do your simulation with S&P500 or SPY close prices you will also see that UPRO beats it.
True. When I run the simulation with the ["Close"] prices, instead of the ["Adj Close"] prices, the UPRO beats the perfect 3x simulation.

Image
Rogue_trader
Posts: 19
Joined: Wed Apr 07, 2021 1:14 pm

Re: Simulating Returns of Leveraged ETFs

Post by Rogue_trader »

tradri wrote: Thu Apr 08, 2021 3:12 pm
Rogue_trader wrote: Thu Apr 08, 2021 2:37 pm
Thank you. You are right. I was leveraging S&P500 and then SPY close prices (from yahoo) and I should have leveraged SPY adjusted prices from yahoo, just like you apparently did. Apparently UPRO tracks total return index not price index. Either the equity swaps they do are tied to total return S&P500 or they somehow reinvest dividends. That is the only way to explain it.
If you try to do your simulation with S&P500 or SPY close prices you will also see that UPRO beats it.
True. When I run the simulation with the ["Close"] prices, instead of the ["Adj Close"] prices, the UPRO beats the perfect 3x simulation.

Image
Yes, exactly. It doesn't even matter whether UPRO claims to track price or total return index. The dividends are priced in the derivatives (swaps or index futures) that they use so implicitly UPRO does earn the dividends and apparently it is indeed the case and it distributes them https://www.nasdaq.com/market-activity/ ... nd-history and therefore "Close" and "Adj Close" differ. So when simulating the LETF returns one has to make sure that not only borrowing costs, expense ratio, slippage and transaction costs are included but also the dividend yield of the underlying. Thank you for your help!
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

siamond wrote: Wed Feb 17, 2021 1:28 pm After some meandering, I finally came back to updating our backtesting spreadsheet (aka Simba), customized with LETF annual returns. This includes my latest research about historical numbers, so the data is a tad different from what I shared a couple of years ago, although the big picture shouldn't have changed much.

Download the custom spreadsheet here (Excel file): https://drive.google.com/file/d/1H5DvKA ... sp=sharing

More information about the Simba backtesting spreadsheet: https://www.bogleheads.org/wiki/Simba%2 ... preadsheet
I don't know if I'm doing something wrong, but somehow I can't adjust the expense ratio in this version of the Simba backtesting spreadsheet. It works perfectly fine in the rev18b version, but when I try to change the expense ratio in this spreadsheet, the returns don't seem to change.

Could you fix that?

Thank you for putting all of this together.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

tradri wrote: Tue Apr 13, 2021 7:08 amI don't know if I'm doing something wrong, but somehow I can't adjust the expense ratio in this version of the Simba backtesting spreadsheet. It works perfectly fine in the rev18b version, but when I try to change the expense ratio in this spreadsheet, the returns don't seem to change.

Could you fix that?
Oh, good point. I entered all the leveraged data series as a fund (the expense ratio is then already taken in account by the annual returns, so the ER I provided in row 6 is just informational), but it would have been more flexible to format them as an index and allow the end user to customize the ER to be applied. Ok, I'll do this later today.
User avatar
siamond
Posts: 5792
Joined: Mon May 28, 2012 5:50 am

Re: Simulating Returns of Leveraged ETFs

Post by siamond »

siamond wrote: Tue Apr 13, 2021 10:06 am
tradri wrote: Tue Apr 13, 2021 7:08 amI don't know if I'm doing something wrong, but somehow I can't adjust the expense ratio in this version of the Simba backtesting spreadsheet. It works perfectly fine in the rev18b version, but when I try to change the expense ratio in this spreadsheet, the returns don't seem to change.

Could you fix that?
Oh, good point. I entered all the leveraged data series as a fund (the expense ratio is then already taken in account by the annual returns, so the ER I provided in row 6 is just informational), but it would have been more flexible to format them as an index and allow the end user to customize the ER to be applied. Ok, I'll do this later today.
Here you are... I didn't change the version number, as the resulting data is the same (with default settings, that is). In 'Raw Data', you can now customize cells QQ4, QS4, etc.

https://drive.google.com/file/d/1H5DvKA ... sp=sharing
User avatar
tradri
Posts: 386
Joined: Tue Mar 23, 2021 5:42 pm

Re: Simulating Returns of Leveraged ETFs

Post by tradri »

siamond wrote: Thu Apr 15, 2021 9:24 am Here you are... I didn't change the version number, as the resulting data is the same (with default settings, that is). In 'Raw Data', you can now customize cells QQ4, QS4, etc.

https://drive.google.com/file/d/1H5DvKA ... sp=sharing
Thanks a lot!

The work you are doing is really valuable. :sharebeer
Post Reply