Using an LLM to Trade Based on Reddit Posts — Transcript
Full transcript
- 0:00I built the world's stupidest trading
- 0:01bot that uses Reddit posts to predict
- 0:03which stocks are about to explode before
- 0:06they actually do. And it failed
- 0:07miserably because Oxford beat me to the
- 0:09punch and has already developed an
- 0:11algorithm to do exactly this, which is
- 0:13now publicized. Last time I built a bot
- 0:16to trade off Wall Street bets and it
- 0:18lost to the S&P baseline. Then you guys
- 0:20left 600 comments detailing every
- 0:22important improvement I should make. And
- 0:24I went through every single one of them
- 0:25and have assembled a list that I will
- 0:27use to create the best Wall Street Bets
- 0:29trading algorithm implementing your
- 0:31suggestions to beat these brainiac
- 0:33Oxford quants with comment section
- 0:35creativity. So about the Oxford paper,
- 0:38they didn't actually build a trading
- 0:40algorithm. Instead, they built three
- 0:42specific places where a signal might
- 0:44exist [music] and then three big
- 0:45warnings about where it doesn't. Today,
- 0:47the comment section beats Oxford
- 0:49accuracy with five minutes of coding.
- 0:51Then, I want to go straight into every
- 0:53single warning that Oxford specifically
- 0:55told us to avoid. And by the end, I'm
- 0:57going to show you two doors that I still
- 0:58haven't opened yet, and which ones we're
- 1:00going to be opening next. But before we
- 1:02beat Oxford, I owe the comment section
- 1:04one test, [music] the one everybody
- 1:05asked for, the one that got a,000 up
- 1:08votes. All right, so quick recap in case
- 1:10you missed my last video, by the way.
- 1:12Definitely go check that out. We had
- 1:13scanned through Wall Street Bets posts
- 1:15counting the number of mentions for a
- 1:17particular stock ticker every single
- 1:19day. We then bought the hype, basically
- 1:21the most popular stock for a given day,
- 1:22and then we sold it when it lost its
- 1:24popularity. And we lost to the S&P every
- 1:27single time, as expected. We then tried
- 1:30to buy the fastest risers, maybe stocks
- 1:32where mentions were spiking suddenly,
- 1:34and we also lost. So sadly, these two
- 1:36different strategies did not work. But
- 1:38you guys pointed out exactly why, and
- 1:40Oxford actually knew it, too. You can't
- 1:42just buy the most mentioned stock with
- 1:44the fastest riser because the sentiment
- 1:46could actually be negative. Maybe the
- 1:48company is about to declare bankruptcy
- 1:50and that's why everybody's talking about
- 1:51it. So, it's probably not a good time to
- 1:53buy. Oxford actually went through the
- 1:55effort of handlabeling 4,000 posts
- 1:57either bullish, bearish, or neutral.
- 1:59They then fine-tuned an AI called
- 2:01Finnbert and hit an accuracy of 69%. And
- 2:04then they tested investing based on
- 2:06sentiment for every Wall Street Bets
- 2:08post and they lost money. Fantastic.
- 2:11>> [music]
- 2:11>> So, we do need sentiment. And boy oh
- 2:13boy, do I have a plan for this. But
- 2:15before we get to that, I have to address
- 2:17your most upvoted comment. Did you try
- 2:20doing the opposite?
- 2:22>> So, if the crowd is reliably wrong, then
- 2:24inverting them should be reliable,
- 2:26right? I mean, come on. It's basically
- 2:27free money. Let's bet against Wall
- 2:29Street bets, which means we will short
- 2:31the most mentioned stocks. [music] So
- 2:33when the company we bet on crashes, we
- 2:35see massive returns because surely the
- 2:38most mentioned stocks are overhyped
- 2:40right now. At first I chose the GameStop
- 2:43year running the back test from January
- 2:45to February of 2021. I know it's an
- 2:48interesting [music] time period to
- 2:49choose. Now this quickly resulted in all
- 2:51of us losing our money together as
- 2:53GameStop exploded in value and we lost
- 2:56everything during our short. We could
- 2:58run a bunch of individual random
- 3:00portfolios where we short stocks on the
- 3:02date they are mentioned in the
- 3:04subreddit. This could generally tell us
- 3:06if Wall Street Bets is on average
- 3:08consistently wrong. And maybe we can
- 3:10make a profit by just betting against
- 3:12the [music] whole forum in general. And
- 3:14unfortunately, this too does not work
- 3:16with our portfolio coming in just below
- 3:18average market return. But running this
- 3:21during the GameStop year would be
- 3:23misleading. It was a massive outlier.
- 3:26So, let's pull data for the entirety of
- 3:282025. Now, what you're seeing is our
- 3:30simulated portfolio in green compared to
- 3:32the S&P in red. Even by shorting the
- 3:35most mentioned stock throughout this
- 3:36entire year, there's only a single
- 3:38fleeting moment where the strategy was
- 3:40beating the S&P. And how did we do by
- 3:42shorting random stocks on the Wall
- 3:44Street Bets forum? Well, also not great.
- 3:47These uncapped downsides mean that our
- 3:49risk is so much higher than simply
- 3:50buying and holding a stock, which
- 3:52results in these rather poor returns.
- 3:54The median return for our shorting
- 3:56strategy was approximately minus 1.09%
- 4:00over 2025 to 2026 as compared to the S&P
- 4:03return of about 18%. So do the opposite
- 4:07isn't a cheat code. [music] And we just
- 4:09confirmed Oxford's second warning that
- 4:11shorting the crowd does not work. But
- 4:14the comment section had a much better
- 4:16idea. The idea that 40 of you pointed
- 4:18out. Okay, quick thing. All of this goes
- 4:21up on GitHub for my sponsors. every
- 4:23script, every back test, everything. 600
- 4:25of you already run it and you can cancel
- 4:28any time, but every month I merge your
- 4:30ideas into the code. So, the people who
- 4:32stay get something that keeps getting
- 4:33smarter. Plus, you get to support a
- 4:35struggling PhD grad. Link in the
- 4:37description. I should maybe stop
- 4:39publishing this stuff because, as one of
- 4:41you have already pointed out,
- 4:43>> don't publish all [music] your secrets
- 4:45in a YouTube video. Tsunoo.
- 4:48>> Okay, back to the Oxford thing. Roughly
- 4:5040 of you said the same thing. Use an
- 4:52LLM that classifies sentiment for each
- 4:54post. That way we know if people are
- 4:56bullish or bearish on a stock. [music]
- 4:58We buy the ones we like and short the
- 5:00ones we hate. Okay. Oxford did this too
- 5:02by labeling 4,000 posts by hand
- 5:05fine-tuned in a Finnbert model and hit
- 5:08an accuracy of 69%. [music] So that's
- 5:10the number that we have to beat. They
- 5:12did it with two PhDs hand labeling. And
- 5:14I'm going to use Finnbert for the entire
- 5:15[music]
- 5:16thing. Finnbert is just Google's
- 5:18language model that is specifically
- 5:19trained on financial sentiment data.
- 5:21It's able to generate an indicator for
- 5:23positive or negative sentiment based
- 5:24[music] on text alone. And yes, I know a
- 5:27lot of posts are super sarcastic, but
- 5:29I'm hopeful we can beat this thing
- 5:30[music] regardless. So, I used Finn to
- 5:32classify posts from January to February
- 5:34of 2025 into positive or negative
- 5:37sentiment. Then, I validated them by
- 5:40hand to get a sense for its accuracy. I
- 5:42ended up checking about 200 posts with
- 5:44confidence levels above 90%. [music] And
- 5:47yeah, I know that this is like way less
- 5:48than the 4,000 posts manually validated
- 5:51by the Oxford level PhDs, but I am lazy
- 5:54and pucker up for this. In those 200
- 5:57posts, the prediction accuracy that I
- 5:59found was 94%. [music]
- 6:02Which is pretty damn good. Now, full
- 6:04disclosure, I am cheating a little bit
- 6:06because the Oxford 69% accuracy was on
- 6:09three different classes, both bullish,
- 6:11bearish, and neutral. [music]
- 6:13And across every post, which is very
- 6:15difficult, some are sarcastic or not
- 6:17really obvious. I'm doing two classes
- 6:19only, both bearish and bullish on the
- 6:22easiest high confidence posts only,
- 6:24which I think makes [music] much more
- 6:25sense for creating a trading algorithm.
- 6:27The advantage in this case is that our
- 6:28algorithm only uses data that has high
- 6:30confidence [music] rather than the
- 6:32sarcastic posts that are uncertain. So
- 6:34with better accuracy, can we beat the
- 6:36Oxford model? That is the question.
- 6:39Okay, this is a recap on the algorithm
- 6:40in case you're taking notes. Basically,
- 6:42every day we're going to scan through
- 6:44Wall Street Bets posts and label it as
- 6:46bullish or bearish using our LLM. Then
- 6:48each stock ticker mentioned, we
- 6:50calculate a score. I want the score to
- 6:52make use of positive and negative
- 6:54sentiment. And I also want it to be dead
- 6:56simple because I'm not that smart. So
- 6:58the score is going to be the number of
- 7:00bullish posts mentioning that stock
- 7:02minus the number of bearish posts
- 7:04mentioning that stock. Whichever stock
- 7:06has the highest score that day is the
- 7:08one that we're going to buy. We then
- 7:10hold it until a different stock takes
- 7:12the top spot. Then we rotate to that new
- 7:14one instead. I decided not to have any
- 7:16diversification because come on, live a
- 7:19little. In my short back test, we see
- 7:21that buying the stock with the highest
- 7:22positive sentiment does really well
- 7:25compared to buying and holding the S&P.
- 7:27This worked super well, and we even had
- 7:29a day give plus 25% returns. The total
- 7:33return over these two months was 51%.
- 7:36Which amounts to a compound annual
- 7:38growth rate of over a,000%.
- 7:42H the spy over the same time period
- 7:44[music]
- 7:45did a compound annual growth rate of
- 7:4710%. So, is this thing actually working?
- 7:50Am I making a massive mistake by
- 7:51uploading this video to YouTube? Is this
- 7:53commenter right? I genuinely don't know.
- 7:56But if my physics background taught me
- 7:58anything, it's that a good scientist
- 8:00always seeks to disprove himself. So,
- 8:02let's try to investigate this further.
- 8:04My first thought was that I got lucky. I
- 8:06mean, we only looked at January to
- 8:08February of 2025, so maybe let's look at
- 8:10all of 2025. I then pulled the data from
- 8:13January of 2025 to January of 2026 and
- 8:17let Finnbert get to work. And there are
- 8:19a lot of posts to classify, so this took
- 8:22a couple of hours. Okay. I mean, this is
- 8:24what I'd expect. It has no real edge. Uh
- 8:27oh. Oh gosh. Okay. Okay. This is working
- 8:31really well. All right. So, I went back
- 8:33to my code to investigate because if
- 8:34something looks too good to be true, it
- 8:36probably is. And I ended up finding
- 8:39this. This simple less than symbol is
- 8:42the difference between the code working
- 8:43or not. It's basically allowing us to
- 8:46use the current-day sentiment for
- 8:47tomorrow's prediction. But the way I had
- 8:49wrote it allowed the program to look at
- 8:51the community reaction and then buy it
- 8:54before the news has spread into the
- 8:56market value. Basically, I had really
- 8:58bad look ahead bias. The model was
- 9:00cheating off of tomorrow's knowledge.
- 9:02So, now that we fixed our look ahead
- 9:04bias, we can rerun the code and see the
- 9:06results. Here we're going long on stocks
- 9:08based on high scores from our sentiment.
- 9:10We can see that the model unfortunately
- 9:13does not work. So simply following the
- 9:15crowd is definitely a bad idea. But
- 9:17stick around for a bit because we're not
- 9:19done yet. We still need to short Wall
- 9:21Street Bets based on sentiment.
- 9:22Following Wall Street Bets positive
- 9:24sentiment gave a 1-year return of minus
- 9:2649%.
- 9:28Which is uh not good. Maybe you don't
- 9:31trust Wall Street bets with your next
- 9:32stock trade. So, what if we bet against
- 9:35stocks that have highc scoring positive
- 9:37sentiment? In my opinion, this is what
- 9:39would give the highest probability of
- 9:41working because we're purposely betting
- 9:43against a degenerate crowd of gamblers.
- 9:45So, we should have a pretty good shot at
- 9:47winning, right? Also, quick note, the
- 9:49algorithm flags words like tech, bull,
- 9:51and meme as tickers because they are
- 9:54real ETFs. So, when Wall Street Bets
- 9:56says this is a meme stock, my bot thinks
- 9:59they're hyping the meme ETF, which is a
- 10:01cute bug, but it doesn't really change
- 10:03the results by much. So, here we go.
- 10:06Finally, let's short Wall Street Bets
- 10:08with sentiment. Now, we can see that the
- 10:10volatility is super high because of the
- 10:12uncapped downsides. And while the market
- 10:15in general took a downswing in February
- 10:17of 2025, which helped our short
- 10:19positions, we quickly lost all of our
- 10:21gains. and the S&P quickly recovers back
- 10:24to beating the strategy. So, no, it did
- 10:27not work. We walked into every warning
- 10:30Oxford left for us. Don't follow the
- 10:31hype. We did and lost 49%. Don't trade
- 10:35on aggregate forum sentiment. We did. No
- 10:38edge. But here's what we didn't do.
- 10:40Oxford's paper has a few findings I just
- 10:42glossed over, and I thought I'd save the
- 10:44best for last. Oxford built a network
- 10:46map of which assets get discussed
- 10:48together and most of the big clusters
- 10:50lost money. But small niche clusters did
- 10:53have positive returns. So maybe small
- 10:56groups of weirdos like me and you
- 10:58talking about boring stocks might
- 10:59actually work. Now we have a lot more
- 11:02work to do and I need your help. So drop
- 11:04a comment with your ideas and I will
- 11:06explore them in the next [music] video.
- 11:08The code for this is on GitHub. Have fun
- 11:10playing around with it. But if you solve
- 11:11something, you are obligated to tell me
- 11:13about it. I'll see you guys in the next
- 11:15one.
About this transcript
This page contains the full transcript of Using an LLM to Trade Based on Reddit Posts by LosingLoonies, generated from the public captions YouTube serves with the video. The transcript has 2,167 words across 319 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.