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

class QuiverWallStreetBetsDataAlgorithm(QCAlgorithm):
    def Initialize(self) -> None:
        self.SetStartDate(2019, 1, 1)
        self.SetEndDate(2020, 6, 1)
        self.SetCash(100000)

        self.UniverseSettings.Resolution = Resolution.Daily
        self.AddUniverse(QuiverWallStreetBetsUniverse, "QuiverWallStreetBetsUniverse", Resolution.Daily, self.UniverseSelection)

    def OnData(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
            if point.Mentions > 5 and not self.Portfolio[symbol].IsLong:
                self.MarketOrder(symbol, 1)
                
            # Otherwise, short sell
            elif point.Mentions <= 5 and not self.Portfolio[symbol].IsShort:
                self.MarketOrder(symbol, -1)

    def OnSecuritiesChanged(self, changes: SecurityChanges) -> None:
        for added in changes.AddedSecurities:
            # Requesting data
            quiverWSBSymbol = self.AddData(QuiverWallStreetBets, added.Symbol).Symbol

            # Historical data
            history = self.History(QuiverWallStreetBets, quiverWSBSymbol, 60, Resolution.Daily)
            self.Debug(f"We got {len(history)} items from our history request")

    def UniverseSelection(self, alt_coarse: List[QuiverWallStreetBetsUniverse]) -> List[Symbol]:
        for datum in alt_coarse:
            self.Log(f"{datum.Symbol},{datum.Mentions},{datum.Rank},{datum.Sentiment}")
        
        # define our selection criteria
        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: