About WallStreetBets

The WallStreetBets dataset by Quiver Quantitative tracks daily mentions of different equities on Reddit’s popular WallStreetBets forum. The data covers 6,000 Equities, starts in August 2018, and is delivered on a daily frequency. The dataset is created by scraping the daily discussion threads on r/WallStreetBets and parsing the comments for ticker mentions.

This dataset depends on the US Equity Security Master dataset because the US Equity Security Master dataset contains information on splits, dividends, and symbol changes.


About Quiver Quantitative

Quiver Quantitative was founded by two college students in February 2020 with the goal of bridging the information gap between Wall Street and non-professional investors. Quiver allows retail investors to tap into the power of big data and have access to actionable, easy to interpret data that hasn’t already been dissected by Wall Street.


About QuantConnect

QuantConnect was founded in 2012 to serve quants everywhere with the best possible algorithmic trading technology. Seeking to disrupt a notoriously closed-source industry, QuantConnect takes a radically open-source approach to algorithmic trading. Through the QuantConnect web platform, more than 50,000 quants are served every month.


Algorithm Example

from AlgorithmImports import *
from QuantConnect.DataSource import *

class QuiverWallStreetBetsDataAlgorithm(QCAlgorithm):
    def initialize(self) -> None:
        self.set_start_date(2019, 1, 1)
        self.set_end_date(2020, 6, 1)
        self.set_cash(100000)

        self.universe_settings.resolution = Resolution.DAILY
        # Filter using wall street bet insights
        self._universe = self.add_universe(QuiverWallStreetBetsUniverse, self.universe_selection)

    def on_data(self, slice: Slice) -> None:
        points = slice.Get(QuiverWallStreetBets)
        for point in points.Values:
            symbol = point.symbol.underlying
            
            # Buy if the stock was mentioned more than 5 times in the WallStreetBets daily discussion, which translate into high popularity of rise
            if point.mentions > 5 and not self.portfolio[symbol].is_long:
                self.market_order(symbol, 1)
                
            # Otherwise, short sell
            elif point.mentions <= 5 and not self.portfolio[symbol].is_short:
                self.market_order(symbol, -1)

    def on_securities_changed(self, changes: SecurityChanges) -> None:
        for added in changes.added_securities:
            # Requesting wall street bet data to obtain the trader's insights
            quiver_wsb_symbol = self.add_data(QuiverWallStreetBets, added.symbol).symbol

            # Historical data
            history = self.history(QuiverWallStreetBets, quiver_wsb_symbol, 60, Resolution.DAILY)
            self.debug(f"We got {len(history)} items from our history request")

    def universe_selection(self, alt_coarse: List[QuiverWallStreetBetsUniverse]) -> List[Symbol]:
        for datum in alt_coarse:
            self.log(f"{datum.symbol},{datum.mentions},{datum.rank},{datum.sentiment}")
        
        # Select the ones with popularity (mentions) of better-than-others performance (rank)
        return [d.symbol for d in alt_coarse \
                    if d.mentions > 10 \
                    and d.rank < 100]

Example Applications

The WallStreetBets dataset enables you to create strategies using the latest activity on the WallStreetBets daily discussion thread. Examples include the following strategies: