Wednesday, June 13, 2007

Backtesting Results

Here's a summary of backtesting results of the pairs I'm currently tracking. All results are show using 1% account risk per trade. Returns would be greater with more risk, but drawdown goes up accordingly.

GBP/USD
stop = 34, threshold=5, ATR% 70
date range jan 1 2004 - nov 8 2006, 1% account risk per trade

num_trades: 186
num_wins: 78
num_loss: 107
average win: 82.6282051282051
average loss: -33.3457943925234
average trade: 15.4677419354839
biggest win: 249
biggest loss: -34
biggest drawdown: 316
total pips: 2877
risk: 0.01
biggest dollar gain: 1098.00
biggest dollar loss: -225.64
biggest dollar drawdown: 1797.37
biggest dollar drawdown percentage: 9.01
average gain per trade: 66.79
starting account balance: 10000
ending account balance: 22424.13

USD/JPY
stop=32, threshold=5, ATR% 70, no trades on Friday
date range jan 1 2004 - mar 30 2007, 1% account risk per trade

num_trades: 151
num_wins: 69
num_loss: 80
average win: 45.9130434782609
average loss: -27.9375941176471
average trade: 6.17880794701987
biggest win: 130
biggest loss: -32
biggest drawdown: 278
total pips: 933
risk: 0.01
biggest dollar gain: 457.78
biggest dollar loss: -129.96
biggest dollar drawdown: 951.45
biggest dollar drawdown percentage: 8.44
average gain per trade: 21.11
starting account balance: 10000
account: 13188.20


USD/CHF
stop=28, threshold=2, ATR% 60, no trades on Friday
date range jan 1 2004 - august 01 2006 1% account risk per trade

num_trades: 74
num_wins: 25
num_loss: 46
average win: 80.44
average loss: -25.76
average trade: 11.16
biggest win: 218
biggest loss: -28
biggest drawdown: 169
total pips: 826
risk: 0.01
biggest dollar gain: 815.98
biggest dollar loss: -134.88
biggest dollar drawdown: 656.47
biggest dollar drawdown percentage: 6.02
average gain per trade: 43.39
starting account balance: 10000
account: 13211.43




Tuesday, June 12, 2007

Basic System Rules

Volatility Squeeze System


Theory:

A period of high volatility will often follow a period of low volatility. Specifically, a breakout will often follow a tight range day (a small range day in comparison to previous days).

Implementation:

  • Use a daily chart and the ATR (Average True Range) indicator.
  • Place long/short entries at yesterday's high/low; place entries just beyond the high or low at a predetermined amount of pips (parameters depend on currency pair)
  • place order around 18:00 EST
  • exit any open trades around noon EST the next day
  • stops are set according to currency pair
  • Only place orders if (yesterday's range) is smaller than (ATR(33) * percentage) ; actual parameters depend on the pair
  • trade size depends on currency pair and risk aversion...I use around 1.5 to 2.5%, depending on the situation

The system works with GBP/USD, USD/JPY, USD/CHF, AUD/USD, and EUR/JPY. I'm sure more pairs will work...I just haven't tested them yet. Note that the system doesn't seem to work with EUR/USD or USD/CAD.


Currency Specific Rules:


Pair | StopDistance | Entry threshold | ATR % | Notes


GBP/USD | 34 | 5 | 70
USD/JPY | 32 | 5 | 70 | no trades on Friday
USD/CHF | 28 | 1 | 60 | no trades on Friday


Parameters for other pairs will follow in a later post.....

Introduction

Over the past year or so, I've been developing some mechanical trading systems that work across a variety of currency pairs. I've tested them using my own tools (perl & tick data) and have found them to be pretty robust.

Like any mechanical system, you'll experience some drawdown...it all depends on how much risk you're taking in each trade. I don't like to risk alot - usually around 1% per trade...that keeps my drawdown to something < 15% (I'll post more about that issue later).

I get alot of email requests for programming help and trading ideas, so I thought I'd start posting my activities here. I'll not only post signals, but I'll show you how the signals are generated and how the system(s) were tested.

No warrenty is implied. In other words, don't trade with money that you can't afford to lose!