Let's apply one of our principles to a actual strategy.
Start with a simple strategy, based on the 50 day moving average. Take the difference between the stock price and the MA, and divide by the MA to get a % difference. When the stock is within 1% of the MA, we stay flat or hold whatever we have (long/short). Between 1% and 3% we'll buy, and from 3% to 15% we hold. Above 15% we take profits. Likewise for going short, from -1% to -3% go short, from -3% to -15% stay short, and -15% take profits.
This is a trend following strategy that looks like this:
15+ - take profits
3-15 - hold
1-3 - buy
-1 - 1 - flat/no changes
-3 to -1 - sell short
-15 to -3 - hold short
-15+ - take profits
This appears pretty workable because you want to buy in at low risk times, and you want to sell when the price runs "too far". For a long reasonable trend you could be in for months at a time (using daily prices).
The problem for me is that this system violates Path Independence. Path Independence refers to your path in terms of buying/selling the stock. Note it does NOT refer to the price movements of the stock - strategies based on patterns can still be Path Independent. But in terms of automation, my system should be able to analyze the stock and say Flat/Long/Short without any doubt.
The system as described above would be "IF I am in, hold...but if I am flat, stay flat...but if...". That's not path independent. So here's how we can make it path independent:
15+ - flat
0-15 - long
-15-0 - short
-15+ - flat
This is path independent. An advantage is that it is more likely to keep you in a trend. On the bad side, you can lose a lot if you get in at 15% and the stock moves all the way to 0% before you get out. Another disadvantage is that you could be trading like crazy around the pivot points.
So we can introduce a smidgeon of non-path independence by eliminating trades around pivot points, perhaps .5% or 1% (could be adjusted for volatility). I call that a buffer.
Another refinement is to attach position sizes to various ranges. This is still path independent. I'll use 1R as a basic risk unit, which might look like:
15+ - 0R
10-15 - 1R Long
5-10 - 2R Long
0-5 - 3R Long
-5 - 0 - 2R Short
-10 - -5 - 1R Short
-10+ - 0R
You'll notice I was more conservative on the short side. There is little reason to enforce symmetry on a strategy.
From a pretty simple intuitive trend following system it isn't too tough to improve it (in my opinion) to be Path Independent while avoiding overtrading via buffers. It will trade a lot more often and with higher risk entries, so attention must be paid to actual implementation.
Now I need to go update all my strategies to reflect this
Enjoy,
Damien