Brett Bot - Consistent Profits from 52 Week Lows

  • Thread starter Thread starter brettb
  • Start date Start date
  • Watchers Watchers 6

brettb

Junior member
Messages
47
Likes
8
I thought I'd start a trading diary for the ongoing development of Brett Bot. Even if you think my strategy is rubbish I have been generating masses of data relating to maximising trading profits.

I'm a software dev and this project started life as me wanting to make a financial information website. However, it's now evolved into a desktop backtesting tool for testing longer term chart patterns and strategies all the way back to 1971 (yes, really).

I added a stock chart component onto the app and put little markers for the 52 week highs and lows. Immediately I noticed something extremely interesting:

When a stock makes a 52 week low, it either (a) bounces, (b) drops a bit then recovers or (c) makes a new low.

Assuming you're looking at **quality** stocks then (a) happens a LOT, and if it doesn't then (b) will theoretically allow you to exit the trade at breakeven. (c) is rare for a top quality stock, and doesn't often happen outside of 2008/2020 extreme events.

The quality bit is **extremely** important. Please don't complain that this technique doesn't work then show me you've been trying to replicate it on some meme stock or microcap pharma stock 😱!!!

Example of a quality stock: Pepsico (PEP) has a 100% success rate in bouncing off the 52 low. Furthermore, it has a 100% success rate of ultimately doubling in price. Likewise, McDonalds has only once not rebounded 100%.

Even Ulta Beauty (ULTA) has a 100% success rate of bouncing 10%.

So anyway 100% is nice but we need to be maximising CAGR and for that I've found the sweetspot is looking for a fixed profit of around 10%.

Current backtested statistics of this technique January 2018 to present, buying the 503 stocks and ETFs in my backtest database:

Winning trades: 381 (51.0%) Breakeven trades: 279 (37.3%) Losing trades: 87 (11.6%) Total trades: 747.

I'm still learning probability but this technique never seems to lose money (provided you make enough trades). It does also avoid crashes that are preceeded by a blow-off top [because all your trades return a profit then there aren't any 52 week lows to buy, i.e. January 2020 blow-off top]. 2022 wasn't quite so good but the bot has been making incredible cash in 2024.

My real money account is up ~4% in 2 months.

I think the biggest drawback is that people simply don't believe this works. But I have analysed 20,000 52 week lows and it's a timeless classic strategy.

Recent big profits:
  • Baidu - 8.3% after 10 days (volatility).
  • Target - 8.2% after 8 days (volatility).
  • Qualsys - 26.3% after 5 days (Trump bump).
  • TT Electronics - 30.4% after 11 days (takeover).
  • Smiths Group - 11.1% after 5 days (good news).
  • Harvard Biosciences - 9% after 1 day (unknown).
 
  • Like
Reactions: THT
first, Welcome to the forum! I hope you take this feedback in a good way. Back-testing a new system is a good thing, but you shouldn't rely on that. If you're buying a round lot of a single stock like Pepsi @ the previous low of $155, that's some serious cash, especially when that could be replicated across 5, 10 or even 20 at one time. Do you take a position the moment it puts in a new 52 week low? How many positions in your real money account were at one time? losing trades of almost 12% is a good ratio, but were the loses large as compared to the winners returns?

Perhaps, you should consider posting the stocks you considered, AFTER you have taken a position for yourself. Have you checked the results of using options? Did you build your website, or is that a future project? TIA.
 
Hi

Definitely works - I've exploited something along those lines for years on and off
 
Website link in profile. I started building a site for ETFs, then realised stocks are better for this particular strategy. ETFs work great but there haven't been many good quality ones putting in 52 week lows this year. If the S&P 11 sector ETFs ever hit 52 week lows again then I'll be gorging on them... apart from maybe biotech they're fantastically profitable. The country ETFs are good too (I recently bought France - for those who think that's crazy I'll just show them the chart of "basket case" Argentina).

I'm still backtesting. Whatever I do I get decent profitability. I'm trying to refine it (I think this is adding "Edge"?) but if I start excluding potentially bad trades then I remove some of the best ones too. This morning I added a quality score - it doesn't buy stocks that have a patchy history in the 2 years prior to potential purchase date.

