The algorithm is simple.
Every day after market close, gather close/settlement values for
v = Vix
v0 = Vix close value yesterday
vx = Vxv
v1 = first month Vix Future
v2 = second month Vix future
r1 = 70% * v/v1 + 30% * v1/v2 - 1
r2 = v / vx
r3 = v/v0 - 1
if either r1 < -4.6%, or r2 <= 80% or r3 <= -10% or v > 19.8, buy XIV
else, if either r1 > 5.5%, or r2 >= 100% or r3 >= 10% or v < 14.1, buy UVXY
else, buy TQQQ
Backtested it here. You have to scroll through the very bottom to see the results.
About ~240% return per year from October 2011 to date. Cumulative return of ~1000x.
Writing some code to deploy this for live trading.
Disclosure: I am/we are long XIV.