High frequency correlation, volatility, stat arb, moving skewness, kurtosis

Discussion in 'Strategy Building' started by stephencrowley, Oct 18, 2005.

  1. I've been playing with some models in matlab that I've been developing over the past few weeks based on high frequency data I've been recording... roughly 1gb/day on disk for each symbol/day recording all depth quotes and trades. No depth in my experiments so far but will be getting into that shortly.

    My datasource is BRUT and INET executions.. will be adding nasdaq TotalView next month.

    High frequency stat arb is what I'm after....deviations from historical correlations lasting only a few minutes.. short one long the other.. take a loss on the stop on one side and let the the other ride moving the trailing stop accordingly based on high frequency realized volatility estimates/projections so it doesn't get stopped out due to random flucuations.

    Attached is a screenshot of the 1-hr moving correlation for QQQQ/SPY (chosen somewhat randomly because I like ETFS, to hell with futures.. 0.25 tick increments are lame). on 2005-10-12. Calculations of moving averages are 5th order iterated EMAs. Moving correlation is calculating via moving standardization using textbook inhomogeneous high-frequency stuff(Olsen, etc)

    correlation is more predictable than direction.. does it matter where it moves as long as they revert to the longterm correlation?

    X-axis is hours since midnight CST.
  2. I like what I see -- potential glitches being variance and the inevitable tendency to mean-revert after you've been stopped on one leg. High frequency stat arbs are normally traded large and tight. I am sure this will backtest beautifully, but...

    Good luck with it, you should start a journal.
  3. Have you computed the 95% (or whatever) uncertainty on the correlation ? It would be interesting and enlightning to see it on such a plot I think.

    Let me encourage your to go further on the market depth data. It's full of very interesting features and a lot has still to be found in there !

    Good luck with your work.
  4. I'm not really sure if getting stopped out on one leg is such a bad thing. I haven't ran any simulations yet but just glancing at the data it seems that when the correlation reaches relatively low levels it always corrects back to its long term value. Now whether A rises to reach B or B drops to reach A.. or somewhere in between.. it shouldn't matter. Another model can be developed to determine how much cash to place on either side.. one side will probably be stopped out but the other side should run far enough to make up for the loss on being stopped. Also, the stop will be far enough away to avoid being randomly hit based on volatility projections.

    I plan to start a journal soon.. my schedule is pretty hectic at the moment so I want to get something substantive first.

  5. Interesting idea.. I'll put that on my todo list. Should be interesting indeed.

    Also, I know the good stuff lies in the depth.. I've just gotten my API connected to my broker and began analyzing real data so I'm still digging right now. My previous research on depth was based on shoddy data via reverse engineering INET's java based book viewer code so I didn't trust it too much.

    One thing I'd like to focus on is approximating the full depth price impact curve ..

    Thanks for the encouragement. I'll be posting some analysis of the correlation between the moving volatilities rather than price tomorrow.