On average the execution performance is anywhere between 100 to 200 milliseconds (0.1 to 0.2 seconds) for order placement.
Admin
Sometimes users may find performance to be more than the average.
Understand Performance
The first thing you need to understand is that our system is not doing much of a processing. Because our system just acts as an intermediate server, it’s job is to act as a bridge. The actual processing happens on your stock broker’s server. So the performance numbers are very much dependent on your respective stock broker’s server performance.
The way to calculate performance is to take an average of at least 100 operations.
Admin
Performance can be affected by many factors, some of them mentioned below:
- Your network connection speed
- Load on AutoTrader’s server
- Load on Stock Broker’s server [during market start or towards end when broker’s automated intraday square-off takes place]
- Speed of execution on your respective stock broker’s server
- AutoTrader is logged in to your account or not
- If AutoTrader is not logged into your account, then it needs to perform login before it executes any other command. And the login process might take time, you might observe this in the first order of the day or when the session expires.
AutoTrader Web’s Server
Slowness in performance due to external factors like the network and your broker’s trading servers is out of our control.
But one thing we can guarantee is that AutoTrader Web’s server processing of any command takes around 20 milliseconds (0.02 seconds) on average. That is the time for which our code runs, rest of the time is taken by your stock broker’s server.
Our server is hosted in Google’s Mumbai Data center, which provides enhanced security & fastest connectivity with other systems.
Building a highly efficient system is always our priority. So any genuine performance issues arising due to our code will be investigated and improved by us.
Admin
How to measure performance
The way to measure performance is by looking at the time AutoTrader took to execute an operation.
Some user’s make a mistake of using stock price/tick time in calculating performance. It is wrong, as a price tick of 12:12:55 pm might reach your computer at 12:12:57 pm.
- Time taken for live price to reach your computer: Your datafeed provider is responsible
- Time taken for strategy execution: Strategy complexity & your PC hardware/software is responsible
- Once your strategy calls AutoTrader API function = AutoTrader is responsible
Logs
The best way to calculate performance number is to look at your strategy’s logs, server activity logs or AutoTrader desktop client’s logs, if you are using it. Here is a sample:
It took 0.2 seconds for order placement on AVERAGE.
It took approximately 0.2 seconds
10:00:08.013 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-1,REGULAR,NSE,SBIN,SELL,LIMIT,INTRADAY,16,130.50000,0.00000,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:00:08.209 INFO FileChangeListener : Successfully sent the command to server.
10:00:08.210 INFO FileChangeListener : Result: 200701001183871
It took approximately 0.16 seconds
10:30:02.431 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-2,REGULAR,NSE,WIPRO,BUY,SL_MARKET,INTRADAY,6,0.00000,436.95001,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:30:02.590 INFO FileChangeListener : Successfully sent the command to server.
10:30:02.591 INFO FileChangeListener : Result: 200701001184003
It took approximately 0.2 seconds
10:00:10.564 DEBUG InputFileMonitor : Processing line: PLACE_ORDER,XX9999,556874-3,REGULAR,NSE,DMART,SELL,LIMIT,INTRADAY,2,1327.09985,0.00000,0.00000,0.00000,0.00000,0,DAY,false,1593598464,-1,
10:00:10.776 INFO FileChangeListener : Successfully sent the command to server.
10:00:10.777 INFO FileChangeListener : Result: 200701001184663