© Ed Seykota, 2003 - 2005 ... 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  ...  The Trading Tribe Book

TSP: Trading System Project  ...  Breathwork  ...  Charts

 

 

Exponential Crossover

Reader Feedback

with comments by Ed

 

Reference Library

 

 

 

 


 

 

Sat, 22 Oct 2005

 

(n+1)/2  and  DT

 

Dear Mr. Seykota,

Using your data, SP----C-1.csv :

And equation:
ELt = ELt-1 + dt * (P - ELt-1) / TC

Where,
t       = Aug 22, 1982
t-1    = Aug 21, 1982
ELt-1 = 117.45
dt     = 1
P      = 117.90
TC    = 150

ELt   = 117.453

on your website it shows: http://www.seykota.com/tribe/TSP/EA/2005_u_11_EA_System/Metrics_Log_0-0.txt
 

ELt   = 117.456


I notice that if "TC" is added to "1" and then divided by "2" then the calculation matches your metrics log but I don't see a point (related to trading) in doing that.

Furthermore, I think dt should not equal "1" over holidays and weekends as your metrics log shows. I believe that just because it's not traded publicly during weekends and holidays doesn't mean that the price ("value" of the asset) doesn't fluctuate.

Thanks for the education!

See the TSP resources for more information of the theory of lags and moving averages and the (n+1)/2 factor.

 

Yes, this particular system increments the lags on trading days only.  If you include increments for holidays and weekends, you get slightly different values for the lags and, perhaps, slightly different trading results.  You might even get a different optimal solution.  You might then use that optimal to run the every-day-incremental system.


 

 

Mon, 24 Oct 2005

TSP Exponential Lag Match - To The Penny


I match your run to the penny and narrowed the search using your results as a starting point.

Slow Lag= 325
Fast Lag= 85
Bliss = 0.210
ICAGR = 0.112
Drawdown = -0.534
start bal = $1,000,000.00
end bal = $13,551,818.75
 

 

 Slow

300

305

310

315

320

325

330

335

340

345

350

355

360

75

0.175

0.174

0.173

0.166

0.169

0.176

0.180

0.189

0.180

0.198

0.193

0.194

0.148

 

0.097

0.096

0.095

0.093

0.094

0.096

0.099

0.103

0.098

0.108

0.105

0.106

0.084

 

-0.555

-0.553

-0.549

-0.562

-0.556

-0.546

-0.547

-0.543

-0.545

-0.546

-0.543

-0.544

-0.568

80

0.174

0.173

0.173

0.177

0.187

0.191

0.195

0.208

0.199

0.196

0.188

0.148

0.148

 

0.096

0.096

0.098

0.099

0.104

0.105

0.108

0.113

0.108

0.107

0.102

0.081

0.081

 

-0.554

-0.552

-0.564

-0.561

-0.555

-0.551

-0.552

-0.542

-0.544

-0.545

-0.546

-0.548

-0.546

85

0.180

0.181

0.178

0.191

0.193

0.210

0.192

0.192

0.191

0.152

0.149

0.149

0.153

 

0.099

0.100

0.100

0.104

0.102

0.112

0.106

0.106

0.104

0.082

0.081

0.081

0.083

 

-0.549

-0.554

-0.563

-0.543

-0.532

-0.534

-0.551

-0.553

-0.547

-0.541

-0.544

-0.544

-0.543

90

0.177

0.182

0.179

0.188

0.199

0.192

0.192

0.183

0.145

0.148

0.152

0.149

0.145

 

0.098

0.101

0.100

0.099

0.108

0.104

0.102

0.101

0.080

0.080

0.082

0.082

0.080

 

-0.552

-0.553

-0.560

-0.523

-0.540

-0.542

-0.530

-0.554

-0.554

-0.543

-0.542

-0.547

-0.548

95

0.180

0.178

0.178

0.207

0.199

0.190

0.152

0.154

0.146

0.144

0.144

0.142

0.141

 

0.100

0.099

0.100

0.110

0.104

0.103

0.081

0.082

0.081

0.078

0.078

0.078

0.077

 

-0.552

-0.553

-0.562

-0.533

-0.522

-0.544

-0.532

-0.534

-0.551

-0.542

-0.542

-0.546

-0.545

100

0.184

0.186

0.190

0.197

0.162

0.160

0.156

0.151

0.147

0.148

0.150

0.145

0.148

 

0.101

0.102

0.106

0.106

0.086

0.084

0.085

0.080

0.082

0.082

0.081

0.079

0.081

 

-0.549

-0.549

-0.559

-0.538

-0.531

-0.527

-0.541

-0.531

-0.555

-0.551

-0.544

-0.544

-0.546

105

0.181

0.185

0.189

0.155

0.158

0.160

0.155

0.161

0.154

0.155

0.155

0.148

0.150

 

0.100

0.104

0.103

0.084

0.084

0.084

0.084

0.085

0.085

0.085

0.084

0.081

0.082

 Fast

-0.551

-0.562

-0.547

-0.540

-0.530

-0.523

-0.539

-0.528

