A New Potential Day Trading Strategy
Last Updated on July 7, 2022
Over the last several months I have been looking into a new potential day trading strategy. This one looks into more illiquid stocks and therefore I won’t reveal the strategy: It’s simply not enough volume for many traders to trade the same. So why do I bother to publish it? I would like to show the results of my testing and later I will show the actual profits (or losses) from real trading. This is a mean reversion strategy.
I have tested the strategy by “live” quotes for a period of about two months now in June and July. I decided to backtest the strategy using data from 2010 and 2011. From this data, I picked the best stocks fitting my criteria. The stocks I picked based on the results from 2010 and 2011 I tested in an “out of sample test” for January through July 2012.
I first made a portfolio of stocks based on the following:
- Volatility: I don’t want to have stocks with high volatility (using daily movement)
- Over the last year, the stock must have been “stable”, not showing extended moves one or the other way.
- Some industries I know from experience is very tricky to trade (at least for me). So I excluded about 50% of the stocks just on these criteria.
- The stock must be higher than 15 USD (lower-priced stocks are more erratic).
- I only use NYSE stocks (basically because of criteria number 1).
Doing this very crude selection I ended with 465 different stocks. Of these 465 stocks 100 were selected for my portfolio using results from 2010 and 2011(yes, some kind of curve fitting). Additional criteria were based on correlation with SPY, mean reversion ability (this is a mean reversion strategy) and average profit per fill. Doing this there is always the possibility of curve fitting, so therefore I want to have an out of sample test. That is the method I have used previously and it has worked reasonably well.
Here is how the accumulated P/L looks like for 2010 and 2011 using the best 100 stocks out of 465 candidates:
Each position is 5000 USD, the lowest size I can possibly trade. Slippage and commissions are not included. There should be no slippage on entry because I get “hit” with the order (providing liquidity), and exit is on MOC. Commissions are negligible compared to the average gain per fill. In total there are about 13 952 fills over these two years (about 30 fills per day). I like to use the law of big numbers. That’s why we get this smooth equity curve (and perhaps because of curve fitting).
So how did this sample of 100 stocks perform in 2012?
Surprisingly good, if you ask me. Is this too good to be true? Above 35 000 USD in accumulated profits with the lowest possible size. Over the 650 day period, 65% of the days are profitable. Another point to make is that the P/L goes up when the general volatility in the market picks up (the best month is August 2011). That makes sense: the more energy out there, the more to prey on.
Remember that this is just one of several strategies one needs to trade. You can’t just rely on just one strategy.
Here is the P/L per day over the whole period:
And here is the final graph showing monthly P/L:
I’m not naive so I will be happy if I can get 1/3 of the profits of this simulation. This is theory and I know that many of these fills I won’t get in real life due to error in the quotes and data. No matter which data you use it will be worse in real life. That is a sure thing.
I have already started trading this strategy from 1. august with 3 days in a row with decent profits.
Update 18th of August 2012: I have now traded this strategy every day in August and made about 3 000 USD on minimum size. As expected, the theory is a lot better than real life. However, the strategy performs well and every day has been positive except for one day with a small loss. The biggest discrepancy from theory is that about 5% of the stocks are “hard to borrow”, ie. I can’t short them. They have on average better return than those which are easy to borrow.
Remarkably stable P/L chart, looks like you may have something good here 🙂
You mention this is tested ex. cost/slippage, can you elaborate on your estimate of capturing “1/3”?
Can you perhaps also share what program is used for testing?
I’m using Excel for testing. From history I estimate commission to 1/10 of the profit on this strategy. However, the main reason I expect lower P/L is due to fills I theoretically would have got, but don’t get in real trading. A lot of the quotes are simply wrong, usually the really good fills. And sometimes I’m getting “pennied” and don’t get the fills, even though it might have traded at my level. Also, I expect to screw up once in a while due to human error.
And the reason the equity curve looks stable is that this involves a lot of trades.
I am curious, how do you use Excel to backtest a cross-sectional strategy like this one which involves hundreds of stocks and many filters per stock? That seem like it would be a nightmare without some automated tool to help you out.
One can write a script using VB. However, I’m not good with computers or programming, so I do most of it the old fashioned way. First off, I’ve been doing this for 10 years and have a strong inclination for which stocks a strategy can work on. Before I start testing in Excel I use Compusvision and Metastock to get some crude numbers. That takes me about one hour.
This particular analysis took me about one day, 8 hours. And I don’t start all this work without having a hinch/indication beforehand.
By doing it this old fashioned way I also see a lot of details that otherwise would just drown in the numbers.
I want to keep trading simple. The strategies are not the problem, it’s rather me and human error.
For example, the best short fills are very often hard to borrow, that means my short orders are rejected and no fills in them 🙁
Maybe this is a better subject for a separate post, but I am curious about item #2 on your list above. Could you say something about what is “stable”? Is it as simple as looking at the 12-month high and low relative to price?
This is a very good point. First off, I usually use a 100% neutral filter on this, see #1. This is simply the average true range or the average % between high and low, for example the last 100 days. Pretty simple. About #2 I usually use a “gap filter” and a filter like in #1 but using 5 days instead of the average per day. I check how often the stock gaps up or down. I prefer stocks which gaps infrequent relative to others and which does not go sharply one way or the other too often. All this is relative to other stocks.
I guess I could have been more precise in my article.
I got an-email from a reader asking for the total return on money. A very good question. However, I’m not even looking at that number as it’s irrelevant: I trade prop and have just a small deposit in the firm I trade with. I use leverage. Return on MY capital is of course very high.
The drawdown on this strategy is fairly low, so if trading through for example IB one could use 50% leverage.
But I’m not sure if my strategy is doable in IB due to the fact that I send a lot of pending orders, ie. orders that does not get filled. Using hindsight and fill ratio, I estimate capital required would be around 75 000 USD using 5000 per position. So theoretically a very good return.
Been trading this strategy for august now. So far worst day is a 1 dollar loss (yesterday). My analysis is actually quite good, but as predicted theory is about 30% better than actual trading. But so far so good. Up about 3000 USD with the lowest possible size I can trade. Trading a “normal size” this could have been 10k cirka.
What is your experience in real-live trading with exiting illiquid stocks like these systematically? For example, I would be scared of major slippage from doing a MOC orders. I feel like the average cost per trade would be very high (like 0.5 to 1%).
I have been excel testing what I think is a similar strategy and one thing I noticed is that some days I get hit much more than other days. I feel like this will be detrimental to the strategy’s performance since I cannot predict in advance how much money to allocate to each order. Therefore, I get lowers profit on slower days even though percentage-wise they might be better returns.
Hi James,
I consider illiquid stocks in this sense as stocks with 100k to 300k average volume. And I only trade 100-300 in size. Right now a lot of these stocks are extremely thin, volume has dropped a lot. However, using MOC I haven’t noticed that much slippage. Usually it gets a little worse compared to P/L just before the close. But I don’t dare trading bigger size due to slippage.
Are you trading prop?
No, I trade through IB on my own account, so I don’t usually look at cross-sectional strategies like this, but I come across these MR strategies on multiple blogs and in academic papers so it has piqued my interest.
My plan to get around the “too many outstanding orders” issue was to build a java program using their API to monitor the tickers and place limit order in real time when the price approaches the level I want to enter. I am sure there will be cases where it will miss a trade due to a slow execution, but I feel like I will have more control over how many positions I would have open per day.
Can I ask which other blogs you have found strategies in “illiquid” stocks?
I haven’t found too many, which is a shame because I feel that there might be bigger opportunities there for smaller traders since they are so neglected. Usually I find some academic paper where they screen the entire universe of stocks and pick some criteria (e.g. the worst n performing stocks). In MR, the smaller cap stocks tend to be bigger winners if I remember correctly, but I could be wrong.
After almost half a year, how is this working for you?
The original strategy is performing poorer and poorer but I have changed it a lot. This is why it’s so important to trade live: I discover a lot of things I can’t see backtesting.
Are you planning to publish it? 🙂
Not yet 🙂
Hello,
How perform the strategy since the last update ? can you add some detail about this strategy ?
Regards
Hi,
This strategy is still performing reasonably well. I’m not to keen on revealing too much much because it will impair my results 🙁