A Short Hiatus Will Be Had
I have too many irons in the fire.
I am going to take a short hiatus from posting here (just a few days or so) while I work on some money management / position-sizing tests for The Power Dip System. I am also testing 2 additional factors on the original algorithm. Subscribers can expect some updates on the Power Dip site blog.
The other major project I am working on is the proper code for the Momentum System in order to account for un-adjusted prices and volume when working with de-listed data.
Both endeavors are extremely important. Fortunately, the work on de-listed data with the Momentum System will be posted here, to the benefit of everyone who is interested. Unfortunately, unless you are a subscriber to The Power Dip System, you will not be privy to most of the work being done there.
Back soon!
A Return to Mean Reversion?
Here is the equity curve from a simple mean-reversion system. How simple is it? Very, very simple. It is RSI2 based with a couple other factors thrown in that regulate position-sizing to limit risk during times when the market is behaving abnormally and applies 2x leverage when trading with the trend. Anyway, after the 2008 disaster (which was a boon for the system), it has not done very much. However, it has recently begun to perform very well.
This could have several implications about the future, and we know that mean-reversion performs better during elevated volatility.
MarketSci’s last post on mean-reversion also seemed to suggest that we might see an uptick.
As you were…
Power Dip Stop-Loss Studies: 5% Stop
On the subscriber site, there is a fair amount of discussion about stops and position-sizing. The two issues actually go hand-in-hand. I want to address this relationship between stops and position-sizing.
This assumes that a trader uses percent-risk position-sizing. Percent-risk position-sizing means that one risks X% of his account on each trade. In order to manage the amount of money risked, we must know when a trade will be exited so that the account loses the specified amount. A stop-loss is the typical exit method used to ensure that trade risks only X% of the account.
Let’s look at an example.
- $10,000 account, and the trader wants to risk 1% of the account on each trade ($100.00 risked per trade).
- XYZ stock trades for $10.00/share.
- The trader could use a stop 10% beneath his entry: $10.00*.10=$100.00
- In the example above, he would have purchased 100 shares. 100 shares @ $10.00/share = $1000.00 position.
- When this $1000.00 position stops out at 10% loss, he loses his risk of $100.00
However, what if the trader wants to use a stop of 5%? Then his position would be twice as large as using a 10% stop.
- He would have purchased 200 shares. 200 shares @ $10.00/share = $2000.00 position.
- When this $2000.00 position stops out at 5% loss, he loses his risk of $100.00 ($2000.00*.05=$100.00)
So there is a direct connection between the stop-loss level and the size of the position.
With a winning setup and exit strategy, percent-risk position-sizing has multiple, extremely important implications. Hopefully some of these implications will become apparent. If not, I’ll have to do a better job later fleshing it all out.
Let’s look at a real life example.
We’ll use the Power Dip, which uses entry and exit strategies that generate a positive expectancy. This first test used a 5% stop. The tests that will follow will use larger stops. In the end, we’ll draw some conclusions about the effect the stop (and by default, the size of the position) had on system performance
Here are the stats of the backtest:
The most important stats in terms of this discussion are as follows:
- Avg. Profit/Loss %
- Winners
- Avg. Profit %
- Avg. Loss %
- Risk-Reward Ratio
- Number of Trades
As the stop-loss percentage gets smaller, we’ll see a decrease in the Avg. Loss % and an increase in the Risk-Reward Ratio. We will also see a decreased Avg. Profit/Loss % and a decreased Winners %. So with a decrease in the Avg. Profit/Loss % and decreased Winners %, how does the system make money? Good question…Since the stop is tight at 5%, we have fewer winning trades (59.22% in this example), but the losing trades lose smaller amounts (-4.82%). Despite the fact that the Avg. Profit % (4.84%) and Avg. Loss % are almost equal, the system profits because it has more winning trades than losing trades. The 5% stop keeps the average % losses about the same size as the average % gains.
Profit Distribution of Trades:
In the above graph, the large red spike shows that approximately 923 trades stopped-out. Since there were 2857 trades, this means that approximately 32% of trades stopped-out.
As we increase our stop-loss percentage, we can expect the Winner % to increase and the Avg. Loss % to increase. We will also expect the number of trades to grow. Thus, even though the system will lose more per trade on average, there will be an increased number of trades that win, AND, there will be increased opportunity to trade (remember, as our stop loss widens, our position-size will decrease, meaning we will have more cash available in the portfolio for more positions). Increased opportunity means more chance for profits.
Now, the Obligatory Equity Curve:
Notice that a 5% stop works well when volatility is low (duh?).
Over the next couple of days, I’ll adjust the stop level upwards, and run the same test. By comparing the metrics, we’ll begin to get a sense of the effect of stop-loss and position-sizing on a positive expectancy system.
Your comments are welcome.
Question for the Quants
When adding de-listed data to the momentum system, performance degrades significantly, even over a short time horizon of one-month. I would expect to see performance degrade with longer minimum hold times such as six months or a year, but I am really surprised how much de-listed data affects even short-term holds.
I am re-running the last test of the momentum system with de-listed data and new code to account for stock splits, and while the test will not be done until late tonight, I can already see that performance will be degraded. I will post the results when they are ready so that we can observe how using unadjusted data affected the results vs. the adjusted data. (To see the impetus for the change of code and the thinking behind it, go here. Be sure to read the comments after the post.)
But the question remains: Why is de-listed data have such a profound affect on the system, even over short holds of 22 bars?
I am really curious to hear everyone’s thoughts on this issue.
Measuring Survivorship Bias in the Momentum System
1. Let’s Build a Momentum System
2. Momentum System Proof of Concept
3. Momentum System: Adding Volume, Liquidity, and Price Filters
Before I progress any further with this system, I want to test to see the effect (if any) of survivorship bias.
It is a common misconception that adding de-listed data (the non-surviving stocks) to a backtest will decrease performance.
Systems that swing trade stocks may actually improve when de-listed stocks are included in the backtest. Systems with longer hold times may show a decrease in performance. I attribute this to the fact that short-term systems generally rely on making many trades with a small edge (where the primary driver of profit is lots of opportunity) while longer-term systems rely on catching and riding a trend.
Let me dig a little deeper into this in order to clarify the point…
If the longer-term trend-following style or momentum system attempts to hold a stock for a few months, and the company begins a spiral into bankruptcy while the system is long the stock, the performance of the system will suffer. The swing trading system will likely have stopped out, or sold on a bounce or covered on a dip, long before the company succumbs to bankruptcy. If during backtesting, a large losing trade isn’t included because the data doesn’t include the now defunct company, and the trade is instead replaced with a large winner, it is very clear how misleading the results will be. With a short term system, within the long downtrend of a company circling the drain, there may be many swing-trading opportunities. Thus, adding this delisted company to the backtest for a swing-trading system can actually improve performance.
Hopefully it is clear why I want to test with delisted data before moving forward.
The essence of what I am doing is handicapping the system. We want to add in all of the real-life factors such as liquidity, volume, delisted data, and commissions, before committing much mental capital to further development. After all, time is money.
Now we take a look at how all the companies that went bankrupt, merged, or were bought-out would have affected the momentum system.
With De-Listed Data
Without Delisted Data
Summary:
Unfortunately, adding de-listed data adds significant doubt as to whether the system would be viable in its current form. The performance was approximately halved when de-listed data was added. Adding in commissions will cause performance to further deteriorate.
A Huge Caveat:
Redshark, in the comments section of the previous post on this system, has pointed out that I may be making a mistake in using split-adjusted data for the requirement that the close must be greater than $5.00. I believe that he is correct. Using open interest rather than split-adjusted prices will likely change the results significantly.
Here is a chart that he sent me. I think it clearly illustrates the issue:
Using split-adjusted closes rather than open interest would have excluded almost 10 years of MSFT history. In fact, I am certain that my tests have indeed excluded MSFT as it did not meet the Close>$5.00. It should be obvious that we would want to have MSFT’s huge trend included to sample in this momentum system.
Up next, I will re-run some tests using open interest rather than split-adjusted data and see how it changes things. Maybe it will make enough of a difference that we will not have to go back to the drawing board.
As an aside, I think it is appropriate to point out the power of collaboration and the benefit of generosity. Leveraging the experience and wisdom of other folks has allowed me to accomplish things that I never could have imagined on my own.

