Automated Futures Trading Systems

Black-Box and Automated Trading Systems are effective for futures traders using technical analysis. Combined with common programing languages such as visual basic, c #, c ++, or Microsoft excel, it is easy to test, optimize and implement our technical trading systems.

Pattern Detection is a critical component to designing an effective automated futures trading system. For long-term success, a good risk management plan must be applied to any system that is automated based on pattern detection.

Spotting recurring price patterns (price pattern detection) in futures markets is critical to achieving long term success. Volumes of material about technical analysis and futures trading are available, however there as less material available that describes components of automated futures trading (also known as algorithmic trading or black-box trading).

Some automated trading systems can be designed to detect classic chart patterns such as Head and Shoulders, Ascending Triangles and Candlestick patterns, to name a few. These systems can alert short-term futures traders, futures brokers who notify their clients trading opportunities, day-traders or futures traders operating in any time frame.

Automated trading systems can also be designed to apply any of the standard technical indicators such as Stochastics, Relative Strength Index, Bollinger Bands, Elliot Wave Patterns, Fibonacci Retracements and trend lines to futures prices.

Standard charting programs are more than sufficient for spotting opportunities using “classic” concepts mentioned above. However, one of the major benefits of using automated futures trading systems, or “black box” trading system, is that the futures traders can detect price patterns that do not necessarily relate to a futures chart or technical indicator found in a basic futures charting program.

A futures trader can conceive their own ideas, primarily through price pattern detection, make critical observations about prices, etc … and with the help of software development, ideas can be programmed. Once programmed, a futures trading plan can be tested objectively to determine performance results. Testing involves loading historical data into a software program that will apply the trading rules required to detect the recurring pattern. From there, one can analyze performance results.

This post describes a simple idea related to trading the opening range in E-Mini S&P futures, but before describing the details of the idea, I will describe the criteria for constituting a pattern: the pattern must adhere to clearly defined rules (with no exceptions) and must occur with a frequency of at least 60%. Ideally, this pattern should manifest across all futures markets with similar rates of frequency. Pattern detection is a critical part of designing certain automated trading systems. Recall that, as stated several times on this site, we believe that technical analysis techniques and automated trading systems should work across all futures markets.

Back to our pattern detection example. Let’s look at trading the opening range in E-Mini S&P Futures. The rules are as follows: 1) At 9:30 AM (CST), plot the trading range between 8:30 AM (CST) and 9:30 AM (CST); 2) determine the number of points within that range. For example, the low of the 60 minute bar beginning at 8:30 AM (CST) is 1263.25 and the high of that bar is 1271.25. We have an 8 point range;3) wait for price to trade above 1271.25 (the bar’s high) or below 1263.25 (the bar’s low);4) after 9:30, we wait for a breakout of the range established in the previous hour - go long above the bar’s high or go short below the bar’s low. Our profit objective is 8 points.

Okay, so the rules are simple, the concept is simple. The next step is to use a software program, which would need to be designed either by the futures trader or by a third-party resource. Some futures brokers or futures brokerage firms offer value-added services that may include assistance with develop software programs to create automated trading systems.

Once the idea is incorporated into a software program, the process of back testing and system optimization can begin. In summary, we have three goals: 1) pattern detection; 2) software development; 3) optimization of the system based on the pattern being studied.

Click here for information about futures trading software services and where you may find resources to provide assistance designing a system that implements your ideas.

You may also want to check out this section of our site for more information about
automated futures trading systems.

The Benefits Of Automated Futures Trading

Automated futures trading, also referred to as algorithmic trading or black box trading, has many benefits. Automated futures trading provides a futures trader buy and sell signals based on predetermined logic or “rules”.

An automated futures trading system is not required to transmit orders to a futures broker or commodities exchange; however many automated trading systems are capable of doing that. Minimally, an automated futures trading analyzes price data and notifies the futures trader when a buy or a sell signal has occurred. Automated futures trading systems should have one or more money management components built into them. Maximum risk for a trade should be known at the time the trade signal is generated.

Building an automated trading system requires some degree of software development. Depending on the nature of the trading system, software development can be extremely complex, or it can be trivial. Some systems are simple enough in design such that Microsoft will suffice as a development tool for creating an automated trading system.