Win rate is consistently around 55% and losses 11%. So by my calculations it does work. From 2011-2024 the average loss was 22%. The average win is (I think) 9%. I'm still writing the code to calculate that. I aim for 7.5% but I've had a few takeover bids and stuff.

I have over 500 stocks and ETFs in my database. The US stocks have mostly been screened using FastGraphs so that they're only top quality (low debt, growing revenue) and they're mostly dividend payers. I also exclude anything that hasn't been around for at least 7 years.

I have two real money accounts: a fund account and my ISA. The fund account started off with UK stocks only but as they sell off I'm adding US stocks. I started 28th October and I am regularly hitting new highs in the account. What's also good is that the account itself only briefly became loss making.

Real money tests are so far for October's buys: 34% profitable so far. The others are mostly in the green but I try not to look at my portfolio too much. Biggest paper drawdown so far is -15%. So real money tests are generally in line with expectations. I would expect real money to beat my backtester because the real stocks universe has a lot more stocks to buy. My bot just does not have enough stocks to stay 100% invested.

I buy the first 52 week low and then if something dips 10% I'll buy the next. I don't do any charting to try and buy the absolute bottom. The only thing I am careful about is to buy as close to the low as possible. If it hits a low then rebounds I won't chase as much of the potential profit will have already gone.

I prioritise stocks I don't currently own. If there's a tonne of stuff hitting 52 week lows I'll prioritse the A listers first (i.e. Pepsi, McDonalds, Visa).

I have plenty of cash to deploy for this strategy so I don't really want options or anything else at this stage. Probably what would improve profitability are trailing stops, but I can't automate those in my account.

What I do like is it's a low risk strategy. The bot goes to cash in toppy markets (much like now). I'm OK with this as 2024 has been a tremendous year for the backtester (maybe the best year ever). Also cash pays decent rates right now. There could be some bias because I have mostly been adding stocks that have been putting in 52 week lows this year.

Going forward I'll focus on testing with real money. By the end of April 2025 I will have complete data for ~150 trades.

I could test other stuff, e.g. buying 52 week lows and selling at the 52 week highs. New 52 week highs are in theory also profitable but stop losses are definitely required. I've seen numerous examples where a stock will make a 52 week high then crash.

I also like the look of double bottoms. I heard they have a very high success rate. I had a few good wins on these earlier this year (with actual money).
 
  • Like
Reactions: THT
Website link in profile. I started building a site for ETFs, then realised stocks are better for this particular strategy. ETFs work great but there haven't been many good quality ones putting in 52 week lows this year. If the S&P 11 sector ETFs ever hit 52 week lows again then I'll be gorging on them... apart from maybe biotech they're fantastically profitable. The country ETFs are good too (I recently bought France - for those who think that's crazy I'll just show them the chart of "basket case" Argentina).

I'm still backtesting. Whatever I do I get decent profitability. I'm trying to refine it (I think this is adding "Edge"?) but if I start excluding potentially bad trades then I remove some of the best ones too. This morning I added a quality score - it doesn't buy stocks that have a patchy history in the 2 years prior to potential purchase date.

Win rate is consistently around 55% and losses 11%. So by my calculations it does work. From 2011-2024 the average loss was 22%. The average win is (I think) 9%. I'm still writing the code to calculate that. I aim for 7.5% but I've had a few takeover bids and stuff.

I have over 500 stocks and ETFs in my database. The US stocks have mostly been screened using FastGraphs so that they're only top quality (low debt, growing revenue) and they're mostly dividend payers. I also exclude anything that hasn't been around for at least 7 years.

I have two real money accounts: a fund account and my ISA. The fund account started off with UK stocks only but as they sell off I'm adding US stocks. I started 28th October and I am regularly hitting new highs in the account. What's also good is that the account itself only briefly became loss making.

Real money tests are so far for October's buys: 34% profitable so far. The others are mostly in the green but I try not to look at my portfolio too much. Biggest paper drawdown so far is -15%. So real money tests are generally in line with expectations. I would expect real money to beat my backtester because the real stocks universe has a lot more stocks to buy. My bot just does not have enough stocks to stay 100% invested.

