Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Steady Vol (inspired by Jake and John Orford)

After reading http://blog.johnorford.com/2015/06/18/reflection/ and http://econompicdata.blogspot.ca/2015/06/the-case-for-volatiltiy-managed.html (after following the discussion on twitter), I thought I'd write a quick test, to see if something as simple as allocating between SPY and TLT based solely on the level of the VIX has any merit. It seems that, perhaps, it does? Surprising.

This version is normalized to be completely unleveraged, but clearly it could also do risk parity style targeting of 20% standard deviation or something.

11 responses

CAVEAT: I am not 100% convinced that this algo doesn't have a lookahead bias in the VIX data. I don't think it does, but I've thought that before (when using fetcher) and later discovered I was wrong.

Probably a hefty dose of implicit lookahead bias in how well TLT has done as well.

I used the same code for shifting and it was a problem when I put it in the contest: the fetcher file grows by 1 line to many a day ... and it was looking ahead

maybe use this:

if get_environment('arena') == 'backtest': df = df.tshift(1, freq='D')  

Ah thanks, I had noticed that but hadn't actually started live trading any Fletcher algorithms yet. Kind of annoying that it's necessary.

Hey simon ! I think you're onto something here, I've had decent success with an algo that does something very similar. Investing in a weighted array of SPY securities and slowly reassigning the allocation of the portfolio to the TLT when things get messy.

Mine also includes a BIL/short SPY condition as a sort of "stop loss" for when things get REALLY messy, Which has done great things for the over all smoothness of the curve.

I'd love to share, but I think IM on to something, as far as determining when things get "messy" goes.

...So perhaps when I've finished up on it. :)

I can't take any credit for this! This was a 10-minute algo after reading up on the idea by those two gentlemen I linked above. Another idea that I've always had, but never tested, is whether there are any precursors to longer-term volatility in the distribution of high-frequency returns - ie, calculate an estimate of trailing high-frequency realized volatility, and use that instead of the level of the VIX.

Hey guys, just stumbled upon this. Really appreciate some independent beady eye balls on these ideas.

I am a risk guy at heart, generally super sceptical on the one hand but also trying to meet my one blog post a day self-imposed deadlines : )

Doesn't this just take advantage of the artificially low volatility/market boost cause by qe?

My initial backtests went back to 1990 with the vix, but also seems to work OK with realised vol going back to the 50s... Just an idea - but yeh, fortuitous recent period for this also.

did you post them anywhere? (being a bit lazy here but am in the middle of mid semester exams so not much free time)

There's a bunch of pages. I really need to do a new write up though.

Try here maybe...

http://blog.johnorford.com/2015/06/04/realised-steady-vol/