Monday, Jun 22nd  2026 @ 14:42:33 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     

60 90 120 - All

 

Displaying 15 [  1 - 15  ] of 48 matching entries (out of 48) in descending base order

 
 

 
  2026.06.21 @ 16.44.52

 

  [ /sean/datasets ] :: (tickers.txt) 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.  [ 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 '10/7/5y+' column summarizes long-term consistency across multiple timeframes. 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.

A ticker receives:

  • +++ if all YoY values in the last 10 years are positive
  • ++ if all YoY values in the last 7 years are positive (but not 10)
  • + if all YoY values in the last 5 years are positive (but not 7 or 10)

Script will also output a filtered set of files that only include those tickers with all positive gains for every year in the timeframe specified.

Word of caution: Beware of 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 and suspect consolidation.  [ 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 ]
    
 
 

 
  2026.06.15 @ 17.26.10

 

  [ /sean/datasets ] :: (pricehistory.py) Revision to stock price storage. Old prices on a ticker that has a stock split needs to be updated otherwise reports using the data will generate incorrect output. Modified script to do split checking when yfinance updates single stock pricing to force a full price history refresh. (KLAC is reporting a MA200 of $1394.39 when the ATH price today was $256.43 post 20-1 split).

What I've found: Yfinance has not yet updated their historical price data and as such the values coming from there are PRE-SPLIT values. This will mess with any reports doing historical price analysis against current market values until things are updated on the yfinance side. Just be aware of this if you start seeing tickers with unexplainable massive % gain or declines as this is the culprit. You've been informed.  [ edit ]

    
 
 

 
  2026.06.12 @ 12.30.41

 

  [ /sean/datasets ] :: (stability.py) Consolidating reports (25 was already too many). Script now outputs 2 sets of distinct but similar reports (5 in total to date). Each one will cover 1M, YTD, 1Y, 2Y, and 5Y and return top 20 results per timeframe. Files with 'nofilter' in the name have no chaos filtering and no volatility smoothing (1). More reports will appear later as I deem them needed.

+ [SET 1] STABILITY BASED

Currently, 3 reports with varying "chaos" limiters and a 'nofilter' report.

Reports that use chaos values will list them in the filename.

Example: stability-chaos=[Move]pct@[Limit]pct@[Smooth].txt

  • Move
    ..... threshold % for abnormal daily returns,
  • Limit
    ..... allowed % of abnormal days
  • Smooth
    ..... volatility dampener; 1=none, higher=magnified, lower=minimized

Current file(s):

  • stability-chaos=4pct@10pct@1.5.txt ("stability obsessed")
  • stability-chaos=5pct@12pct@1.0.txt ("sane institutional")
  • stability-chaos=6pct@18pct@0.7.txt ("momentum friendly")
  • stability-nofilter.txt ("Catch all")

+ [SET 2] CATAGORY BASED

Reports that prioritize based on catagory order in filename: (1st sort)_(2nd sort)_(3rd sort)_(etc). The current catagories available are:

  1. Return
  2. Updays
  3. Consistency
  4. Efficiency
  5. Stability
  6. Momentum

Current file(s):

  • momentum_stability_return-nofilter.txt
Use at your own discretion, and as always, dbl-check values.  [ edit ]
    
 
 

 
  2026.06.10 @ 18.04.06

 

  [ /sean/datasets ] :: (ma200.py) Creates a report based on the 200d moving averages of the tickers in the tickers.txt and price histories from pricehistory_365.txt in the datasets folder.
  • ma200.txt
  • ma200.csv
These files are identical but the csv allows for easier importing into spreadsheet apps for personalized column sorting.

Fields are: Ticker, Current price, MA200 average price, MA%, 1w%, 1m%, and YTD%.

Reports refresh daily at 5pm PST.  [ edit ]

    
 
 

 
  2026.05.15 @ 22.30.45

 

  [ /sean/datasets ] :: (pricehistory.py) Update pricehistory script to address an issue where adding new tickers to an existing pricehistory_max.txt file was not getting all price data and only returning current price data. Also updated the script to omit all trailing comma separators on tickers that have no extended price data for dates outside it's IPO date in an effort to bring down the overall file sizes. Dataset files are being updated now.  [ edit ]
    
 
 

 
  2026.05.04 @ 22.29.03

 

  [ /sean/datasets ] :: (pricehistory.py) Created a new subarea for datasets I generate for analysis. I'm now generating and hosting CSV-formatted, stock market price history files at https://sean.shrum.net/datasets. This is keyed to tickers.txt located in the same location.
  • tickers.txt :: Master ticker list used to populate pricehistory files (Dow 30 + Nasdaq 100 + S&P 500 + Russell 2k)
  • pricehistory_max.txt :: ALL price values available thru yfinance
  • pricehistory_365.txt :: latest 365 weekdays price values (faster d/l)
All pricehistory files will have current date closing values auto updated every weekday starting at 6pm PST in col 2. Header is ticker followed by newest date first, next date, etc... Check file timestamp before d/l'ing to be sure it has been updated.  [ edit ]
    
 
 

 
  2026.04.13 @ 17.31.24

 

  [ /sean/code/launcher ] :: Added volume label monitoring to Launcher which makes my VolRun script obsolete. If you are using VolRun, you will want to upgrade to Launcher 3.3.18.0 or later.  [ edit ]
    
 
 

 
  2026.04.09 @ 16.20.41

 

  [ /sean/code/launcher ] :: AI assisted redo of Launcher 3.2. New version, new interface, same functionality. Docs, code, and exe are uploaded.  [ edit ]
    
 
 

 
  2026.03.13 @ 00.53.50

 

  [ /sean/code/hotrkeyz ] :: Rewrite and new version 2.0. Now includes an active key capture dialog and uses key names (Ctrl, Alt, Win, Shift) instead of code characters (#$^!). Will not work with v.1 combos as the subfolder naming is different. You will need to recreate your Hotrkeyz combos and copy the program links from your old v.1 combo folders into the new v.2 combo folders. Documentation has been updated with new operations and screeenshots.  [ edit ]
    
 
 

 
  2026.02.18 @ 20.42.10

 

  [ /sean/code/hotrkeyz ] :: Rev to v.1.06. Added a 'first run' dialog that explains basic usage of Hotrkeyz. This dialog then goes silent on future executions. Documentation updated to include screenshot of dialog. Added some additional FAQ entries as well.  [ edit ]
    
 
 

 
  2026.02.18 @ 17.52.52

 

  [ /sean/code ] :: In an effort to give me more flexibility on file locations, I've modified all projects to route web calls for updates to '[project dir]/updates.html' which will redirect to the appropriate CATS call and location of the update files. This allows me to move updates in the future without having to modify code and recompile. Additionally, the same has been done for support calls. These now all go to '[project dir]/support.html' to be redirected. Any project that had a 'donate' link in it has had this removed. All projects that use these calls have been updated and recompiled.  [ edit ]
    
 
 

 
  2026.02.17 @ 18.42.33

 

  [ /sean/code/ezpcdets ] :: Code and documentation changes. Rev to v.2.20. Hovering over the EzpcDets Systray icon will display LAN1 & WAN address info. Clicking on the Systray icon will display 3 lines: "[Domain] / Computername / Username / os ver and sp ver" on line 1, "Sysdrive free and total" on line 2, and "Sysmem load % and total" on line 3. Binaries are updated. Documentation is updated to include updated screenshots.  [ edit ]
    
 
 

 
  2026.02.17 @ 16.59.24

 

  [ /updates ] :: Moved '/sean/updates' to '/updates' (a higher level to act as "catch all" for site-wide updates). Sub area searches can be done thru the search field at the top of the page. Access to updated areas can be done via the included link located at the front of each update post. Direct calls to 'shrum.net/sean/updates' will automatically redirect to the new location and will automatically filter on just '/sean' (sub)area updates. Some update calls from my apps and utilities (if present) will fail but ultimately, all homepage links will continue to work and links to area specific updates will work from there. Code has been updated but binaries should be built to incorporate the new site layout.  [ edit ]
    
 
 

Displaying 15 [  1 - 15  ] of 48 matching entries (out of 48) in descending base order

 

1 2 3 4 5 6 7

     Page 1 of 4     

60 90 120 - All

 
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 
 
top

Page generation time = 0.0068/s
Page size (minus graphic elements) = 97kb

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