How Fast is your execution?

Discussion in 'Order Execution' started by Crude Man, Dec 16, 2010.

  1. mine takes roughly .05 seconds to hedge when autospreading (ie when the comp gets a signal to trade to getting the trade executed) any other lag is user-based
     
    #11     Dec 16, 2010
  2. I think you mean your download speed is 34 megabits per second and your upload is 4.85 megabits per second. Remember 8 bits in a byte so divide those numbers by 8 to get 4.25 megabytes per second download speed and 0.60625 megabytes per second upload.

    FWIW, your speeds are not that bad – especially for a manual trader. What are you trading? (stocks futures?) What types of orders are you sending? (market?) Where are you located and where is your execution server?

    As an example, Sterling Trader Pro (software used by many prop firms/prop traders) takes 120 milliseconds for the risk database to populate a stock into your local machine the first time it is traded for that day. Outside that – most prop guys experience 75 milliseconds to 200 milliseconds – it varies obviously. Someone posted something like 5 milliseconds per mile when traveling through fiber. If you want faster execution you are going to need a much better internet connection + know exactly where your servers are – and that’s for starters. Without a direct cross connect you are going to be in the ~50ms range at best which is fine for most any ATS.
     
    #12     Dec 16, 2010
  3. 50ms limit is my dream as a retail FX trader using an ATS. How do you think i could achieve this? Which Software/hardware infrastructure? which brokerage services?
     
    #13     Dec 17, 2010
  4. moarla

    moarla

    you cant ignore phyiscal limits.

    the data has to go from the exchange to your broker, from your broker to you, then you see the information.
    for now you have lost between 30 and 200ms depending where you are located.
    then you need to recognice the information, then put the trigger.
    (how much time ? dojt know)
    then your order needs to go to your broker, margin check, then to the exchange, all between 30 and 200ms.


    as long as you are trading manualy, you cant compete with those having an automatic trading software located at a server on the exchange.

    it has simply no sense thzinking about 200ms or 500ms, you will be always behing the reality way more then 1 second. :))))

    (and it has nothing to do with your upload or download capacity !!! )
     
    #14     Dec 17, 2010
  5. LeeD

    LeeD

    There is lots of confusion between upload/download speed and latency.

    Latency is the time it takes a network packet (a portion of network data sent as a whole) to reach the target (broker) server and come back. If you are nto behind a proxi server you can measure it using Windows ping command line utility.

    You should keep in mind that these are totallky different things... and for a typical trader 500 kilobit per second is just fine (for trading only - no video downloads while trading). What you need for faster execution is lower latency.

    Let me explain the difference. When you want to download a file (or placse an order) you send a request to the Web (or broker) server. This request doesn't travel directly but rather through a number of network infrustructure servers. Often you would get 10-15 servers in between. (You can see this chain using one the popular "traceroute" utilities.) If it takes 5 miliseconds (on average) for a request to be received by a network infrustructure server, interpreted and sent on the right route, then 10 servers in the middle will mean the retrurn trip takes 100 milliseconds (10 servers x 5 milliseconds each way). The more servers you have between your computer and teh Webserver (or broker) the longer this proces takes.

    A large file is split into samall packets and sent on. Latency defines how fast a packet travel. Connection "speed" defines how many packets per second come through.

    Given the amount of data sent and received by a typical dat application is tiny compare dto throughput of the slowest modern broadband connection, the speed is irrelevant. Latency is the key.

    What often happens is major Internet providers such as Verizon or Sprint have direct connection to other major providers. So, if the broker is hosted on Sprint infrastructure and your are connected with Verizon, your request to the broker directly from Verizon to Sprint. If you are hosted with one of teh smaller providers, what often happens is they are connected only to one "backbone" provider. So, your request will be sent first to your internet provider than to, say, ATT and from ATT to Sprint. More servers in between means long trevellingt time for the request to teh broker server and back.

    Another thing to consider is brokers's servers spend some time checking the account balance and margin before they send any requests on to the exchange. The time it takes to check margin also varies between brokers. Sometimes it may happen that a broker server in the US checks account marging with the same broker's server in Europe. This naturally slows things down.

    Regarding data, another thing to note (as pointed out by MGB) is most brokers don't provide every trade (even less os bid/ask) tick, Instead they slice data 2-3 rimes per second and send a snapshot. Besides a noticeable delay between the price change and when the trader sees it, this also means you don't see real highs and lows of the price action as the price may hve reached the high and went down a tick or 2 between consequitive proce snapshots.
     
    #15     Dec 17, 2010
  6. LeeD

    LeeD

    Enquire with MB Trading. They are automation friendly and provide inexpensive colocation.

    They are not the actual ECN though. They execute foreign exchange trades via 3DFX
     
    #16     Dec 17, 2010
  7. unbelievably fast
     
    #17     Dec 17, 2010
  8. Thank you LeeD. Very informative post..
     
    #18     Dec 17, 2010
  9.  
    #19     Dec 17, 2010
  10. McBet

    McBet

    That virtual 'private' server would be probably less secure than colocating your own box, because you would be effectively copying your sofware onto someone else's physical hard drive, even if its contents have been encrypted by yourself. And I suspect that while your operating system would be independent of other clients', any low-level security apps you wish to install such as firewalls and anti-virus clients, would have very hard time running there, interfering with the underlying non-virtual operating system doing the virtualization for you and other users.

    But it turns out it makes little difference for security if you physically own the server box yourself. As long as you trade frequently enough, your system performance can be reproduced by artificial intelligence within 5% accuracy. I'm not claiming it is being done routinely, but it is no longer a science fiction, only a question of your system's profitability and trade frequency. Industrial espionage in the financial industry must be a very lucrative business because trading scales so well - no need to build your own plant in China to start churning out generics... an AI trading app replaying "recorded" trading systems can be affordably hosted for under $20 a month on a virtual server - thieves, I mean: industrial spies place little value on the stolen property... so no expensive security required there. Here's a clue on the counter-intelligence measures undertaken in bank trading systems as described by a retired bank dev (RabbitOne): http://www.elitetrader.com/vb/showthread.php?s=&postid=2685894&highlight=security#post2685894
     
    #20     Dec 18, 2010