I am now busy designing new trading systems to meet the needs of our customers in terms of custom systems and a new trading platform - the KaiTrade Accelerator, and am writing this entry to think about the philosophy of what matters when designing a new trading system.
One of the key things we have learned is that the pace of change is ever increasing to match the changes in markets and the economy. Systems must be easy to extend and adapt; what is critical is to provide ways that allow the trader to work with his/her ideas directly without the delay and cost of a development cycle. On the flipside, it must be possible to add highly optimized code to provide the lowest latency execution.
The platform itself needs to provide the basic functions required by all trading platforms; it must support multiple asset classes (stocks, FX, Futures and Options) and it has to work with and adapt to the many brokers and firms traders use. Solid engineering is needed to make sure that the platform can manage huge number of updates and messages. The key challenge is to provide a rock-solid system that does not apply constraints to its use.
I think that to hit the sweet spot, you need to balance the function provided with ease of adaption; it is no use providing a system that is difficult to use, has a long learning curve or that is hard to integrate into a firm’s existing systems.
We think that the systems we will deploy need to support a variety of tools used by traders - for example Excel or other analysis tools.