This article was published in August 2006 in SFO Magazine (now defunct).
Many traders think that simply creating a profitable trading system is all that is necessary to be successful at mechanical trading. Those traders are wrong. Assembling a portfolio of profitable trading systems is just half of the battle. The other half involves executing and monitoring the systems. Therefore, the success of any mechanical trading program depends heavily on execution environment in which a trading program is conducted.
Creating an execution and monitoring environment that is efficient and effective can be even harder than selecting the systems that comprise a portfolio. Even the simplest portfolio of systems will encounter major obstacles in the execution process, so the execution environment must be configured to minimize them.
It is easy to create a laundry list of potential issues that can be encountered on a daily basis when trying to trade a portfolio of systems. While the major issues can easily be broken down into two areas, technological and psychological, in the interest of space we’ll focus primarily on technological issues and just a touch of the psychological ones.
The issues we will discuss generally fall into the following major categories:
- Trader Bandwidth
- Reporting and Reconciliation
- Monitoring Systems For Signs of Failure
Traders, like any person, can only focus on a limited number of items at the same time. In other words, traders have limited bandwidth. Since mechanical system traders are usually trading multiple systems/models, they usually need assistance in maximizing their bandwidth. It is hard enough to trade a single model, stay focused for eight or more hours and keep on top of every trade. It is almost impossible to trade multiple systems and keep on top of them all without a support infrastructure in place. Most people can only trade, at most, three short-term systems simultaneously without requiring some sort of assistance — whether it’s people or technology. Most forms of technological assistance available commercially can allow a trader to scale up to about ten short-term systems before the issues raised by the very technology being used become overwhelming. A completely custom-developed technological infrastructure (costing hundreds of thousands of dollars or more) can scale up to substantially higher than ten.
The average trader is not going to hire employees or develop a custom trading infrastructure. Therefore, the easiest way to maximize bandwidth is to look at the composition of the portfolio being traded. A properly diversified system portfolio is not comprised of just short-term models. By removing a single short-term model that trades frequently, a trader can add multiple longer term models that trade less frequently. Portfolio composition is more than just about maximizing dollars and minimizing risk. It is also about practicality – what’s the point of having the perfect balance of risk and reward if you can’t trade it effectively?
Technology in trading is your classic double-edged sword. On the one hand it allows you to easily leverage your bandwidth with relatively little cost. On the other hand when it fails, it can make your life miserable. There are two types of technology that can be used: automatic execution systems, and automatic reporting and reconciliation systems. The average mechanical system trader will more likely execute trades using an automatic execution system and perform reconciliations manually; therefore, this section will focus on automatic execution systems.
Many of the commercially available software products cannot deal with the technology issues gracefully. They are slowly getting there, but for now the smaller traders who use these products will have to deal with these issues on their own. For this reason many larger users choose to write their own automation infrastructure despite the costs and headaches. Other users simply turn the entire thing over to a broker who specializes in executing third-party systems for a higher commission or service fee. But by far the most popular option for many users is simply to monitor the orders as they are being placed by the trading software and take action if an order isn’t filled. Unfortunately, the ability to turn on these systems and just walk away is not yet available to the average trader for a reasonable price.
Anyway, let us assume that you have used commercially available trading software such as Tradestation, CQG, Wealthlab etc. to automate your models. What kinds of issues can you can expect to encounter?
Connection failure: This is probably the most common issue. Many smaller traders using off-the-shelf computer software connect to their brokers across the internet via cable or DSL. Only the larger players connect directly (using higher costs connections such as T1). Internet connections are notoriously finicky and disconnection is common. Sometimes, issues at the broker’s end or data provider’s end also cause disconnection.
There are no easy solutions to this problem, but a trader can minimize the disruptions. First, a mechanism should be in place to immediately alert the trader if a disconnection occurs or if the trading application has stopped receiving data. This can take the form of an audible alarm, an email (useless if a trader’s Internet connection is down), a text message or combination thereof.
In addition, there should be a second internet connection. Many traders have access to both DSL and cable but even dial-up should be available in the event of an emergency. For many users the cost of an automatic rollover to the second internet connection is prohibitive but there are lower cost routers available that make it easier and faster to manually roll over in the event of an extended failure. Note that many off-the-shelf trading automation software will require a reconnect and re-initialization if the internet connection changes – this is another reason why it’s cost prohibitive for smaller players to have complete automatic fail-over to a second connection.
Partial fills / no fills: This is usually the second biggest issue. Systems that use limit orders risk getting a partial fill or no fill at all. Market orders, of course, usually incur a penalty — slippage. Failing to get fills can easily turn a potentially profitable system into a losing one, especially a trend following system where the winners are a small percentage of the overall trades.
The best way around this is to use a market-if-touched order (MIT) or convert to a market order X seconds after a limit order fails to be filled. Another trick is to test the system on the close of a time-based bar, but set it up to try to get a better fill during actual trading. If at the close of the bar, the system fails to get filled, the order is converted to a market order. Unfortunately, most off-the-shelf software products cannot do this, so it turns out to be a manual process.
Synchronization issues: Some of the more popular off-the-shelf automated trading software products can easily create synchronization issues. The logic of the trading subsystem is such that the minute a price is touched the software assumes a complete fill even if the order has not actually been filled. This can cause a unique set of headaches when using limit orders. For example, the software assumes an order has been completely filled and tries to exit a fictitious position. Just as bad, it fails to even try to exit because it is confused about the actual position. Such issues are unavoidable. Traders must simply monitor their systems and their actual fills to make sure that the software and their actual positions are in sync.
Throughput issues: Many users have experienced the delays in price updates that occur during high volume market sessions, especially after major reports such as interest rates. If a system actually triggers a trade during these reports, chances are that the slippage will be above normal. Again, there is very little that the average trader can do other than getting the highest speed connection, the most reliable data feed and the fastest computer he can afford.
Computer failure: Computers fail. That much is certain — kind of like death and taxes. Automated system traders need to ensure that they have a backup computer ready to go. At the very least, make sure that there is a backup hard drive that can be replaced since that is usually the component that fails. Using software such as Acronis True Image makes it easier to create a full image of the hard drive currently in use. Still, the best option is to make sure that there is a second computer configured with your systems and always read to go.
Acts of God: Hurricanes, earthquakes, fires — these are all unexpected disasters. The best way to prepare for this is to have backups for everything. See the Backup section later in this article.
Manual execution: There are certain markets that do not accept electronic orders or volume on their electronic contracts is too slim for anyone to trade any kind of real size. Examples include the grains, certain energies, meats and softs. For these contracts, you need to call the broker directly — there is no other choice. There are also some systems/strategies that do not trade all that often. You can probably get away with manually submitting these orders.
For these situations you must have a good alert system in place so that you know when these orders are triggered. And you must be disciplined enough to enter these orders without hesitation or have figured out a way to work around your discipline issues.
Sometimes, you may have different brokers for different products — especially in the futures markets. In fact, it’s quite possible that you’ll have a different phone number for each pit or group of pits at each exchange. For those products traded less often, test these phone numbers at least once per month to make sure that they still work and that the reps answering the phone know who you are. The last thing you want to have to do when trying to enter an order is hunt for a new phone number.
There are limits to manual execution. There are only so many systems that a single user can monitor and execute simultaneously. Thus, you will want to have most of the systems in your portfolio as automated as possible and only choose manual execution for those systems that cannot be automated.
Reporting and Reconciliation
For mechanical system traders the reporting and reconciliation process takes on added importance. It is the only way of monitoring how closely the theoretical performance of the systems matches the real-world performance. It is also an early warning system for detecting when the execution environment is changing for the worse.
Reconciliation for a system trader is a three-part process. Larger traders are able to automate some of this process, but smaller traders have to do this manually. System traders must reconcile broker statements with their own records and then reconcile those against their systems. It can take as much as an hour each day to perform this reconciliation (especially when dealing with more than one broker or more than one customer account), and it has to be completed before the start of the next trading day in order to detect errors that the broker must fix. Mornings before trading are usually best as most brokers have their electronic statements sent out by that time.
Monitoring – Detecting System Failures
Most systems eventually fail. Period. They tend to fail because the premise underlying them has changed. For example, many systems that worked in the 90s failed in the 21st century as the relationship between bonds and the broader market broke down. Sometimes they fail because volatility has contracted or expanded beyond what the system was designed to handle. Other times they fail because the trading environment has changed and taken away an edge. Even systems that haven’t technically failed may be tweaked to take better advantage of the prevailing environment. Whatever the reason, there has to be a warning system in place that forces the trader to re-examine the system’s model relative to developments in the market. Any of the following is a warning signal:
- When the number of consecutive losers is more than the historical consecutive losers.
- When the percentage of winning trades over the last year is lower than the historical norm.
- When the number of consecutive losing months or weeks exceeds the historical number of consecutive losing months or weeks respectively.
- The maximum historical drawdown has been exceeded (either on an absolute basis or a volatility-adjusted basis).
Whenever one of these occurs the trader must immediately re-examine the system, questioning the continued validity of it.
Back Up Everything
OK, so you’ve got a great execution environment. Everything is running to your satisfaction on a daily basis. But have you thought about what you would do if something really bad were to happen? Everyone knows that they need backups. Most people just ignore them. But system traders who do so put their livelihood and business in jeopardy. Backups are more than just backing up computers and hard drives. When thinking about back ups, think about everything that you would need to do to recreate the business infrastructure and execution environment at a separate location. In particular think about everything you would need to do in order to get out of a position in an emergency. Here are some of the basics:
Computers: Back up the data daily. Take snapshots of the hard drives weekly or after a change to a production system. Store one copy of the hard drive in a geographically separate location — even if that means sending a FedEx of the copy to a friend in another time zone.
Phone lines: You need landlines and cell phones. Cell phones can be used to call in orders to exit positions should the landlines or internet lines go down.
Internet/Broker connections: Be sure to have two separate physical connections.
Brokers: You need two brokers, one of whom is a full-service broker capable of picking up on the first or second ring. If your primary broker systems go down you will need to offset and you need a reliable full-service broker in order to pull that off.
Phone numbers: Print out of all phone numbers for brokers, customers, software vendors, etc. If your primary computers crash you are not going to be able to find the numbers you need immediately.
Maximize Opportunities for Success
Creating a smooth-running environment for execution of a basket of mechanical trading systems is not easy, especially for the smaller trader. There will be at least one unexpected twist in the life of a mechanical system trader every month. It’s a numbers game and everything that happens that prevents you from taking a trade stacks the numbers even further against you. But by actively trying to forecast and anticipate the obstacles, system traders can minimize the opportunities for disruptions and maximize opportunities for successful trading.
Nigel Bahadur runs the Research and Development group for LBRGroup. He can be reached at firstname.lastname@example.org or via the www.lbrgroup.com website.