Any pointers about backtesting high frequency strategies?

Discussion in 'Strategy Development' started by mizhael, May 26, 2010.

  1. I found lots of "spuriously" good results when backtesting high frequency strategies.

    Seems to me that a more realistic backtest method taking into account the execution quality and execution timing is needed.

    But I only have vague idea and limited experience about backtesting high frequency strategies.

    Anybody is interested in discussing these topics? Any pointers to good readings/resources/seminars/trainings/classes?

    Thank you!
  2. LeeD


    If the results seem "spurious" make sure you:
    1) Assume execution on bid/ask and not next trade prices;
    2) Take account of a delay in receiving market data and placing orders;
    3) Subtract commissions.

    If you want to model whether you buy order is executed at the bid and sell order is executed at the ask, it is a complex topic...
  3. dloyer


    How do you model limit orders for Equities?

    The best that I have been able to do is to assume that I will get fills on x% of the shares traded at my price or better.
  4. Aitch Eff Tee

    Aitch Eff Tee Guest

    If your strategy removes liquidity (i.e. you are hitting the bid or the ask) then it is fairly easy to get a realistic simulation up and running. You just need to take into account your latency to the exchange and then simulate your order's execution at the calculated exchange arrival time.

    If you are adding liquidity (i.e. you are joining the bid or the ask) then it is a lot more complicated. You will need to design some algorithms that simulate the matching engine of the instrument you wish to test against.

    For example, if the matching engine employs a FIFO policy then you will need to track your position in the queue at your order's price level to simulate whether you get filled or not. If the matching engine employs a different sort of algo (e.g. MMs getting % of order flow) then you have a nightmare on your hands and any simulation you do will just be a broad guess.
  5. promagma


    I have tried simulating fills with just bid/ask/last/volume data. It holds up pretty well for real trading with 100-share limit orders. Sometimes you get a lucky fill and sometimes you miss out, but overall it evens out.

    But for > 100 share orders the simulation falls apart. In real trading you get partial fills on the winners and complete fills for the losers. Not just for thin stocks, I only trade 2 million+ average volume. The ultra-liquid stocks are an exception, if you get filled for 100 shares in BAC you are nearly as likely to have a complete fill for 500 shares.
  6. dloyer


    That's exactly the problem I have. I have to keep the positions small or I will only get partial fills on too many of the wining trades and I dont have a good way to model the fills.
  7. My rule of thumb when backtesting HFT systems. Assume 1 cent of slippage beyond commissions.
  8. What software combination do you guys use to do both backtesting plus real trading HFT systems?
  9. byteme


    Would you care to offer an explanation for this?
  10. Bob111


    imo it was already explained.. i have system for stocks with 100-500K average volume. my fill ratio never been higher than 60%. in terms of money...i'm getting about 15-20% of backtested results,based on same prices AND amount of shares traded. can you take a guess where other 80% of my profits? in those 40% unfilled orders.'s really really hard to get into winning trade in stocks. and those sub penny\hft front running fuckers make it harder every day.
    #10     May 27, 2010