Tracking retail investor sentiment on Reddit with R-RISI.
R-RISI turns the full corpus from 14 finance, investing, and crypto subreddits (full sample) into a daily sentiment signal. GPT models classify each post; engagement weights and rolling z-scores aggregate the labels into the indicator introduced in the accompanying working paper.
Subreddit sentiment, topical drivers, and comparison series
The wide chart decomposes a selected subreddit’s R-RISI—or either the four-investing-community aggregate or the ten-community non-crypto aggregate—into topic contributions.
The lower panels compare a selected R-RISI series with rolling market-price, uncertainty, or risk z-scores and show how discussion topics change
within any of the 14 subreddits. Switch the driver chart between daily unsmoothed, weekly 7-day-smoothed,
and monthly 30-day-smoothed views. Use the Period slider, calendar inputs, or Range buttons to set
a common time window. Range shortcuts through 6M use unsmoothed sentiment; 1Y through 5Y use
7-day smoothing; horizons longer than 5Y use 30-day smoothing.
Open Source & notes for definitions, date range, frequency, smoothing, and downloads.
See more on topics across subreddits →,
more on sentiment →, or
how to interpret R-RISI →.
Explore R-RISI in depth
Explore the conversations, sentiment, tickers, methods, external benchmarks, data, and research behind R-RISI.
How discussion topics evolve across 14 communities
GPT assigns each post to equities, funds, options, macro, commodities, crypto, geopolitics, tariffs, or other. The charts are grouped into Finance, Crypto, and Other communities and report each topic’s share of posts. Short range presets switch to Weekly. Weeks and months are labelled by their start date, and the current period includes posts available through the Reddit data date above.
Other insights (BETA)
These exploratory charts describe the regional focus, market emotion, implied trade direction, and implied time horizon of Reddit posts. Each panel reports the share of posts assigned to every category, so the stacked bands sum to 100%.
All four dimensions are inferred by GPT from the language of each post. They are substantially more interpretative—and harder to infer reliably—than sentiment, broad topic, or explicit ticker mentions.
They are provided for exploratory information only. Regional focus is not the author’s location; trade direction is not an observed position; time horizon is not a verified holding period; and market emotion is an interpretation of wording rather than a psychological measurement.
Which part of the world is being discussed?
The label describes the geographic focus of the post—not the residence or location of its author.
How is the market mood framed?
Posts are classified from panicked and fearful through neutral to optimistic and euphoric language.
Does the post imply a directional stance?
Long, short, and hedged labels capture inferred positioning language; neutral and unclear retain posts without a sufficiently interpretable stance.
What investment horizon does the post imply?
Intraday, short-, medium-, and long-term labels describe the inferred horizon of the discussion; unclear retains posts without a reliable horizon signal.
Retail sentiment across communities, topics, and assets
Each indicator compares standardised, engagement-weighted positive and negative daily totals. Use the panels below to test whether a change in aggregate sentiment is broad-based, concentrated in one subreddit or topic, or tied to a particular market or ticker basket. Smoothing and date controls apply consistently across the page. How to interpret R-RISI →
Subreddit R-RISI overlaid on market, uncertainty, and risk z-scores
The default combines r/wallstreetbets, r/stocks, r/StockMarket, and r/investing against the S&P 500. Select an individual subreddit or the four-community aggregate, choose a comparison series, and apply the same smoothing to both z-score series. Selecting r/Economics defaults to the daily US Economic Policy Uncertainty index; selecting r/geopolitics defaults to the daily Geopolitical Risk index.
Sentiment per subreddit
Fourteen subreddit-level indicators show whether sentiment shifts are widespread or concentrated in a particular community.
Sentiment per topic
Eight topic-filtered indicators compare sentiment in equities, funds, options, macro, commodities, crypto, geopolitics, and tariffs.
Sentiment by company, thematic basket, and asset
Compare net sentiment for heavily discussed companies, the Magnificent Seven, semiconductors, crypto-linked equities, Bitcoin, gold, silver, and oil—alone or alongside a selected market-price z-score.
How closely do subreddit sentiment series move together?
The upper triangle groups the four investing communities first, the four crypto communities second, and the remaining six communities alongside them. The investing-versus-crypto square reports their cross-group correlations without duplicating the lower half of the matrix.
Which assets dominate Reddit discussion?
GPT extracts tickers from each post’s context, capturing explicit symbols as well as company or asset names written out, common slang, and recognisable misspellings. Rankings and frequency-scaled word clouds then count distinct posts containing each extracted ticker across selectable windows, community aggregates, and individual subreddits.
Finance and crypto ticker attention
Side-by-side word clouds compare the four investing communities with a crypto mix containing only r/CryptoCurrency and r/CryptoMarkets.
Ticker mentions for each community
Select any of the 14 subreddits and a time window to inspect its most-mentioned tickers.
Most-mentioned tickers by period
Select a period from the latest available day to the full sample and compare the leading tickers by distinct post count.
From a Reddit post to a daily signal
The five-stage indicator pipeline collects Reddit submissions, assigns GPT labels, filters the observations used for sentiment indicators, weights engagement, and aggregates the results into daily signals. Topic-composition and descriptive-data charts retain the complete corpus.
Collection, classification, cleaning, weighting, and aggregation
Reddit posts
r/StockMarket, r/investing,
r/Bitcoin, etc.
AI classification
Cleaning
Weighting
more weight
Logarithmic weighting.
Daily indicators
Broad retail investor sentiment
Aggregate sentiment across the investing subreddits.
Topic indicators
Sentiment by topic (e.g. Equities, Macro, Crypto, Geopolitics).
Ticker / asset-group indicators
Sentiment by ticker or asset group (e.g. TSLA, semiconductors, gold, Bitcoin).
Data sources and labelling models
The dashboard uses a monthly Pushshift data set and a scraped interim update. The table records the source and exact model used for each.
| Data vintage | Coverage | Reddit source | Labelling model | Dashboard use |
|---|---|---|---|---|
| Monthly data set Final |
Through the latest complete monthly archive | Pushshift archive via Academic Torrents ↗ | Through December 2025: GPT-5.1 via the OpenAI API. From January 2026: GPT-6.1 Sol. | Final monthly dashboard data. |
| Scraped interim data Preliminary |
After the latest complete monthly archive | Reddit Data API collection documentation ↗ | From October 2026: Codex with GPT-6.1 Sol. | Current update until the next monthly data set replaces the overlapping period. |
[ Removed by moderator ].From engagement weights to the daily R-RISI
Reading the indicator
R-RISI measures whether engagement-weighted positive discussion is unusually strong or weak relative to engagement-weighted negative discussion, compared with the series’ own recent history. Positive and negative engagement totals are standardised separately using their preceding 365 days; R-RISI then subtracts the standardised negative total from the standardised positive total.
Positive engagement is stronger relative to its historical norm than negative engagement is relative to its norm.
Negative engagement is stronger relative to its historical norm than positive engagement is relative to its norm.
The two standardised components broadly balance. This does not imply neutral discussion, no activity, or an even split of positive and negative posts.
A larger absolute value indicates a more unusual imbalance relative to recent history.
Smoothed series emphasise persistent changes. The unsmoothed series reacts faster to individual days but is more volatile.
Reading topical drivers
Each segment is a topic’s exact additive contribution to the selected R-RISI value. For topic k, the contribution is its positive engagement surprise scaled by the aggregate positive-series volatility, minus its negative engagement surprise scaled by the aggregate negative-series volatility:Why GPT-5.1 was chosen for the pre-2026 corpus
We benchmarked three classifiers for the historical corpus. In this comparison, FinBERT assigns a substantially larger share of posts to neutral, while GPT-4o (titles only) and GPT-5.1 (titles + body) produce more differentiated sentiment distributions. By default, all three classifiers are shown from their common starting point in 2015. FinBERT and GPT-4o are available through December 2025. The GPT series uses GPT-5.1 through December 2025 and GPT-6.1 Sol from January 2026, and continues through the latest dashboard week. Moving the Period start before 2015 reveals the available earlier GPT-5.1 observations.
Label confidence & the 0.7 filter
The distributions report model-assigned confidence for sentiment and topic labels. The 0.7 filter applies to sentiment indicators only; topic-composition and descriptive-data charts remain unfiltered.
How R-RISI compares with established retail-investor indicators
The four-community broad R-RISI aggregates r/wallstreetbets, r/investing, r/stocks, and r/StockMarket. Compare it with the weekly AAII bull–bear survey spread and the monthly Schwab Trading Activity Index (STAX). The series measure different populations and concepts, so the charts are descriptive validation—not an identity test or causal estimate.
The full corpus from 14 subreddits, full sample
The corpus charts describe daily and weekly volume, participation by distinct observed author identifiers, weekday and intraday posting patterns, and differences in activity across communities.
Descriptive statistics by subreddit
Each subreddit has separate rows for daily post counts, title length, comment count, and Reddit score, with the complete set of conventional summary statistics.
Authors, paper, and applications of R-RISI
Publications and presentations
A high-frequency measure of retail-investor sentiment from Reddit discussion, built from GPT labels, engagement weights, and rolling z-scores.
Impressum & Datenschutzerklärung / Privacy policy
Provider information and details on how this website handles personal data under the GDPR (DSGVO).
1. Provider, responsible for content, and controller
The provider responsible for the website and the controller responsible for data processing is:
Fabian Wagner
Email: r-risi@tuta.io
2. Hosting & server log files
This website is hosted on Cloudflare (Cloudflare, Inc., 101 Townsend Street, San Francisco, CA 94107, USA) and served via Cloudflare's global content delivery network. When you access the site, Cloudflare automatically processes connection data in server log files — including your IP address, date and time of the request, browser type and the requested resource. This is necessary to deliver and secure the website (Art. 6 (1)(f) GDPR — legitimate interest in operating and securing the website).
Because Cloudflare operates a global network, data may be processed on servers outside the EU. Cloudflare provides appropriate safeguards for such transfers (EU Standard Contractual Clauses / its Data Processing Addendum). Details: cloudflare.com/privacypolicy.
3. Locally served interface resources
The Inter typeface and the Plotly and WordCloud2 browser libraries are served directly with this website. Loading the dashboard therefore does not require the visitor’s browser to contact the original font or library providers.
4. Cookies, visit statistics & downloads
The dashboard does not use advertising, analytics, or cross-site tracking cookies. Visit and download statistics do not use cookies or browser storage.
When the dashboard loads in a browser, it sends a small page-view event to Cloudflare Workers Analytics Engine. The event records the dashboard page and release, date and time, connection country, and a secret-keyed pseudonymous visitor token. The IP address and browser string are processed transiently to derive this token but are not stored in the page-view event. This provides an approximate count of distinct browser and network combinations while excluding many automated requests that do not run the dashboard code (Art. 6 (1)(f) GDPR — legitimate interest in evaluating and improving this research service).
When a visitor downloads a chart or CSV file, the dashboard sends a small event to Cloudflare Workers Analytics Engine. It records the file type, chart title and identifier, selected chart settings, dashboard release, date and time, IP address, browser user-agent, connection country, Cloudflare Ray ID, edge location, and network number supplied by Cloudflare. This allows us to understand which research outputs are most useful and to improve the dashboard (Art. 6 (1)(f) GDPR — legitimate interest in evaluating and improving this research service and protecting it against abuse).
A secret-keyed pseudonymous visitor token is also generated. Where Cloudflare Access supplies an authenticated email address, that address is used only as input to the one-way keyed calculation and is not stored in plain text; otherwise the token is derived from the IP address and browser string. The token remains stable across days so repeat downloads can be counted, but it is not intended to identify a natural person. No additional cookie or browser storage is used for these statistics. Visit and download events and identifiers are retained by Cloudflare Analytics Engine for three months.
5. Contact form
The contact form does not submit data to this website. It prepares a mailto: draft in your own
email application. Only if you send that draft will your email provider transmit the message to the dashboard
contact address; the dashboard server does not store it. The information is used only to respond to your
enquiry. Depending on the request, the legal basis is Art. 6 (1)(b) GDPR (steps prior to entering into an
agreement) or Art. 6 (1)(f) GDPR (legitimate interest in responding to research enquiries).
6. Your rights
You have the right to access, rectification, erasure, restriction of processing, data portability, and to object. You may also lodge a complaint with the competent data-protection supervisory authority.
Contact us
Questions, feedback, suggestions for improvement, or new ideas are welcome.