Ed Seykota, 2003 - 2006 ... Write for permission to reprint.

Ed Seykota's

Frequently Asked Questions

FAQ Index & Ground Rules  ...  Tribe Directory - How to Join

TTP - The Trading Tribe Process  ...  Glossary

  TTP Workshop  ...  Resources  ...  Site Search  ...  The Trading Tribe Book

TSP: Trading System Project  ...  Breathwork

TT Associate Program  ...  Chart Server

 

 

A Simple Trading System

Exponential Average Crossover

 

Resources

Reader Feedback

 

 

This page shows how an exponential average crossover system works.  It also presents results from back-testing a system on an S&P continuous Panama chart.

 

Readers who would like to duplicate these results can follow the tutorial at the bottom of this section.

 

 

Overview

 

Instruments

 

The system trades only one instrument: an S&P continuous contract (Panama Style). 

 

 

Posture

 

The system  trades from the long side only.  That is, it is either long or out, never short.

 

 

Trading Signals

 

Signals issue right after the close. The system enters orders overnight, to enter positions on the open of the first trading day after a signal issues.

 

A buy signal issues when the Fast Average crosses above the Slow Average.  A sell signal issues when the Fast Average crosses below the Slow Average.

 

 

Executions

 

The system awards trades with 50% skid. That is, it executes buy orders on the open at a price half-way between the open and the high of the day.  It executes sell orders at a price half-way between the open and the low of the day.

 

The system does not charge commission for entering positions or for for rolling forward. 

 

 

Position Sizing

 

This system uses volatility-specific position sizing. It buys more when volatility is low and less when volatility is high.  The system uses ATR as a measure of volatility.  The system carries positions in $1 / handle lots and rounds to the nearest 250 lots, representing one S&P 500 contract.

 

 

Output

 

The system sketches the equity value, records the results in an equity log, the essential computations in a metrics log and the trades in a trade log.

 

For visual comparison, the system also sketches a curve of the initial equity growing at a compound annual growth rate of 10% per year.

 

 

Tutorial

 

1. Download the S&P Panama Chart File: SP----C.CSV.

 

2. Program your testing software to duplicate the system test below. For hints on how to do this, study the section, How the System Works, below.

 

3. If you do not have testing software, you can put the data in a spreadsheet and create the system in Excel.

 

4. When you succeed in duplicating this run, to the penny, send an email to FAQ.

 

5. Use your system to find the set of parameter values that optimizes Bliss (frequency) for this system.  Send your solution to FAQ.

 

Note: As of September 11, 2005, readers confirm the test results of the 150/15 system to the penny.

 

 

How the System Works

 

Open Run 150/15 (Slow Lag of 150 and Fast Lag of 15) and examine the performance chart and logs.

 

In the trade log, locate the first trade entry

 

Inst        Units   Entry                     Exit                      P&L

SP----C   6500   82-09-01 119.525   83-12-20 159.600   260487.50

 

The system buys 6500 Units on 9/1/82 at a price of 119.535 and sells them on 12/20/83 at a price of 159.60 for a profit of 260487.50.

 

To see how this works, scan down the metrics log to late August, 1982.

 

82-08-27-F  slow=113.110 fast=112.055 -

82-08-30-M  slow=113.177 fast=112.817 -

82-08-31-T  slow=113.254 fast=113.590 +

82-09-01-W  slow=113.306 fast=114.035 +

The fast average crosses above the slow average on 8/31/82 (See the + sign). Therefore, the system buys on the next open.

 

Again, look in the metrics log for the prices.


82-08-30-M OHLC:[ 115.90 118.20 115.05 118.15 ]

82-08-31-T OHLC:[ 117.95 119.95 117.40 119.00 ]

82-09-01-W OHLC:[ 119.30 119.75 116.90 117.15 ]

 

On 9/1 the open is 119.3 and the high is 119.75.  The system awards an execution 50 percent of the way from the open to the high, or 119.525. 

 

Again, from the metrics log:

 

82-08-27-F Atr=3.176 -

82-08-30-M Atr=3.174 -

82-08-31-T Atr=3.115 +

82-09-01-W Atr=3.089 +

 

On 8/31 the ATR is 3.115.  The ATR Multiplier is 5 so the Risk_Per_Lot is 5 * 3.115 = 15.575.

 

On 8/31 the Equity is 1,000,000 and the Heat (for the entire run) is 10% so the Risk_Budget is 10% of 1,000,000 or $100,000.

 

The Position_Size, then, is 100,000 / 15.575 = 6420.545+ and rounding to the nearest 250, we get 6500 units.

 

To see another run, with different test parameters, visit 325/85 .  Notice the 325/85 winds up with about 13.6 times the original stake whereas the 150/15 winds up with about 3.3 times the original stake.  Optimization is the process of finding the best set of parameters

 

The hunt-and-peck approach to optimization is to tinker around with your parameter values to see how they effect the test results. You might notice that the skid factor makes a big difference for systems that trade frequently.  You might also notice that you make the most money with a slow system with a high heat and low ATR multiplier, although this configuration also delivers very large drawdowns.

 

In the case of very-high-heat / high-drawdown systems, the testing software also needs to recognize other limits, such as margin calls, and stomach calls.

 

The steamroller approach to optimization is to try every combination of parameters.  This is generally impractical. A ten-parameter system, with 20 values of each parameter would require 2010 runs.  One run for a complex system on a multiple instrument portfolio might take several minutes.

 

A synthesis of hunt-and-peck, steamroller and thinking about the results is likely the best approach.

 

 

 

Steamroller Spread Sheet Showing Bliss Function

Versus Slow Lag and Fast Lag

 

Lighter Color Indicates Higher Bliss

 

X-Axis: Slow Lag (Left:30; Right:530)

Y-Axis: Fast Lag (Top:15; Bottom:285)

 

The Upper Left Corner

is the home of dysfunctional short-term systems

 

The Lower Left Region

shows systems where the short-term lag

is longer than the long-term lag.

 

Pretty Good Values: Slow=330; Fast=90

 

Coming up: More on how to automate optimizations, how to include longs and shorts, and how to handle multiple instruments.