I have spent many hundreds of hours now, fiddling around with Quantconnect and have nothing but praise for the effort they have made.
Debugging with the online version of Lean is far from satisfactory - I like to loop through the underlying back test code, but of course you always have the option of buying your own data and downloading Lean. My two other "complaints" are the logging allowance and the ability to run only a limited number of back tests at any one time. Both of these problems can be ameliorated by taking out a paying subscription.
I have spent many happy hours in the futile endeavour of seeking algorithmic profitability from penny stocks. I will write an article on the matter and repost it here. I may well be missing crucial rules - perhaps even an exploration of SEC filings would help. But currently, the prospects do not look attractive.
The answer of course is to be an illegal insider. One who organises the pump and benefits from it by shafting investors. Others profit handsomely by their marketing tactics - suckering in punters who subscribe to useless trading rooms and buy crappy videos at exorbitant prices.
The purpose of this post however is not to whine at my futile endeavours but to give something back for the excellent free resources I have enjoyed.
I am sure there will be many things I have got wrong but if nothing else, the attched code may enlighten some on the way, or ways, to place orders for intraday trading.
Some may also find use in considering the way I have coded a system designed to use raw data. They will realise that the use of raw data is essential for trading penny stocks where the endless reverse splits make portfolio management impossible using back adjusted data.
I have no doubt whatsoever that changes would need making in the light of paper and live trading experience of this system, but I have not taken matters that far.
Perhaps others on the forum might like to adapt and improve my code - who knows, they may even find profit.
Joshua Tsai
Hi, if I remember right, you had some interesting finding on Quantopian using a mean reversion method going long on Penny Stocks... but I didn't get to do that much investigating on it. Did it work as well in QC? Thanks!
Anthony FJ Garner
Dump the Pump - article
Anthony FJ Garner
I think this was the code you might be thinking of. It was never mine although I seem to recall fiddling with it on Quantopian. If I recall it was Charles de Whits and when traded it proved a disaster.
Simas
Beware the coarse selection data would be yesterday's data and I think you would be comparing with the close price that is 2 days old.
The 2nd day on a lot of penny stocks will have much less volume and it's very unfortunate that you can't really trade the 1st day because quantconnect doesn't give you the data fast enough. I think the 1st gap day would be much more interesting to trade.
Might be something worth considering :)
Anthony FJ Garner
@Sim123 I'm not sure that is the case. I seem to recall having checked coarse selection prices against those on Yahoo. Which are supplied by CSI Data (or used to be). Perhaps I will look again when I get the chance. But thank you for your comments. Any other improvements which might improve this hopless case? Looking at the order book might help I suppose.
Simas
I can send you my code :)
If you link your twitter or linkedin on your profile I can DM you the code. Or your email will work too.
You would obviously have to account for slippage and borrow fees but it's still a good starting point.
Joshua Tsai
Sim123
Could you describe the general strategy ie. mean reversion on the most beaten down stocks?
Simas
Joshua Tsai
It's quite the opposite. It's just shorting stocks that are gapping up. This is just a proof of concept strategy.
Joshua Tsai
Interesting, and I assume you don't have to worry about liquidity too much since you buy before the stocks start to drop. How do you do risk control though if these stocks are gapping up? Is it a stoploss or merely splitting it over a bunch of stocks. An interesting idea that pops up quite frequently is that small cap gaps behave differently from large cap/futures gaps.
Simas
Risk management is a 20% stop loss. Stop market order seem to not work for me in quantconnect when shorting so I just check if price > 1.2 * fill price and then do a Liquidate order.
I market cap so it isn't too small and not too big :)
It has about 400 trades a year so about 200 tickers, about 1 or 2 a day
Pcnpj
Whats your criteria for a gap up? If you don't mind me asking?
I've tried my hand at shorting gap ups a while ago (I either gave up or thought of a more interesting idea) and it keeps track of hourly data and looks at opening price with a standard deviations greater than 2 to short and it is no where near trading daily.
Thanks
Derek Melchin
Hi everyone,
One thing that affects the performance of this strategy is the fact that LEAN does not currently support modeling borrowing costs, so shorts are free. Track our progress on adding this functionality here.
In addition, the fill model assumes liquidity and penny stocks are generally illiquid.
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.
Илья Кротов
Sim123 Hi! Could you share the code, please? You could DM it to my Linkedin - https://www.linkedin.com/in/ilya-krotov/
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!