I buy the first 52 week low and then if something dips 10% I'll buy the next. I don't do any charting to try and buy the absolute bottom. The only thing I am careful about is to buy as close to the low as possible. If it hits a low then rebounds I won't chase as much of the potential profit will have already gone.

I prioritise stocks I don't currently own. If there's a tonne of stuff hitting 52 week lows I'll prioritse the A listers first (i.e. Pepsi, McDonalds, Visa).

I have plenty of cash to deploy for this strategy so I don't really want options or anything else at this stage. Probably what would improve profitability are trailing stops, but I can't automate those in my account.

What I do like is it's a low risk strategy. The bot goes to cash in toppy markets (much like now). I'm OK with this as 2024 has been a tremendous year for the backtester (maybe the best year ever). Also cash pays decent rates right now. There could be some bias because I have mostly been adding stocks that have been putting in 52 week lows this year.

Going forward I'll focus on testing with real money. By the end of April 2025 I will have complete data for ~150 trades.

I could test other stuff, e.g. buying 52 week lows and selling at the 52 week highs. New 52 week highs are in theory also profitable but stop losses are definitely required. I've seen numerous examples where a stock will make a 52 week high then crash.

I also like the look of double bottoms. I heard they have a very high success rate. I had a few good wins on these earlier this year (with actual money).

Behind the scenes what is happening here is you are catching multiple sized cycle turns upwards, which all happen to converge at the same time/place

Double Bottom:
1415.JPG


Triple Bottom:
1414.JPG
 
I've improved the data collection so below is a chart of my backtesting bot's results 2018 - 2024. There may be some recency bias as I've primarily been adding stocks that have been making 52 week lows in the last couple of months. But I've also started adding in my large Excel spreadsheet of top tier US stocks screened through FastGraphs (for low debt, constant earnings and dividend growth). I've not owned many of them because they are almost never on sale (e.g. Chubb, Colgate-Palmolive).

With the new stocks the bot is outperforming the S&P. And it's doing it by buying lower risk US and UK stocks. It's also getting very close to outperforming the Nasdaq (but if it wasn't for NVDA I'd probably be consistently beating it 😀). The main issue I have is there are still long periods where it holds cash because there aren't enough 52 week lows and/or it takes a lot of profits.

I'm not sure if the win/loss ratio is related to any particular market conditions. Really all I need to be doing apparently is buying 52 week lows.

Back in the real world I bought Mondelez today. My backtester would assign this stock an A- rating. I bought it in my older ISA too as I want to ramp up the strategy and will start hoarding more of the top quality stocks that appear.

I failed to buy Footlocker - I'm annoyed about this one but it appears there was massive dip buying on the earnings crash. Did anyone buy this one at what would have been a great price?

I looked at LND and CHRD but bought neither.

I booked another profit - 8.4% from COTY after 27 days. My bot predicted it would take 21 days.

If anyone knows a better 52 week low scanner then let me know. I'm currently using this one:


Despite the URL it has US stocks too.

I will carry on testing as this seems a perfect lower risk, lower effort trading strategy for me.

Summary of this chart's results:

Winning trades: 380 (56.0%) Breakeven trades: 215 (31.7%) Losing trades: 84 (12.4%) Total trades: 679. Average loss: 22.2%.
Overall CAGR 16.66%


BrettBot-52WeekLowSwingTrader-V5.png
 
If you say you are looking for a fixed 10% return what are you looking at when you decide to exit early? And what do you do with losers?
 
The process:
  1. Buy stock as soon as 52 week low detected.
  2. Set limit sell order of 7.5 - 10% above the buy price depending on likely profitability. I also look for nearby fib retracement targets and support/resistance levels.
  3. Wait 48-64 days. for profit.
  4. If stock doesn't profit, adjust limit sell order to somewhere around original purchase price (again look for likely target levels).
  5. Wait 100 days.
  6. If it still hasn't sold, exit the trade.
