My head is spinning in different directions and would appreciate perspective of those who have been building, testing and running automated strategies for a while.
My current setup is SierraCharts and I'm trying to setup an automated trading strategy for futures, specifically CL at this point. I use SierraCharts' replay functionality to test but it takes a while to come up with results, especially when I run it over 2 years of tick data with 300 trades charts. It does not have built-in Monte Carlo simulation and my testing has been only done by tick-by-tick execution of strategy over past data.
Since the process of strategy testing and idea elimination is pretty lengthy and requires manual kick off after strategy tweaks, I started to think that I need to change approach. Looking through the posts on the board, I see that Mike is building his own custom trading platform using Python and R and at the same time I took a note that MWinfrey seems to be able to quickly test ideas for tweaking his strategy using NinjaTrader. Looking at NT, I see that it has a pretty comprehensive set of tools for analysis of automated trading strategies.
The part that keeps me away from NT is that it is Windows/C# application. With my past programming background in Java and Linux, I thought that I could reasonably quickly put together a simulation environment similar to what Mike has been doing that allows me to load tick data in the database and run different scenarios. I would have to implement some basic indicators (no UI) and ability to run batch jobs to evaluate different timeframes in synchronized manner. With a custom platform and tick data, I should be able to run portfolio simulations across a few strategies and needless to say, I can take a full advantage of 8 core system running Linux so the modeling and testing should be fairly quick. Once strategy is implemented, I would port it to C++ strategy in SierraCharts. A custom solution would allow me to quickly run some statistical analysis such as: if entry meets condition X, what is a success ratio of a trade with a given target, stop and what conditions impact ratio. Is the trade more successful on Mondays? I guess this falls into statistical analysis ability and I think NT might have something like that built-in.
That's my current thinking. It should be quite feasible implementation, probably a few months of work given the amount of time I can dedicate. If I learned anything from MWinfrey and others is that I should stick with simpler strategies and perhaps over time introduce more complicated strategies that tap into non-market data such as weather.
Okay, long introduction to my question. Are there any significant advantages of using NT over a custom simulation/testing environment such as one described above? From reading the website, I have impression that NT is quite comprehensive for automated trading strategy development, testing and then execution. It's hard for me to determine whether the backtesting is reliable and how easy it is to run multiple scenarios to come up with a winning strategy with optimized inputs. Obviously, being new to NT I would spend a similar time to learn the platform and C# and have less hardware resources to dedicate since it would be running in my Parallels emulator on OS X.
I would truly appreciate thoughts and perhaps additional pointers. Am I completely insane to consider my own solution? Would I be better off just biting a bullet and learning NT while taping into freely available code samples in Elite threads?
Thanks in advance for any help and suggestions,
- Dominik