GLM 5.3 + MCP: Mean Reversion Crude Oil strategy with a 2.93 Sharpe — Transcript
Full transcript
- 0:00ZAI just released GLM 5.3 and now we
- 0:04have a new frontier coding model which
- 0:06is open source. Now if you remember GLM
- 0:085.2, even though it wasn't beating all
- 0:11the other models out there, the result
- 0:13of it was great. So because of that, I
- 0:15actually do trust the benchmark results
- 0:18that they are publishing here. And look
- 0:19at this jump. In one of them it went
- 0:21from 4.6 up to 28.3
- 0:25and it is even beating Kimmy K3 which is
- 0:28a great model. Now in some of them it's
- 0:30not still Fable 5 or GPT 5.6 so, but it
- 0:34is doing that in some others such as
- 0:36this one and this one and in this one.
- 0:38So again, this is really great guys. And
- 0:41reading the numbers here, we can see in
- 0:43most of them it is beating them which is
- 0:45crazy that an open source model is doing
- 0:48this. But you know how it is on this
- 0:49channel. I don't just care about the
- 0:51benchmark numbers. I actually want the
- 0:52model to write me trading strategies in
- 0:55Python and then run backtests on them,
- 0:57rule testing, optimization and even
- 0:59Monte Carlo so we can ensure the results
- 1:01that we're getting aren't overfit. Now
- 1:03we're going to need two setups. For the
- 1:04Python side of things and also for it to
- 1:08expose an MCP which we can use to hook
- 1:10the agent into it, we're going to use
- 1:12the Jesse framework which allows us to
- 1:15write the code in Python and do
- 1:16research. It also exposes an MCP which
- 1:18we're going to use here. And next you're
- 1:20going to need a GLM coding plan in order
- 1:23to run the model and get the tokens. And
- 1:26I subscribe to the light plan which
- 1:29costs $18 per month and it's more than
- 1:32enough for this experiment that I'm
- 1:33doing. Now for the harness side of
- 1:35things, I'm using open code which is a
- 1:37great harness. It has support for both
- 1:40terminal and they also have desktop app
- 1:43at this point. So this is a great
- 1:45harness and I highly recommend it. Now
- 1:47in order to run Jesse itself, now that I
- 1:49am inside my Jesse project, all I need
- 1:51to do is to run the Jesse run command
- 1:54and my conda environment is already
- 1:57activated and this is the one that
- 1:59actually has Jesse installed in it. So,
- 2:01let's hit enter and once it is running,
- 2:03we're going to get the address for the
- 2:04MCP server. So, here it is. So, let's
- 2:07copy it. And next, in order to run the
- 2:09GLM model, I want to use the open code
- 2:13harness. Now, the choices are actually
- 2:15endless. We could have been using codex,
- 2:18cloud code, we could have used it
- 2:20directly inside as an agent like this or
- 2:23many other choices that are out there
- 2:25these days. However, I have found open
- 2:27code to be one of the best ones,
- 2:28especially with local models. In this
- 2:31case, we're not using a local model, but
- 2:32still I think it's going to be a really
- 2:34good choice. So, let's run open code.
- 2:37Now, if I hit enter, it's going to run
- 2:39open code, but first I need to add the
- 2:41Jesse MCP to it. So, I'm going to say
- 2:43open code MCP add. Let's hit enter.
- 2:47Next, it is asking whether we want to
- 2:49add it just for the current project or
- 2:51globally. And in this case, because this
- 2:53is my Jesse project, I actually want it
- 2:55to be here. So, let's hit enter. Let's
- 2:57give it a name. So, we're going to call
- 2:59it Jesse and then select MCP server
- 3:01type. We're going to choose remote and
- 3:04then I'm going to paste in the address
- 3:06that we just copied earlier. There we
- 3:08go. Does the server require or auth? No,
- 3:10it does not. And that's it. So, now if I
- 3:13run the open code command, I should have
- 3:15access to that MCP server now. All
- 3:17right. So, you can see that I've already
- 3:19selected GLM 5.3
- 3:21where the ZAI provider. Now, adding it
- 3:24is actually surprisingly easy. So, you
- 3:26just write this /models and then in
- 3:30order to connect the provider, you press
- 3:32control and A and then you pick ZAI. It
- 3:35is super easy. So, let's just skip this.
- 3:38All right. So, let's check to ensure we
- 3:40have Jesse MCP. So, let's see. All
- 3:43right. So, among my MCPs, I can see
- 3:45Jesse is already connected. So, that's
- 3:47great. Let's also ask it if it has
- 3:49access to it or not. Hey there, do you
- 3:51have access to GSM CP? All right, so it
- 3:53did not write this part correctly. All
- 3:55right, let's see what it says. By the
- 3:57way, the UI of Open Code is absolutely
- 4:00gorgeous. All right, so it says, "Yes, I
- 4:02do. The GSM CP tools are all connected."
- 4:05So, this is awesome and now we can give
- 4:07it the actual prompt. Hey there,
- 4:09research and find a mean reversion
- 4:11strategy for trading crude oil on
- 4:14Binance Futures, which has a symbol of
- 4:16CL-USDT.
- 4:18I need the results to be good from the
- 4:20beginning of May 2026 until the end of
- 4:23July. By good, I mean a Sharpe ratio of
- 4:26at least 1.5. Risk 3% of the account on
- 4:29each trade. Every time you develop a
- 4:31strategy, validate the results using a
- 4:33statistical significance test before
- 4:35writing the full strategy. Only proceed
- 4:37if the strategy's metrics demonstrate
- 4:39genuine statistical significance. Use
- 4:41optimization to improve the results. At
- 4:43the end, apply Monte Carlo simulations
- 4:45to ensure the results are not overfit.
- 4:47Continue until you find a strategies
- 4:49that fully meet the pre-specified
- 4:51criteria. Use the 15-minute or 30-minute
- 4:53time frame for trading side and hourly
- 4:56as the anchor time frame. Do not prompt
- 4:58me in the meanwhile. Good luck. Now,
- 5:00while that's going, I want to quickly
- 5:01remind you guys about our Telegram. It's
- 5:03the fastest way to get notified about my
- 5:05future work, whether it's a new tutorial
- 5:08or a tool that I create. Also, don't
- 5:09forget to check out our free Discord
- 5:11where more than 5,000 members like you
- 5:13and I are hanging out there and helping
- 5:15out each other with algo trading so we
- 5:16can all succeed together. The links for
- 5:18both are down in the description. All
- 5:20right, so it started working and the
- 5:23speed is also pretty fine. It defined a
- 5:25plan all by itself so it would know how
- 5:28to proceed. And it also it started
- 5:30writing the first version of the
- 5:32strategy. Now, one thing I really like
- 5:33about this release of GLM is that it is
- 5:36actually pretty fast. I find it to be
- 5:38significantly faster than the Chinchilla
- 5:41model, which was released just a while
- 5:43ago and it had fantastic performance,
- 5:45but it wasn't exactly the fastest model.
- 5:47The GLM model used to be so slow in the
- 5:50past that after trying, I believe GLM 5,
- 5:53I completely gave up and never gave it
- 5:55another shot again. But now I'm happily
- 5:58surprised. So, while this is going, I
- 6:00want to explain something, guys. So, you
- 6:02notice in the prompt that we gave the
- 6:04model, I said that I want the result to
- 6:08be good since the beginning of the May
- 6:112026 until the end of July. So, that is
- 6:14approximately 3 months. And 3 months
- 6:17isn't actually enough for testing a
- 6:20strategy. So, I never do this. But
- 6:22there's a reason why I'm doing this. So,
- 6:24let me show you the chart of crude oil
- 6:26on Binance Futures. So, here it is. And
- 6:29if you take a look, you can see that the
- 6:32earliest date is for the beginning of
- 6:34April. So, that means this is all the
- 6:37data that we have. And if I even check
- 6:39out other exchanges, you will see that
- 6:41the same goes there. So, there's a real
- 6:43problem here. And that is because all of
- 6:45these real-world assets were added to
- 6:48crypto exchanges approximately the same
- 6:51date. And for some reason, all the
- 6:52exchanges added at the same time. I
- 6:54don't know why. But the point is
- 6:56currently, we do not have access to more
- 6:58data. At least not yet. Because you see,
- 7:01if you check out the roadmap page of
- 7:03Jesse's website, you can see that we
- 7:05have this item here, which has a pretty
- 7:08good amount of votes. And it is
- 7:10specifically says adding historical
- 7:12stock, forex, and commodity data
- 7:14integrations. And when I say that, that
- 7:16means we're going to add third-party
- 7:18market data providers. So, Jesse can
- 7:20access years of high-quality historical
- 7:22data for stock, forex, and commodity.
- 7:24So, once we do this, we're going to have
- 7:26years of data to actually run useful
- 7:29back tests. Now, you might be asking,
- 7:31"Okay, so then what's the point of doing
- 7:32this in the first place?" Well, the
- 7:34thing is because of the fundamental news
- 7:36that is going on out there, I find
- 7:38myself wanting to trade on exchanges
- 7:41such as lightyear, which offer contracts
- 7:44for crude oil. And whenever I trade
- 7:46manually, I always end up getting
- 7:49burned. So, just so that I won't be able
- 7:51to do this, I wanted to develop a
- 7:53strategy just so at least I could trade
- 7:55it with a bot because this way I know
- 7:58that my position sizing is going to be
- 8:00calculated, and that emotions are not
- 8:02going to be a part of my trading. So,
- 8:04that's why I decided to develop this
- 8:05strategy, and I want it to be mean
- 8:07reversion because I believe right now
- 8:09we're going to be in a range for crude
- 8:11oil because of the news that's going on.
- 8:13Like, whenever the price goes up, Trump
- 8:16says something just to bring down the
- 8:18price. And whenever it comes down so
- 8:20much, then like Iran does something, and
- 8:23then the price goes up. So, the point is
- 8:25I believe we're in a range. I don't
- 8:26think the price is going to go up maybe
- 8:30until at least there is some sort of big
- 8:32news in the Middle East. And I don't
- 8:34think it's going to come down that much,
- 8:36either. So, I think this we're going to
- 8:37be stuck in this situation for a few
- 8:39months, at least. So, I wanted to take
- 8:41advantage of this situation in my
- 8:44trading results. The results are here,
- 8:46and it did find what I was looking for.
- 8:49So, we got a Sharpe ratio of 2.93 for
- 8:51the backtest, which is significantly
- 8:53better than what I asked for, which was
- 8:55a Sharpe ratio of 1.5. But before I show
- 8:58you the results, let me show you how
- 8:59much token we spent. So, this is the
- 9:01ending result. I got this 20 bucks
- 9:04coding plan just for this video, and I
- 9:07spent almost half my weekly tokens on
- 9:10it. And it did a lot of research with
- 9:12this. So, I want to say that this plan
- 9:15is definitely worth it because the whole
- 9:17step I got was indeed frontier, and the
- 9:20fact that you can run this many tokens
- 9:22with a $20 account is just crazy. I
- 9:25mean, compare this to Cloud Code, and
- 9:27you'll see what I mean. Because we got a
- 9:29quality that is as good as Cloud Fable,
- 9:31but we paid $20 for it, which is not
- 9:34even available with the $20 Cloud
- 9:36account. So, anyways, let's go through
- 9:38the result. Now, here's what it printed
- 9:40out for me and I couldn't click on them.
- 9:43It was a bit annoying, so I just asked
- 9:45it to print them one at a line. So,
- 9:48let's click on this. So, this here's the
- 9:49back test, two Monte Carlo and one
- 9:51significance test. So, let's click on
- 9:54them. Now, before I show you the result,
- 9:56there was one weird thing going on and
- 9:59that is it printed out two different
- 10:01Monte Carlo results. So, I asked it
- 10:02what's going on and which one is the one
- 10:05that you had before and it said neither.
- 10:07So, in fact, this is the one that we
- 10:09usually had. So, that is the one week
- 10:12block. So, let's also click on this. All
- 10:15right. So, let's begin with the rule
- 10:17significance test. As you can see, the
- 10:19return of the strategy is beating the
- 10:21simulations by huge margin and that is a
- 10:24good sign. And the P value is 0.01,
- 10:28which means the entry rules of the
- 10:29strategy have statistical significance.
- 10:32So, that's good. The annualized return
- 10:34is 131.
- 10:36So, this definitely has potential. So,
- 10:39this test is passing. Let's take a look
- 10:41at the back test. Here's the equity
- 10:42curve. So, we can clearly see it's going
- 10:44up while the price was actually going
- 10:47down for most of the time. Let's look at
- 10:49the drawdown chart. So, this is how it
- 10:52looks like. Basically, when the price
- 10:54was going down, the strategy did really
- 10:56great. When it was going up again, at
- 10:59first it lost and then it started
- 11:01earning again. So, you should kind of
- 11:03say that when there is a pivot point in
- 11:05the price, the strategy doesn't do well
- 11:08and here is the monthly return. So, we
- 11:10had two positive months following by one
- 11:12negative month, but the negative wasn't
- 11:14big. So, looks great so far. The profit
- 11:17is 16%. The max drawdown is minus 5.59%,
- 11:22which is really low, which means we can
- 11:24easily add to the size of the position
- 11:26to increase this P&L number here. The
- 11:28average win to loss ratio is 0.73.
- 11:32The win rate is 70%. So, this is pretty
- 11:35typical for a mean reversion strategy.
- 11:37The sharp ratio is 2.93, which is not
- 11:40It's awesome. The average trades per
- 11:43month is 11. Per week, it's two. And per
- 11:47day, it is 0.37. All right. So, overall,
- 11:49I'm seeing things that I really like.
- 11:51But, take this with a grain of salt
- 11:53because we're just running the back test
- 11:55on 3 months of data. And that just isn't
- 11:59a good amount for a back test to have
- 12:01real significance. But, moving on with
- 12:04Monte Carlo, these are the results that
- 12:06we can see. And you see, it starts to
- 12:08get better. So, this is the one that we
- 12:11usually run, which is with the one-week
- 12:13block. And looking at the last one, this
- 12:16is the one with three-week block. And
- 12:18with this one, it is definitely passing.
- 12:20Like, this equity curve looks really
- 12:22great. It's in the middle of
- 12:24simulations. And the sharp ratio of the
- 12:26original back test is 2.72,
- 12:28while the best 5% is 4.15. The median is
- 12:320.75.
- 12:34So, this value is almost in the middle,
- 12:36which is really great and what I like to
- 12:37see. And even the median itself is
- 12:39positive. So, these are all good signs.
- 12:42There is a catch here. And that is the
- 12:44model did something weird. Now, before I
- 12:46show it to you and explain it, I want to
- 12:48say that I'm not disappointed in the
- 12:50model because the bar that I set for the
- 12:52model was pretty high. So, I asked for a
- 12:55mean reversion strategy, which is really
- 12:57difficult to pull off, especially when
- 12:59the amount of data that we have is
- 13:00limited. But, the catch is this. In
- 13:02order to meet the criteria that I set
- 13:05for it for Monte Carlo test, it tried to
- 13:08change the configurations of it. And by
- 13:10the way, let me show it to you what I
- 13:12mean by that. So, here's a form for a
- 13:14Monte Carlo on Jesse's dashboard. And
- 13:16right down here, you can see we have
- 13:19this configuration for the pipeline
- 13:21type, and it is set to moving block
- 13:23bootstrap. And the batch size is 17 days
- 13:26by default. Now, this is actually not
- 13:29the default value. It's what the model
- 13:31changed. So, the default value is 7
- 13:33days, and that's my point. That in order
- 13:36for the result to meet the criteria that
- 13:38I set for the model, it changed the
- 13:40parameter of the Monte Carlo test
- 13:43itself. So, this is kind of like running
- 13:46too much optimization for a strategy
- 13:48until you get good results. And the
- 13:50point of running Monte Carlo is to
- 13:53prevent that because we don't want the
- 13:56strategy to be overfit, right? In order
- 13:58to do that, you have to pick a set of
- 13:59parameters and just stick with it. So,
- 14:01if you were to just keep changing
- 14:03everything, including the Monte Carlo
- 14:05itself, until we get the results that we
- 14:07want to see, it's not going to play out
- 14:09right. So, that's what I did, and when I
- 14:11did that, we got this result that looks
- 14:13good. But before doing it, this was the
- 14:16actual result that we were getting. Now,
- 14:18it's not horrible, okay? So, it's still
- 14:20the Sharpe ratio of the original
- 14:21backtest is below the best 5%, but what
- 14:25is alarming to me is that not only this
- 14:28number has a lot of difference until the
- 14:30median number, but also the fact that
- 14:32the median itself is negative. So, it's
- 14:34not even positive. So, if this was the
- 14:37test that we were judging the strategy
- 14:39based on, which it should be, then I
- 14:41would say that it is not passing the
- 14:43Monte Carlo. So, the model kind of did
- 14:45something tricky, and I'm not sure if
- 14:47it's cool, but on the other hand, I did
- 14:49not ask it inside the prompt to not do
- 14:51this. I could have said, "Hey, stick to
- 14:53the inputs of the the default Monte
- 14:56Carlo values." And also, again, the bars
- 14:58we set for the model were pretty high,
- 15:00like higher than what I gave to other
- 15:02models. So, I'm not disappointed in it.
- 15:04Now, to be fair, all I was expecting
- 15:06from this strategy was a replacement for
- 15:09my manual trading, right? I said it
- 15:11before starting this whole process that
- 15:143 months isn't enough, and that we're
- 15:16going to come back to this once we have
- 15:18more historical data, which is exactly
- 15:20what this item of Jesse's road map is
- 15:23promising to do. But, before we move on,
- 15:26let's actually take a look at the code
- 15:28that the agent wrote, and also the
- 15:30trades that it took. So, let me ask it
- 15:32to add charts to the strategy and run
- 15:37the backtest again. So, once it does
- 15:40that, I will be able to show you the
- 15:42exact trades that the strategy took.
- 15:44Now, we can do it right now, but you see
- 15:47this is a naked chart, so we don't have
- 15:50any indicators on it, and it's not super
- 15:52helpful because we won't be able to know
- 15:54why exactly the model to decide, for
- 15:57example, to go long here. So, we would
- 16:00have no idea here. So, that's one
- 16:02problem, and let's see if we can fix it.
- 16:06Now, while this is going, let's go back
- 16:08and take a look at the strategies code.
- 16:10So, here, if I click on the strategy
- 16:12snapshot, we can see the exact code that
- 16:14Jesse loaded in order to execute the
- 16:17backtest, which by the way, once I
- 16:18upload the code of the strategy on
- 16:20Jesse's strategy page, which is where
- 16:23you can see the results of the backtest
- 16:25for other trading periods, symbols, and
- 16:28time frames. So, once I do that, you
- 16:31will be able to download the code of the
- 16:32strategy, and this should be done by the
- 16:34time you're watching this video. So,
- 16:35when you do, remember that the prompt
- 16:39that I wrote for this is going to be
- 16:42included in the comment section. So,
- 16:44remember that. Anyways, moving on. So,
- 16:46it defined the hyper parameters here
- 16:48right at the beginning, and we can see
- 16:50defined the BB period, which stands for
- 16:52Bollinger Bands period, and then the
- 16:54Bollinger Band deviation, the ATR
- 16:56multiplier. So, these are the values
- 16:58that it is using. So, it did not
- 17:00differentiate between the upper band
- 17:02deviation and the lower band deviation,
- 17:04and we just have one ATR multiplier and
- 17:07the period. Now, I generally say the
- 17:09less number of hyper parameters for the
- 17:12strategy, that is actually better
- 17:14because the strategy is going to be less
- 17:16likely to be overfit. So, that's a good
- 17:19sign. Here's how I define the Bollinger
- 17:21Bands. So, simply return
- 17:23ta.bollingerbands
- 17:25and then it's passing the current
- 17:26candles. The period is defined like this
- 17:29in order to pass the period number. And
- 17:31then for both the upper deviation and
- 17:34lower deviation, it is using this value.
- 17:36And the default values are the ones that
- 17:38are actually loaded. So, here we have
- 17:41the period set to 40, which if I'm not
- 17:43mistaken by default it's is 20 for the
- 17:46Bollinger Bands. And the deviation is
- 17:482.45, which by default I think is two.
- 17:51And the ATR multiplier. Now, let's see
- 17:54how it used this. All right, it's been
- 17:56used here for setting the stop price.
- 17:58So, we're saying the stop price is going
- 18:00to be the current price minus the anchor
- 18:03ATR, so the ATR basically on the anchor
- 18:07time frame candle, which in this case
- 18:08was the hourly, multiplied by a certain
- 18:11ATR multiplier. So, pretty textbook.
- 18:15Then we used the risk to quality utility
- 18:18function of JC to define that 3% risk
- 18:21per each trade. So, we're passing the
- 18:23current available margin, the number
- 18:25three for 3%, the current price, which
- 18:28is going to be the entry price of the
- 18:29strategy, the stop price, and then we
- 18:32set the fees to what it is on that
- 18:34exchange. So, that said, then it is
- 18:35submitting the buy order, the stop loss,
- 18:38and take profit. And the take profit, by
- 18:39the way, the price of it is going to be
- 18:41the middle band. Now, I'm going to show
- 18:42you this in a second once we can take a
- 18:45look at the interactive charts. But
- 18:47anyways, moving on, the entry rule of
- 18:49the strategy is simply whenever the
- 18:51current closing price, or the current
- 18:53price, it's basically the same thing,
- 18:55whenever it goes below the lower band of
- 18:57the current Bollinger Band indicator, we
- 19:00want to go long. That's it. And whenever
- 19:02it goes above the upper band, we want to
- 19:04go short. And this is typical in a mean
- 19:06reversion strategy, right? Whenever it
- 19:09goes too far from the mean, we want to
- 19:11bet that the price is going to go back
- 19:14to the mean. So, that's the whole point
- 19:15of a mean reversion strategy. If this
- 19:18was trend following, we would have
- 19:19wanted to do the opposite. Now, for a
- 19:21short position, it did exactly the
- 19:23opposite of a long position, and that's
- 19:27basically it. We're also saying that
- 19:28whenever a candle closes, which in Jesse
- 19:30we use the update position built-in
- 19:33method, we're saying that if it is a
- 19:36long position and the current closing
- 19:38price is above the middle band, you want
- 19:40to liquidate the position. Now, this
- 19:41wasn't really needed because we already
- 19:44submitted the take profit here. So, once
- 19:46the price reaches this, it's going to
- 19:48get closed automatically. So, this block
- 19:50could have been removed. We don't really
- 19:51need it. And so is the case for this
- 19:54one. So, the should cancel entry method
- 19:56in Jesse basically says, do we need to
- 19:59cancel the current entry orders and try
- 20:01again? But because inside the go long
- 20:04and go short, we're using the current
- 20:06price for opening the position,
- 20:08basically we're using a market order
- 20:10here, then this is unnecessary, and this
- 20:12also could have been removed. Anyway, so
- 20:14this strategy is overall pretty simple,
- 20:16which is actually a good thing because
- 20:19the simpler the strategy is, usually it
- 20:21plays out even better. So, anyways,
- 20:23let's move on. Here's the new link for
- 20:26the strategy. So, let's open the trade
- 20:28chart, and as you can see, now we have
- 20:31actual indicator values. Now, this one
- 20:33is the ATR on the anchor time frame,
- 20:35which is the hourly. We don't really
- 20:37need it right now because it's just used
- 20:39for setting the stop price. So, I'm
- 20:40going to toggle this. Now, let's take a
- 20:42look at some of the trades. Starting
- 20:44with the losing one, actually. So, let's
- 20:46scroll down. So, let's zoom in a little
- 20:48bit. All right, so here it is. Here's
- 20:51where it's went long, and this is where
- 20:54it closed it. So, this was a buy order
- 20:57and a sell order. And it should have
- 20:59been a buy order, so it is correct
- 21:01because the price closed below the lower
- 21:04band of the Bollinger band, right? So,
- 21:06this was supposed to be a buy, but the
- 21:08price didn't go back to the mean, it
- 21:10went down. So, that's why it's a loss.
- 21:12So, moving on with this one, we can see
- 21:14again the price closed below the lower
- 21:17band, so it went long. And here, the
- 21:19price went back to the middle band, so
- 21:21that's why it took a profit here.
- 21:23Looking at another one, all right, let's
- 21:25zoom in. So, again, it closed below the
- 21:28lower band, and then it went back to the
- 21:30mean. Now, usually in my strategies, I
- 21:33would set some sort of filter to not
- 21:36take these trades, because this is
- 21:38basically a squeeze moment of the
- 21:40Bollinger Band. So, the price is not in
- 21:43any kind of range anymore, and I usually
- 21:46want to avoid taking trades here. So,
- 21:48this isn't really a good sign, because
- 21:49even considering the trading fees, it
- 21:51may not even be worth it. But anyways,
- 21:53let's move on to one of the big ones,
- 21:55actually. So, let's sort this based on
- 21:58best first. So, let's take a look at
- 22:00this. All right, we already did. Let's
- 22:02take another one. All right, so here,
- 22:03the price actually closed above the
- 22:06upper band, so we went short, and then
- 22:08it reached the mean. So, again, another
- 22:11case of a mean reversion strategy. All
- 22:13right, so this is why these indicator
- 22:15values are pretty useful, because if it
- 22:18wasn't behaving exactly the way I
- 22:19wanted, I could have just identified and
- 22:22fixed it. Or, in this case, for example,
- 22:24that I said because this is a squeeze
- 22:25moment, I don't want to take trades
- 22:27during this. So, this is something I
- 22:29want to avoid, and it can simply be done
- 22:32by using um an indicator such as the
- 22:35Bollinger Band width, which basically
- 22:37tells us this exact thing, that you
- 22:39know, the Bollinger Band is not too big
- 22:41anymore, so it's pretty tight. So, we
- 22:44could use that as a filter. And because
- 22:47I am seeing this visually, it is very
- 22:49easy for me to identify. But if I
- 22:51didn't, if I just read the numbers for
- 22:53the trades, I could not have done this.
- 22:55Before I leave you guys, I want to
- 22:56mention two things. First of all, if you
- 22:58follow me on my profile on Jesse's
- 23:00website, you will be notified whenever I
- 23:03submit a strategies like this one. So,
- 23:05that's pretty helpful. And second, if
- 23:07you haven't already, make sure to open
- 23:09the road map page of Jesse, which is
- 23:11simply at jesse.trade/roadmap,
- 23:13and vote on these features. So, let me
- 23:15know what you guys want me to build
- 23:17next. If you enjoyed the video, please
- 23:19give us a like and let me know what you
- 23:21think in the comment section. And don't
- 23:22forget to subscribe to the channel if
- 23:24you haven't already, because I publish
- 23:26videos just like this one all the time.
- 23:28Thank you so much for watching. I'll see
- 23:29you in the next one.
About this transcript
This page contains the full transcript of GLM 5.3 + MCP: Mean Reversion Crude Oil strategy with a 2.93 Sharpe by Algo-trading with Saleh, generated from the public captions YouTube serves with the video. The transcript has 4,596 words across 622 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.