How The Momentum Strategy Sells Shares
The Momentum strategy sells shares in the same way it buys them: by defining a condition term called Momentum Sell Signalled, which is set true if the long term trend’s growth rate no longer exceeds the threshold defined in Target Channel Growth Rate, provided there are other momentum investment opportunities available that can be used to replace that position. This is defined, as follows (Has Open Position is defined in the Spec’s Shared Terms):
‘Target Channel Growth Rate’ = 20%
‘Has Open Position’ = a condition that is true if the evaluated security’s total quantity in its current position is greater than 0
‘Momentum Sell Signalled’ = a condition that is true if the ‘Has Open Position’ term is true, AND the ‘Position Is Underperforming’ term is true, AND the ‘Have Opportunities’ term is true; where:
- ‘Position Is Underperforming’ = a condition that is true if the evaluated security’s % growth/year of the current long channel as of today, is less than ‘Target Channel Growth Rate’
- ‘Have Opportunities’ = a condition that is true if the number of securities in the ‘Momentum Opportunities’ security list is greater than 0
Normally you wouldn’t need to test if a share has an open position, as RuleTrader only applies sell rules to share’s with positions. In this case we do, because we’ll be using Momentum Sell Signalled to increment a counter (described below) and we only want to do this for share’s with positions.
When Momentum Sell Signalled is true for a share, then the Momentum strategy seeks to close that share’s position using one of three sell rules. The strategy also incorporates the shared Rebalance Portfolio trading rule, which was described in The Value & Growth Strategy’s Trading Rules, so won’t be covered again here.
Momentum’s Sell Rules
The Sell Momentum High rule attempts to maximise the return from the position by waiting until the share’s price has peaked in the upper outer part of the long term price-channel and has started to fall back (as determined by the micro AutoTrend channel, which is typically a few days to a week in length). However, as this may never happen, we also have the Sell Momentum Now rule, which takes over and closes the position if a sale hasn’t been made within 40 trading days (about 2 months), as defined by the threshold in the Max Days To Wait For a Sale term:
‘Sell Momentum High’ trading-rule signals ‘Close Position’ in the evaluated security, when: the ‘Momentum Sell Signalled’ term is true, AND the ‘Was In Upper Band’ term is true, AND the ‘Micro Channel Falling’ term is true; where:
- ‘Was In Upper Band’ = a condition that is true if the evaluated security’s highest high price, up to today, has previously been in or above the long channel’s Upper Turn-Band (outer)
- ‘Micro Channel Falling’ = a condition that is true if the evaluated security’s micro channel’s trend today, is falling
‘Days Waiting To Sell’ = a persistent value term, initialised to 0
‘Max Days To Wait For a Sale’ = 40
‘Sell Momentum Now’ trading-rule signals ‘Close Position’ in the evaluated security, when: ‘Days Waiting To Sell’ is greater than ‘Max Days To Wait For a Sale’, AND the ‘Momentum Sell Signalled’ term is true
While the rule’s are self-explanatory, we need to look at how the Days Waiting To Sell term, which is used by Sell Momentum Now, counts the days since the Momentum Sell Signalled term became true. This is achieved by defining Days Waiting To Sell as a Persistent Term, as shown above, and then using two Action Rules to increment and reset it:
‘Increment Days Waiting To Sell’ action-rule (not backfilled) increments the ‘Days Waiting To Sell’ persistent value term each day, when: the ‘Momentum Sell Signalled’ term is true
‘Reset Days Waiting To Sell’ action-rule (not backfilled) resets the ‘Days Waiting To Sell’ persistent term, when: the ‘Has Open Position’ term is false
As you can see from the above definition, the Reset Days Waiting To Sell action rule keeps the value of the Days Waiting To Sell persistent term set to zero, for a particular share, as long as that share does not have an open position. If it opens a position then it remains at zero until the Momentum Sell Signalled term becomes true, at which point the Increment Days Waiting To Sell action-rule starts incrementing it. Because action rules are only executed once each day (see Rule Triggering) this serves to count the number of days that the Momentum Sell Signalled term is true i.e. the number of days that the system has waited to sell it.
Because the Days Waiting To Sell term is persistent, it doesn’t matter if, in Live sessions, RuleTrader or ShareScope are shut down in the meantime, because its value is saved. When the Live session is restarted, RuleTrader then ‘catches up’ by cycling through the days when it was shut down and reevaluates the action rules for each of those days, incrementing Days Waiting To Sell as required.
The final sell rule is Stop Momentum Loss, which closes the position in a share (classifying it as a Stop-Loss for reporting purposes) when that share’s price has moved more than 5% below its 250 day simple moving average (SMA):
‘Stop Momentum Loss’ trading-rule signals ‘Stop Loss’ in the evaluated security, when: the ‘Price Below SMA’ term is true; where:
- ‘Price Below SMA’ = a condition that is true if the evaluated security’s day’s price (£) is less than ‘Slow SMA’, MINUS 5%
It’s always a good idea to set opposite thresholds around an indicator, with a gap between them, rather than using a single threshold at the level of the indicator. That’s the reason the strategy buys at 5% above the Slow SMA indicator and sells at 5% below, so it avoids the large number of buys and sells (and the expensive trade charges) that might be caused if the price were to oscillate around the indicator, as it often does for popular thresholds like a 250 day SMA.
