Are there signs of the pump and dump behavior on Reddit penny stock forums?

Posted on Nov 5, 2018

The Project

In this project for NYC Data Science Academy I look at certain sub-reddits where people share their views on the expected performance of penny stocks. These pump and dump (P&D) schemes represent illegal behavior when the perpetrator, holding a substantial position in a thinly-traded stock, creates a hype around the company and essentially manipulates the market by inflating the demand while controlling a large portion of the stock supply.

The Dataset

Pump and dump schemes are usually targeted at so-called penny stocks, which are shares of mirocap companies that are priced at less than $5 each. Penny stocks offer much higher volatility. That coupled with their low price grants the person running the scheme the ability control a significant amount of the stock supply by without having to invest too much money.

Therefore, I focus my efforts on two sub-reddits that are dedicated to penny stocks:

- r/pennystocks , and

- r/RobinHoodPennyStocks.

I also obtain data from r/stocks with the expectation that although the discussion of penny stocks is discouraged on r/stocks, this rule may be not enforced too strictly.

I use Scrapy, a Python web-scraping framework, to collect data on all available discussions on these sub-reddits. In particular, for each post I scrape:

  • Title of the post,
  • Text of the post,
  • Date of the original post,
  • Name of the author of the original post,
  • Text of the each comment,
  • Date of the each comment, and
  • Author of the each comment.

From this data, I obtain tickers of the companies, mentioned in the posts/comments, and download stock prices from Yahoo Finance.

After cleaning the data, I have over 6,400 posts and comments from all three sub-reddits starting from August 2018.

sub-reddit N of comments
/r/RobinHoodPennyStocks 3991
/r/pennystocks 2256
/r/stocks 219

Word Content

For illustration, I create word clouds corresponding to the content of posts and comments of each penny stock in for periods of growth and decline as you can see in the four illustrations below:

When the stock price was growing

When the stock price was declining

A week prior to the week with positive returns

A week prior to the week with negative returns

What I find interesting and somewhat unexpected is that even in the weeks with negative stock returns, the words used in posts are predominantly positive, e.g. “buy,” “good,” “new,” etc.

To further investigate the sentiment of the comments, using the TextBlob package, I calculate the polarity score of each post/comment, where a value of one denotes a very positive text and negative one denotes a very negative comment.

Abnormal returns

For each stock I calculate a measure that essentially represents the maximum weekly return:

 (1)

I also compare this measure to trailing 12 weeks returns and create a dummy variable equal to 1 if the maximum weekly return deviates from the trailing returns (or zero, if the mean trailing return is negative), by more than 2 trailing standard deviations:

  (2)

In order to better illustrate what I am looking for by performing this data analysis, let me use an anecdotal example of American Premium Water Corporation (HIPH). We can see that prior to the abnormal growth of the stock in September and October 2018, there was a spike in the number of posts and comments related to the company stock, and the comments that were evaluated as positive by TextBlob algorithm had a fairly high positive score.

To me, it means that we can suspect that some online hype was created before the subsequent abnormal increase of the stock price.

Logistic models

Finally, I try several specifications for logistic models where the dependent variable is the leading dummy variable, calculated in equation (2). The dependent variables are the number of posts in a given week that relate to a specific stock (Np) and the average polarity score of these comments (PS).

Out of several specifications, there are two that warrant a mention here.

Specification 1:

 (3)

As we can see, the number of posts is a statistically significant variable and shows that the Reddit activity around the stock may be a predictor of future abnormal positive returns. The polarity score is not statistically significant, but I think that increasing the period of observations and improving the quality of the sentiment analysis may yield better results.

Also, I try another specification:

  (4)

We can see that the number of original posts related to a stock in a certain week has higher impact on the odds that the stock will show abnormal positive returns in the next week.

Important Disclaimer

As I mentioned before, pump and dump schemes are illegal. However, the goal of this study was not to accuse anyone of participating in fraudulent schemes. After all, anybody can be as enthusiastic about the stock as he/she feels like, and he can freely express his enthusiasm online. Such posts would not constitute a pump and dump scheme unless the person posting such comments holds a relatively large position of these stocks and can profit from the subsequent increase of the stock price.

Therefore, only regulators, like SEC, that have an access to the information about individual stock holdings can conclude whether these posts represent genuine enthusiasm or artificial hype intended to manipulate the market.

However, if after obtaining more data, I can statistically show that there is a connection between the posts on these sub-reddits and the abnormal spikes of the stock prices, I believe that further investigation by the regulator may be warranted.

Code and Shiny App

You can find the Dataset and the Python code used to analyze it on my GitHub

The Shiny App that I used to present the results of this preliminary analysis can be found here.

About Author

Mikhail Stukalo

NYC Data Science Academy Fellow. Over 15 years of experience in investment banking and private equity. Research interests include quantitative asset management and application of Machine Learning in Finance. DBA with concentration in Finance from Georgia State University....
View all posts by Mikhail Stukalo >

Leave a Comment

prabha krithi September 16, 2019
This is a nice post in an interesting line of content. Thanks for sharing this article, a great way of bringing this topic to discussion. https://www.gangboard.com/big-data-training/data-science-training
Prajwal June 7, 2019
Great blog! Thanks for the info. Keep going. https://socialprachar.com/artificial-intelligence-training-in-bengaluru/

View Posts by Categories


Our Recent Popular Posts


View Posts by Tags

#python #trainwithnycdsa 2019 2020 Revenue 3-points agriculture air quality airbnb airline alcohol Alex Baransky algorithm alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus ames dataset ames housing dataset apartment rent API Application artist aws bank loans beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep boston safety Bundles cake recipe California Cancer Research capstone car price Career Career Day citibike classic cars classpass clustering Coding Course Demo Course Report covid 19 credit credit card crime frequency crops D3.js data data analysis Data Analyst data analytics data for tripadvisor reviews data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization database Deep Learning Demo Day Discount disney dplyr drug data e-commerce economy employee employee burnout employer networking environment feature engineering Finance Financial Data Science fitness studio Flask flight delay gbm Get Hired ggplot2 googleVis H20 Hadoop hallmark holiday movie happiness healthcare frauds higgs boson Hiring hiring partner events Hiring Partners hotels housing housing data housing predictions housing price hy-vee Income Industry Experts Injuries Instructor Blog Instructor Interview insurance italki Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter las vegas airport lasso regression Lead Data Scienctist Lead Data Scientist leaflet league linear regression Logistic Regression machine learning Maps market matplotlib Medical Research Meet the team meetup methal health miami beach movie music Napoli NBA netflix Networking neural network Neural networks New Courses NHL nlp NYC NYC Data Science nyc data science academy NYC Open Data nyc property NYCDSA NYCDSA Alumni Online Online Bootcamp Online Training Open Data painter pandas Part-time performance phoenix pollutants Portfolio Development precision measurement prediction Prework Programming public safety PwC python Python Data Analysis python machine learning python scrapy python web scraping python webscraping Python Workshop R R Data Analysis R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn seafood type Selenium sentiment analysis sentiment classification Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau teachers team team performance TensorFlow Testimonial tf-idf Top Data Science Bootcamp Top manufacturing companies Transfers tweets twitter videos visualization wallstreet wallstreetbets web scraping Weekend Course What to expect whiskey whiskeyadvocate wildfire word cloud word2vec XGBoost yelp youtube trending ZORI