Monday, Jul 6th  2026 @ 15:24:16 Daylight Savings Time 
 
 
  
www . shrum.net /updates
All scripting, coding, html, layout, design, .... basically everything here done by yours truly. - S

     

  
 
 
 
filter
 clear search
 
 
$domain$ :: $subdomain$

Site Modifications + Code Changelogs

If you frequent my site, you'll notice that I update it and the projects I create quite a bit.  Due to size and scope, updates are scattered all around.  This listing serves as a quick reference for those who only want to look at the newest changes.  By default, the latest 15 updates are listed below (with links to the changed or added content). If you are looking for a specific area of the site, use the search field above or use the site nav links in the top right and bottom right of the page. Area specific links are typically on the left side
 
$domain$ :: $subdomain$ :: $title$
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 

1 2 3 4 5 6 7

     Page 1 of 4     

30 45 60 - All

 

Displaying 15 [  1 - 15  ] of 58 matching entries (out of 61) in descending order

 
 

 
  2026.07.01 @ 21.33.41

 

  [ /sean/datasets ] :: (ma200.py, YoY_pct.py) Added a 'sector-> subsector' popup that displays next to the mouse pointer when hovering over a ticker row. Search field now allows for ticker, sector, and subsector searching.  [ edit ]
    
 
 

 
  2026.07.01 @ 20.44.33

 

  [ /sean/datasets ] :: (tickers.py, pricehistory.py, ma200.py, trends.py, YoY_pct.py) Moved update run time to 3 pm PDT for all cron jobs. If I find that yFinance is posting a complete set of price data sooner after market close, I'll move the update time closer to 1 pm PDT.  [ edit ]
    
 
 

 
  2026.07.01 @ 20.41.52

 

  [ /sean/datasets/YoY_pct.html ] :: (YoY_pct.py) Script no longer generates .txt or .csv files natively. I've switched to a html dashboard layout with on-page column sorting, my portfolio filtering, and the ability to export to csv. This page gets updated every weekday at 5pm PDT.  [ edit ]
    
 
 

 
  2026.06.30 @ 23.46.45

 

  [ /sean/datasets/ma200.html ] :: (ma200.py) Script no longer generates .txt or .csv files natively. I've switched to a html dashboard layout with on-page column sorting, my portfolio filtering, and the ability to export to csv. Added a ranking column goes off highest MA200% and a 1w% column that can be sorted to reorder those tickers that are experiencing a growth spurt. This page gets updated every weekday at 5pm PDT.  [ edit ]
    
 
 

 
  2026.06.29 @ 21.53.08

 

  [ /sean/datasets/trends.html ] :: (trends.py) Clicking on sectors and subsectors titles will list all the tickers in that group. Data links are included at the top of the report.  [ edit ]
    
 
 

 
  2026.06.28 @ 23.13.01

 

  [ /sean/code/cats ] :: (update.php, files.php, caption.php) These plugins have been updated. Use the Source link in the navbar to download the new plugins. No site modifications are needed, simply replace your existing plugins with these.  [ edit ]
    
 
 

 
  2026.06.28 @ 21.35.05

 

  [ /sean/code/cats ] :: (cats.php) Rewrite of search_and_sort() function to be more robust and handle multiple fields (primary, secondary, ...) when defining [order].  [ edit ]
    
 
 

 
  2026.06.28 @ 21.31.26

 

  [ /sean/datasets/trends.html ] :: (trends.py) Created a sector and subsector trends dashboard that updates daily at 5pm PDT. Includes top sector and subsector movers for the day, the week, and the month. Subsector tables breakout even more: 1d%, 2d%, 3d%, 4d%, 5d%, 1m%, 2m%, 3m%, 6m%, 200d%. It is generated off 2 files I create and maintain in /sean/datasets:
  • tickers.csv - master ticker,sector,subsector file
  • pricehistory_365.txt - ticker historical prices for the past 365 days

The dashboard data is updated every weekday at 5pm PDT (as I don't have paid access to live data).  [ edit ]

    
 
 

 
  2026.06.28 @ 20.42.26

 

  [ /sean/code/cats/files/plugins ] :: (csv.php) Created a CSV file importer. Plugin can be viewed in the plugins folder link. Here is a raw output sample page pulling in the latest '/sean/datasets/YoY_pct_10y.csv' file (~3000 records). Here is a link to the same file showing only those tickers with a positive gains Streak >=5 years sorted by Streak,AVG% (overall 10y) in desc order (~100 records).  [ edit ]
    
 
 

 
  2026.06.25 @ 23.40.59

 

  [ /sean/datasets ] :: (tickers.csv) Removed CWAN as it went private.  [ edit ]
    
 
 

 
  2026.06.23 @ 18.23.32

 

  [ /sean/code/cats/files/plugins ] :: (update.php) Saw a strange reaction where the first record in the data array was omitting the 'value-added' cols on the first record causing the returned array to be missing its complete header row. This resulted in search-and-replace functions skipping those added values during token replacement. I've modified it so all array rows are built at array construction time versus being appended later. This solved the issue on my end. Simply replace your update.php with the newer file. No other changes are needed.  [ edit ]
    
 
 

 
  2026.06.22 @ 18.17.09

 

  [ /sean/datasets ] :: (pricehistory.py) Script was creating weekday date cols and left price values blank (as yFinance returns none) on market observed holidays. Updated script to purge HOLIDAY cols that return no data due to market observance (such as Juneteenth, June 19, 2026). Pricehistory_*.txt files are updated.  [ edit ]
    
 
 

 
  2026.06.21 @ 16.44.52

 

  [ /sean/datasets ] :: (tickers.csv) I've removed BVC and MGRT tickers from the master list as their market cap no longer meets my threshold ($1B) but more so their reverse splits were reeking havoc in my reports and I'm too lazy to build an exclusions file.  [ edit ]
    
 
 

 
  2026.06.19 @ 19.12.11

 

  [ /sean/datasets ] :: (YoY_pct.py) YoY % analysis; calendar-year end-to-end YoY percent report spanning 10y.

This report analyzes year-over-year (YoY) percentage changes using raw, unadjusted calendar-year price data. For each ticker, the script identifies the earliest valid price within each calendar year and compares it to the most recent price in that same year. The resulting YoY percentage reflects the end-to-end performance for that year, without smoothing, normalization, or averaging. TXT and CSV formats.

The '+Streak' column highlights long-term postive year over year consistency. This provides a quick visual / sorting indicator of sustained multi-year strength, helping highlight companies that have demonstrated durable, repeated positive performance over extended periods.

Word of caution: Beware of stock price consolidation (reverse stock splits) results. I have no way of reliably detecting these. As always, if a value seems suspect, trust your gut and verify it with your own trusted source.  [ edit ]

    
 
 

 
  2026.06.18 @ 18.41.06

 

  [ /sean/datasets ] :: (pricehistory.py) Yfinance has finally updated the price on KLAC post split to reflect the new stock price. Split detection pulled a full history for the updated ticker price as designed.  [ edit ]
    
 
 

Displaying 15 [  1 - 15  ] of 58 matching entries (out of 61) in descending order

 

1 2 3 4 5 6 7

     Page 1 of 4     

30 45 60 - All

 
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 
 
top

Page generation time = 0.0075/s
Page size (minus graphic elements) = 95kb

bookmark

feedback print

back

Since 1992 - shrum.net

Copyright 2026 Sean Shrum

 
 
CATS.PHP [C]ontent [A]cquisition and [T]emplating [S]cript v.4.14 [ 2025.12.14 ] by Sean Shrum