-0.551

-0.551

-0.545

-0.548

-0.546

 

Very nice !


 

 

 

Tue, 18 Oct 2005
 

Match

Hi, Ed -- using Excel, I have matched the ending equity for the 150/15 system to the penny, and also have matched the ICAGR -- your number .0514, mine .05139703, which is close enough for government work!

 

Still working to figure out how to program Per Cent Drawdown, and how to generate the Trade Log report from the Metrics Log. Also, am working with [others] on duplicating the results in Traders Studio. This is an excellent exercise and learning experience.

For more information on draw down, see resources / system math.  The Trade Log and the Metrics Log are different views of the results, I do not generate one from the other.


 

 

 

Mon, 17 Oct 2005

 

Off by 100 x

Ed,

I'm confused. I checked the web site today http://www.seykota.com/tribe/TSP/EA/2005_u_11_EA_System/0-0.htm and the original equity specified is $100,000,000, but an Excel file that matches results in the current Trade_Log and Metrics_Log starts with $1,000,000?

My TradersStudio code that gets close results, but not exact results yet, starts with $1M. I thought I got that number from the web site when the project started, but I may have made a mistake.

If I change the starting equity ... in TradersStudio, I no longer match the log results.

Has the starting Equity on the web site changed from $1M to $100M since the project started?

See Below.


 

 

Mon, 17 Oct 2005

 

Animated GIF for bliss;

Reproding Results for Exponential Crossover System


Dear Ed,

I reproduced the results for the "Exponential Crossover System" for both parameter sets (150/15) and (325/85) to the penny. I am using my own backtesting engine written in C#. I had to change the type of some variables of my backtesting engine from float (4 byte) to double (8 byte).

I created an animated GIF for the "Exponential Crossover System". The GIF contains a graphic showing how bliss depends on the "Slow Averaging Time", the "Fast Averaging Time" and the "Heat". I simply generated different frames for different values of heat, so the heat changes with the time as the animation runs. You can open the GIFs in a web browser or other software which is capable of playing animated GIFs.

I also wanted to make you aware of what I believe is a mistake. You write that the start equity is 100000000.00 instead of 1000000.00 in the tables on following pages:

http://www.seykota.com/tribe/TSP/EA/2005_u_11_EA_System/0-0.htm
http://www.seykota.com/tribe/TSP/EA/2005_u_11_EA_System/7-7.htm

Greetings!

 


 

Nice Graphics !  For you other comments, see below.


 

 

Mon, 17 Oct 2005

 

Impossible Margin Requirements in the 150-15 EMA Cross Over System


The total starting equity is 100000000 - not the 1,000,000 you used in your test.

more thoughts: if your test starts with 1M dollars ... then maybe you get a signal to buy about 65 contracts.

the S&P today is roughly 10 times the level in 1982. maybe the margins are now 10 times the size of what it was then.

a rough estimate of total margin required (100M account, buy signal in 1982) is:

6500 contracts times $1969 margin per contract = $12798500

This is under the 100M starting size.

The 100x factor stems from comparing pennies and dollars.  For information on contract sizing, See below.


 

 

 

Sun, 16 Oct 2005

 

Skid Problems

Ed,

I am not able to get Skid working in the commercial software packages. Is there anyone out there that has matched your 150-15 EMA Cross Over system in TradersStudio, TradeStation, MetaStock, or some other commercial software package?

I was working on the EMA Cross Over system today and have an Excel model working that matches your 150-15 system, but am still not able to match the system in TradersStudio or TradeStation or MetaStock. I was able to get around the initialization differences for the EMA because of MaxBarsBack requirements in the commercial software, and was able to match the EMA and ATR by writing custom functions, but I am not able to get around the SkidPrice calculation as of yet.

In the commercial software when an order is triggered, they can access Open and High for that day, but they are not able to access the Open and High for the next day when the order actually fills. So, I can't get the SkidPrice to match by one day.

Skid is defined as 50% of the distance between the Open and the High the day the limit order fills.

The TradersStudio code that is not working is:

Skid = 0.5
If CrossesOver(FastEMA,SlowEMA) Then
SkidPrice = Open[0]+(Skid*(High[0]-Open[0]))
Buy("Buy",PositionSize,SkidPrice,Limit,Day)
End If

In the code above, the entry price (SkidPrice) is calculated on the range between Open and High on the day the Buy signal is triggered, not on the day the order is actually filled in the market the next day.

Theoretically the following code would access tomorrows SkidPrice:


SkidPrice = Open[-1]+(Skid*(High[-1]-Open[-1]))
But -1 is not allowed, I'm sure for good reasons.

Does anyone know how do I access the Open and High on the day the limit order fills in commercial software packages to get the SkidPrice that would actually happen in real world trading that matches Ed's results?

I do not know of commercial testers that allow you to access anything about tomorrow, today.


 

 

 

Sun, 16 Oct 2005

 

Impossible Margin Requirements in the 150-15 EMA Cross Over System?


Ed,

I was working on the 150-15 EMA Cross Over system this weekend, and it looks to me like the curre