I set out below an article I have just published on my blog. My intention in reposting it here is that I will also publish, as I go along, some of the systems and code I am using to test out the concept of systematically profiting from the notorious Pump and Dump. Although perhaps these days, the stock movement is more based on FinTwit rumour and corporate announcements than actual stock price manipulation.
In any event, hopefully some might find some use in my research and my code. Or not - as the case may be!
Some time ago I decided that I ought to look into the possibility of trading "Pump and Dumps" on Penny Stocks. At that stage I became disillusioned by reading too much negative press on the impossibility of benefitting if you were not an insider - the argument being that you had to be buying quietly during the low volatility period, months ahead of the pump with the benefit of inside knowledge - in other words that you needed to be one of the promoters.
And by the way, penny stock movement is not all of the pump and dump variety. Much of the movement I have observed recently has been based on fundamental factors – announcements regarding financial results or developments in the relevant corporate’s business. But whatever the reason for the rise (and the usual subsequent fall) the quest is to find whether you can ride one or the other algorithmically.
My interest in penny stocks is based on my belief that a trader (as opposed to an investor) needs to benefit from some well-defined anomaly in market structure. Rather than uselessly predicting based merely on indicators.
Let me explain. For many years I benefitted from the market anomaly of IPOs in world markets – particularly in the US. There was a well-worn, well recognised, and repeated pattern from which it was possible to make a great deal of money. Provided you had access to stocks at the offer price. Which I did for many years, as an active trader.
The real anomaly was that IPOs are priced to go. And there was (and probably still is) accurate research as to which deals were hot and which were not. Often as not your broker could give you guidance as to the state of the underwriter’s book.
The US was always the most reliable and transparent market. Woe betide those who punted too large on hyped issues by non-Bulge Bracket houses in Hong Kong or Egypt. Even US Bulge Bracket players brought some appalling and ill supported deals in non-US markets.
So, the game was to stick mostly to smallish, hot NASDAQ deals in the US, where the better managers would invariably price the deals to go. If the deals did not “go”, major houses would support the price on the first day so that it was rare to have to take a loss.
It became (for me at least) a systematic endeavour: here are the rules, go play. And it worked very well. Unfortunately, nowadays it is far more difficult to open accounts with the big houses (post 9/11) and even more difficult to get allocations of stock without having large amounts of capital deposited with the lead manager.
Anyway, back to penny stocks and Timmay. As some less respectful commentators like to call the venerable Mr Sykes.
Mr Sykes appears to have been a successful trader in penny stocks – presumably he still is. His major pre-occupation these days is to offer a truly bewildering variety of courses, trading rooms, scanning software and other materiel aimed at the retail crowd.
For my personal take, Syke’s materials are rather long on hyperbole and rather short on detailed instructions.
Nonetheless, if you take from him a few basic ideas, you can begin to build a set of rules for yourself which you can translate into an algorithm and then back test on real market data.
I have chosen to use the on-line back testing facilities of Quantconnect.com since I am familiar with Python and because Quantconnect has two other important advantages. They provide very high-resolution data for US equities (including de-listed stocks) and they provide facilities to automate trading of your algorithm through Interactive Brokers.
Their latest data offering is to provide bid and ask prices, which should enable even more accurate back testing especially when data on a second by second basis is used. I have yet to fully explore this facility.
Listening to Timmay can be a painful experience – he majors on showing off his glamourous possessions and his style is not suited to this particular quiet and academic practitioner. I have little desire or use for a Lamborghini or a watch costing upwards of $50,000. I do not need to be told to study the markets or to work hard if I want to rise to the great heights Timmay has achieved.
Nonetheless there is value to be had in sifting the wheat from the chaff. While Timmay does not quantify any of his systems to the extent they could be coded and fed to a computer, he does at least outline in very broad and general terms what it is he is looking for. While he does not detail an exact method to choose and execute entry and exit points, he does at least give many examples of where he and his followers have chosen to place trades.
The great majority of Timmay’s trades are intraday. He and his mates are day traders. And for most people this would be an immediate turn off on any number of grounds.
But this is where patterns come into play and where the analogy with the IPO market is helpful. If you have some idea of the rules, you can begin to look for repeatable patterns from which you can systematically profit.
IPOs worked on one set of rules, penny stocking seems to work on another set.
Penny stocking is going long on the upward momentum of the pumps and short on the downward momentum of the dumps.
It is none other than our old friend the trend follower but on an intraday scale. There are a variety of entry and entry points intimated by Timmay: buying dips, buying strength and so forth but the reality is you need to start looking at the charts yourself and deciding how to explain the patterns to a computer.
An interesting starting point is the daily stock screener. Find out the biggest movers in penny stocks yesterday and consider the stock chart in detail. How did the stock behave in the days and weeks before the pump? How did it behave minute by minute on the day (or days) of the pump?
Patterns do begin to emerge. One such pattern is days or weeks of very low volatility and volume, followed by a day when the stock opens up by a large percentage on greatly increased (and thus tradeable) volume.
I have already back tested buying at the open the following day and exiting at the close. That is a disastrous policy and I do not believe it will be much improved by scaling out or profit taking throughout the day. Or indeed by scaling in. Although I will be testing both such methods.
Closer observation of Timmay and his mates reveal that they create watch lists by inspecting past data and then they see whether any of these possible plays burst upwards on volume in the pre-market or in the morning trading session. Then they jump in, follow the trend, and jump out when some sort of mental target is reached. Perhaps these targets are made up on the spur of the moment, perhaps they are ascertained at the outset of the trade. Ditto the mental stops to get them out when it goes wrong.
The patterns definitely exist, and they are repeated over and over again. I leave aside the possibility of shorting – personally I couldn’t be bothered with borrowing the stock and I am uncomfortable with the risks, given the extraordinary volatility.
So, my research for the present will focus on the long trade. And for that you need very high-resolution data because you are going to have to back test day trading and then forward test using paper trading in real time. On daily bars you have no idea what happens during the course of the day and you can not prepare or use intra day indicators to give you the signals you need. Or to give you accurate entry and exit points.
And so back to Quantconnect and its high-resolution data. Once you believe you have understood Timmay’s patterns, it is time to put them to the test.
If you can prove to yourself that your back test is reasonably accurate and your algorithm without error then you should be able to make your own mind up as to whether Timmay is the real Mc Coy or merely an effective marketer and self-promoter.
My suspicion is that Timmay is a bit of both. He may not be my style, but I can see that there might be method to be had from his hitherto ill quantified and vague methodology.
Anthony FJ Garner
I have spent many more days working on trying to understand the intricacies of Lean and appear to be making some progress. I wish I could say the same about my venture to understand Timmay Sykes and the business he has built around Penny Stocks.
At the time of my previous post all I had managed to do was to test buying stocks at the open today and selling at the close today if yesterday at the close the stock had risen x% from the previous day's close.
I then reverted to reading more of the wondrous works of Timmay and considered the fact that he appears to spend his day glued to a screen watching a watch list.
Therefore the idea of momentum must be intra day momentum. I therefore constructed a back test such as if a stock rose intra day x% or more above yesterday's close on sufficient volume you buy that stock. Or indeed sell it. Instead of waiting to exit the trade at the close I built in both a stop loss and a profit taking mechanism.
The long side is still an unmitigated disaster. The short side less so but hardly a bonanza.
Several things may be happening here.
Regardless, so far I am not impressed by the concept of Penny Stocking!
I attach my code so others may marvel at my ineptitude and come to my rescue.
Anthony FJ Garner
I have been working hard on improving my code. I have added some helpful notes, I have included the ability to scale out of trades at intervals of profitability and I have corrected some errors (snagging loops for missing symbols for instance). I have also written another article on my website which refers back to this thread and this code on Quantconnect. It is called "Tim Sykes and Penny Stocks - Crushing It!" and you will find it easily enough should you care to. In the interim, please find my updated and improved code attached.
My version of Penny Stocking is still, regrettably a Pig's Ear. I am not "crushing it" like Tim Sykes and his students. Perhaps you guys will help me "crushit"!
Anthony FJ Garner
Updated code correcting a few schoolboy errors in the coding on the tiered profit taking exits. As you can see this has not created a silk purse.
Derek Melchin
Hi Anthony,
I attached a backtest that addresses the following issues in the Penny Stocking algorithm previously published (#2):
The attached backtest is more efficient and utilizes more functionality in our API, although it could be further improved by converting the structure to follow the Algorithm Framework. The return generated from the new backtest still isn’t “crushing it”, but it may be improved by the following:
I’m excited to see where you can go with this!
Best,
Derek
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Anthony FJ Garner
Thanks to Derek and the Quantconnect team, I am learning Lean fast and improving my coding skills. Which were always clumsy at best.
In any event, buying momentum on penny stocks does not seem to work. At least not on the basis of the technical indicators I used.
I decided to add a momentum filter. On two grounds - perhaps buying the worst performing stocks is a good ploy? Once they spike.
But also it gave me the opportunity to test another of Mr Syke's patterns.
Which is just as well because apparently buying momentum on penny stocks is now for suckers and newbies according to Mr Sykes. How confusing - I was sure I had read countless posts on his website where he was promoting going long momentum. Clearly I must have misread or misinterpreted what he was saying.
Because apparently the way to crush it is to "Buy the Dips"!
Well thank heavens he cleared that one up for me.
You can fiddle around with the attached code and either Buy Dips, or Buy Momentum. There are a few alterations to be made depending on which you want to do. I think the details will be obvious so the attached update buys dips.
Sadly "Buying Dips!" soes not seem to "Crush It" either.
I was sure I had now nailed it. Excited that I was going to "crush it!" as Sykes and his acolytes have been doing for years.
I called the harbor master in Monte Carlo and booked a berth for my super yacht. I ordered a helicopter and hired a pilot. I put down a deposit on a Lambourgini.
Sadly, I must have got the message all wrong again. Or perhaps I am just crap at coding. Nothing more probable.
It is with great regret, that according to my back tests, "Buying the Dips" seems equally disastrous to buying momentum. Clearly I have got something badly wrong yet again. I have misinterpreted the Master. I have mis-coded his strategy. Mea Culpa! Timmay and his mates are crushing it and I'm flailing around in stygian gloom and ignorance.
Anthony FJ Garner
Timmay
Here's the thing my friend. I have been back testing and trading for many years. Admittedly, Quantconnect is very new to me and I have made an error or two along the way. But you know I always, but always get some sort of very obvious feel for the efficacy of a trading methodology right from the first few backtests. If your chart patterns had been SO good, would they not have shined through in back testing I wonder? Is it SO difficult to back test buying momentum or shorting it? Even on penny stocks. Even for day trading. Is it SO difficult to program buying a dip? Or indeed any other pattern.
Thing is Timmay, whichever way I have turned, whatever parameters and variables I have used, I have been presented with a disasterous outcome. In the vast majority of my many, many tests losing trades have greatly outnumbered winning trades and the size of the average loss has almost invariably been greater than the size of the average win.
Now the odd thing is that you report the exact opposite for your trades. I wonder how this is possible using "normal" technical indicators to choose penny stock trades?
It may well be of course that I have messed up. That I have failed to understand what it is you are doing. It may be that my coding is faulty. If that is so, reach out to me: help me correct the error of my ways. I may even be able to help you in return.
I wonder whether my understanding of your methods would improve if I spent manuy thousands of dollars on your products and many hundres of hours watching your videos? Who knows!
Trouble is you know, I worry for some of your clients. I have not been able to understand your methods and I have spent well over 30 years analysing, trading and investing in financial markets. I'm not your average Jo, Timmay.
But there again perhaps you have your magic, Timmay. Perhaps you and your mates are "crushing it" and the failure is mine in not understanding how.
In any event, its goodbye from me Timmay.
I am sure there are ways to profit from penny stock trading and I just need to think how. For my own purposes I will be concentrating on patterns which may enable me to predict stock price appreciation on penny stocks before it happens. It does no good at all to jump on the band wagon one the game becomes obvious.
Gil Sapir
Hi,
What about this backtest:
https://www.quantopian.com/posts/revisiting-penny-stocksThe results looks good, did you try to replicate it to QC ?
Anthony FJ Garner
I can't seem to embed the image so I have placed a link to it instead. Mr Sykes says he does not predict price, simply follows. He appears to be selling chart patterns which i at least can not get to work.
The images below show a potentially better route. AYTU saw accumulation of stock in the days leading up to and including 9th March 2020 on significantly increased volume. On 10th March 2020 an announcement was made (Covid related) and the stock spiked. By that time it was too late to buy - the stock had rocketed in the pre market and it was too late to buy. On 12th March 2020 the stock announced a secondary offering. Funny that!
The question is whether you could, should, would have bought in the days preceding the announcement on 10th March. The question is whether such a tactic, repeated over hundreds of such trades, would yield a profit.
Such research may be rather more useful than that provided by Mr Sykes...but time will tell.
AYTU
Anthony FJ Garner
Gil Sapir
Yes I did. Unfortunately I do not believe it worls in real life.
Derek Melchin
The key may be to track volume minute by minute during the trading day and go long when it exceeds some multiple (or fraction?) of the [10]? day average daily dollar volume.
One needs a low vol 5 or 10 day period with the stock doing nothing and then a day when it opens a bit higher than the previous day and dollar volume explodes.
Derek Melchin
Hi Anthony,
Yes, that is a logical way to track if the current day's volume is abnormally large relative to the previous several days. To implement it, simply setup a rolling window of the historical volume for each security in our universe. During each minute for the current trading day, we can forecast today's daily volume with
Volume forecast = (intraday volume / minutes traded) * total trading minutes in today's session
If this daily volume forecast is greater than the volumes in our rolling window, it may indicate an entry according to the rules of this strategy. It should be noted, however, that this forecast may be quite larger than the actual daily volume during the first hour of trading as it typically has larger volume per minute than majority of the day.
I recommend checking out our Bootcamp lessons for more examples on rolling windows.
Best,
Derek Melchin
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
Anthony FJ Garner
Here is a far more sophisticated version of my attempts so far. I have called this version "Pump and Dump". The object is to buy stocks which have shown low volatility and low dollar volume over the past x days but where on the day of the trade, the cumulative day's dollar volume rises exponentially and outweighs very rapidly the average daily dollar volume over X days.
It is still a crock of sh*t. Make no mistake about it.
One factor which is still failing is to employ the tight stops these people talk about. This has eluded me so far: these stock are SO volatile that multiple trades can occur within the bar and that can lead to unintended and unwanted short positions.. This applies even to bars of "seconds". Let alone minute bars.
Meaning if you set stops at all they have to be so wide as to be virtually useless. Like 50% +
One possible solution is to have a different type of rolling and trailing stop based on an average of the previous x bars's [close] or whatever.
Or to have market order "stops" or exits triggered once the latest [close] is below the x bar average.
In practice these people have mental stops which are thus discretionary and often somewhat (or very) vague and determined (loosly) by "support" levels.
Once again though, I am unable to report any success in the attempt to algorithmically copy what these people claim to be achieving in live trading. At least so far as profiting from the "pump" is concerned. I have paid little attention to shorts over the past few days - Tim Grattini seems to prefer shorts. Perhaps he is right!
Ryan2077
Have you tried (backtested) any intraday dip buy strategies on the first green day of pumped penny stocks?
Anthony FJ Garner
The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by QuantConnect. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. QuantConnect makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances. All investments involve risk, including loss of principal. You should consult with an investment professional before making any investment decisions.
To unlock posting to the community forums please complete at least 30% of Boot Camp.
You can continue your Boot Camp training progress from the terminal. We hope to see you in the community soon!