Sure, we have heard it before : platforms like Metatrader, TradeStation and NinjaTrader are really not professional automated trading solutions and anyone considering to do this “seriously” should not bother with any of these retail execution platforms. There is some truth to this notion -depending on what you want to do -but the truth is that – for most purposes – “dependent platforms” (like those mentioned before) are much more convenient and well within what is necessary to trade successfully from an algorithmic perspective. On today’s post I will talk about the advantages and disadvantages of dependent and independent platforms, when the need for an independent platform becomes real and when retail platform solutions can be used without any problems.
When we want to achieve automated trading execution there are several things we can do. The easiest and most convenient solution is to use a platform that allows us to develop our strategies in a very user-friendly manner where all the indicators (or at least many of them) have been coded in advance and things like trade opening, closing and error handling have already been implemented for us to a great degree. Such trading platforms include NinjaTrader, Metatrader and TradeStation. These platforms are what I like to call “dependent solutions” because you depend on the creator of the platform for updates, speed, capabilities, etc. You are in effect limited by what the developer of the given terminal software want to implement and you are also subject to whatever errors or problems the developer introduces.
Now, depending on how much you trade and how you trade there may be extremely large disadvantages to using a dependent solution. Commerial software – like the one mentioned above – starts to fail significantly when you want to trade with extremely low latency (like when you want to profit from arbitrage) or when liquidity plays a very important role since you are trading large amounts of money. Whenever you want to trade a strategy that requires lightning fast execution, or your capital starts to grow above one million dollars, it starts to make sense to use independent solutions which do not have the constraints of retail trading software.
An independent solution is – like it sounds – a solution which is independent and developed entirely by you and your team. It is your OWN software implementation using a bank or broker API to directly place your orders with them. You are responsible for the development of all the code, you are responsible for execution and you are responsible for errors. In effect an independent solution gives you a lot of power, very reduced latency and the ability to execute positions just as you want to, without the constraints that retail platforms put on traders.
The problems of independent solutions are also obvious as they have a lot of added costs, a lot of development effort is required and the reliability of your implementation has to be tested by you for an extensive period of time in order to confirm its reliability. There a lot more responsibilities when building an independent solution for algorithmic trading and this will probably require a team of dedicated programmers who can do this.
However the advantages of independent solutions are evident. Direct access to a broker or bank with the ability to execute orders directly with second level market depth plus the certainty that no one is “playing tricks” against you using dealing desks and such other mechanisms brokers can use to manipulate price feeds and the execution of orders. With an independent solution there is truly no limit to what strategies you can execute and to what you can achieve regarding execution speed and trading system development. From very complicated statistical arbitrage strategies trading many different markets and instruments to complex neural network or genetic programming solutions, independent trading platforms are the way to go when retail platforms do not offer the reliability or the flexibility needed for adequate execution of trading strategies.
In the end, everyone who trades a lot of money eventually moves to an independent solution but before you get to those 10 million dollars (usually the point where EVERYONE has an independent solution) you can certainly use dependent solutions if their limitations do not cause problems with the trading strategies you use. For small retail traders profiting from algorithmic solutions it therefore becomes VERY important to develop strategies within the possibilities and limitations of their software. Doing something as attempting to develop a high frequency trading strategy on a platform like Metatrader 4 is certainly a good way to lose your money as the limitations of the platform do not allow you to compete with independent solutions. Trade within what your software can do and develop strategies which are “immune” to those short coming and you’ll be able to become long term profitable, later reaching the necessary capital to make your own independent solution (I will write some posts about this later this week).
In the end a retail trader can develop strategies within what his or her platforms can do and be serious and profitable with adequate long term statistical evaluations and an in-depth understanding of what he or she is doing. For a retail trader developing an independent solution is overkill and trying to do what they do is naive. A trader must be conscious about the limitations of the retail software he or she wants to use and develop systems that can be profitable within those shortcomings.
If you would like to learn more about my work in automated trading and how you too can create your own programs taking into account the limitations of retail platforms please consider joining Asirikuy.com, a website filled with educational videos, trading systems, development and a sound, honest and transparent approach to automated trading in general . I hope you enjoyed this article ! :o)