There’s no catch: if you want to systematically make money, you have to take on risk. Without any risk, the most you can get is risk-free return. Here I included (inspired by Fallacy Alarm and TheItalianLeatherSofa) few examples on how the risk premiums can be extracted in the market.
Currency Risk
If we were to borrow a low interest rate currency at risk-free rate, convert it into an high interest rate currency, invest it at risk free rate and convert it back we would be performing a "Carry Trade".
If Uncovered Interest Parity (UIP) is satisfied the expected return of this strategy should be 0 and this corresponds to a non-arbitrage condition. In theory what should happen is that the excess return of the higher interest rate, will be matched by a depreciation of the respective currency.
Thus, by performing this trade we are betting that the difference in interest rates will not be matched by the decrease in value of its respective currency. This means that the forward rate, that tracks the expectation of the future exchange rate, to make the carry trade profitable should not reflect correctly the future exchange rate.
The presence of arbitrage implies that the higher interest rate currency is trading at a discounted forward exchange rate relative to the lower interest rate currency.
As we see in this scheme, the investor that performs a carry trade is betting against the depreciation of the higher interest rate currency and it's consequentially harvesting the currency risk premium by holding the currency with high potential of depreciation.
In simpler terms, imagining USD as our high interest rate currency and CHF as our low interest one, we could perform the trade by buying a forward on USD/CHF, as it would profit from the appreciation of the higher-yielding currency.
This strategy had a large boom in popularity since 2003 to 2007, particularly between New Zealand and Australian dollar against Japanese Yen.
Here I analyzed the most popular of the two, Australian dollar against Japanese Yen from 2004 and 2007. The Yen was used as a low interest currency, while the AUD interest rate was the highest. In a non-arbitrage environment, the exchange rate and interest rate differential should move in opposite direction (I drew two lines to make it clearer). Here instead we can see how they were positively correlated. Not only the exchange rate change couldn’t make up for the interest rate differential, but it increased the profitability of a carry trade strategy.
To show this more clearly in python we can just draw lines from the start point to the end.
Japanese Yen has always been the most popular currency to perform this because of its long history of stability in term of risk-free rate. This was an example of how we can expose ourselves to risks trying to harvest its premium. There were securities that tried harvesting this premium systematically, like Invesco DB G10 Currency Harvest Fund (DBV) but they have recently shut down. There is not much to say about it apart from the fact that these strategies have probably gone out of vogue. There’s obviously still the chance to perform this manually and get the exposure to currency risk.
Volatility Risk
Reading Fallacy Alarm and TheItalianLeatherSofa this topic comes up quite often.
Let’s start by saying that the volatility risk premium is harvested by shorting volatility, contrary to the currency risk. But why shorting volatility is rewarded?
In simple terms, shorting volatility involves providing liquidity. This is because shorting volatility typically involves selling options. This increase in hedging opportunities also increases the amount of volume traded in the market and therefore liquidity too. The provision of liquidity is rewarded and expected value of the trade is positive.
Selling a put is in fact shorting volatility, and it’s easier to understand by looking at the scheme.
A short put involves selling someone the opportunity to sell you the stock at strike price.
As we see, when volatility is low, so when price stays relatively the same, we profit from selling the option, but if volatility is high, we have only more downsides (blue side in the graph). Thus, we are shorting volatility, because we make profit when there is not much of it.
But why can’t we harvest volatility risk premium by buying volatility? Seeking this premium implies selling volatility because the vol. risk premium is the difference between the implied volatility and the realized. We must keep in mind that implied volatility is “extracted” from option prices. Historically, implied volatility tends to be higher than realized, due to the fact that investors buy option as a form of insurance (hedging) and they are willing to pay a premium which can be captured by selling the option. Higher prices of these options results in higher implied volatility.
Let’s now introduce VIX, this is the index that tracks implied volatility (last 30 days) of futures on S&P. VIX usually follows a Contango structure (when further settlement date futures are trading at a premium) because seller of volatility expect a positive roll return. “Rolling” is selling long dated futures (which would be trading higher than spot VIX) and buying those that are approaching expiration date (which would be lower than spot VIX). This strategy relies on the bet that both of them will eventually converge to spot VIX value.
There is an ETF that aims to extract volatility premium, and it’s called SVXY (ProShares Short VIX Short-Term Futures ETF). This ETF shorts futures on VIX with a 30-day average settlement date. First time I looked at the graph the huge drop in 2018 struck me.
This event is known as “Volmageddon” or “Volpocalypse”. Here is what happened: in February 2018, there was a hike in volatility, which naturally caused the short volatility ETFs to lose value, this fall drew up the short exposure on VIX.
Because a short position has potentially infinite losses, the ETF provider buys future contracts to realign himself and remain neutral to the market. To maintain a fixed ratio to its assets the ETF had to rebalance the portfolio by buying a large amount of VIX futures.
This exposure problem is caused by the fact that SVXY doesn’t want to take risk and the provider completely hedges itself. Because promising the inverse of VIX return is like going long on VIX, it has to hedge it by directly shorting the position. As we can read from this paper the AUM value of SVXY was 1.7bn and the short position was at the same notional exposure value. If the VIX rose by 10%, the losses of the fund would be equal to 170M, but the notional exposure would have increase to 1.87B, because this value is calculated on futures’ value. Without any rebalancing of the assets, another rise on VIX would make the loss go off track, because the expected loss (AUM loss) should have been the 10% of 1.53B (153M) while mark to market loss would equal ed 10% of 1.87B (187M). This is why the ETF must exit some of its short position by buying VIX futures to keep the inverse performance of the index. On February, VIX increased over 100% in one day, this caused the need to large rebalances and this massive buy-wave led to even larger losses. The end of the story was a -90% in a day
The problem was, indeed, not the increase of VIX itself, but how expectations about volatility changed in short period of time, causing the first spark of this spiraling loss. As we can see in the graph the future curve turned from Contango to Backwardation signaling the rapid change in expectations. The world of short volatility securities changed after February 2018, and new ETF came up such as SVIX that has measures to prevent events like Volmageddon from happening again (more here).
The problem with implementing Short Volatility ETFs in a normal portfolio, it's that they are highly correlated with stocks. This is because stocks usually grow at low volatility but when they fall, they do it sharply and fast. Usually market declines are associated with uncertainty that leads to high volatility. It's similar to adding beta. So the result would be even more returns when stocks are going up, and more losses when they are not doing so well.
Here is the complete code: