PureBytes Links
Trading Reference Links
|
In Chuck Le Beau's "System Traders Club" Bulletin #2,
he lays out an exit strategy called the Chandelier Exit.
Chuck asserts that if you use RANDOM entry signals, plus
the Chandelier Exit, you'll make money. See
http://www.tradersclub.com/bulletins/bulletin2.htm
Just now (11/01/98) I tested this assertion. And, to
my surprise, I sure did achieve Chuck's predicted result.
I entered a random trade in a random direction at a
random price, and then employed the Chandelier Exit
with no other rules. No stops, no profit targets,
nothing else. Chandelier Exit, Random entry. Period.
I used Trading Recipes to perform these tests; it has
a handy RANDOMPRICE builtin function that's just perfect
in this application. I chose a value of $150.00 per
contract for (Commission + Slippage) in the tests.
Chuck says "In general the best values for the exit in
most markets ranges between 2.5 and 4.0" so I used the
midpoint of these two numbers, 3.2. And I applied it
to a portfolio of 20 commodity futures markets, which
I myself happen to trade in my own real-money account,
and for which I have up-to-date data. Following Chuck's
bulletin, I computed the 50 day Average True Range.
Here then are the rules of the system I tested:
ENTRY RULE:
If you've been flat (had no position) for 3 or more
days, pick a direction (long or short) at random.
Pick a random time during the day. Enter an order
in that direction at that time-of-day.
EXIT RULE:
Let Z = 3.2 times the 50 day Average True Range.
Let HHSE = the highest high since you entered.
Let LLSE = the lowest low since you entered.
If you're long, exit at (HHSE - Z) on a stop order.
If you're short, exit at (LLSE + Z) on a stop order.
I tested this "system" on data going back to 850102,
thirteen and a half years. The 20 markets used in the
tests were:
BP DM HO KC SF
CD DX HU LB TU
CL FY JO MB TY
CT HG JY NG US
As always, I tested using a reinvestment-of-profits
position sizing algorithm. When the account is twice
as big, it trades twice as many contracts. When it
is one third as big, it trades one third as many
contracts. This corresponds to the way I actually
trade my real-money account. I don't sit still with
the same number of contracts for thirteen solid years.
Other folks, of course, might trade their accounts
differently.
Here are my results:
Commission+Slippage: $150 per contract per trade
Number of trades: 2084
Winning trades: 729 (38.3%)
Losing trades: 1355 (61.7%)
Equity Growth: 11.56 (finalequity / initialequity)
Compound Annual Growth Rate: 19.88 % per year
Max Drawdown: 41.0 %
#days winning: 1751
#days losing: 1698
Days making new equity highs: 195 (5.7%)
As you can see, this "system" was profitable.
Which tends to support Chuck LeBeau's claim
that the Chandelier Exit is a powerful technique;
it's a lot easier to believe that the profits
came from the exit and not from the random entry.
Please, no snide remarks about my Trading
Recipes code. It was slapped together in
an hour, to get some quick test results.
It WASN'T polished and rewritten and reformatted
for beauty or to win any style points:
' RESOURCES
'
' Take a trade at random then use Chuck Le Beau's Chandelier Exit
' Idea from System traders club bulletin #2
'
COL6 = COL6[1] + 1
IF (COL6 <= 5) THEN COL1 = H ; COL2 = L ; COL7 = 0 ; COL8 = 0
IF H > COL1[1] THEN COL1 = H OTHERWISE COL1 = COL1[1]
IF L < COL2[1] THEN COL2 = L OTHERWISE COL2 = COL2[1]
COL3 = ATR[50]
COL4 = COL1 - (3.2 * COL3)
COL5 = COL2 + (3.2 * COL3)
COL7 = COL7[1]
COL8 = COL8[1] + 1
'
SYSTEM = 2 * POINTVALUE * COL3[1]
' TRADE ENTRY LOGIC
'
MEMORY[1] = RANDOMPRICE
MEMORY[2] = MEMORY[1] - (.5 * (H + L))
IF (COL7 = 0) AND (COL8 > 3) AND (MEMORY[2] > 0) THEN \
BUY = RANDOMPRICE ; COL7 = 1 ; COL8 = 1 ; COL1 = H ; COL2 = L
IF (COL7 = 0) AND (COL8 > 3) AND (MEMORY[2] <= 0) THEN \
SELL = RANDOMPRICE ; COL7 = -1 ; COL8 = 2 ; COL1 = H ; COL2 = L
'
' CALCULATE POSITION SIZE
'
MEMORY[5] = (.01 * EQUITY / SYSTEM)
IF (MEMORY[5] < 1) THEN MEMORY[5] = 1
NEWCONTRACTS = MEMORY[5]
' TRADE IN PROGRESS
IF (COL7 = 1) AND (L < COL4[1]) THEN SELLSTOP = COL4[1] ; COL7 = 0 ; COL8 = 0
IF (COL7 = -1) AND (H > COL5[1]) THEN BUYSTOP = COL5[1] ; COL7 = 0 ; COL8 = 0
I hope you enjoyed reading this.
-Mark Johnson
--
Mark Johnson Silicon Valley, California mark@xxxxxxxxxxxx
"... The world will little note, nor long remember, what is said
here today..." -Abraham Lincoln, "The Gettysburg Address"
|