This post will discuss the consequences of ProShares’ decision to change the investment objective of SVXY, and possible alternatives that various investors can use to try and create an identical exposure if their strategy calls for such an instrument.

So, to begin with, Proshares recently decided to make SVXY http://www.proshares.com/news/proshare_capital_management_llc_plans_to_reduce_target_exposure_on_two_etfs.htmlhalf the ETF it used to be, and overnight, no less. While I myself do not trade options, following some traders on twitter, a few of them got badly burned. In any case, for the purpose of taking near-curve short-vol positions, this renders SVXY far less attractive as far as my proprietary trading strategy goes, as well as others like it.

Essentially, while this turns SVXY into a “safer” buy and hold instrument, in my opinion, it turns it into a worse instrument. Considering that SVXY’s annual fee is 139 bps, traders now pay Proshares 139 bps just to keep half their capital in cash–capital which could have been invested in other strategies, or simply manually kept on the sidelines. Essentially, this is an attempt on Proshares’ part to idiot-proof a product that should not be used by “idiots” in the first place. However, in the battle between entities to idiot-proof a product, and the universe to create a better idiot, it’s a safe bet to bet on the universe creating a better idiot.

So what does this mean going forward in terms of alternatives to replace XIV and SVXY? Well, I’m at a bit of a loss. While my institutional client (whose crowdfund I am a part of) can short VXX, (and rebalance daily) for other individuals out there (such as myself in my own PA), they may not be able to short shares of VXX, and it may become hard to borrow (although a 50% position short TVIX, or 66% in short UVXY will also obtain the same exposure, again, rebalanced daily, but let’s assume similar constraints), and the borrowing cost may increase. A couple of alternatives are XIVH and the new VMIN, which hasn’t specified its exact new formulation, but to my understanding after a long conversation with Scott Acheychek of REXshares

, a formulation using the term structure futures (that currently are unavailable from the CBOE, but since the implied volatility term structure is at dangerous levels at this point, it’s not problematic yet) that is similar to ZIV except using the 2nd through 6th month instead of 4th through 7th is somewhere in the ballpark.

In any case, let’s look at some alternatives.

As one of my strategy subscribers was kind enough to send me some synthetic XIVH history, I’ll use that (no replication available unless said subscriber wants to post a link for readers to download. If not, I recommend reaching out to Vance Harwood for his replication).

In any case, here’s a fantastic post by Vance Harwood on how XIVH works. I won’t attempt to paraphrase that post, because I think Vance’s explanations of the products in the vol space are in a class of their own, and someone looking for secondhand information would be doing themselves a disservice not to read Vance’s work with regards to learning about the various options available in the vol space.

In any case, let’s compare.

For the record, here’s an updated function to compute the “back of the envelope new VMIN”, which works exactly like ZIV does, except with dr/dt on month 2, and 1-dr/dt on month 6, and a 25% weighting between 2+6, then 3, 4, 5 constant.