Recent updates:
  • Sold Stellantis for 8.5% profit after 3 days.
  • Made 3 other sales yesterday (CARD, ADM, BF-B).
  • Bought a second tranche of Pets at Home (PETS). This is my worst performer but I want to see what happens if I buy a second trache of shares in a stock that's lost over 10% and made a new low.
  • Bought CPB. This isn't at a 52 week low but other lows (it might be a 6 monther) also look good for this strategy.
  • Bought TD (US listed version), CAL and NVEE.
  • Backtester performance is still increasing as I add more stocks. It's now losing more in downturns, but overall performance is up. If it wasn't for the AI bubble then it would be smashing the performance of the indexes.
My smaller account of mostly UK listed stocks briefly made a new all time high yesterday. The larger account fell 0.5% despite the profitable trades. The drop was largely due to the weaker dollar.
 
I've done some more analysis on how to improve performance. Although average loss is consistently around 22%, there are a few large 40 - 70% losses that need to be avoided.

I've now removed these stocks from the bot's buying. This is because I wouldn't have bought into them in real life:
  • Palantir (45.41% loss). Consistently overvalued according to FastGraphs and pays no dividend. I simply would not buy this stock irl.
  • StoneCo (68.54% loss). Overvalued according to FastGraphs until January 2023. I would not have bought irl at that time.
  • Stix Co (KETL). Obvious wfh bubble.
  • PAGS is another obvious bubble. It's only in my database as I bought it at today's super low valuation.
This shows that some kind of fundamental analysis is extremely important in minimising losses with this strategy.

In general anything that's come off an obvious overvaluation bubble is *high risk*. The stock very often just slides with no retracements.

It's better to buy quality. I maybe need to add in a summary function for each stock. I've had a manual trawl through the bot activity and it never seems to lose money on the highest quality stocks (e.g. EBAY, APPL, D). It does have a quality filter (based on whether previous 52 week lows were profitable and max drawdown). Once again I'll add that the bot has no "look forward" functionality - it can only access past stock data at any particular point in time.

The results of removing these 4 big losses is significant. It improves CAGR from 18.79% to 25.21%. I suspect instead of a huge loss the bot buys several winners and the loss is no longer made.

I should also add I didn't screen out all the big losers.

I've not bought anything irl today so far. We're getting toppy and I suspect a pullback is coming.
 
End of week update:
  • Added another Elevance Health (ELV). This was a position I opened before I started the 52 week strategy. This could be falling knife catching but ELV is one of those stocks you always regret not buying when it's been tossed out with the trash.
  • Added Smith & Wesson after profits crash. Ironically I only sold this a few days ago as I was clearing out the portfolio of anything not bought with this strategy. I thought this stock would be a poor performer but it has a solid record at bouncing. It's one of my favourites for trading too.
  • Added to Centene holding as I really need to reduce the cash pile a bit.
  • Added Serco Group (SRP).
  • PZC (soap people) and Dollar General (DG) sold for 8% profits. A lot of investors have been burned by DG but remember if you buy at the right price any stock is highly profitable.
The strategy just booked its 51st profitable trade. There's quite a bit of red in the portfolio but only a couple are down more than 16%. I'm starting to bag some dividends too.

VALE, DVN and OXY are back on the 52 week low list today but I'm kind of wary of adding to my existing positions as oil and materials can crash hard. I'll tag all my sample stocks with industry sector and see if this makes a difference to potential performance. VALE is a cash generating monster though.

My UK portfolio hit another all time high. The larger portfolio is down but probably mostly because of a weaker USD.
 
Aaargh, I'm going out of my mind testing this strategy.

I completed making a video to demonstrate my returns using this technique on the UK market. Then I realised I had 4 imported stocks with bad data in them. They were juicing the returns, so I had to scrap everything.

I've now reimported the data and returns are less thrilling. However:
  1. It largely beats the FTSE 100 and FTSE 250 from 2011 - present [excluding dividends]. There was a period of underperformance in 2013 - 2015.
  2. I just don't yet have nearly enough UK stocks. The bot is largely in cash throughout the time period. A CAGR of 6.91% is amazing for such a low risk portfolio though!
