Designing Execution-related issues ATS

Discussion in 'Automated Trading' started by mcgene4xpro, Jun 22, 2011.

  1. Hi,
    I am developing an ATS that could trade in the arena of subsecond. Putting thousands trades daily. This is of course away under the range of HFT. However, it is susceptible of any broker-related insuffeciency/ manipulation. Such as slippage, delay of execution, partial filling, .....

    The question here how could you make your ATS less sensitive regarding this issue. My ideas include:
    1- Depending on Limit Orders more than Market Orders
    2-Using event driven response to deal with the partial ECN filling if happen.
    3-Playing in a time arena that make it possible for broker to respond in reasonable time. something like (1-5 trades per second maximum).

    Is there any other methods we can use as retail trader playing through an ECN " Dukascopy, IB or marketmaker Oanda"?

    Please share.. Also, how to backtest and take all these insufficiencies/manipulations into your considerations.

    Trader here not programmer.


  2. TradetoWin

    Registered: Mar 2010
    Posts: 40

    05-13-10 05:30 PM

    Quote from mizhael:

    Limit order has the danger of not getting filled.

    LOC or MOC may not be offered by the trading platform company for certain products.

    I just need to hit the close price and the orders absolutely need to be filled - but I want to do that smartly without too bad slippage.

    How to do that smartly?

    Can I use market orders to do VWAP or TWAP myself?

    In my trading experience with the pros, they emphasized the importance of very high speed internet connection and a fast online stock broker internet trunkline.

    It is because when you do some orders, it might not get filled accurately because it takes a long time to reach that order from your computer (doing the automatic trades) to the broker system then to the stock exchange.

    The following factors are the possible causes of bad fills:
    1.) Very slow internet connection / Congested network.
    2.) High latency connection (the farther you are from your broker and stock exchange, the higher the lag that can cause you bad fills).
    3.) Slow broker system computer and network. This is because they have not upgraded their system or use a slow internet connection also.

    Other than what is mentioned above, you can cleverly use any other techniques like limit order which might "guarantees" a correct fill but as you say might not be offered with some trading platform company.

    Sources: Online stock tr
  3. asynchronous

    Registered: Oct 2008
    Posts: 97

    08-10-10 05:06 PM

    The best way I have found to achieve a desirable positive slip is to do it synthetically.

    When your target entry is reached, look at the trade data (ticks) - price action rarely moves linearly in one direction for very long.

    Wait - when the desired spread is reached between you target entry price and your desired slip - submit your order - yes you can even submit a market order (if your on the CME it is recast as a limit).

    For this to work effectively you need low latency - ping the server your placing order through and/or the server your getting your data from. Look at the number of hops and the computed latency.

    Second - check the time stamp on the trades you receive as well as the time stamp on order confirmations and compare them to your clock.

    You will probably have to do some extra programming to accomplish this - but like I said at the beginning, this technique works well.
  4. Since we are discussing retail ATS rather than straight FIX, I've had problems with some platforms missing position messages on the last fill on the exit of a trade. I am curious myself as to handling missing fill confirmations. If enough time has elapsed, you can try to cancel the limit order to see if it has been fully executed, but in HFT, you don't have much time. If your signal is to exit and your entry fills haven't added-up, do you send a Sell (not short)/Cover for the full quantity? Perhaps a replace of the entry order with the exit order for the confirmed quantity. If that fails due to being inactive, then place an exit for the entry amount. If you get your exit filled, but you still get a non-empty position message, then reverse whatever the message says? I can see an HFT ATS system jamming up during the day over these details.

    How do people handle missing messages?
  5. All HFT systems have an asynchronous component...
    Which spends all day scanning for issues like this.

    HFT systems are managed by a Pro Trader...
    Who trouble-shoots various issues all day long...
    With intelligence orders of magnitude above machine intelligence.

    Pure black boxes are quite sub-optimal.