syntheticXIV <- function(termStructure, expiryStructure, contractQty = 1) { # find expiry days zeroDays <- which(expiryStructure$C1 == 0) # dt = days in contract period, set after expiry day of previous contract dt nrow(expiryStructure)] <- nrow(expiryStructure) dtXts <- expiryStructure$C1[dt,] # create dr (days remaining) and dt structure drDt <- cbind(expiryStructure[,1], dtXts) colnames(drDt) <- c("dr", "dt") drDt$dt <- na.locf(drDt$dt) # add one more to dt to account for zero day drDt$dt <- drDt$dt + 1 drDt <- na.omit(drDt) # assign weights for front month and back month based on dr and dt wtC1 <- drDt$dr/drDt$dt wtC2 <- 1-wtC1 # realize returns with old weights, "instantaneously" shift to new weights after realizing returns at settle # assumptions are a bit optimistic, I think valToday <- termStructure[,1] * lag(wtC1) + termStructure[,2] * lag(wtC2) valYesterday <- lag(termStructure[,1]) * lag(wtC1) + lag(termStructure[,2]) * lag(wtC2) syntheticRets <- (valToday/valYesterday) - 1 # on the day after roll, C2 becomes C1, so reflect that in returns zeroes <- which(drDt$dr == 0) + 1 zeroRets <- termStructure[,1]/lag(termStructure[,2]) - 1 # override usual returns with returns that reflect back month becoming front month after roll day syntheticRets[index(syntheticRets)[zeroes]] <- zeroRets[index(syntheticRets)[zeroes]] syntheticRets <- na.omit(syntheticRets) # vxxRets are syntheticRets vxxRets <- syntheticRets # repeat same process for vxz -- except it's dr/dt * 4th contract + 5th + 6th + 1-dr/dt * 7th contract vxzToday <- termStructure[,4] * lag(wtC1) + termStructure[,5] + termStructure[,6] + termStructure[,7] * lag(wtC2) vxzYesterday <- lag(termStructure[,4]) * lag(wtC1) + lag(termStructure[, 5]) + lag(termStructure[,6]) + lag(termStructure[,7]) * lag(wtC2) syntheticVxz <- (vxzToday/vxzYesterday) - 1 # on zero expiries, next day will be equal (4+5+6)/lag(5+6+7) - 1 zeroVxz <- (termStructure[,4] + termStructure[,5] + termStructure[,6])/ lag(termStructure[,5] + termStructure[,6] + termStructure[,7]) - 1 syntheticVxz[index(syntheticVxz)[zeroes]] <- zeroVxz[index(syntheticVxz)[zeroes]] syntheticVxz <- na.omit(syntheticVxz) vxzRets <- syntheticVxz # first attempt at a new VMIN/VMAX, with the 2-6 paradigm -- not for use with actual futures, but to guide ETP analysis vmaxToday <- termStructure[,2] * lag(wtC1) + termStructure[,3] + termStructure[,4] + termStructure[,5] + termStructure[,6] * lag(wtC2) vmaxYesterday <- lag(termStructure[,2]) * lag(wtC1) + lag(termStructure[,3]) + lag(termStructure[,4]) + lag(termStructure[,5]) + lag(termStructure[,6]) * lag(wtC2) syntheticVmax <- (vmaxToday/vmaxYesterday) - 1 zeroVmax <- (termStructure[,2] + termStructure[,3] + termStructure[,4] + termStructure[,5])/ lag(termStructure[,3] + termStructure[,4] + termStructure[,5] + termStructure[,6]) - 1 syntheticVmax[index(syntheticVmax)[zeroes]] <- zeroVmax[index(syntheticVmax)[zeroes]] vmaxRets <- syntheticVmax # write out weights for actual execution if(last(drDt$dr!=0)) { print(paste("Previous front-month weight was", round(last(drDt$dr)/last(drDt$dt), 5))) print(paste("Front-month weight at settle today will be", round((last(drDt$dr)-1)/last(drDt$dt), 5))) if((last(drDt$dr)-1)/last(drDt$dt)==0){ print("Front month will be zero at end of day. Second month becomes front month.") } } else { print("Previous front-month weight was zero. Second month became front month.") print(paste("New front month weights at settle will be", round(last(expiryStructure[,2]-1)/last(expiryStructure[,2]), 5))) } return(list(vxxRets, vxzRets, vmaxRets)) }

Let's compare instruments now. The vixTermStructure.R file is one that I have shown before in a separate post. Furthermore, one of these files will not be accessible as it was provided to me by a subscriber, so I will leave it up to them as to whether they wish to share the file or not.

require(downloader) require(quantmod) require(PerformanceAnalytics) require(TTR) require(Quandl) require(data.table) source("vixTermStructure.R") newVmin <- syntheticXIV(termStructure, expiryStructure)[[3]]*-1 # using xivh data from a subscriber, not public xivh <- read.csv("xivh.csv", stringsAsFactors = FALSE) xivh <- xts(xivh[,2], order.by=as.Date(xivh[,1], format = '%m/%d/%Y')) download("https://dl.dropboxusercontent.com/s/950x55x7jtm9x2q/VXXlong.TXT", destfile="longVXX.txt") #requires downloader package vxx <- xts(read.zoo("longVXX.txt", format="%Y-%m-%d", sep=",", header=TRUE)) vxx2 <- Quandl("EOD/VXX", start_date="2018-01-01", type = 'xts') vxx2Rets <- Return.calculate(vxx2$Adj_Close) vxxRets <- Return.calculate(Cl(vxx)) vxxRets['2014-08-05'] <- .071 # not sure why Helmuth Vollmeier's VXX data has a 332% day here vxxRets <- rbind(vxxRets, vxx2Rets['2018-02-08::']) shortVxx <- (vxxRets * -1) - .1/252 # short, cover, rebalance re-short daily, 10% annualized cost of borrow newSvxy <- shortVxx * .5

In this case, we have four instruments to test out in my proprietary strategy: short VXX (with a fairly conservative 10% cost of borrow), new VMIN, XIVH, new SVXY.

Again, this is not something that readers can replicate, but these are the results from testing when plugging in these new instruments as a replacement for XIV in my aggressive strategy:

And here are their performance statistics, from the following function:

stratStats <- function(rets) { stats <- rbind(table.AnnualizedReturns(rets), maxDrawdown(rets)) stats[5,] <- stats[1,]/stats[4,] stats[6,] <- stats[1,]/UlcerIndex(rets) rownames(stats)[4] <- "Worst Drawdown" rownames(stats)[5] <- "Calmar Ratio" rownames(stats)[6] <- "Ulcer Performance Index" return(stats) } stratStats(compare['2011::']) Short VXX 10% borrow cost XIVH new_VMIN newSVXY Annualized Return 0.874800 0.7175000 0.6062000 0.6103000 Annualized Std Dev 0.366000 0.3409000 0.2978000 0.2845000 Annualized Sharpe (Rf=0%) 2.390400 2.1048000 2.0356000 2.1454000 Worst Drawdown 0.272466 0.2935258 0.2696844 0.2460193 Calmar Ratio 3.210676 2.4444188 2.2478124 2.4806994 Ulcer Performance Index 10.907803 8.7305137 8.8142560 9.5887865

In other words, the short VXX (or rather, the new SVXY, leveraged twice back to its original state), using a more conservative cost of borrow for shorting than I've seen at other institutions, still delivers superior results to other instruments. Furthermore, XIVH's volume, as of today, was less than 50,000 shares at a price of $14 (so only around $700,000 in volume). The new VMIN and new SVXY lose a lot of aggregate return, though reduce a little bit of drawdown in the process. While the strategy is certainly still attractive from a risk-reward perspective ("only" 60% return per year), it is nevertheless frustrating to not be able to realize its full potential due to lack of instruments.

I personally hope that we may see a return of -1x inverse VIX products by the end of 2018 or sooner. For my own personal trading, looking at the results of this post, at a cursory first glance, my inclination seems to be that for individuals (namely, myself) interested in taking a near-curve short-vol position under the constraints of neither margin (in which case the best alternative would be to leverage the new 50% SVXY lite twice back up to its original settings) nor shorting (in which case short VXX rebalanced daily gives equivalent exposure), nor options (sell VXX calls/buy VXX puts) that XIVH is the best that can be done from a 10,000 foot view. That said, I certainly hope that XIVH will increase its volume from here on out, as it seems to be the best product to trade in order to express a near-month, short-vol bet in the volatility trading space. However, once again, I will be giving Vance Harwood's work a read-over with regards to XIVH, and I recommend any individual determined to remain in the VIX complex after Feb. 5 to do the same.

That said, XIVH does have its own quirks, as it may take a dynamic long vol position from time to time. However, because of the way my particular strategy is set up, its entries on short volatility are what I'd call careful, so as to maximize the chances of XIVH taking a short volatility position. Nevertheless, this is indeed some adverse news for me (I cannot speak for other individuals who may have different constraints with their brokerages). Nevertheless, while I cannot decide for others, I will continue to trade my strategy, as I see it as less of a good thing being better than nothing at all, and ~60% per year is still vastly better than one can achieve in almost any other market without leverage or other sophisticated execution.

In any case, that is the update after the Proshares announcement. It is a tough pill to swallow, and I hope that better options will emerge in the future for those individuals that respect the history of short vol products, think twice before entering into positions, and accept the losses that come with the territory as a result of using such products.

Thanks for reading.

NOTE: I am seeking full-time employment, long-term consulting projects, and networking in relation to my skill set. For those that are interested in my skill set, feel free to reach out and leave a note to me on my LinkedIn profile.