Can it be done?

Discussion in 'Automated Trading' started by Trig1, Apr 15, 2010.

  1. Trig1


    Has anyone here traded small moves (4-10 tic) strategies and had accurate results in comparison to your backtesting? I am getting too good of results using Ninjatrader (17.1 pf) and it is making me think that backtesting on this level (5min candle trading with range 1 for fills) is useless. If anyone has been down this road and is willing to help with recommendations for developing reliable backtesting methods I would be open to exchanging money, friendship, grunt work, design, happy thoughts and comps to the finest that Vegas has to offer. I really just want to have a genuine idea as to what my Maximum drawdown should be before going live. Its difficult to accept risk if you dont know what it is

    Thank you for your consideration.
  2. It may depend on strategy.

    Anyway, according to my experience, given the "fractal" nature of curve price, it's pretty "irrelevant" to the strategy the amplitude of the "scalp". In the sense that, an unprofitable strategy, will remain such no matter what the size of the moves captured is set to.

    The size will, instead, usually affect enormously drawdown and profits. Usually, there is an approximate linear relation with profits and (ahime!) quadratic with drawdown.

    For example, if with scalp size 2X you get avg profit P and max drawdown D, you can expect that, with scalp size X, you will get avg profit 2*P, BUT, at least, max drawdown 4*D.

    [Let me know if anyone observed differently]

    That's in very general terms, what happens, i believe, but may probably depend on strategy too.

  3. Using 5 min candles on a system going for 5 ticks isn't much different than using daily data on an hourly trading system. It doesn't make sense to use a data summary that is less granular than your time frame.
  4. Equities? Futures? How do you calculate fills and what is your time frame? Are you going on prints? Are you taking the first print? Second print?

    In my experience it is very hard to test this because unless you pay through and take liquidity all the time you can't predict your fills. Backtesting will tell you a fill when in reality you would have been further back in line and not filled.
  5. If you are going for just a few ticks and working with limit orders you will become prey for the many market participants that are out there to shake people out of their positions.

    This cannot be backtested cause it depends on too many factors.
    Expect massively worse results in reality than in sim.
  6. If you are buying at the bid and selling at the ask, you will get spectacular results each time.

    Add 1 - 2 ticks slippage per trade and you will see the pf going down to 1.5. A few partial or missed fills and pf = 1. Add errors and pf < 1.

    Once I met a guy at a conference and during lunch he was ecstatic that he had found a very profitable edge. I looked at his code and some place I saw the following

    If low < avg(c, 25) then buy at the low

    The thing is that his expensive backtesting program did not even warn him he was buying at the low of a bar and that he was an idiot too.

  7. Right, you need to go the tick-by-tick way to test very tight scalping. Need precision and care in formulating lmt prices with respect to bid/ask and very carefully watch the spread. [In my experience you will have little chance to make it workable]

    Anyway, also, try the simulation with larger scalps. (If a strategy it's profitable, the amplitude of scalp should not change its nature.) If you strategy becomes unprofitable with larger scalps, you are surely doing something wrong and keeping some important detail out of the picture.

    Do not want to sound negative, but it is way too easy making small mistakes when dealing with scalps a little greater than the spread itself. Paper trade it, and possible issues will soon be much clearer.

  8. Occam


    Another problem you may run into is that a large portion of the trading volume is unavailable to typical exchange-based trading due to practices such as internalization (where the broker trades against its own clients and doesn't allow the trades to go to the public markets), dark pools, and (to a much lesser extent) flash orders.

    Internalization and dark pools are taking an increasing share of the total market. While I am not opposed to dark pools per se, internalization strongly inhibits efficient price discovery, and really benefits no one except the client's broker, despite the fact that some brokers have nimbly rebranded internalization as "price improvement" by giving a tiny bonus -- in some cases, as little as $.0001 per share -- to the client.

    See also:
  9. Guava


    How do you develop a 4-10 tick strategy from a 5 min bar data ? (it's not a tick data).

    or do you mean 4-10 intervals of 5 minutes each ?

    I think that if you can test (and have positive results in test) by always crossing the spread (i.e. limit-market order) and the order quantity is not larger than the bid/ask size across, then you've got a good chance of it working in real time.

    otherwise, you need to develop a (relatively fair) trade/fill simulator which is a beast itself.

    But you can't derive a tick based system on a minute bar data. The data needs to have the resolution at least that considered for decision making.
  10. What's so difficult to back test small tick movements?

    Use MIT orders set one tick outside of your target price.
    calculate your fill and slippage off of level ii data.

    #10     Apr 17, 2010