In the order asked:
- OMS, no question. Managing and handling orders is where most platforms fail and it is imho at the same time the trickiest and most complex aspect of any trading platform to get right.
- Make sure you get your "heart beat" to broker API/FIX connectors right. Nothing wrong with the connection getting lost at times (well not good either) as long as you know it happened RIGHT AWAY. I recommend to invest in hooking up through FIX with your broker rather than trading through an API for added stability.
- Strategy Evaluation? Definitely something self-coded, no question. Not that most other evaluation algos are often incorrect but you may want to add other measures, metrics yourself.
- Maintaining clean data for testing purposes is for me of the absolute importance. Once you have coded up a capable testing platform and algorithms what you are left with is the actual data and most often the data are unclean, miss data points, are not backward-adjusted, are unrealistic data because those are just data frome quote feed rather than tradable price feeds. Its of the utmost importance you peruse data as close as the data you execute trades on.
Hope that helped.
Quote from naifwonder:
I've been working on testing out some ideas that involve analyzing a great deal of data across multiple assets. The amount of data to be analyzed in combination with the nature of the systems I wanted to build made my project unfeasible for typical retail trading platforms. As a result, I built my own platform and framework for building/testing trading systems. At the moment, it can process 10 years of intraday data for several hundred stocks within a few seconds. As great as this is working, I am trying evaluate scenarios in which such a platform might fail. Do any of you guys have experience with undertaking such a project? Some of my questions are:
- What are some areas of a custom platform that you find to be particularly error prone?
- What are some things to be extra weary of while building the layer to interact with brokers?
- What are some good frameworks, if any, that one can use to analyze trading system performance based on a log of trades? I'm language agnostic when it comes to this since I am more interested in evaluating the programmatic logic then using the code itself.
- What stability and maintenance issues have you run into while undertaking such a project?