项目作者: xiadz

项目描述 :
Notes on the UPRO ETF - a 3x leveraged (daily) S&P500 ETF
高级语言: Python
项目地址: git://github.com/xiadz/upro.git
创建时间: 2019-05-01T17:55:37Z
项目社区:https://github.com/xiadz/upro

开源协议:

下载


TL;DR: According to my amateurish and certainly wrong analysis,
UPRO costed about 2.24*(3M tbill yield) + 1.58% (annualized) to
hold, in the sense that this is how much it lags behind it’s
stated objective. As of April 2019 this seems to be around
6% to 7%, annualized.

UPRO

UPRO is a leveraged ETF that promises 3x daily returns
of S&P 500. Details: http://etf.com/UPRO,
fund’s prospectus.

Non-purpose of this repository

Be of any financial advice. Don’t buy UPRO if you cannot stomach
100% losses. It can literally go to zero in a single day - from
the fund’s prospectus:

  1. > For example, because the Fund includes a multiplier of three times
  2. > (3x) the Index, a single day movement in the Index approaching 33%
  3. > at any point in the day could result in the total loss of an
  4. > investors investment if that movement is contrary to the investment
  5. > objective of the Fund, even if the Index subsequently moves in
  6. > an opposite direction, eliminating all or a portion of the earlier
  7. > movement.

Purpose of this repository

See what has really happened to UPRO between June 2009
and April 2019 - how well it has been tracking it’s target,
what’s the deviation from the target and how can one predict
future deviation.

UPRO’s stated target

From the fund’s prospectus:

  1. > ProShares UltraPro S&P500 (the Fund”) seeks daily investment
  2. > results, before fees and expenses, that correspond to three times
  3. > (3x) the return of the S&P 500® Index (the Index”) for a single
  4. > day, not for any other period. A single day is measured from the
  5. > time the Fund calculates its net asset value (“NAV”) to the time of
  6. > the Funds next NAV calculation.

As I understand the NAV is calculated after every trading day. To assess
the performance of UPRO I’ll compare it to compounded 3x daily SPY
price changes, from previous closing price to next closing price.

Let’s call this “ideal” 3x daily SPY fund as SPY3X. On every market
closing the SPY3X has exactly 3x the percentage change of SPY. For
example, suppose that on day 1 SPY closes at 100.00, and SPY3X
closes at 200.00; on day 2 SPY closes at 102.50 (which means it had
a 2.5% daily change). Given all of that SPY3X must have closed at
215.00 (which means it had a 7.5% daily change).

Handling of dividends

Dividends of a day need to be added to the closing price of SPY when
constructing SPY3X. Otherwise the comparison is unfair, it makes it
look like UPRO delivers higher results than SPY3X, which is
a cost-free and an interest-rate-free version of UPRO.

UPRO vs SPY3X, without dividends

It becomes more clear when we divide UPRO price by SPY3X price
(again, without dividends, which is what causes the “sawtooth”):

UPRO over SPY3X, without dividends

Divergence between UPRO and SPY3X

Both funds have very similar performance, although over the analyzed period
UPRO delivered only slightly below 80% of the returns of
the (virtual) SPY3X:

UPRO vs SPY3X

UPRO over SPY3X

To better understand the UPRO/SPY3X plot I’ve done two things:

  • I’ve replaced every point in the above graph by a 2-weeks moving
    average (± 1 week around the point)
  • I’ve computed the holding cost (as a multiplicative change in
    the UPRO/SPY3X value) from 6 weeks before each day till
    6 weeks after each day and annualized it. In other words, for
    any given day, what was the annualized UPRO loss vs SPY3X,
    as a percentage?
    This is the result:

UPRO over SPY3X, annualized loss

This is likely driven by the change in interest rates (as the fund needs
to borrow money to achieve leverage, or engage in things like
total return swaps which have the same end result). For example,
here are
yields on 3-month Treasury notes:

3 month Treasuries

The UPRO/SPY3X difference seems to be approximately explained
by this formula, which I got from running a linear regression between
the above two time series (annualized UPRO loss vs SPY3X and
3-month tbill yields):

  1. UPRO vs SPY3X annualized loss ~= (3month tbill yield) * 2.24 + 1.58%

Part of the 1.58% is the cost of the fund (stated as 0.92%). All the rest
is likely the cost of leverage, plus possibly results of fund slightly
missing its stated objective.

Visually the regression fits okay:

UPRO over SPY3X, annualized loss, with Tbill rates