charlotte nc
Experience: Advanced
Platform: My Own System
Broker: Optimus
Trading: Emini (ES, YM, NQ, ect.)
Posts: 408 since Jan 2015
Thanks Given: 90
Thanks Received: 1,147
|
Sure, there are several different scenarios you can run into depending on your use case.
Here is what I have found under the hood of the NT sim engine.
1. Market replay assumes 0 latency for order executions. So from the time you release your order to the time the order hits the queue you have 0 latency. This will become more of an issue with higher time frames and algo trading.
2. NT has different data feeds that each have different latency priorities.
A: The OnBarUpdate feed runs off of transactions font runs all the other feeds by as much as a few hundred milliseconds. Most chart traders run off of bar related objects, so this will be helpful to some retail traders, but it does make front running with algo strategies possible and you can get some false positive results if you use multiple data feeds for multiple things.
B: The level 1: OnMarketData feed lags the OnBarUpdate feed. This covers transacted volume as well as all adds and cancels from level 1.
C: The level 2 Feed: OnMarketDepth is around the same speed as level1, and covers adds and cancels from level 2. It also covers the price range of level 1 but does't break out transactions into a separate bucket.
The use case that will give you false positives is if you run a speed sensitive algo against the OnBarUpdate prices (Which front run the other feeds) and then use limit orders a lot. The SIM engine fills off of the level 1 feed, but because the OnBarUpdate feed can see price changes first, you can inadvertently see things and do things before they occur with the actual fill engine.
3. In terms of the live SIM. It has a built in 100 to 200 lag moving through the execution cycles. Initialized > Submitted > Accepted > Working. This might be in line with what you experience if you are trading from the west coast over there internet. If you are using a VPS in Chicago than this is way worse latency than you would get. My testing was between 0 to 10 MS in Chicago from a VPS there. So I think they are being conservative if anything here.
In terms of filing limit orders: They have a fairly conservative approach, where they basically put you in the back of the queue at all times more or less. So the only way to get a fill is if the price level gets fully penetrated. I would say that this is fairly accurate. Statistically speaking only around 10% or so of the market participants will ever get filled from the side that doesn't break. So this is a good approach.
In terms of the overall system performance: I haven't looked anything passed version 10 myself, but it keeps getting heavier and heavier with more and more stuff.... I have heard complaints that some of this eats too much memory which = slower processing speed. But every couple releases they will fix a bug that crashed people during live trading, or fix a bug that threw calculations off in one way or another. The point being download a stable release that has been market tested. Version 11 crashed on me during live trading, and it took around 3 to 6 months to get version 12 after that. Having said all this, I think this is par for the course for any retail software company. Users tend to be beta testers more often than not. Just go with a release that has been out for a while and doesn't have a ton of negative feedback. is the point.
Best of luck
Ian
In the analytical world there is no such thing as art, there is only the science you know and the science you don't know. Characterizing the science you don't know as "art" is a fools game. |
|