GPT-5 tested: Is it good for algo trading strategies? (surprising results!) — Transcript
Full transcript
- 0:00Hey guys, so OpenAI just released GPT5.
- 0:04Now, I've been waiting for this model
- 0:05for more than a year. But as always,
- 0:07what we care about on this channel is
- 0:09the performance of these models for algo
- 0:11trading, specifically for writing
- 0:13strategies in Python, debugging, and
- 0:15whether or not these models have some
- 0:17actual trading knowledge to help us
- 0:19improve the result of our strategies.
- 0:21So, in this video, we're going to test
- 0:22this model. If that sounds good, let's
- 0:24get right into it. All right. So, it's
- 0:26been just a few minutes since they
- 0:28released the model and this blog post.
- 0:30And according to the benchmark they are
- 0:32releasing here, this model is beating
- 0:34even the O3 model which was supposed to
- 0:37be really good. And on the Ader Polyglot
- 0:40benchmark, you can see that it is
- 0:42scoring 88%. That is absolutely crazy.
- 0:45So, if I'm not mistaken, this is even
- 0:47beating Claude Opus. And the price of
- 0:49this model is significantly cheaper than
- 0:51Claude. So if it is as useful as the
- 0:53benchmarks are claiming here, then it's
- 0:56going to be awesome. So let's get to
- 0:58testing it. Now for this video, I'm
- 1:00going to use GSGPT, which is the
- 1:02cloud-based service specifically made
- 1:04for algo trading in Python. So it gives
- 1:06us access to these models such as GPT5
- 1:09or any other models, but it has some
- 1:11instructions for algo trading
- 1:12specifically. Signing up on this service
- 1:14is completely free. But if you don't
- 1:16want to use this service, let's say you
- 1:18have some privacy concerns, or maybe you
- 1:20want to use the premium models, but you
- 1:22don't want to pay us anything, that is
- 1:23perfectly fine for that. Come and check
- 1:26out this video on my channel where I
- 1:28show you how you can self-host this
- 1:30service all by yourself. So all the
- 1:32instructions are open source, so you can
- 1:34make this all by yourself, but I'm going
- 1:36to use this GPT, which is just more
- 1:38convenient for me. Now, we're going to
- 1:39ask 10 questions from the model. So
- 1:41let's begin. Now, by the way, make sure
- 1:43the open AI GP5 is selected. We also
- 1:45added support for GP5 mini, right? Write
- 1:48a golden cross strategy that uses the 50
- 1:50and 100 moving averages. Close the
- 1:52position when the entry rule is no
- 1:53longer valid. All right. So, it did
- 1:56write it, but the formatting is a bit
- 2:00off. So, this is the first time I'm
- 2:02seeing this. All right. So, let's go to
- 2:04Jess's dashboard and create a new
- 2:06strategy. And I'm going to name it test
- 2:08GPT5.
- 2:11and paste the whole thing here. Now, the
- 2:13formatting is a bit off. I don't know
- 2:15why this happened. So, I'm going to fix
- 2:18this manually.
- 2:21All right. So, I believe this should
- 2:23work. Okay. So, let's give it a read.
- 2:24So, it defined a moving average with the
- 2:26syntax. SMA for an SMA with the period
- 2:31of 50. By the way, this should also be
- 2:33like this. It defined another one with
- 2:36the period of 100. It passed the current
- 2:38candles which is correct syntax in
- 2:40Jesse. It defined a property for trend
- 2:42return one if the moving average 50 is
- 2:45above 100 otherwise minus one for a
- 2:47downtrend. So that's perfect. The shoot
- 2:49function which is the in rule of the
- 2:51strategy is simply if the current trend
- 2:53is one and then in the golang which is
- 2:55where we do the position sizing it's
- 2:57first determining the quantity using the
- 2:59size to quantity utility function of
- 3:01Jesse. It is passing the entire balance
- 3:02and then the enterprise which is the
- 3:04current price. So this is correct. Then
- 3:06to submit the actual buy order is saying
- 3:07self buy equals quantity and then the
- 3:09current price. So this is going to
- 3:11execute the market order. It is now
- 3:13shorting which we didn't ask and it's
- 3:15also listening to this part where we
- 3:17said you know stop the position or trade
- 3:19if that condition is no longer valid. So
- 3:21in the update position which is called
- 3:24when we already have a open position and
- 3:25a new candle has closed. It is checking
- 3:27if the current trend is minus one or a
- 3:30downtrend then liquid the current
- 3:31position. So this is perfect. So let's
- 3:33go and run it. So let's change this into
- 3:37test GPT5 and this time frame symbol and
- 3:42period is fine. Let's also enable fast
- 3:45mode.
- 3:49There we go. So this is perfect. All
- 3:51right. Next, convert this pin script
- 3:52strategy into Python. All right. So for
- 3:54this part, I'm going to need a strategy.
- 3:56So on trading view, I will look up super
- 3:58trend strategy.
- 4:00And to get the source code of it, I will
- 4:03click here.
- 4:05go back and paste the whole thing.
- 4:09All right. So, by the way guys, uh the
- 4:12GPT5 couldn't get this process done. I
- 4:15don't know why. Maybe it's because they
- 4:16had just released the model and the API
- 4:18is heavy. I don't know. But I had to
- 4:20change the model from GPT5 into GPT5
- 4:23mini in order to for it to just go
- 4:25through. So, I mean, if this is going to
- 4:28be a pass, GPT5 should definitely be a
- 4:30pass, right? Because this is a smaller
- 4:32model. Now let's see if it works at all
- 4:43and it does. Okay, so this is really
- 4:45cool. Okay, so this is a pass. Now let's
- 4:48change it back into GP5 again. All
- 4:51right, next. Develop a mean diversion
- 4:53strategy using the Ballinger bands and
- 4:55the RSI with the seven period. All
- 4:57right, there we go. So let's copy
- 5:00the whole thing.
- 5:05update the code and run the back test
- 5:08again.
- 5:10There we go. So, this is a perfect pass.
- 5:12Now, by the way, let's take a look at
- 5:13the code. So, it defined the Ballinger
- 5:16bands with the syntax tinger bands and
- 5:18then it passed the current candles with
- 5:19a period of 20. It knows this is the
- 5:22default and it's also telling us about
- 5:23it in the comment. So, this is pretty
- 5:25cool. Next, it define the RSI 7 simply
- 5:30TA. RSI it passed the current candles
- 5:33and the second parameter which is the
- 5:35period is seven the ATR TATR the perfect
- 5:39syntax of JC framework then it defined
- 5:42the inter rules is saying if the current
- 5:43price is below the lower band of the
- 5:45Ballinger bands and the RSI 7 is below
- 5:4930 you should go long the opposite for
- 5:52short positions and as for position
- 5:53sizing is saying the entry is the
- 5:55current price the stop is the entry
- 5:58minus 2.5 times of the current ATR as
- 6:01for the quantity it's using the risk to
- 6:02quantity utility function is passing the
- 6:04current available margin 2% to risk per
- 6:07each trade entry price stop and then the
- 6:10current fees of the current exchange and
- 6:12then it's submitting the buy order. So
- 6:14it's doing the opposite for short
- 6:16position. So this is perfect typical
- 6:18strategy. Then it's saying once the
- 6:19position is open if it's a long position
- 6:21submit the stop loss and take profit for
- 6:23the quantity use the current positions
- 6:25quantity and for the price use the entry
- 6:28price of the current position minus 2.5
- 6:30times the ATR and for take profit you
- 6:33want to use the middle band of the
- 6:35Ballinger band. So this is a perfect 101
- 6:39mean division strategy in Python. As for
- 6:41update position, if it's a long position
- 6:43and the current price is above middle
- 6:45band or the RSI is above 50, we want to
- 6:47liquidate the position. And the opposite
- 6:50if it's a short position, right? So,
- 6:53perfect. It also defined some values for
- 6:56the chart so we can debug the strategy
- 6:59easier. So, this seems perfect. Now, it
- 7:02was a pass. So, let's go and give it
- 7:05perfect 10. Next, write a strategy that
- 7:07uses Fibonacci retracement levels for
- 7:09entry and exit points. All right, so
- 7:11again, it failed and I'm guessing it's
- 7:14because the API is under a lot of load
- 7:17right now. So again, I'm trying with
- 7:19GPT5 mini because I believe this model
- 7:22is also really good. And you know, if
- 7:25this model gets it right, then we know
- 7:27GP5 will definitely get it right. Now,
- 7:30another interesting thing is that the
- 7:32model is super fast. like I haven't seen
- 7:35anything this fast.
- 7:40All right. So let's paste it. Now it
- 7:42defined the hyperparameter. So it is
- 7:44assuming that we want to do
- 7:45optimization. That's fine. It defined
- 7:47the highs as the current candles and
- 7:50then it is selecting a certain number of
- 7:52them. So it defined a look back and the
- 7:55default value for it is 100. That makes
- 7:57perfect sense. And then it is select the
- 7:59high values of the current candles. So
- 8:01this is the correct syntax. and index in
- 8:04Jesse for low it is four and then swing
- 8:07high is the max of these max values
- 8:10swing low is the low of these I mean the
- 8:13min of these low values the range is
- 8:16swing high minus swing low if swing high
- 8:19is bigger than swing low otherwise zero
- 8:22okay so I guess this makes sense now
- 8:24here's the important part it defined the
- 8:26fib levels as range equals self range h
- 8:29equals self swing high l equals swing
- 8:32low and then the magical numbers of
- 8:35Fibonacci. So this is also really
- 8:38interesting syntax how it is simply
- 8:40returning a dictionary and then it's
- 8:42saying high minus low multiplied by
- 8:44these numbers. So this is very beautiful
- 8:48and easy to read math. Then you define
- 8:50two moving averages with periods of fast
- 8:52and slow. So we can find these values
- 8:55here. So 50 and 200. Then define the ATR
- 9:00the trend. So it's using the moving
- 9:03averages for the trend and then it's
- 9:04getting the nearest fib and in the shoot
- 9:07we're saying if the current trend is not
- 9:10one return false. So okay I didn't have
- 9:13to do this. I don't usually do it like
- 9:15this. It could just simply put it here
- 9:17but anyways. So this is perfectly fine.
- 9:19And then it's saying if the current
- 9:21price is below the current level plus to
- 9:26which is the entry tolerance and this.
- 9:30Okay guys, so this is really beautiful.
- 9:33It's already prepared for optimization
- 9:35and it also makes sense. So I think this
- 9:37is the best that I've seen so far even
- 9:39though this is GPT mini. So yeah, this
- 9:44is really good. So let's run it.
- 9:48and it goes through and it's perfect. I
- 9:51mean, it's not even performing that bad
- 9:53like because you know with these
- 9:55strategies, the raw version of them
- 9:58because they take so many trades, they
- 10:00lose a lot of money in these type of
- 10:03test, but this one isn't losing that
- 10:05much and I consider this a good result.
- 10:07All right, that's a perfect 10. Next,
- 10:09update my code to display the values of
- 10:11important indicators of my strategy in
- 10:13back test for debugging purposes. All
- 10:14right. So, for this one, we're going to
- 10:16need a strategy to give it. And I'm
- 10:18selecting one from our website. I'm
- 10:20copying the code and
- 10:24pasting it here. And I will also remove
- 10:27this part because this is actually what
- 10:29we expect the model to give us. Now,
- 10:32let's give it another try with GPT5.
- 10:39And it didn't work again. So let's try
- 10:42with GPT5 mini again.
- 10:46All right. So let's copy it.
- 10:53Update the code and let's give it a
- 10:55read.
- 10:56So it defined the after method just like
- 11:00we asked it to do. It put it inside a
- 11:03try catch block which is good practice
- 11:06actually. It is using addline to candle
- 11:09charts method of Jesse. It's giving it
- 11:12the name of the TMA indicator once for
- 11:15TMA 10 and then TMA 80. So this is
- 11:17great. It defined
- 11:19two more times for TMA in the forest
- 11:22time frame. Then it is defining extra
- 11:26line charts for ADX and CMO and it's
- 11:30putting both of them inside the same
- 11:32chart. So this actually makes perfect
- 11:34sense because both of them have values
- 11:36from 0 to 100 and then it defined the
- 11:39threshold lines of these indicators. So
- 11:42this is very beautiful guys. It's also
- 11:44doing some logging here. Now I didn't
- 11:47ask it to do that but maybe because we
- 11:49mentioned debugging it also added this.
- 11:51So this is pretty beautiful. So let's
- 11:53give it tries to see if it runs well.
- 11:56Now I should have enabled the generate
- 11:59interactive chart. So let's give it one
- 12:01more go
- 12:04now. There we go. So we can see the temo
- 12:07lines.
- 12:09They are beautiful and they make sense.
- 12:12And here we can see the values for ADX
- 12:17and also the CMO. Now this green isn't
- 12:22really visible on the dark mode. Now we
- 12:24could also specifically ask for a
- 12:26certain color when we define it with
- 12:28that function. Otherwise, Jesse will
- 12:30just randomly assign a color to it. So,
- 12:33don't worry about this much. But this
- 12:35seems perfect. By the way, in my
- 12:36previous test, I've seen many models not
- 12:39being able to do a great job with this
- 12:41question. So, the fact that GPT5 mini
- 12:44model is doing a perfect job is really
- 12:47awesome. All right. Next, write a trend
- 12:49following strategy that uses 15 minutes
- 12:51time frame for entry and 4 hours time
- 12:53frame for confirmation. I believe GPT5
- 12:57mini should also nail this one. So, I
- 12:59don't think we even need the bigger
- 13:00model. So, in fact, this model seems to
- 13:03be so good that I'm going to set this as
- 13:06a default model for new users because
- 13:08not only is cheap, it's also pretty
- 13:10great and really fast.
- 13:13All right, so let's copy the whole
- 13:15thing,
- 13:21update our code. And by the way, I've
- 13:23seen this before. Sometimes it adds an
- 13:26extra py here which breaks the
- 13:29execution. So let's remove that one. All
- 13:31right. So it defined the big candles as
- 13:33a separate property using the get
- 13:36candles method of Jesse passing the
- 13:38current exchange symbol and 4 hours time
- 13:40frame which is what we ask for. It
- 13:42defined it like this so that later it
- 13:44can use it twice. So that makes perfect
- 13:46sense. It already prepared the strategy
- 13:48for optimization as well. And then it
- 13:50defined an ADX filter saying that the
- 13:54current ADX must be above the threshold.
- 13:57Now let's see what's the value for it.
- 14:00So by default it is 25. Okay. And next
- 14:04it defined the in rule of the strategy
- 14:07as the big EMA short must be above big
- 14:10EMA long. So we're waiting for a
- 14:13crossover basically. And then the EMA
- 14:15short must also be above EMA long and
- 14:18ADX must be okay. So this okay word that
- 14:21added at the end of it kind of clarifies
- 14:24that this is a filter and I actually
- 14:25like that. So everything else seems
- 14:28fine. Let's go and give it a test. And
- 14:32it runs perfectly. So again this is a
- 14:34perfect 10. Now no model so far had
- 14:38gotten a perfect 10 score on the first
- 14:40six questions. So, so far this is
- 14:43beating everything. All right. Next,
- 14:44here's the quote for my trend following
- 14:46strategy in the 15 minutes time frame.
- 14:47The strategy is losing money because it
- 14:49is taking too many trades and there are
- 14:52too many false breakouts during the
- 14:53ranging markets. Please improve the
- 14:55strategy. So, we're talking about this
- 14:56same strategy that he just wrote for us.
- 14:58You see, it's losing money. Now, by the
- 15:00way, I didn't execute it on the 15
- 15:02minutes. So, let's do this. Let's also
- 15:06disable the charts so that it would go a
- 15:08little bit faster.
- 15:11All right. So, you see it's losing a lot
- 15:12of money. Why? Because it's taking too
- 15:14many trades. So, 561,
- 15:17which is too much because we're paying a
- 15:19lot of money in trading fees. So, if we
- 15:21add this fees into here, we will end up
- 15:24profitable, right? But we are going to
- 15:26have trading fees in actual trading. So,
- 15:28we need some filters to only take the
- 15:30good trades to prevent false breakouts.
- 15:33Right? So with this question, what I
- 15:35want to test is to see if the model has
- 15:37some actual trading knowledge to know
- 15:39about this to, you know, what to do in
- 15:41these type of situations. So let's go
- 15:43back and copy this code. And I'm going
- 15:46to paste it here.
- 15:50All right, there we go. So let's copy
- 15:51this. Go back, paste it again, and
- 15:54remove this extra py.
- 15:57And let's take a look.
- 15:59So this is a should our entry rule. So
- 16:02it defined a couple of filters. So one
- 16:05is recent trend gap. Okay. So let's see
- 16:08what this is. All right. So it's
- 16:10checking if the current index minus the
- 16:12last 30 index is bigger than a certain
- 16:15number. So it's basically checking to
- 16:16see some time has passed since our last
- 16:19trade. So this makes perfect sense
- 16:20because you know sometimes especially in
- 16:22trend following strategies we try to
- 16:24escal a certain trend and then and we do
- 16:27this a couple of times but sometimes you
- 16:29know maybe after two or three times that
- 16:32trend is about to finish right so it's a
- 16:34good idea to say that okay if you took
- 16:37already two trades very fast then don't
- 16:40take a trade for at least 10 more
- 16:42candles so I've seen this in practice so
- 16:45this is great it also define another
- 16:47filter called breakout confirmed med
- 16:49long. So it's checking to see if the ATR
- 16:52multiplied by a certain number plus the
- 16:54current donin's upper band is below the
- 16:58price. So so to put it simply we're
- 17:00using the donin channel and we want to
- 17:02make sure that the current price has
- 17:04broken above that. Next it did the
- 17:06opposite for short trades and then we
- 17:10also have one volatility
- 17:13filter. So let's see how is this one. So
- 17:16it defined the BBW which is Ballinger
- 17:18bands weight and it and it needs its
- 17:20value to be above a certain value. So
- 17:22this is also really good because when we
- 17:23are in a range market the value for the
- 17:26Ballinger bands width is tends to be
- 17:29low. So this is also a great one. And
- 17:32the next one is ADX which is simply if
- 17:35the ADX is bigger than its threshold.
- 17:37All right. So it defined two ADX for
- 17:40both the current trading time frame and
- 17:41the bigger time frame. So this is really
- 17:44great. All right. So, this is perfect.
- 17:45Even if it doesn't run, I'm going to
- 17:47give it a good score, but I believe it
- 17:50should. Okay, I think I forgot to save
- 17:52the code. All right, so let's save it
- 17:55this time. And go back and run it again.
- 18:01There we go. So, now it only took nine
- 18:03trades instead of that many. And it's
- 18:05not losing as much. The draw down is
- 18:08also pretty good. Okay, so it's not
- 18:10profitable, but it didn't take as many
- 18:12trades. And I really like the filters
- 18:13that you define. Okay, so this is
- 18:15another perfect 10. And guys, this is
- 18:17GPT5 mini, not the bigger model. All
- 18:19right, next. Define a strategy that
- 18:21combines the Williams percentage or MACD
- 18:24and Ballinger bands.
- 18:26Now, considering what it did with the
- 18:28previous questions, I think this is a
- 18:30very easy one for this model. And you
- 18:32see how it just appeared. So, it is
- 18:35really fast. So, apparently, it's a
- 18:37thinking model. So it does some
- 18:39reasoning and then it outputs the result
- 18:41almost instantly. So that's pretty
- 18:43helpful. Okay. So let's copy it.
- 18:50Okay. So let's paste it. It defined the
- 18:52Williams R with this syntax which is
- 18:55correct. The MAC is correct. Ballinger
- 18:57bands the ATR and for the entry rules
- 19:00it's getting the upper middle and lower
- 19:02band from the current Ballinger bands.
- 19:05So this is also correct. And then it's
- 19:06checking if the current closing price is
- 19:09below the lower band and the Williams R
- 19:11is is below a certain threshold and the
- 19:14MAC H is above zero. Okay, so this seems
- 19:18perfect. Let's go back and give it a
- 19:22try.
- 19:24And there we go. Okay, so this is again
- 19:27a perfect 10. Now it's still it is
- 19:29beating all the other models so far.
- 19:31Right. Next, write the entry functions
- 19:33of the strategy for me in a way that it
- 19:35should use two limit orders for opening
- 19:37the position and it should only risk 2%
- 19:39of capital per trade. So, I want to see
- 19:41whether or not it will just give me the
- 19:43functions, not the whole strategy
- 19:44because sometimes you need one specific
- 19:46function for your strategy. You want to
- 19:48copy and paste it and use it very
- 19:50quickly. So, a model which prints out
- 19:53extra stuff isn't really useful in these
- 19:55type of cases. And also I want to see if
- 19:57it is able to use the correct syntax for
- 20:00opening the position using multiple
- 20:02orders. So not just one market order
- 20:04like all the previous questions. All
- 20:05right. So it did give it to us but it's
- 20:08not pretty. The formatting is incorrect.
- 20:10So let's ask it to fix it.
- 20:19All right. So let's see if it will fix
- 20:21it. Okay. It didn't. So, this isn't
- 20:23great because it's going to be a bit
- 20:25hard for me. Now, I don't know why this
- 20:27is happening, but here's the thing. This
- 20:29might be just on our website. So, I'm
- 20:31not sure if I should subtract points
- 20:33from the model because of this. All
- 20:35right, but just in case, let's just copy
- 20:37this whole thing. Go to GPT and I will
- 20:40simply ask it to fix the formatting,
- 20:44please. And I didn't even write it
- 20:47correctly. And let's see what it will
- 20:49give me. Okay, so this is an easy task
- 20:51for JBT and you know hard for humans to
- 20:54manually fix something.
- 20:56Okay, so it's defining the current ATR.
- 21:01It defined one entry and two and it's
- 21:04using the ATR for setting the price and
- 21:07then it defined the stop price. Okay, so
- 21:09this is all good. It is using risk to
- 21:11quantity utility function of Jesse. So
- 21:13this is the correct syntax for risking
- 21:152% per each trade on with Jesse. So it's
- 21:19it's even defining the precision which
- 21:21usually the other models didn't. They
- 21:23just went with the default. Now the
- 21:24default value is fine but this is
- 21:27interesting. Then it defined the two
- 21:30quantities and it's also ensuring the
- 21:34quantities are bigger than zero. So this
- 21:37is also good practice but you know not
- 21:39necessarily at all. And at the end it is
- 21:41submitting both orders using this
- 21:43syntax. So instead of giving it just one
- 21:45tupil of values, it defined one list and
- 21:48inside it it defined two tupils. So
- 21:51first the quantity and then the price.
- 21:52So this is perfect and it did actually
- 21:54just give us the functions. So I'm going
- 21:56to give it a pass.
- 22:00All right. So last question. Write a
- 22:01press rating strategy for ETH and BT.
- 22:03Now because this is a tough one, I want
- 22:05to give GPT5 another try. Okay. So it
- 22:08fell again. Now again guys, by the time
- 22:11you're watching this video, this issue
- 22:13has probably been fixed. So don't worry
- 22:16about it much. But I'm going to try it
- 22:18with GPT5 Mini because so far it was
- 22:20able to solve all the questions and it
- 22:23got a perfect 10 for all of them. So
- 22:25maybe it will get this one right too.
- 22:27Now before I continue, I got to say this
- 22:29is a tough one because it's a pair
- 22:31threading strategy and the model is
- 22:33supposed to define two classes. The
- 22:35first class is the one that has all the
- 22:37trading logic in it. And the second one
- 22:40is simply follower class because it
- 22:42needs to execute the decisions that the
- 22:45master strategy class has made for it.
- 22:47And the code of it is also a bit
- 22:49complex. So if you're not familiar with
- 22:52pair trading, go ahead and watch this
- 22:54previous video of mine called praing
- 22:56strategy from scratch in Python where I
- 22:58go through the basic math and coding
- 23:00behind this strategy. But anyways, let's
- 23:03copy and see if this will work.
- 23:09Okay, so I'm going to define a new
- 23:11strategy and call it test GPT
- 23:15pair one
- 23:20and this is the follower. So we don't
- 23:23need this one. Now this seems perfect.
- 23:26It define hyperparameters. Okay, so this
- 23:28might be an issue
- 23:31because you see when we use multiple
- 23:33trading routes, we don't do optimization
- 23:35on it. So I don't know if this will
- 23:37work, but it's not really the model's
- 23:39fault, I guess. Let's make sure this is
- 23:41saved. And then define the second one.
- 23:44Test GPT pair 2. Paste the whole thing.
- 23:51And this time I only want this second
- 23:54class. So let's res it. And this also
- 23:59seems fine to me. Okay. So let's run it.
- 24:05The first one is BTC. The second one is
- 24:08ETH. And let's change this to be hourly.
- 24:14Test
- 24:17GPT pair one
- 24:20and test GPT pair two.
- 24:24All right. And we also need to disable
- 24:26the fast mode because we're trading
- 24:28multiple trading routes.
- 24:35There we go. So, yeah, it works. Now,
- 24:38it's losing a lot of money. It doesn't
- 24:39matter because it took so many trades.
- 24:41We're paying a lot in trading fees,
- 24:42which is also a typical issue with the
- 24:44pair trading strategy. And that wasn't
- 24:46really what I was looking for. So the
- 24:48fact that it wrote it fine and it works
- 24:52means it will get a perfect 10. And look
- 24:54at this. It got a perfect 100 score. And
- 24:58let's not forget for most questions I
- 25:00use GPT5 mini. Not even the GP5 itself
- 25:04which was supposed to be the model we
- 25:06were going to test in this video. Right?
- 25:08So even the smaller model is nailing all
- 25:11the questions. And guys to give you a
- 25:13comparison the Grog for model when I ran
- 25:16the same test it scored 85. Now the
- 25:20second question wasn't running. So even
- 25:22if we gave it the perfect 10 here still
- 25:25the ending result would have been 95.
- 25:27And the cloth for set which to this day
- 25:30was my go-to coding model wasn't able to
- 25:33answer all the questions. Now back then
- 25:36we weren't using a numberbased system
- 25:38but still three of the questions were
- 25:40fail. So again, the GPT5 mini model
- 25:44according to my tests is beating not
- 25:47only Grock 4, the big model, and it's
- 25:50also beating cloth for Sonnet. This is
- 25:53crazy because GPT5 mini is extremely
- 25:55cheap and not only that right now I'm
- 25:58wondering if this model is so good, how
- 26:00good is GPT5 itself. So yes, according
- 26:03to these tests, we didn't even get to
- 26:04need a bigger model, but one day we
- 26:07will, right? So, let's say you are
- 26:08really stuck and GPT5 mini isn't able to
- 26:11help you. In that day, GPT5 is going to
- 26:14be even better. So, just wow. Like, I
- 26:16don't know what to say. Great job,
- 26:18OpenAI. You guys really surprised us,
- 26:20and I'm glad the wait was worth it. So,
- 26:22anyways, if you guys want me to make
- 26:24more videos like this, please like the
- 26:25video, post a comment, let me know your
- 26:27opinion, and subscribe to the channel.
- 26:29It will help me out a lot. Thank you so
- 26:31much for watching. I'll see you in the
- 26:33next one.
- 26:43[Music]
- 26:44[Applause]
- 26:47[Music]
About this transcript
This page contains the full transcript of GPT-5 tested: Is it good for algo trading strategies? (surprising results!) by Algo-trading with Saleh, generated from the public captions YouTube serves with the video. The transcript has 4,616 words across 643 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.