A Comparison of Hardware Performance on TradeStation Optimization of a Mechanical Day Trading Strategy
In the process of reorganizing my computers for faster turnaround time, I ended up with Tradestation installed across three computers. The thought of comparing the optimization speed on these machines just popped up. So I jumped in getting that done. Here are the performance results and a bonus comparison against NinjaTrader and MultiCharts doing exactly the same on one of the computers.
Three computers are tested.
1. My laptop is Microsoft Surface Pro 6 with Intel Core i7-8650U 1.9GHz, 16G RAM and Windows 10 Pro.
2. Dell Optiplex 9020 with Intel Core i7-4770 3.4GHz, 8G RAM and Windows 7 Pro
3. Dell Optiplex 7070 with Intel Core i7-9700 3GHz, 16G RAM and Windows 10 Pro
Nothing fancy, really.
The Specifications of the Optimization
1. Tradestation 9.5
2. Preference set to allowing Tradestation to choose the best performance
3. 23 years of 30-min Emini S&P data from 6:30 am to 3 pm Central Time
4. Limit the number of cases to 10,000
5. The computers have some other background task but overall CPU load is low like 2-5%
6. For NinjaTrader it is an adapted version of the same strategy converted by a professional programmer (not me)
7. For MultiCharts it is the exact same strategy copied from Tradestation with one line of code modified due to compatibility issue.
Observations of the Optimization Process
First, Tradestation manages to push all the computers to 100% CPU usage most of the time during optimization.
The amount of memory used by the optimization process is minimal. Never going above 300M by much.
The estimate time to completion values reported are all wrong. In fact they all over estimate the time needed until like around 70% completed.
During optimization, Tradestation is still responsive on its other charts and I even have a chart with live automated day trading strategies running on one of the computers.
It looks like Tradestation 9.5 can only go up to 8 simultaneous test in optimization.
On my laptop, I usually would do something else while waiting for the optimization results. That means in practical terms, the optimization performance would be slower, like at least taking 50% more time.
1. My laptop took 33 minutes to complete the task.
2. Dell 9020 took 30 minutes.
3. Dell 7070 took 14 minutes.
4. Ninjatrader on my laptop took 3 hours plus.
5. Multicharts on my laptop took 35 minutes.
The Epic Failure of NinjaTrader
It took NinjaTrader more than 3 hours to run through the 10000 cases on my laptop while making the computer very sluggish during the test. It also eats up like 4G RAM and hold onto them after optimization.
Big disappointment with NinjaTrader as it fails to utilize multi-core technology for optimization. It is such a memory hog rendering it unsuitable and unstable if you are trading on the same computer while developing and testing new strategies.
So much hype for being an 64-bit application …
Comparable Performance of MultiCharts
MultiCharts has similar performance like Tradestation but it does not come with the 23 years of data. I have to export from Tradestation and then import that into MultiCharts. The process is pretty straight forward though.
This means MultiCharts can be a functional alternative to Tradestation if you insist on using some other brokerages.
CPU speed matters.
Windows version not much impact on the performance especially if you know how to setup your computer to minimize the overhead.
Getting a second hand dirt cheap i7-4770 computer dedicated for trading research is better than doing optimization on your laptop. Just use remote desktop to access the computer and you boost your productivity 3 times immediately as your laptop is freed up to do other things. These machines can be picked up for $300-$500 on ebay and other second hand stores.
Buying a newer computer with i7-9700 is well worth the money if you can get the computer on discount. I got my new Dell 7070 computer with CAD$1,000 off directly from Dell. They have these clearance sale all the time. I paid about CAD$1400 which converts to approximately USD$1000.
Seriously, if you want to learn to trade and being able to study historical charts efficiently, optimization is a necessity. Being able to do that at a fraction of the time allows you to conduct your research much faster. Just imagine after every change you’ve done to a strategy, you have to wait 3 hours to see the net effects across many scenarios. You can hardly progress with your work let alone building working trading strategies.