Quote from ophth1:
... I am still not sure, if it might be the best idea to throw away OQ, amibroker etc, and just use visual studio e.g. c#, which is indeed capable to do an rapid event driven and object orientated software, in combination with the IB interface. That would you give complete control about all events. What are your directions for the future? thanks!
You have diagnosed the sorry state of affairs we are in as retail ATS developers. I have not found the one 'great' integrated retail platform that gives me everything I want in a) exploration and strategy backtesting, b) system development, and c) ATS deployment.
A couple of ideas:
- If your strategies are relatively simple (from a state-transition point of view -- they can be mathematically as complex as you want), you may also be interested in looking at TradeStation. It is the most "integrated" backtesting and automated trading environment. They also provide historical data so you won't need an additional feed. Whether it works for you or not depends entirely on the type of strategies you deploy -- it would be worth checking it out if you haven't already.
- There was an initiative started on the Automated Trading forum to build a low-level open-source framework targeted for programmers (labeled tickzoom):
http://elitetrader.com/vb/showthread.php?s=&threadid=147374 which then migrated to
http://www.elitetrader.com/vb/showthread.php?s=&threadid=148025
Nothing has been released yet. I also started losing interest when most of the dialogue shifted to licensing models. I will play with it when the alpha comes out and may even contribute to the code. However, I wouldn't suggest building an ATS with it for some time.
- I have seen people refer to Tradelink
http://code.google.com/p/tradelink/ in forums, but haven't used it myself. Seems like the same idea as Tickzoom, with a different feature set, but further ahead in development/usage.
So where does that leave me. Well, I continue to use AmiBroker for exploration / strategy development, and OpenQuant for deployment, as I described in my original post. I think that's a good starting point if you want to focus on your strategy logic (making money) without losing time with the underlying bit shuffling.
When I first posted the message, I thought I was finally going to be able to give up custom coding. Alas, things were not to be. I am back to creating custom C# applications written directly to the InteractiveBrokers API for execution. For this, I have been expanding my own framework as I need new functionality (modeled after the OpenQuant/SmartQuant class architecture which makes it easy to move strategy code). But at least, its optional. A custom app is something I now do at the very end, for select strategies, to gain additional flexibility. You may need to create your custom apps at some point, but I suggest you invest your valuable time in your strategy logic instead until you see your strategies making money in live trading.
I plan to keep using all three tools/modes for the foreseeable future.