One of the most important benefits of using an automated trading system is the ability to optimize the system. Optimization is a critical concept and enables the futures trader to fine tune and hone the automated trading system so that it produces maximum profits with minimal draw-down. Note that optimization will vary, depending on the underlying rules of the system.

Consider a simple system that states that a market will test or trade at its daily pivot point within the first hour of trading. A futures trader using this system is likely to ask such questions as, how often does this theorem prove to be true? If it is true 64% of the time, it is only natural to probe ways of optimizing this system. For example, suppose we modified the automated trading systems to test that a market will test or trade to its daily pivot point within the first thirty minutes of trading.

In the above example, optimization is in the form of modifying a time frame for an event that we believe will occur with some degree of probability; however, we are trying to determine the most optimal time frame in which the event will occur.

It is obvious that the inputs that are changed through the process of optimization will vary, based on the underlying theory being traded. The trader must be provided with the ability to optimize their automated trading systems by having access to change one or more input parameters that are relevant to the theorem being tested and traded.

Let’s consider an automated trading system that attempts to predict how far a market will trade as a result of a correlated event. For example, suppose a futures market trades higher than its previous day’s high and we feel that, as a result of doing so, the futures market will trade the same distance above yesterday’s high as it had traded below it during the current session.

In this trading system, the most obvious input parameter require to optimized the automated system would be the price parameter; specifically, how much momentum will the market provide, as it trades above the previous day’s high. We chose, as a starting point, that the market may trade the same distance above yesterday’s high as it had traded below it during the current session.

Suppose we find this phenomenon to hold true 40% of the time. We might be inclined to optimized our automated trading system by accessing an input parameter that decreases the amount of follow through - for example, suppose we wanted to optimize our system and test the frequency or probability that the futures market will trade above yesterday’s high by an amount equal to %50 that it had traded below it, during the current session. For example, if yesterday’s high was 100, and in the current session we traded at 80, then %50 of this difference would be 10 points. By including an input parameter the futures trade can use to optimized the automated trading system, we can test the probability of the market trading 10 points higher than its previous high (versus a full %100, or 20 points, above yesterday’s high).

In contrast to the first example, this example uses price as an input parameter used to optimize the automated trading system. In the prior example, time frame was used to optimized the trading system.

Many automated trading systems used stop loss inputs to help optimize trading results. Being able to modify the stop loss level to optimize an automated trading system should be a pre-requisite for any trading program.

As you can see, each idea intended to become an automated trading system has specific characteristics that need to be considered when thinking about optimizing the system.

In summary, a futures trader conceives an idea; software programs are used to create an automated trading system based on the rules of the system; money management principles are built into the system; optimization criteria defined and tools are supplied to the futures trader that let them optimize the automated trading system through modifying input values relevant to the automated trading system being used.

Pit-trade session data versus electronic session data

The reason for this post is a byproduct of discussions I have had with many futures traders, when discussing automated trading or technical analysis. Periodically, I refer to a market’s high, open, low, etc … invariably, I am asked, “Are you referring to the electronically traded prices or the pit-traded prices?”. Pit-trade session data and electronic session data, for the same fungible market, often varies considerably. This variation requires further analysis for futures traders.

Future’s traders’ automated trading systems (black-box systems) rely on price information, specifically, the market’s open, high, low, last, session high and session low prices. Granted, although eventually pit trading will be a thing of the past, pit-traded markets still exist. So for now, we cannot ignore pit-traded session data when we develop an automated trading system or review a market using technical analysis.

Pit-traded markets have open, high, low, session high and session low prices that often times differ considerably from these same prices created during the electronically traded venues. Therefore, we should assess our technical analysis in a way that considers both the composite session (Electronic) and pit-traded sessions.

In summary, technical analysts need to determine to what extent pit-traded prices factor into or affect a black-box, automated trading system.

My approach is to ignore the pit-traded information - I look at composite session data only.

Black Box Trading refers to using an automated, rule-driven approach to trade futures markets. A black box system begins with an idea.

Once the idea is defined, it can then be programmed using any number of programming languages. The complexity of the program is usually correlated with the complexity of the idea being program, however many black box systems can be programmed using Microsoft Excel.

Before using a black box system, it is important to back test the system. To do this, you will need an adequate sampling of test data. Please note that past performance cannot ensure future results.

ABCFutures offers software design solutions that will program your trading system for you. These solutions include back-testing as well as automating trading.

For more information, please contact info@abcfutures.com