Power Dip Closed 27 Winning Trades Today
The Power Dip System has been heavily buying this dip, for the last 5 trading days. The system closed 28 trades at the close, with only 1 trade being a loser (small).
Here is the email that subscribers received this evening:
Here’s a quick summary of today’s action:
The following positions were sold today at the closing bell:
Sold IFSIA for a 10.06% gain.
Sold IDSA for a 9.78% gain.
Sold CXO for a 5.69% gain.
Sold DRC for a 5.15% gain.
Sold DRC for a 4.94% gain.
Sold TCO for a 4.68% gain.
Sold LZ for a 4.02% gain.
Sold DD for a 3.58% gain.
Sold SPG for a 3.55% gain.
Sold CR for a 3.45% gain.
Sold TCO for a 3.36% gain.
Sold CTSH for a 3.24% gain.
Sold ELP for a 3.2% gain.
Sold AEZ for a 2.68% gain.
Sold WCN for a 2.64% gain.
Sold ETN for a 2.48% gain.
Sold CMG for a 2.47% gain.
Sold FMX for a 2.25% gain.
Sold MAA for a 2.09% gain.
Sold ELP for a 2.08% gain.
Sold VMED for a 1.92% gain.
Sold INTU for a 1.81% gain.
Sold AEZ for a 1.67% gain.
Sold AVX for a 1.56% gain.
Sold FMX for a 1.48% gain.
Sold CMG for a 1.17% gain.
Sold AEZ for a 1.11% gain.
Sold AEZ for a -0.27% loss.
The following stocks were identified tonight as new buys, to be bought at tomorrow’s open:
??? (There is only one, but I will save it for subscribers…)
——————————————————————————————————————-
At 3:30 today, subscribers received an email alerting them to any open position that was trading above its exit threshold, so that they could close the trade at the close (assuming it stayed above its exit threshold).
For the Visually Stimulated…
Here is a look at some of the recent winners:
All trades are assumed to be opened at the open and closed at the close. The buy was made at the green up arrow with the sell represented by the red down arrow.
Momentum System: Adding Volume, Liquidity, Price Filters
Momentum System Proof of Concept
I am now adding a volume, liquidity, and price filter. Here are the specifics:
- Volume must be greater than or equal to 150,000 shares on average over the last 50 days.
- Liquidity (50 day average price * 50 day average volume) must be greater than or equal to $1,500,000.
- Price must be greater than $5.00/share.
All of the parameters from the initial testing remained the same.
Results:
Summary of Results:
We can see that these filters have approximately halved the average % profit compared to not having any filters.
This makes one ask, are the filters necessary? I think that they are. A good deal of the trades without the filters are stocks trading well beneath $5 a share. This makes sense as compared to a large or mid-cap stock, these small or micro caps seem to have a greater propensity for making a huge percentage gain over six-months’ time. Often, since they may have been virtually unknown, volume and liquidity is very low. Since we want to be able to replicate results, it makes sense to require enough volume and liquidity to be able to get in and out of the trade without significant slippage and without pushing the price up or down with our orders. In the end, the results are not as spectacular, but spectacular results mean nothing if the strategy will not work in real-life trading.
To compensate, I am going to start looking at a longer K time of 66 trading days. I am also going to put in a skip period (S) of 22 days in a future test and see how that affects things.
Just For Fun:
I know some of you like the statistics and chart porn. I’m going to throw you a bone. I ran a quick backtest of the system, using J=132, K=66, and S=1. No commissions or slippage was used. The results are below.
| Initial capital | 100000.00 | ||
|---|---|---|---|
| Ending capital | 2006891.58 | ||
| Net Profit | 1906891.58 | ||
| Net Profit % | 1906.89 % | ||
| Exposure % | 98.26 % | ||
| Net Risk Adjusted Return % | 1940.73 % | ||
| Annual Return % | 16.17 % | ||
| Risk Adjusted Return % | 16.46 % | ||
|
|
|||
| All trades | 1369 | ||
| Avg. Profit/Loss | 1392.91 | ||
| Avg. Profit/Loss % | 7.00 % | ||
| Avg. Bars Held | 74.73 | ||
|
|
|||
| Winners | 686 (50.11 %) | ||
| Total Profit | 6941110.56 | ||
| Avg. Profit | 10118.24 | ||
| Avg. Profit % | 34.32 % | ||
| Avg. Bars Held | 81.66 | ||
| Max. Consecutive | 13 | ||
| Largest win | 254648.00 | ||
| # bars in largest win | 202 | ||
|
|
|||
| Losers | 683 (49.89 %) | ||
| Total Loss | -5034218.98 | ||
| Avg. Loss | -7370.75 | ||
| Avg. Loss % | -20.45 % | ||
| Avg. Bars Held | 67.76 | ||
| Max. Consecutive | 19 | ||
| Largest loss | -94095.00 | ||
| # bars in largest loss | 66 | ||
|
|
|||
| Max. trade drawdown | -319600.00 | ||
| Max. trade % drawdown | -88.57 % | ||
| Max. system drawdown | -1952248.87 | ||
| Max. system % drawdown | -71.58 % | ||
| Recovery Factor | 0.98 | ||
| CAR/MaxDD | 0.23 | ||
| RAR/MaxDD | 0.23 | ||
| Profit Factor | 1.38 | ||
| Payoff Ratio | 1.37 | ||
| Standard Error | 354672.39 | ||
| Risk-Reward Ratio | 0.28 | ||
| Ulcer Index | 34.08 | ||
| Ulcer Performance Index | 0.32 | ||
| Sharpe Ratio of trades | 0.25 | ||
| K-Ratio | 0.0226 | ||
Equity Curve:
Drawdowns:
Profit Distribution:
This current early iteration of the system shows that it has problems, with drawdowns and volatility being primary concerns. I’ll address these issues in future posts. I do find the profit distribution to be of particular interest. This system produces some very big winners, and some very big losers. The momentum anomaly ultimately drives the performance, with winners 1.37 times larger (on average) than the losers.
The other concern is how large of a K to use. This test used 66, but perhaps I should consider a longer or shorter K. 66 was chosen (see bar graph above) because from about 46 to 78, performance seems to flat line. A shorter K will mean more turnover, more commissions, slippage, etc. What I’m most curious about is the relationship between K and the volatility of returns.



















