PureBytes Links
Trading Reference Links
|
Alex Matulich (and list),
I’ve been doing some work with ‘expectancy &
expectancy score’ recently and I have a question about
the way you calculate expectancy in your
_SystemQuality function (I hope this isn’t perceived
as looking a gift horse in the mouth. I actually use
some of your code in systems I actually trade, so you
have my sincere thanks).
I’m not sure if I’ve made an interesting observation
here or if this is going to qualify me to be riding
the short bus, but here goes…
In the book TYWTFF, Tharp describes expectancy as:
(AvgWin * %Win) – (AvgLoss * %Loss)
The ‘problem’ with this equation is that it only
produces “expected profit/loss per dollar risked” if
the system trades exactly one constant dollar per
trade. If the amount traded is greater than $1.00 per
trade the equation returns expectancy relative to the
dollar amount per trade. On pg. 151 he goes on to
describe how to reduce the result to actual “expected
profit/loss per dollar risked” by creating a “payoff
matrix” that weights each trade according to it’s
payoff ratio and it’s probability of occurrence.
Another way to do this would be to use constant dollar
position sizing during the test, and then to simply
divide expectancy by the number of dollars risked per
trade (For stocks at least, with futures things
usually get more complex).
In your _SystemQuality code you calculate expectancy
as:
Expectancy = (AvgWin * %Win) + (AvgLoss * %Loss) /
|AvgLoss|
You define this as “expected profit per dollar
risked”, and therein lies my question. I assume the
change in the equation was to scale the result down to
the actual “per dollar” expectancy number. After
making some comparisons in Excel though, the best I
can figure (please correct me if I’m wrong) is that it
does not return actual “expected profit per dollar
risked”, but rather, returns a pseudo expectancy
number that is scaled down relative to the best proxy
for risk available here (AvgLoss). After exporting all
the results to a spreadsheet and sorting in descending
order, I think the sort result would be the same as if
you did it the Tharp way. I know all this probably
amounts to splitting hairs, but for reasons that go
beyond single system testing, I’m looking for the
“actual” expectancy per dollar.
Ex:
Assume a stock system that trades $1000.00 constant
dollars per trade with the following performance
results:
% Wins – 65%
% Loss – 35%
AvgWin - $400.00
AvgLoss - $300.00
Expectancy (Tharp):
(400 * .65) – (300 * .35) = $155.00
Expectancy (Tharp divided by constant dollars traded):
((400 * .65) – (300 * .35)) / 1000 = $.155 (actual
expectancy per dollar *I think*)
Expectancy (Matulich):
((400 * .65) + (300 * .35)) / |300| = 1.217
In the process of this, another thing I realized was
that the standard TradeStation performance metric
‘Average Trade’ is, in fact, Expectancy (without
subtracting scratch trades of course). Which makes
‘Net Profit’ equivalent to Expectancy Score.
Sorry if I’ve been long winded. My question basically
is – Am I correct about my interpretation regarding
the changes you made to Tharp’s expectancy equation?
Thanks,
Lance Fisher
|