A Trading System That Works
With modern computers, it is easy to optimize a trading system causing its past performance to look outstanding, but optimized commodities trading systems are not a reliable trading system. Because a trader can train a computer to have 20/20 hindsight does not mean that future performance will be like the past.
The primary problem with optimizing past performance is that markets change. A low-volatility market suddenly becomes a high-volatility market. A market that used to trend becomes a choppy directionless market or, a market that previously had high leverage becomes a market with low leverage. The list is endless.
What often happens is that market X will start acting like market Y. Then market Y will start acting like market Z. If a trader has optimized his system to trade in market Z, then he will be in trouble when it starts to trade like market X! The tendency for markets to shift in this manner is a problem for many trading systems, usually stock index systems that get optimized for one market or sector. Despite their periodically impressive looking results, there’s some poison in their mix.
Contrast this last example with one where your quantitative trading systems get designed to work well with almost every market, A through Z. Now, it will not matter if market Z starts to act like market Y or market A starts to act like market P. They can change as many times as they want because the trading systems design is universally capable with most ALL the various markets. The market characteristics can reshuffle countless times, and the trading system acts like a Swiss army knife that has proved during past testing it can deal well with almost any event.
A few tip-offs to optimized Trading Algorithms
- Unrealistic looking performance
2. Only trades one market or sector well
3. Uses various rules (algorithms) for each market
4. Uses various inputs depending on the market
5. Uses different rules or inputs for entering buys and sells
6. Does not factor in realistic transaction costs (slippage & commission)?
7. Uses money management methods that do not include market normalization (like single contract performance)
8. Uses static numbers for all markets like a $2000 stop or $5000 profit objective (some markets could hit those in an hour, and others could take weeks).
An important feature of robust trading algorithms is that they should weight every market equally. The testing should get done in a way that “normalizes” the difference of the markets. For example, natural gas usually changes a few thousand dollars a day for each contract; however, Eurodollars usually change a few hundred dollars a day for each contract. Traders need a way to balance and normalize this difference in testing.
The reason traders need to normalize the contracts is that if the trading system meets most of the non-optimized rules, but it is trading one natural gas market contract for every Eurodollar contract then it is flawed. The trading system would look best if it had many natural gas winners, but what it natural gas starts to have many losing trades and the Eurodollar starts to have many winning trades? Will a few, hundred-dollar winning trades in one Eurodollar contract be enough to offset a few THOUSAND dollar losing trades in one natural gas contract?
If a trader is trading 20 markets, it is to get diversification, but if he is trading them all with one contract, then he is not diversified. Traders might have 25% of their portfolio making up for 90% of the profits and losses! The problem is that future results are now depending on those markets. Far better not to be depending on a specific market in the portfolio. Each market should be of equal weight and importance.
A Robust Trading System Should
- Trade a portfolio of EVERY commodity market
- Trade that large portfolio over a long test period
- Use the same rules for every market
- Use the same input values for every market
- Have the same logic for entering buys and sells
- Factor in realistic transaction costs
- Normalize the markets for risk
After all this, the final step would be to do some walk-forward testing. Walk forward testing means one tests and develops a trading system on data up to a fixed point (IE year 2000), then continues the testing from that fixed date forward. Testing in this way cuts many benefits of hindsight. These are all things R Quant Systems does when developing a trading system.
By: Dean Hoffman
FUTURES TRADING IS NOT SUITABLE FOR EVERYONE AND PAST PERFORMANCE IS NOT NECESSARILY INDICATIVE OF FUTURE RESULTS. THERE IS RISK OF SUBSTANTIAL LOSS IN FUTURES TRADING OR WITH ANY TRADING SYSTEM OR PROGRAM. CAREFUL EVALUATION OF YOUR PERSONAL FINANCIAL SITUATION MUST BE DONE PRIOR TO DECIDING TO TRADE IN THE FUTURES MARKETS OR ANY GIVEN TRADING SYSTEM OR METHODOLOGY.