View Full Version : Recommended Simulator Settings?
12-08-2005, 04:08 AM
- NeoTicker as a Ninja Trader External Data Feed
- NeoTicker's Simulation Server
- an interface to Ninja Trader's ATI to execute trades in Ninja Trader
As I've written before, I'm doing this to do end-to-end testing of my system(s).
A benefit of this approach is that I can set the speed of the "Data Replay" in NeoTicker to multiples of actual market speed. This is great because I can test more market scenarios in a short amount of time.
However, as I understand it, Ninja Trader provides some "fill logic" that is intended to mimic fills in realtime trading. This is great but when I'm running NeoTicker at a multiple of actual market time gets in the way of some orders being executed.
So, my question is this: How best might I minimize Ninja Trader's fill filter mechanism?
In this testing, my objective is not to test actual fills so much as it is to test the robustness of the trade execution code I've written. So, what I really want is for Ninja Trader to execute the trade as soon as the market hits my Limit Order Price and not filter the fill.
Is there a way to do this?
12-08-2005, 04:12 AM
No there is not.
What you can do is uncheck (if not already) "Enforce partial fills" and set the communication delay parameters to zero.
12-08-2005, 04:55 AM
Thanks Ray for the info. I had already set the communication delay parameters to zero.
I'd appreciate it if you could add the following to the User Wish List for options in use with the Sim101 Account.
Provide users with the ability to "turn off" any Ninja Trader constraint on immediate fills when a Limit Order fill price is hit. This will provide Ninja Trader ATI users with the ability to do end-to-end trade execution testing of their calls to the ATI when using platforms like NeoTicker's Simulation Server at a faster than actual Market replay speed.
The need for Testing, Testing, and more Testing is critical to ensure that the user's system and the execution process is bullet-proof. This need is easy to underestimate.
Anything that Ninja Trader can do to facilitate these Testing processes is much appreciated.
12-09-2005, 01:32 AM
Ray, et al.
Using the Simulation Server from NeoTicker to supply external data toNinja Trader is an effectiveapproach fortestingautomated systemorder executionas well asfor testing orderfillsin a more realisticsimulation environment.
To make this type of system testing even more effective, it is useful toaccelerate the replay of Neo's Simulation Server for bothtesting objectives. Systemforward testing usingseveral weeks ofdata, tick-by-tick,can then be accomplished ina couple hours.
Ideally,for execution order testing in accelerated time,itwould be great to enable "instant fills" on limit orders. However,for order fill testing in accelerated time, it would be great to minimizethe processing time of thesophisticated order fill mechanism so as not tosignificantly constrain the replay process. Not sure if there is room for improvement in this area.
Icertainly agree with Asp'scomments regarding the need fortesting, testing, and more testing.
I appreciate your consideration of these enhancements.
12-09-2005, 05:03 AM
Thanks for taking the time to write and provide feedback.
12-09-2005, 08:35 AM
Do you see that Bleemus in the eSignal thread is really working through the same issue WhitMark and I have addressed here... namely...
The Ninja Trader fill algorithm mechanism is great for Simulation testing but it only works well when running at actual market speed. But the implication of what Bleemus is up to is that it would be useful to be able to turn it off...
Having said that... there is another alternative. Here it is:
Give us the ability within the ATI to drive the timestamps on ticks as part of the External Data Feed. This latter option might actually be the most valuable.
This alternative would allow us to leverage your work on the limit order fill mechanism and still allow us speeding through Simulations using replay on platforms external to Ninja Trader.
12-09-2005, 09:50 AM
Not sure what you are asking for. There already are the Bid/Ask/LastPlayback functions with take a timestamp parameter.
12-09-2005, 10:52 AM
Oh. I had overlooked those functions. That looks like precisely what I'd like and you've already done it.
Let me ask a question then...
Is the portion of the Limit Order fill logic that references the passage of time based on the passage of time on the computer clock or on the timestamp on transactions?
If it's based on the passage of time on the timestamps on transactions then using those functions rather than the Bid/Ask functions ought to lessen the effect of missed Limit Orders when running in a faster than market replay.
Thanks! Thanks! Thanks!
12-10-2005, 01:47 AM
It's based on computer clock.
12-10-2005, 01:52 AM
What we need then is to be able to shut the Ninja Trader "fill logic" on limits off.
Again, the point is not that we don't appreciate the necessity for limit order fill reality testing. But that logic gets in the way when we're at the stage of testing the execution process itself by speeding through an External Data Feed and Order Placement replay. The fill logic you've developed gets in the way of doing that kind of basic test.
Thanks for the info.
12-10-2005, 02:36 AM
Will add "Enforce immediate fills" simulator option for R6. Maybe you can publish an article on end to end testing and post links to it in various forums?
12-11-2005, 09:55 AM
For accelerated market replay testing of limit order fills, it would be great to have all time-based delays based on the datafeed timestamp vs the computer clock.
Is the minute-based TIF functionalitybased on the timestamp of the datafeed or the computer clock? If its the latter,this would be another candidate to convert tothe timestamp on the datafeed.
Yourconsideration of these enhancement ideas is greatly appreciated.