Hi, Shrewd!        Login  
Shrewd'm.com 
A merry & shrewd investing community
Best Of Atheist | Best Of | Favourites & Replies | All Boards | Post of the Week! | How To Invest
Search Atheist
Shrewd'm.com Merry shrewd investors
Best Of Atheist | Best Of | Favourites & Replies | All Boards | Post of the Week! | How To Invest
Search Atheist


Halls of Shrewd'm / Atheist Shrewds
Unthreaded | Threaded | Whole Thread (13) |
Post New
Author: lohill HONORARY
SHREWD
  😊 😞

Number: of 5385 
Subject: BCC Signals without GTR1
Date: 02/26/26 1:25 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 17
I recently finished my first attempt at replicating the BCC signals using my own methods rather than using the now defunct GTR1. I decided to compare my results with those of GTR1 starting with the most recent signal (20251128) from GTR1. While I was at it I also compared the BearCatcher signals that zeelotes has recently shared with us. I had his signals starting in 20250103 and going to that 20251128 date. The attached data shows the results of that comparison. (If it is too large to attach, I'll link you to my spreadsheet.)

To make a long story short, zeelotes signals match exactly with GTR1. My signals may be close but do not match GTR1. I suspect most of my problems are involved with calculation of the NewHigh-NewLow (NHNL) signal. In the spreadsheet, the first 7 columns of data are from downloaded GTR1 data where column 7 is the BCC signal. The next 5 columns of data are the signals from zeelotes where the second column is the signal. His data only shows the date and signals for the times when the signal makes a change so I had to align this dates with the GTR1 dates and filled in the signals between.

The remaining 15 columns are the results of all my calculations with the last of those being the BCC signal. I started by downloading dates and daily closing prices for the NASDAQ Composite Index (NASDAQCOM) from FRED. I only chose to download starting in 1990 even though the GTR1 data can go back much further. I wanted enough data to show some signals and figured that 1990 would do. As it is I still have more than 9100 records.

The signal itself is a decimal expression of the three previous columns SMA, NHNL and DBE. Each of those three columns can only be a 1 or a 0 and represents a binary digit where the actual signal is 1*SMA+2*NHNL+4*DBE.

Of the three signals that make up the final signal, the SMA and CBE are the easiest to calculate. The SMA200 is the Simple Moving Average of the previous 200 closing prices. (Add the 200 previous closing prices and divide by 200.) The SMAdiff column is simply the difference between the closing price and the SMA200 value. When that difference is negative put a 0 in the SMA column else put a 1 in the SMA column.

The DBE (Dying Bullish Euphoria) column is determined by looking at the previous 99 DBE values. If any of those have a value of 1 them, 1 is assigned to that date. If all 99 are 0 then you assign a 0 to that date.

The NHNL signal is the tricky one. This is how Robbie (GTR1) expresses it:
Create [PcntNHC252]: [100*[[Sum [[[Closing g-price; quote_lag=0 days]/[Highest closing g-price over 251 days; lag=1 days]] > 1 ? 1 : 0] at step4]/[StockCount]]]
Create [PcntNHC252WMA9]: [[Weighted Sum of [PcntNHC252] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]/[Weighted Sum of [1] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]]
Create [PcntNLC252]: [100*[[Sum [[[Closing g-price; quote_lag=0 days]/[Lowest closing g-price over 251 days; lag=1 days]] < 1 ? 1 : 0] at step4]/[StockCount]]]
Create [PcntNLC252WMA9]: [[Weighted Sum of [PcntNLC252] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]/[Weighted Sum of [1] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]]
Create [NHNLDiff]: [1*[PcntNHC252WMA9] - 1*[PcntNLC252WMA9]]


This is my interpretation of that. I causes me to add several new columns of data and requires multiple passes through the data to accomplish. The NH252flag is a 0 or a 1 depending on whether that current closing price is greater then the maximum of the previous 251 closing prices. If it is greater than all of them then put a value of 1 the NH251flag column for that date else put a 0 there. The NL251flag is similarly calculated. When the current closing price is less than the minimum closing price of the previous 251 prices the give it a 1 else give it a zero.

To get the number that goes into the NHpcnt column I first add the previous 251 NH251flags which are zeroes and ones to get a number which I divide by 251 and express as a percent (multiply it by 100). That number is placed in the NHpcnt column. Similarly, I sum the previous 251 NL251 flags, divide by 251 and then multiply by 100. The number goes into the NLpcnt column. For each of those percent numbers I calculate the weighted Moving Average over 9 days and fill in the NHWMA9 and NLWMA9 columns. I then find the difference in the NHWMA9 and NLWMA9 columns and put that number in the NHNLdiff column. Finally, depending on whether NHNLdiff is positive or negative, I put a 1 or a 0 in the NHNL column. This gives me everything I need to calculate the BCC signal.

Judging from the fact that many of my computed signals appear as a 7 when GTR1 shows a 5 would indicate to me that my NHNL signal is off since it contributes 2*NHNL to the final result. I would greatly appreciate any help that anyone might suggest.

Larry

The spreadsheet containing my data can be found here: https://www.dropbox.com/scl/fi/18g3jj866abo7jetbpg...
Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 5385 
Subject: Re: BCC Signals without GTR1
Date: 02/27/26 4:21 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 7
Larry wrote: I would greatly appreciate any help that anyone might suggest.

What you need to provide is the raw underlying data. That is:

1. The COUNT of New Highs in the Nasdaq Exchange
2. The COUNT of the New Lows in the Nasdaq Exchange

Daily.

With this it is relatively easy to do the rest. Your values are so far off that you are most likely not obtaining the underlying data correctly.

Let me illustrate from a point last year near to the peak. See how quickly the number of New Lows overwhelmed New Highs?

           ND                  OCO       
Date NH NL NH-NL NH NL NH-NL
1/27/2025 97 100 39.56 46 68 -6.38
1/28/2025 115 129 32.07 60 92 -9.73
1/29/2025 112 115 25.2 51 82 -13.96
1/30/2025 158 106 29.24 80 74 -10.69
1/31/2025 138 84 32.36 62 56 -8.4
2/3/2025 46 200 -6.67 24 149 -32.47
2/4/2025 105 105 -9.42 63 75 -30.49
2/5/2025 161 88 4.24 90 64 -20.51
2/6/2025 171 81 20.18 98 62 -9.49
2/7/2025 149 141 19.67 77 111 -13
2/10/2025 144 168 12.51 70 130 -21.44
2/11/2025 90 198 -11.22 51 159 -38.87
2/12/2025 99 196 -30.42 52 158 -54.18
2/13/2025 192 96 -7.71 94 72 -41.4
2/14/2025 233 72 27.07 88 50 -25.78
2/18/2025 226 96 48.64 92 67 -16.38
2/19/2025 155 106 51.13 77 81 -13.6
2/20/2025 109 131 39.96 46 96 -19.36
2/21/2025 121 136 32.67 57 110 -23.8
2/24/2025 57 220 -3.71 24 173 -47.02
2/25/2025 83 287 -45.2 33 221 -76.07
2/26/2025 89 189 -63.76 30 141 -87.93
2/27/2025 77 265 -99.84 32 198 -110.69
2/28/2025 86 340 -142.82 30 252 -140.47
3/3/2025 109 427 -189.38 42 336 -178.87
3/4/2025 79 575 -261.58 25 442 -234.78
3/5/2025 77 150 -237.07 27 120 -216.71
3/6/2025 50 143 -215.42 15 110 -198.09
3/7/2025 51 151 -193.44 12 124 -181.93
3/10/2025 51 275 -197.67 20 199 -180
3/11/2025 45 344 -216.44 12 268 -193.67
3/12/2025 28 198 -205 10 171 -185.11
3/13/2025 33 314 -216.16 10 251 -192.67
3/14/2025 44 158 -193.31 14 117 -172.2
3/17/2025 80 99 -156 22 69 -144.78
3/18/2025 54 135 -141.69 18 105 -133.58
3/19/2025 70 104 -117.8 20 80 -117.11
3/20/2025 58 98 -96.42 17 74 -100.82
3/21/2025 51 164 -90.98 15 134 -98.16
3/24/2025 47 84 -72.8 24 63 -80.82
3/25/2025 42 149 -74.44 23 113 -78.51
3/26/2025 43 197 -86.89 23 143 -83.78
3/27/2025 49 192 -99.96 20 137 -91.13
3/28/2025 65 344 -139.58 15 246 -120.98
3/31/2025 70 568 -217.22 23 413 -178.53
4/1/2025 63 411 -255.6 18 312 -210.16
4/2/2025 49 289 -265.4 18 221 -218.38
4/3/2025 87 669 -339.16 23 493 -276.76
4/4/2025 72 1156 -502.89 10 766 -384.53
4/7/2025 24 1249 -671.56 1 742 -473.38
4/8/2025 20 637 -693.78 7 395 -477.16

Print the post


Author: musselmant   😊 😞
Number: of 5385 
Subject: Re: BCC Signals without GTR1
Date: 02/27/26 5:19 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 6
For what its worth, simply using a 300 to 350 day SMA rule using SPY beat the 3-part one used here and its components.
Try that in your examples.
Print the post


Author: lohill HONORARY
SHREWD
  😊 😞

Number: of 5385 
Subject: Re: BCC Signals without GTR1
Date: 02/27/26 6:42 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 3
zeelotes wrote: What you need to provide is the raw underlying data. That is:

1. The COUNT of New Highs in the Nasdaq Exchange
2. The COUNT of the New Lows in the Nasdaq Exchange

Daily.

With this it is relatively easy to do the rest. Your values are so far off that you are most likely not obtaining the underlying data correctly.


I agree with what you say here but where do I go to get that underlying data? If it has not been systematically collected over time then you can't do what you suggest. I find it hard to believe that Robbie had that data and his formulas make it look like he calculated NewHighs and NewLows on the fly based on the current closing price as it related to the 251 previous closing prices. Is that not what he does here?

Create [PcntNHC252]: [100*[[Sum [[[Closing g-price; quote_lag=0 days]/[Highest closing g-price over 251 days; lag=1 days]] > 1 ? 1 : 0] at step4]/[StockCount]]]
Create [PcntNHC252WMA9]: [[Weighted Sum of [PcntNHC252] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]/[Weighted Sum of [1] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]]
Create [PcntNLC252]: [100*[[Sum [[[Closing g-price; quote_lag=0 days]/[Lowest closing g-price over 251 days; lag=1 days]] < 1 ? 1 : 0] at step4]/[StockCount]]]
Create [PcntNLC252WMA9]: [[Weighted Sum of [PcntNLC252] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]/[Weighted Sum of [1] over 9 days (daily weights=9,8,7,6,5,4,3,2,1); lag=0 days]]
Create [NHNLDiff]: [1*[PcntNHC252WMA9] - 1*[PcntNLC252WMA9]]


If you have any idea where I can get those raw NewHigh NewLow I would sure like to know?

Larry





Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 5385 
Subject: Re: BCC Signals without GTR1
Date: 02/27/26 7:13 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 5
Larry wrote: I find it hard to believe that Robbie had that data and his formulas make it look like he calculated NewHighs and NewLows on the fly based on the current closing price as it related to the 251 previous closing prices. Is that not what he does here?

I can 100% assure you that this is exactly what he is doing!

If you have any idea where I can get those raw NewHigh NewLow I would sure like to know?

I've posted previously multiple sources for this data. It is true you cannot obtain the history back to 1926, but you can obtain the values every day.

Here is an example of where the data can be obtained:

https://www.barrons.com/market-data/market-lab?mod...

Nasdaq
Daily 2/16/2026 2/17/2026 2/18/2026 2/19/2026 2/20/2026
Issues Traded ... 4,981 4,946 4,936 4,929
Advances ... 2,333 2,765 2,327 2,503
Declines ... 2,481 1,976 2,381 2,210
Unchanged ... 167 205 228 216
New Highs ... 144 171 91 183
New Lows ... 284 153 173 176
Blocks - primary ... 39,489 48,686 39,610 46,904
Total (000) ... 7,654,303 7,705,591 6,984,788 8,063,071


Print the post


Author: lohill HONORARY
SHREWD
  😊 😞

Number: of 5385 
Subject: Re: BCC Signals without GTR1
Date: 02/28/26 9:45 AM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 5
Thanks for the link zee. I have been able to use this link https://www.barchart.com/stocks/momentum to get the daily number of new highs and new lows and your link looks like it wlll give me the today's numbers as well as the 4 previous days. My problem is that I would like to have the previous forty years worth. You wouldn't care to share would you?

Larry
Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 75970 
Subject: Re: BCC Signals without GTR1
Date: 02/28/26 11:26 AM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 5
Larry asked: You wouldn't care to share would you?

I'd love to, but that would be breaking agreements.

You can easily purchase this data from Pinnacle.

https://pinnacledata2.com/
Print the post


Author: Ebbtide   😊 😞
Number: of 75970 
Subject: Re: BCC Signals without GTR1
Date: 03/01/26 12:06 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 6
I think this has been discussed before, but it would seem difficult to match Robbie's New High, New Low measures using public or purchased data sources. Here's the NHNL portion of the link lohill had in his weekly posts of GTR1's BCC results:

https://gtr1.net/2013/?lf-1lp-1h1::iflt%28linear%2...

When I click on "Signal Values", run a backtest and download the file, I see a "StockCount" of 2,199 on 11/28/25. (New highs = 90, New lows = 18, for a difference of 72; See columns E, F and M at the very bottom). This total count is much lower than other "NASDAQ" sources, which makes sense since the backtest code and Robbie's past descriptions say he does not include all "stocks" in NASDAQ (e.g., no ETFs, etc., only "styp.a = 10!11!18!48").

The Barron's data source mentioned here shows total "Issues Traded" of 4,961 on 2/27/26, much higher than Robbie's would be if updated. (NH = 197, NL = 157)

The BarCharts link lohill provided recently in this thread shows a "NASDAQ Total Components" of 3,044 (NH = 69, NL = 102). Again, a much higher total count, and the net difference is negative rather than positive.

The Wall Street Journal has a market diary page, https://www.wsj.com/market-data/stocks/marketsdiar..., which shows mostly the same data as Barrons, with "Issues Traded" and "New lows" matching, but oddly shows "New highs" = 217, versus Barrons' 197. Seems like these two would match.

I think StockCharts measure of $NAHL was discussed for this in the past also - I see 2/27 net difference shown as 60, with the prior day difference of 87. These match the net difference shown by the Wall Street Journal market diary, but not the others.

Given the inconsistencies of approach and actual counts (total, NH, NL), I'm not sure how to match Robbie's results without his data sources.
Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 75970 
Subject: Re: BCC Signals without GTR1
Date: 03/01/26 1:20 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 5
Ebbtide wrote: I'm not sure how to match Robbie's results without his data sources.

Both Robbie and I calculate the NH-NL using the Nasdaq Exchange components, as well as Operating Companies Only which is explained here:

https://www.cfraresearch.com/insights/faq/what-is-...

And yes, it is rather complex:

https://www.mcoscillator.com/learning_center/kb/ma...

This is from my software laying the two side by side.

            NASDAQ                    OCO NASDAQ           
Date Total NH NL NH-NL Total NH NL NH-NL
12/31/2024 4097 57 60 -38.69 2434 27 38 -40.44
1/2/2025 4096 76 34 -15.42 2432 35 27 -25.29
1/3/2025 4101 82 29 5.44 2431 38 22 -11.64
1/6/2025 4103 123 34 27.38 2431 71 26 3.44
1/7/2025 4099 71 53 29.67 2428 32 38 4.42
1/8/2025 4099 52 111 14.49 2426 24 82 -6.44
1/10/2025 4099 54 198 -17.09 2426 19 145 -30.56
1/13/2025 4099 36 236 -56.2 2426 11 171 -58.62
1/14/2025 4101 43 128 -67.58 2427 16 96 -67.27
1/15/2025 4103 81 88 -62.56 2426 35 62 -64.4
1/16/2025 4106 88 96 -57.64 2426 35 73 -63.38
1/17/2025 4106 92 62 -44.02 2423 42 43 -53.93
1/21/2025 4106 162 70 -17.49 2423 84 54 -37.91
1/22/2025 4104 171 89 6.98 2423 65 59 -26.36
1/23/2025 4104 122 100 18.02 2423 51 68 -19.67
1/24/2025 4107 150 62 40.47 2423 57 45 -8.09
1/27/2025 4108 97 100 39.56 2423 46 68 -6.38
1/28/2025 4108 115 129 32.07 2422 60 92 -9.73
1/29/2025 4107 112 115 25.2 2422 51 82 -13.96
1/30/2025 4107 158 106 29.24 2422 80 74 -10.69
1/31/2025 4110 138 84 32.36 2424 62 56 -8.4

Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 75970 
Subject: Re: BCC Signals without GTR1
Date: 03/01/26 1:42 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 4
One of the ways I use this research is to combine multiple universes together to create a composite signal. Let me illustrate with last year.

The Nasdaq 100 peaked on 2/19/2025. The Extremely Bearish composite signal fired three market days later on 2/24/2025. Notice that the OCO_Nasdaq was already warning of trouble ahead - in fact, it began firing mid-December of 2024. But the signal from the composite came later.

https://www.zeelotes.org/Composite_NH-NL_Signals.P...

The Nasdaq 100 reached a trough on 4/7/2025. This indicator turned to Extremely Bullish on 4/14/2025 - five market days after the bottom. The bull signal came on 4/10/2025 - three market days later.

So what if you followed these signals trading SOXL during BULL periods and SOXS during BEAR periods.

                   SOXL
Date Signal SOXS
1/2/2025 BULL -3.29%
2/24/2025 BEAR 26.11%
4/10/2025 BULL 404.47%
11/3/2025 BEAR

Print the post


Author: musselmant   😊 😞
Number: of 75970 
Subject: Re: BCC Signals without GTR1
Date: 03/01/26 6:32 PM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 9
AI advice:
Free sources:

• StockCharts ($NYHGH, $NYLOW)
• WSJ market breadth pages
• Barchart
• TradingView
• MarketInOut
• Nasdaq official stats

Simpler alternative:

Use NYSE New Highs/New Lows.
It works similarly.

Many professional systems use:

$NYHL or $HILO
CountOfHighs and CountOfLows (as simple counts of “new high today” / “new low today”)

The backtester counts stocks making 52-wk highs/lows. If you have the market breadth series directly (New Highs, New Lows), you can use them without per-stock counting.

To mimic your weighted 9-day ratio with Excel:

K = Weighted highs (9-day weights 9..1)
L = Weighted lows (9-day weights 9..1)

In K10:

=9*C10+8*C9+7*C8+6*C7+5*C6+4*C5+3*C4+2*C3+1*C2

In L10:

=9*D10+8*D9+7*D8+6*D7+5*D6+4*D5+3*D4+2*D3+1*D2

NHNLRatio M10:

=IF(L10=0,9999,K10/L10)

NHNL signal N10 (1 if ratio > 1 else 0):

=IF(M10>1,1,0)
Print the post


Author: virtualmark   😊 😞
Number: of 836 
Subject: Re: BCC Signals without GTR1
Date: 03/11/26 12:04 AM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 4
Zee,

Just curious about where do you source your Nasdaq NH and NL numbers from? I'm assuming that "ND" and "OCO" are two different sources for that data?

I get NH/NL numbers from https://www.wsj.com/market-data/stocks/marketsdiar... That source also aligns with the bulk data you can get from Pinnacle (https://www.pinnacledata2.com)

But they're slightly different values to those you've posted above. Same underlying trends and relative movements, just different values. For example on 27-Jan-2025 WSJ had 91 NH and 135 NL vs your 97 NH and 100 NL.

Print the post


Author: zeelotes 🐝🐝  😊 😞
Number: of 836 
Subject: Re: BCC Signals without GTR1
Date: 03/11/26 11:26 AM
Post Reply | Report Post | Recommend It!
No. of Recommendations: 6
Virtualmark asked: Just curious about where do you source your Nasdaq NH and NL numbers from? I'm assuming that "ND" and "OCO" are two different sources for that data?

My software tracks all exchange stocks daily, and identifies which exchange they are a part of, and then calculates the New Highs and New Lows and Unchanged daily. I purchase the daily stock information from one of the major suppliers.

As to OCO I suggest you read what this means to understand it better.

https://www.cfraresearch.com/insights/faq/what-is-...

So "ND" consists of ALL stocks on the Nasdaq Stock Exchange. The "OCO" begins with this same lists and then does removals to limit the list to a much smaller number.
Print the post


Post New
Unthreaded | Threaded | Whole Thread (13) |


Announcements
Atheist Shrewds FAQ
Contact Shrewd'm
Contact the developer of these message boards.

Best Of Atheist | Best Of | Favourites & Replies | All Boards | Followed Shrewds