Monday, February 20, 2012

latency (additive) statistics in exchange connectivity (DMA

A 2009 book on High Frequency hedge funds says a typical (and good-quality) Direct-market-Access platform causes 10ms to 30ms of latency between the time the order is sent from the hedge fund's server and the time the order reaches the exchange. As of 2012, a major DMA provider offers about 10ms latency, but the top tier players have sub-milli performances.

In the context of order execution, latency is always additive.Originally it takes 90 μs (microsec) to get a market order executed on the exchange. At time 0 the order leaves the broker's network. At time x μs, it hits the exchange. The x μs is the network latency, which I will naively assume to be negligible. At time 90+x μs, the execution report leaves the exchange. At 90+2x it hits the broker.

Now with another layer (InterCeptor) sandwiched in between it looks like

  1. at time x the market order hits IC
  2. 50 + x the order leaves the IC [1], assuming 50 μs Processing latency
  3. 50 + 2x hits exchange
  4. 140 + 2x leaves exchange
  5. 140 + 3x hits IC on return trip
  6. 190 + 3x leaves IC
  7. 190 + 4x hits broker, so total 100 + 2x μs latency added.
Now consider another scenario, where the broker has a client-connectivity layer processing client orders, somewhat similar to an interceptor. Now it looks like
  1. at time 0 market order hits broker
  2. at time 50 μs it leaves the broker
  3. 50 + x hits exchange
  4. 140 + x leaves exchange
.. so 50 μs latency added to the one-way trip.

No comments:

Total Pageviews

my favorite topics (labels)

_fuxi (302) _misLabel (13) _orig? (3) _rm (2) _vague (2) clarified (58) cpp (39) cpp_const (22) cpp_real (76) cpp/java/c# (101) cppBig4 (54) cppSmartPtr (35) cppSTL (33) cppSTL_itr (27) cppSTL_real (26) cppTemplate (28) creditMkt (14) db (65) db_sybase (43) deepUnder (31) dotnet (20) ECN (27) econ/bank` (36) fin/sys_misc (43) finGreek (34) finReal (45) finRisk (30) finTechDesign (46) finTechMisc (32) finVol (66) FixedIncom (28) fMath (7) fMathOption (33) fMathStoch (67) forex (39) gr8IV_Q (46) GTD_skill (15) GUI_event (30) inMemDB (42) intuit_math (41) intuitFinance (57) javaMisc (68) javaServerSide (13) lambda/delegate (22) marketData (28) math (10) mathStat (55) memIssue (8) memMgmt (66) metaProgram` (6) OO_Design (84) original_content (749) polymorphic/vptr (40) productive (21) ptr/ref (48) py (28) reflect (8) script`/unix (82) socket/stream (39) subquery/join (30) subvert (13) swing/wpf (9) sysProgram` (16) thread (164) thread_CAS (15) thread_cpp (28) Thread* (22) timeSaver (80) transactional (23) tune (24) tuneDB (40) tuneLatency (30) z_ajax (9) z_algoDataStruct (41) z_arch (26) z_arch_job (27) z_automateTest (17) z_autoTrad` (19) z_bestPractice (39) z_bold (83) z_bondMath (35) z_book (18) z_boost (19) z_byRef^Val (32) z_c#GUI (43) z_c#misc (80) z_cast/convert (28) z_container (67) z_cStr/arr (39) z_Favorite* (8) z_FIX (15) z_forex (48) z_fwd_Deal (18) z_gz=job (33) z_gzBig20 (13) z_gzMgr (13) z_gzPain (20) z_gzThreat (19) z_hib (19) z_IDE (52) z_ikm (5) z_IR_misc (36) z_IRS (26) z_javaWeb (28) z_jdbc (10) z_jobFinTech (46) z_jobHunt (20) z_jobRealXp (10) z_jobStrength (15) z_jobUS^asia (27) z_letter (42) z_linq (10) z_memberHid` (11) z_MOM (54) z_nestedClass (5) z_oq (24) z_PCP (12) z_pearl (1) z_php (20) z_prodSupport (7) z_py (31) z_quant (14) z_regex (8) z_rv (38) z_skillist (48) z_slic`Problem (6) z_SOA (14) z_spring (25) z_src_code (8) z_swingMisc (50) z_swingTable (26) z_unpublish (2) z_VBA/Excel (8) z_windoz (17) z_wpfCommand (9)

About Me

New York (Time Square), NY, United States
http://www.linkedin.com/in/tanbin