I Tested the Strategy From a $1,000 Trading Book — Transcript
Full transcript
- 0:00This is Toby Crabel. He wrote what might
- 0:02be the most famous day trading strategy
- 0:05book ever written and then he refused to
- 0:07print it ever again. Now today a single
- 0:09copy can almost run you a thousand
- 0:11dollars. Now if you're anything like me,
- 0:12I'm wondering what's actually in it and
- 0:14does the strategy still work? Well I got
- 0:16a hold of it and I coded the main system
- 0:18idea from scratch and tested it and I've
- 0:21got to say what I found really surprised
- 0:23me. So in this video I'm going to take
- 0:25his opening range breakout strategy,
- 0:27backtest it on years of minute by minute
- 0:29data on QQQ and show you exactly what
- 0:32happened. Now the strategy is actually
- 0:33simpler than you would actually think
- 0:35because it doesn't try and predict what
- 0:37way the market's going to go. It waits
- 0:39for the market to go dead quiet and then
- 0:41places two orders and lets the market
- 0:43pick the winner. Well, at least in
- 0:44theory. So who is Toby Crabel? Well he
- 0:47actually started out as a professional
- 0:49tennis player. Then he became a trader
- 0:50and then he worked on the Victor I don't
- 0:53think I'm going to be able to say last
- 0:54name but
- 0:55Victor Niederhoffer and in 1920 22 he
- 0:58went out on his own. And this was the
- 1:00first number that actually stopped me in
- 1:01when I was reading about him. From 1991
- 1:04to 2002
- 1:06his trading went through a 12 year
- 1:08streak without a single losing years. 12
- 1:11years is an incredible amount of time.
- 1:13And then Financial Times actually once
- 1:14called him the most well known trader on
- 1:16the counter trend side of things. At
- 1:18peak he was managing about 7.5 billion
- 1:20and he only ever wrote one book that was
- 1:22in 1990 and has never been reprinted
- 1:25since. Today his firm runs billions but
- 1:27it did peak around seven and a half
- 1:29billion. In this book though he laid out
- 1:31his research and sold it and then
- 1:33refused to ever let it get reprinted
- 1:34again which is why now a copy can almost
- 1:36cost you a thousand dollars on Amazon.
- 1:38So I bought the strategy and coded it
- 1:40and ran it on 15 years of data. And I'll
- 1:42be honest, when I first saw the result I
- 1:45thought it would be something incredible
- 1:46but keep on watching to see how it turns
- 1:48out.
- 1:50Now speaking of the strategy, let's go
- 1:51over what it is. Well it's an opening
- 1:54range breakout strategy. Now many of you
- 1:55are are probably aware of something
- 1:57similar to this idea. Ironically, he
- 1:59actually coined most of this phrase
- 2:00around opening range breakout from this
- 2:02book. Now the whole observation from
- 2:03this book was market breath. Overall,
- 2:05the market can go through quiet periods
- 2:07where the range gets a lot tighter and
- 2:09tighter, and then it explodes out in one
- 2:11direction. So overall, the idea of
- 2:13contraction then expansion. So the first
- 2:15main thing we have to do for this
- 2:16strategy is wait for a quiet day where
- 2:18the market has cooled up tighter than
- 2:20usual, and then the next morning, we're
- 2:22not going to guess the direction.
- 2:23Instead, what we're going to place an
- 2:25order above the open and an order below
- 2:26the open. Whichever way gets hit first,
- 2:29that's the trade we're going to take.
- 2:30Overall, you're letting the market tell
- 2:31you which way it's breaking towards. But
- 2:33then the second question comes in, well,
- 2:34is how far do we place this order above
- 2:36and below the open? Is it just right at
- 2:38the open kind of price? Or are we
- 2:39placing it with a decent amount of
- 2:40margin? And this is where he uses
- 2:42something called the stretch. The
- 2:43stretch is a 10-day average of the
- 2:46smaller of high minus open and open
- 2:48minus low. I.e., on a normal day, how
- 2:50far does price usually poke past the
- 2:53open before coming back? And then we're
- 2:54going to place an order exactly one
- 2:56stretch above and below, as kind of
- 2:58demonstrated here.
- 3:01Now that's the rough idea, but let me
- 3:02give you the actual full rules. First,
- 3:04we actually have to define what a quiet
- 3:06day is. To backtest or quantify any
- 3:08strategy, we need to get this into
- 3:10criteria we can code or we can at least
- 3:12put data through. And he actually gives
- 3:13up gives us three setups for this, which
- 3:15is amazing. So first, he does NR4, which
- 3:18is today's range is the narrowest of the
- 3:20last four days, which is very nice and
- 3:22simple logic. Then he has NR7, which is
- 3:24basically the same idea, but it's the
- 3:26last seven days. And then lastly, he has
- 3:27inside day. And this is where today's
- 3:29whole range fits inside yesterday's. So
- 3:32lower and high and higher and low, for
- 3:33example. And if any of those three
- 3:35qualify, then we are armed for tomorrow
- 3:37to then place our orders. We're going to
- 3:38be placing a buy stop one stretch above
- 3:40the open and a sell stop one stretch
- 3:42below. The first one to trigger wins and
- 3:44the other side cancels out. Our stop
- 3:46loss is incredibly simple as well. It's
- 3:47simply the opposite band. So if we go
- 3:49long at the top, the price falls all the
- 3:50way back to the bottom band and we're
- 3:52out. And if we're still in a trade at
- 3:54close, we'll exit it at the closing
- 3:55bell. Every trade is done by the end of
- 3:57the day, nothing is held overnight at
- 3:59all. For the risk per trade, this is
- 4:00going to be two times the stretch, so
- 4:02the top band to the bottom band, and
- 4:04every position exits by 4:00 p.m. close.
- 4:06Now, one more rule is if neither order
- 4:08triggers early in the session, we cancel
- 4:10them out. Korbel actually found that the
- 4:12edge is strongest right after the open,
- 4:14so we give it until around 10:30 in the
- 4:16morning, and if nothing is triggered by
- 4:17that time, we're going to be walking
- 4:18away from the day and no trades are
- 4:20going to be placed. To give you an
- 4:21example idea of how a trade looks, this
- 4:23is one of the trades that I backtested
- 4:25using code, and this was actually from
- 4:272025. As you can see, this was an 8R
- 4:30winner, which was pretty insane for the
- 4:31portfolio, and it entered over here and
- 4:34exited over here.
- 4:36Now, speaking of, how did I actually
- 4:38test this strategy so that it can be
- 4:40automated or we can just first backtest
- 4:42it over years of data without me having
- 4:44to manually do this myself. Now, of
- 4:46course, I actually did this via code,
- 4:47and if you want a general snippet of how
- 4:49that code looks like, I've left some
- 4:51over here. First part of the code is all
- 4:52around that kind of tightness and
- 4:54contraction where we're trying to look
- 4:55for NR4 and NR7 and inside days so that
- 4:58we can arm those particular days and
- 5:00then look for the next day if we're
- 5:02going to be placing those stretch
- 5:03orders. Now, this is also another really
- 5:04important thing to note, is we have no
- 5:06look-ahead bias. Every one of those
- 5:08signals is shifted by one day. The
- 5:09stretch, the arming, everything is
- 5:11calculated from days that have already
- 5:12closed before the day's even opens, and
- 5:15this is to avoid us having a look-ahead
- 5:17bias in our backtest and getting false
- 5:18results. For example, if you compute the
- 5:20stretch using today's high and low, then
- 5:23trades today, you've used information
- 5:25you would have never known at that point
- 5:26of time. Third is how the actual order
- 5:28fills. A buy stop fills at the worst of
- 5:31the band or at the bar's open. So, if
- 5:32the price gaps straight through your
- 5:34level, you fill at the gap and not the
- 5:36level. And that's what normally really
- 5:37happens in actual live markets, and
- 5:39that's why it's kind of coded in. Now,
- 5:40I've also tested two version. He
- 5:42actually mentioned both of these in the
- 5:44book, which is the original ORB
- 5:45strategy, so this is in both directions
- 5:47where we're placing both orders every
- 5:48single day that is armed, long and
- 5:51short. And then there is one where it's
- 5:52a trend filtered version. So, add a
- 5:5450-day filter and above it we're going
- 5:56only long and below it we're only
- 5:57looking for shorts. Now, I ran this
- 5:59primarily on QQQ, but I also did a quick
- 6:02backtest also on spy later in this
- 6:04video. All of it was using 1-minute
- 6:06data. And just before I show you the
- 6:08results, let me just give you a quick
- 6:09word from our sponsor because it ties
- 6:11directly into how I backtested this
- 6:13strategy. Now, to be clear, this is a
- 6:15paid sponsorship, but I am free to share
- 6:17my own thoughts and opinions on the
- 6:18actual software. So, everything I showed
- 6:20you today, the code, the shift, the fill
- 6:21logic, it took me quite a while to
- 6:23write. And I've been coding since I was
- 6:25around 12, so more than a decade now.
- 6:27But nowadays, we have AI and you could
- 6:28do a lot with it. Horizon is a web app
- 6:31where you can build and test a strategy
- 6:32like this without writing any code at
- 6:34all. You can describe the idea and then
- 6:36it can instantly backtest it for you
- 6:38using actual data. Now, if you try and
- 6:39do this through a lot of traditional AI
- 6:41platforms, they won't actually have
- 6:42solid data and solid backtesting
- 6:44techniques. Whereas Horizon actually
- 6:46does. It also has a whole execution part
- 6:48where you soon you'll be able to connect
- 6:49to your brokerage and it can
- 6:51automatically automate those strategies
- 6:52that you've tested. Let me actually just
- 6:54quickly show you a quick example. I
- 6:55built a really simple orb strategy using
- 6:58Horizon. My prompt was actually, "Make
- 7:00me a simple orb strategy on the
- 7:0130-minute timeframe on QQQ." It was able
- 7:03to build everything for me, give me all
- 7:05the results, and then I was able to ask
- 7:07a second question to compare it on how
- 7:10the stop loss would affect the results.
- 7:12As it then showed me for a 2% stop loss
- 7:15I got this net profit over here. Whereas
- 7:17when I changed it to a 4%, I was
- 7:18thinking maybe it would improve
- 7:19performance. It did not at all. It was a
- 7:21really nice way to see everything in one
- 7:23panel. I can also see all the trades
- 7:25taking place here. I can also click into
- 7:27any of these trades. So, if I just want
- 7:28to look at this one for example, I can
- 7:30zoom in and see exactly how that trade
- 7:31is placed. It also has more information
- 7:33on performance broken down by drawdown
- 7:35and rolling sharp. Ultimately, the idea
- 7:36is really simple. All you have to do is
- 7:38go to horizon.trade, type into a prompt
- 7:40that you want to get tested, and then it
- 7:42can automatically backtest it for you.
- 7:44If we actually have a look, I can click
- 7:45my strategies, I can see everything I've
- 7:47tested before in a really nice
- 7:48interface. Soon you'll also be able to
- 7:50connect brokers, which you'll be able to
- 7:51automate those strategies really easily
- 7:53for you. Now, just as a reminder,
- 7:54Horizon is a software tool for strategy
- 7:57testing and execution. It does not
- 7:58provide any financial advice or
- 8:00investment advice. Trading always
- 8:01involves substantial risk of loss, and
- 8:03backtesting is simply a tool for
- 8:05evaluating historical performance and
- 8:06never guarantees future results. Now, if
- 8:08you want to try it out, feel free to
- 8:10click the link in the description.
- 8:12This is being tested on 15 years of
- 8:14minute data on QQQ. Every single arm
- 8:17day, both orders are placed and exits at
- 8:19the close. Here, we can see the equity
- 8:21curve. On first glance, this looks
- 8:23incredibly impressive. The green line
- 8:24over here is the actual strategy, and
- 8:26yellow is just a simple buy and hold.
- 8:27And as we can see, it's really not even
- 8:29close. There's a wide margin where this
- 8:31strategy is really outperforming.
- 8:32Overall, it did around 1,300% and it had
- 8:35a 19% CAGR. It also, most importantly,
- 8:37had a very low correlation to spy, which
- 8:40means it can be really useful when
- 8:41adding it into a portfolio of
- 8:43algorithmic strategies. It did have
- 8:44quite a steep drawdown of 30%, but we
- 8:47are getting quite an above average CAGR
- 8:49of 19%. We can also see how those annual
- 8:51returns look like over all those years.
- 8:53We can see in 2016, it was up around
- 8:5567%, and in 2018, it had one of its best
- 8:58years, being up 97% in a single year.
- 9:02And Korbel was definitely right about
- 9:03the edge being strongest right after the
- 9:05open. The data from most recent years,
- 9:07as we can see from my backtest, was that
- 9:08a lot of returns were coming from the
- 9:10first 15 minutes or from trades being
- 9:12executed at 10:15 to 10:30. It's quite
- 9:14impressive how his observation has held
- 9:15up even from 1990. So, at this point,
- 9:18I'm thinking, well, I've got a
- 9:1935-year-old strategy from a
- 9:20thousand-dollar book and it's crushing
- 9:22the market with almost zero correlation.
- 9:24Case closed, let's just run this live
- 9:26now, and I never have to worry about
- 9:27money. But, unfortunately, there's one
- 9:29thing I haven't added yet, and that is
- 9:31commissions and slippage. In the real
- 9:33world, when you trade, you might get
- 9:34away with some brokers not charging you
- 9:35commission, but you will always suffer
- 9:37some kind of slippage. And slippage can
- 9:39be a really sneaky one. When you send a
- 9:41stop order to buy, you don't get filled
- 9:43at your exact price. By the time it
- 9:44executes, the market has usually moved a
- 9:46little bit against you or in your favor.
- 9:48For example, maybe you wanted 418, but
- 9:50you actually got 418.10. That gap is
- 9:53slippage. And on any order that you're
- 9:54placing like a market order, for
- 9:56example, you're going to get some of
- 9:57that slippage. Now, you could have
- 9:59course use limit orders, but then you
- 10:01have a whole liquidity problem of if you
- 10:03even get filled at that particular
- 10:04price. So, here's how I modeled it. I
- 10:06added commissions and slippage. For
- 10:08commissions, I just added one basis
- 10:09point, and for slippage, I added two
- 10:12basis points on every single fill. Now,
- 10:14I did have a percentage of these that
- 10:16were adverse fills, and some of them
- 10:17were not adverse fills to at least be
- 10:19fair. Now, this might be lethal for this
- 10:21particular strategy. The reason being is
- 10:23one, it trades a lot. It's got about a
- 10:25thousand trades over that time, and
- 10:27that's going to be a lot of slippage and
- 10:28commissions added on top. Second, the
- 10:30edge isn't actually that big. On
- 10:32average, per trade, we're only making
- 10:34about 0.13 R. When that edge is so
- 10:36small, when you add commissions and
- 10:38slippage, it can get easily eaten away
- 10:40as demonstrated here. Now, modeling
- 10:41costs is actually one of the first
- 10:43things I try and teach in the backtest
- 10:44bootcamp because it's the single most
- 10:46common thing a winning backtest can fool
- 10:48you on into thinking that this strategy
- 10:50is going to be really profitable when
- 10:51you take it live. Now, if you want to
- 10:53properly backtest your strategies, feel
- 10:54free to click the link in the
- 10:55description to check it out.
- 10:58So, let's actually see the real results.
- 11:00When I add commissions and slippage,
- 11:02sadly, while the equity curve isn't
- 11:04terrible, it definitely doesn't beat spy
- 11:06anymore over that time period. The sharp
- 11:07has also halved, and the drawdown gets a
- 11:09lot deeper to about 45%. You can also
- 11:12see how it affects the holes entries at
- 11:14different times where in some segments
- 11:15actually just become straight
- 11:16unprofitable. Additionally, it does kind
- 11:18of get worse. I tested this on spy, and
- 11:20on spy, this strategy just completely
- 11:22sucks. Overall, the lesson from this is
- 11:24to test things properly. Always have
- 11:26costs and slippage, and make sure to do
- 11:28multiple different checks like I did
- 11:30here of correlation, and you could do
- 11:32further things like in sample and out of
- 11:33sample and walk forward optimization.
- 11:35Additionally, the idea doesn't seem that
- 11:37bad. While it may not be performing very
- 11:39well on QQQ and spy, this could be
- 11:41something to test in crypto or other
- 11:43more inefficient markets that may still
- 11:44actually have that edge. And if this is
- 11:46the kind of thing you want to get good
- 11:47at building systematic strategies like
- 11:49this one and testing them honestly and
- 11:51then automating them on a machine so
- 11:53that it runs completely without you,
- 11:55that's exactly what we do inside the
- 11:56crypto momentum group. It's a community
- 11:58of people doing this properly with the
- 12:00code, the templates and the guidance to
- 12:02go from an idea to running something
- 12:03live. Link in the description if that
- 12:05sounds like your thing. Well, I hope
- 12:06this video was helpful and there'll be
- 12:08many more to come.
About this transcript
This page contains the full transcript of I Tested the Strategy From a $1,000 Trading Book by Unbiased Trading, generated from the public captions YouTube serves with the video. The transcript has 2,842 words across 399 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.