If I import a lot of UK stocks then I believe the strategy will be ragingly profitable, just as it is with the US market. Unfortunately the UK stocks involve importing spreadsheets from Yahoo, which is a hassle. US stocks are automated. I'll see if I can import the Yahoo data via an API.

I've been testing UK and US stocks with real money for 2 months now. The account with almost entirely UK stocks in it is starting to make some very good returns. The other account is less clear cut. I have other investments in there and the USD has been weak against GBP lately.

I've tried to get the strategy working with ETFs. In theory it should work. In practice it works but the returns are too low to be of much interest (~5.49% CAGR max).

And that's the interesting thing about this strategy. It's never not produced a profit, whatever I've been testing it with.

I've also done a lot of the work in splitting the stocks up into market sectors. That might make a difference.

One thing I've more or less confirmed is that it works best on value stocks. Growth stocks are problematic. What's even more interesting is it kind of detects whether a growth stock is becoming a value stock. Hence eBay and Apple both work well.

Stock quality makes a big difference. The A list stocks almost never lose. By A list I mean PepsiCo, McDonalds etc... the stocks that the big players will always buy the dip on.
 
Sir or Madam

Respectfully, your basic premise has a poor risk reward profile.

Most of my risk is intraday, while I do invest, that risk is based on the premise that
institutions are interested in "liquidations" leading to significant moves to the up (or downside)
depending on the regime. In this market the risk regime is obvious (to the upside).
So basically I am looking to periodically enter (only on liquidations on the hourly charts).
I have attached a chart showing the Monthly VWAP and a couple of liquidations. Its really very
simple and would reduce your downside (if you took the time to learn it).
The basic premise is called "Cooperative Signaling" and it is based on identifying the statistical skew
which shows (on any time frame) where high and low volume areas and tendencies exist.

The first chart shows the basic envelope and the liquidations. The second chart shows the developing skew
which is the relationship between the POC (point of control) and the VWAP median. As it changes from
symmetrical to positive, it "signals" (to other institutions using this method) the statistical tendency for
prices to move higher. transacting on this basis means that the "odds" of success increase significantly.

So my question would be "why put your money at risk when the odds are little better than a coin toss?"

There is a reason why on a daily basis, the large institutions rarely lose money. This (in my opinion)
is why.
 

Attachments

  • Monthly VWAP 2.PNG
    Monthly VWAP 2.PNG
    129.7 KB · Views: 29
  • Developing Skew Example.PNG
    Developing Skew Example.PNG
    139.7 KB · Views: 33
Last edited:
Hold on a minute Steven.

Bret has examples of past wins with percentages, if you really want to say your strategy is better you know he trades off 52 week lows so go through the charts and show how this VWAP strategy performs compared to his. Otherwise (in my opinion) all you have said in far too many words was "I trade differently and I think you should trade like me" I say things like that all the time, on my own journal, so I feel you. Bret is obviously working on his own system and as long as it is performing up to what he deems satisfactory who are you or anyone to say he should trade differently?

Maybe he doesn't want to trade hourly charts, or futures. At the very least you should start where he is if you think he should change his strategy.
 
Hello

Sorry my stylistic expression isn't to your taste. I will try to be more direct as follows

In this regime (refer to a weekly, or monthly chart of any instrument) buying the 52 week low
is problematic. Institutions can and do use this, however they have the ability to scale in
(repeatedly) and this person does not have institutional money with which to trade. I have
already seen this movie and for retail traders, it doesn't end well.

As regards the wish that he (or she) trade like me, that is probably not possible. Also if you take
a moment to think, I prefer that fewer persons trade like me (not more).

And finally, the more general comment is that persons who want to make this their profession
should consider that they need to find a method that correlates with what I call "cooperative signaling"
This way of trading works on any time frame, and for any instrument, AND because it requires analysis
of the longer time frames, it detects whether the risk environment is positive or negative on a given day.
As I have already mentioned, this is why the big institutions rarely lose.
 
Sorry, I should have said Blackrock funds were negative. That article is about the company and when you talk about a company assets does not mean its funds assets. Blackrock itself probably never loses money as a company, you can do that when you charge people to manage their money.

