As an automated trader you probably need the following components:
- Broker Account – The starting point to trade in the markets
- Live Market Data – To feed to your trading robot so that it can generate trading signals. Most brokers provide market data with proprietary or third-party technology- although market data can also be obtained from an independent vendor (e.g. eSignal).
- Order Routing – To transmit your orders to the exchange. These can be proprietary to the executing broker or third-party based (e.g. Zen Fire).
- Broker Trading Platform – To access your account information, place orders, etc.
- Charting Platform – Sometimes the broker platform charting capabilities are mediocre and an independent charting platform is required (e.g. eSignal)
- Signal Generation Platform – The actual trading robot: it analyses market data, account and positions information and implements the automated trading strategies to generate trade management signals (i.e. Buy / Sell / Exit, etc.).
- Excecution Platform – Receives trade signals and forwards them to the order routing.
- Platform Hosting – You can host the trading robot on your local machine, host it in a dedicated rented server or entrust a specialised broker to host and run your trading robot.
- Historical Market Data – Used as source for back-testing trading strategies
- Strategy Development Application – Allows for coding, optimisation, back-test and result analysis of trading strategies.
- Statistical Analysis package – for in-depth statistical analysis of back-testing results.
Some of these distinctions are physical, some are logical. For example, TradeStation packs many of the points above into one system: a broker account and a trading platform that allows you to:
Access live market data + Visualise price charts + Automate trading strategies that generate signals + Route the trading signals as orders on the exchange + Access account information + Store historical data + Back-test strategies
Sounds like it fits the bill perfectly, doesn’t it?
Well let’s look at the areas you need to consider when deciding on your automated platform.
Type of broker
Different issues to consider: is the broker a clearing broker, a non-clearing FCM or an introducing broker? If the latter is it an independent introducing broker or a guaranteed introducing broker (backed by a clearer)? It would seem that the closer to the exchange you broker is (in terms of relationship), the better/safer it is. See Anatomy of a Futures transaction for more detail on the different types of brokers.
Every broker offers access to different products and different markets. For example Interactive Brokers offers one of most complete coverage (worldwide Futures, Options, Equites and Forex) all “housed” under the same Universal Account. Other brokers only offer access to specific products/markets.
For some type of trading strategy, this can have a large impact and various platforms/feeds offer different levels of performance. This has led to specialist companies such as Zen Fire or Trading Technologies – which locate their servers very close to the exchange – achieving speed and reliability for data feed and order routing. They offer their services to brokers who can in turn offer it to their clients.
This is mostly a matter of personal preference, experience and expertise. TradeStation has been around for longer and a big collection of Easy Language scripts are available for re-use while NinjaTrader, for example, uses C# and CQG Trader their own language.
Strategy Complexity vs. Platform Functionality
Most of the automated trading platforms that offer back-testing functionality lack sophistication of dedicated applications such as Mechanica, TraderStudio or Trading Blox. For example portfolio testing is usually not available in the live trading platforms. This might work for some simple strategies but not for more complex Money Management ones.
You can run the trading robot on your machine, which makes you subject to power and connection failures or you can choose to rent a server to host your robot. Some brokers also offer trading strategy hosting and execution on their own servers.
Some specialised platforms offer better charting capabilities than the standard trading platforms and can be used as a standalone charting application. Some, such as eSignal, also offer a data feed.
An obvious one but between platform costs, execution costs, hardware, etc. there exists a wide range between bottom-end and top-end offerings.
What/how to choose?
While researching for this article I have come across many different packages offering different solutions. One of the best ways to help you decide on a solution that makes sense to you is to list your goals and cross-check each platform against them in this fashion (PDF doc).
There are endless possibilities for combining all the differenty packages. Just for fun I tried to “virtually build” the opposite of an all-in-one package such as TradeStation (which will probably not address most automated trader goals) – here is one “wacky” implementation.
Sorry to end up on a cliche but there are no silver bullet to making the choice. If you take away one point is that you need to list your own requirements clearly and make the choice for yourself based on them.
Check that 60-page thread at EliteTrader if you want an endless discussion as to which is the best platform/architecture…