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


Investment Strategies / Mechanical Investing
Unthreaded | Threaded | Whole Thread (13) |
Author: lohill HONORARY
SHREWD
  😊 😞

Number: of 5383 
Subject: BCC Signals without GTR1
Date: 02/26/26 1:25 PM
Post New | 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...
Post New | Post Reply | Report Post | Recommend It!
Print the post
Unthreaded | Threaded | Whole Thread (13) |


Announcements
Mechanical Investing FAQ
Contact Shrewd'm
Contact the developer of these message boards.

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