Their own website shows they have over 400 actively managed funds with negative returns since inception and I didn't even look into survivorship bias.

https://www.blackrock.com/ch/profes...asc&dataView=perfCum&style=44341&pageSize=100

My point was institutions lose money, so there are 400+ examples. So we can extrapolate that if one thing you claim is untrue the rest of your claims should be treated as such until verified with data. I'll give a more thorough response Wednesday on my journal, feel free to give me something to work with (I mean data) between now and then.
 
I don't really have an interest in your "detailed comment"

The bottom line is that a Delta 1 Trader at Goldman, Morgan, or any of the top tier
firms is going to be profitable about 90% of trading days. That is why their pay starts
at about 2m euro/year for an entry level position. They begin by operating an algorithmic
system assigned to them (they execute and manage) and move on from there. If they survive
they have the opportunity to move to discretionary systems and again they have to survive or
are moved out. Very Darwinian approach. I am unfamiliar with how Blackrock handles their
business., and so I simply looked up the data as shown in the previous post.

In a given year, fluctuations in the economy can (and do) affect the overall profitability of the firm
and you happen (what a coincidence) to choose 2022, which was a difficult time for many firms
and yet the citation indicates that they (Blackrock) made money trading, while other sources of income
declined. It would be interesting (for me) to know how they have done since then.

by all means, carry on as you were.
 
YouTube's algorithm is amazing. Last night it recommended this video:


This is *exactly* what I'm doing.

3 months ago I joined a well known YouTuber's paid service. I failed at copytrading. His strategy relies on a complex chart pattern and has a 1:8 risk/reward ratio. I just got stopped out of the trades I copied. The strategy doesn't seem to work as well as it did in the past. By contrast my strategy works better now than it ever did in the past.

My strategy has no stop loss so I won't get stopped out of trades. Eventually I do sell the losers, but they have a long chance to recover.

Today's small victory (these are important for trader psychology, as explained in the video): Liontrust Asset Management sold for 7.7% profit.

My real money porfolio is at another all time high. This strategy does work.

Updates to strategy:
  • For the first time ever my backtesting recorded a loss. That was when I started it in November 2019 to gauge the full impact of the March 2020 crash. Recovery was hampered by there being a general lack of 52 week lows later in 2020. But it did recover strongly - 2022 onwards were excellent.
  • The bot now seeks a 7.5% target profit for higher quality stocks. For lower quality stocks it seeks 5%. This has improved returns by 8.5% on my usual 2018-2024 testing period. Now we have winning trades: 432 (57.8%) breakeven trades: 236 (31.6%) losing trades: 79 (10.6%) Total trades: 747. Smaller profits = more wins (again this is explained in the video above).
  • I've tested various numbers but waiting 48 days for a profit then a futher 100 days to breakeven are the current optimum settings.
  • The most important factor is the number of trades. More trades = more profit. Fine tuning may work but nothing will work as well as simply doing more trades.
  • Irl I will put more money into trades of higher quality stocks. My research has shown that these have never not bounced off the 52 week low, and thus have a 100% success rate.
Finally thanks on the forum to those who mentioned Stooq - I've now added a Stooq data importer which will help a lot in gathering more backtesting data.

At some point I might switch to shorter timeframes (e.g. 52 day lows) but it would depend on whether I could find a scanner for these. 3/6 month lows might work too.
 
5 profits today including a monster win from Hershey. That was one of my pilot study stocks while I was in the early stages of building my system.

UK stocks are actually proving to be more successful than I originally thought. It could be the strategy works better in undervalued markets.

If anyone has any suggestions for other timeframes I could investigate then let me know. The main thing I need is a free scanner for US/UK markets. I don't really want to build my own scanner because then I'd have to constantly load in daily data.

I've found a 50 day high/low scanner on finviz so I might investigate these next.

My initial investigations suggest they could be profitable assuming there are the precautions I use in the 52 week low strategy. There are also many more of them. 52 week lows have completely dried up today, which is kind of a problem with the original strategy. All I bought was some BDX. On the other hand markets are overheating so maybe going to cash could be a good policy right now.
 
Back
Top