Login Page - Create Account

Support Board


Date/Time: Wed, 27 Nov 2024 21:38:53 +0000



Post From: Teton Routing service and appropriate VPS wit lowest Ping!

[2022-03-10 22:09:48]
1+1=10 - Posts: 270
There's a lot that goes into round trip order latency. Below I've provided the entire list of factors including two VPS / Dedicated server options that are in the same building as Teton & the CME's servers.

By the way, I wouldn't recommend worrying about latency if you're doing manual trading -- even if you reduce the internet latency from 100 ms to 5 ms, it is fairly irrelevant if you have to add 2000ms to the 5ms because it takes you 2 seconds to react to market information and place an order. The exception to this rule would be if you use any orders that are not sent to the exchange such as trailing stops. Because those client-side orders get automatically turned into real orders that are sent to the exchange by SC when the relevant condition is triggered, then internet latency is indeed part of determining how quickly a client-side order will execute.

If on the other hand, you are doing automated trading, through any of SC's 4 methods, then yes, reducing latency can be very useful. Anyway, here are the factors involved in receiving market data and then sending an new order based on that data:

Receive Market Data From Exhange:

1. +0 millis -- Trade / limit order update takes place at exchange

2. +1 millis -- Exchange actually sends aforementioned update to your market data provider's servers. (NOTE: while typically this happens in < 1 millisecond Rithmic support staff said this delay can be as much as 15 milliseconds during very high volume news events.)

3. +0.250 millis - ~10 millis -- Data provider receives market data update. The duration here is simply related to where the data provider's servers are. If they're in the same building as the exchange, like SC's Teton or Rithmic then it is near the low end. If the data provider's servers are outside the building, like CQG's retail web api that SC uses, then you can get near the higher end.

4. +??? millis -- Time to send data from provider to your algo?
NOTE: SC has two aspects which contribute to this duration. First, is the "SC Remote Buffer Delay". In short, SC's own data feed, Denali, only sends updates every 10 millis -- link below. Secondly, the global/chart "update interval" dictates how frequently your ACSIL algo runs (provided you have sc.AlwaysUpdate = true) -- the minimum setting is 10 millis. Thus, the combination of these two factors delays data getting to your algo by 20 millis in the worst-case and 10 millis in the average-case.

4's Standard-case :: +30.0 millis - 270.0 millis -- ACSIL trading algo on home computer. Factoring in SC's aforementioned delays, and assuming your home computer is outside of the exchange's metro area between 10 - 250 millis away gives you this range for step 5.

4's Improved-case :: +20.0 millis - 25.0 millis -- your ACSIL trading algo is on a server in the same metro as the exchange. For instance, if trading on the CME search "Chicago trading/vps/dedicated server". -- one caveat to this is that it will be hard to know such a server's latency to TETEN for sure unless you submit an order from the server through TETON and check the round-trip time. (Internet routing is based on carrier [Version, AT&T, etc.] and every carrier will send the internet packets for market data/orders on different routes back and forth from your server to TETON. If you had 2 servers in a random Chicago building using 2 different carriers, then Verizon's route could take 2 millis and AT&Ts could take 13 millis.

4's 2nd Best-case :: +1 millis - 5 millis -- here we switch to only using SC for research/idea generation. For our algo we switch to Rithmic's API ($100 month) with the trading server as close as possible to the exchange. For the 1 millisecond case we'd need to be in the same building. For CME see https://www.theomne.net/ OR https://www.beeksfinancialcloud.com/catalogue/DS-EMERALD_5/.

4's Best-case
:: +0.250 millis -- Here our algo is actually on the data provider's servers; typically $400 - $1000. I can provide links if you'd like.

------------------------
Send Order to Exchange

5. ACSIL Algo Processing Time -- this is likely under 100 microseconds.

6. Algo's computer/server -> Data Provider/Order Routing's Computer -- 0.250 - 250 millis: NOTE: this is the same as step 4 above although you have to add 1 milli for the risk check unless on 4's best-case. See Rithmic link below for explanation of risk checks.
7. Data Provider/Order Routing -> Exchange -- 0.250 - 10 millis: NOTE: same as step 3 above.

8. Exchange Matching Time -> 0.5 - 5 millis

---------------------------------
To conclude, if you use SC and you get a server in Chicago you can get your worst-case round trip (new data to order) time down to ~30 millis. If you get to some of the more esoteric choices I've mentioned you can get down to ~1-5 millis.