Sunday, Sep 13th  2026 @ 14:12:26 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 3     

30 45 60 - All

 

Displaying 30 [  1 - 30  ] of 90 matching entries (out of 90) in descending order

 
 

 
  2026.08.11 @ 21.39.50

 

  [ finance.shrum.net ] :: I'm seeing ticker prices that haven't been updated on yFinance when pulled at the 1:15pm PDT cronjob meaning I need to move the actual update launch time to 1:30pm PDT to make sure I give yFinance enough time to finalize colsing prices.  [ edit ]
    
 
 

 
  2026.08.09 @ 18.18.19

 

  [ finance.shrum.net ] :: Numerous additions. Daily Brief now has catagorized rows: US Markets, Intl Markets, US Reports, US Bonds, Metals, Currency, and Energy (with timeframe and row hiding options). Added a new section called Sector Price History which charts all the sectors on one chart (with timeframe and sector hiding options). Section notes are now in a collapsible [+] Notes area and can be expanded at the bottom of each section if applicable.  [ edit ]
    
 
 

 
  2026.08.08 @ 02.26.03

 

  [ finance.shrum.net ] :: Main dashboard now has a Daily Brief section with 30 day charts of the Dow, Nasdaq, S&P, Russell, VIX, CPI, Unemployment, Jobs, Gold/oz, USD Index, WTI, and Fed rate.  [ edit ]
    
 
 

 
  2026.08.06 @ 23.30.40

 

  [ finance.shrum.net ] :: Main dashboard now allows for MA200d$, Donchian channels, CBOE VIX, and USD Index (via FRED) overlays in the Ticker Price History section. VIX and USD Index share the right hand side scale and will adjust accordingly when these two overlays are used separately.  [ edit ]
    
 
 

 
  2026.08.06 @ 21.57.11

 

  [ finance.shrum.net ] :: Main dashboard now has a Sector Exposure section that is visible when stored portfolio data is detected (does not show on portfolio argument with only tickers listed).  [ edit ]
    
 
 

 
  2026.08.06 @ 20.03.54

 

  [ finance.shrum.net?section=tickers ] :: Main dashboard Tickers Table now has multiple pre-defined table layouts: Default, Analyst, Fundamentals, Growth, MA200D, Movers, Portfolio, Risk, Screener, Volume, and YOY.  [ edit ]
    
 
 

 
  2026.08.06 @ 18.08.32

 

  [ finance.shrum.net ] :: Heatmap dashboard will default to ticker map only and Main dashboard Tickers Table will default to 'Portfolio' col layout if portfolio data is present (either stored locally or in the URL). Main Tickers Table now allows for stored user definable Col layouts.  [ edit ]
    
 
 

 
  2026.08.05 @ 23.50.04

 

  [ finance.shrum.net ] :: Splits are now represented as "S" on the Main dashboard Ticker Price Chart as well as earnings and dividend dates.  [ edit ]
    
 
 

 
  2026.08.05 @ 15.26.17

 

  [ finance.shrum.net ] :: Data updates handed off to a Raspberry PI. CRON set to fire every weekday at 1:05PM PDT (after market close). System is now fully automated.  [ edit ]
    
 
 

 
  2026.08.05 @ 12.23.42

 

  [ finance.shrum.net ] :: V3 is online. New 'finance' subdomain added. Faster page loads (down from over 300M to 200k), new API data retrieval design, zero page maintenance, data downloads and API usage fully documented. Portfolio manager for inputting and saving (locally) multiple accounts and their trades. Import feature is still a little new so if you run into trouble, let me know. All prior links to the old /sean/financial area and its subdirs will auto redirect to the new subdomain.  [ edit ]
    
 
 

 
  2026.08.02 @ 18.35.25

 

  [ /sean/financial/dash ] :: (heatmap.html heatmap.industry.html heatmap.ticker.html main.html main.365.html) Depreciating table and ticker dashboards for consolidation reasons. Financial dashboards are now focused to TWO dashboard files: Heatmap and main. Heatmap dashboards will call main.365.html with appropriate parameters of TICKER + DISPLAY=profile,price,volume (if a ticker is selected), otherwise SECTOR + INDUSTRY + DISPLAY=price,table. Main dashboard now houses 4 selectable sections via DISPLAY parameter. The sections are: profile, price, volume, and table. Profile contains the ticker profile info, price contains the price history line chart, volume contains the volume bar chart, and table is the tickers table. Omitting this parameter will display all sections.  [ edit ]
    
 
 

 
  2026.07.31 @ 17.20.27

 

  [ /sean/financial/dash ] :: (main.html main.365.html dash.main.py) Script now outputs 2 main dashboards. main.html (10y of data, +130M) and main.365.html (365 trade days of data, +20M). Same data sources, just less for faster loading. Will reuse saved cookies on both files for customized table col settings.  [ edit ]
    
 
 

 
  2026.07.30 @ 01.51.31

 

  [ /sean/financial/dash ] :: (ma200.html) No need to have a separate script to generate a dedicated MA200 dashboard. ma200.html now is a redirect to main.html with parameters that define the appropriate table cols for a MA200 chart. Default sorting is on Avg200d%  [ edit ]
    
 
 

 
  2026.07.30 @ 01.34.04

 

  [ /sean/financial/dash ] :: (main.html) ~20 new fields added to main.html col registry.  [ edit ]
    
 
 

 
  2026.07.30 @ 01.32.39

 

  [ /sean/financial/dash ] :: (volume.html) No need to have a separate script to generate a dedicated Volume dashboard. volume.html now is a redirect to main.html with parameters that define the appropriate table cols for a Volume chart. Default sorting is on VSpike%  [ edit ]
    
 
 

 
  2026.07.30 @ 00.30.35

 

  [ /sean/financial/dash ] :: (yoy.html) No need to have a separate script to generate a dedicated YoY dashboard. YoY.html now is a redirect to main.html with parameters that define the appropriate table cols for a YoY chart. Default sorting is on YTD (current year)  [ edit ]
    
 
 

 
  2026.07.29 @ 16.35.13

 

  [ /sean/financial/data ] :: (dividends.csv dividends.next.csv earnings.csv earnings.next.csv prices.365.csv, prices.csv profile.csv splits.csv tickers.csv volume.365.csv yoy.csv) These files have all been relocated to the new folder listed above. No more '*.csv.txt' files will be created.  [ edit ]
    
 
 

 
  2026.07.29 @ 16.25.13

 

  [ /sean/financial ] :: V.2 of my financial reporting system is coming online. All V.1 data files stored under /sean/datasets have been moved to /sean/financial/data. Navigating to /sean/datasets will redirect to /sean/financial/data. All V.1 dashboards have been moved to /sean/financial/dash. Please update any stored links to reflect the new location. These will most likely stay this way permanently as it's now a dedicated subsite for financial analysis.  [ edit ]
    
 
 

 
  2026.07.25 @ 02.11.54

 

  [ /sean/datasets ] :: (pricehistory.csv prices.csv) These files are now limited to the past 10 years allowing for the file size to drop from 107m to 38m. This change alone make my main dashboard file size drop for 333m to 130m.  [ edit ]
    
 
 

 
  2026.07.24 @ 23.06.37

 

  [ /sean/datasets ] :: (earnings.csv earnings.next.csv update_earnings.py dividends.csv dividends.next.csv update_dividends.py) Earnings.csv and dividends.csv now retains 5y+ past (as well as future projected) dates to act as a historical records to be used in "E" and "D" tagging on historical price charting. Earnings.next.csv and dividend.next.csv will hold ONLY current or latest weekday and the next 20 future trade dates and the tickers having earnings reports or dividend distributions.  [ edit ]
    
 
 

 
  2026.07.23 @ 18.45.35

 

  [ /sean/datasets ] :: (volume.html, ma200.html, yoy.html) Ramping up v.2 of the datasets and dashboards. Check dashboard title to see if you are seeing "v.2" as these are not yet in the main daily pipeline and you may still be seeing v.1 files. V.2 of volume dashboard uses splits.csv and normalizes them automatically.  [ edit ]
    
 
 

 
  2026.07.18 @ 16.46.21

 

  [ /sean/datasets ] :: (volume.html, ma200.html) Second shift-click for multisorting was causing primary sort to be lost. This is now fixed.  [ edit ]
    
 
 

 
  2026.07.15 @ 00.50.24

 

  [ /sean/datasets ] :: (tickers.csv, volume.html, ma200.html) Tickers.csv file now includes a company NAME col (entries dbl-quote wrapped if it contains commas). The company name is now part of the row hover popups. Be aware that some company names use accented characters in their names when parsing this file. Updated MA200 and Volume dashboard tables to display a 'ER' (Earnings Report) col (for sorting purposes) which acts as a countdown to the day.  [ edit ]
    
 
 

 
  2026.07.10 @ 02.51.53

 

  [ /sean/datasets/volume.html ] :: (volumehistory.py, volume.py) Created a new dataset to store trade volumes for the last 365 days in volumehistory_365.txt. This data is used along with pricehistory_365.txt and ticker.csv in compiling my new Volume Spike Dashboard. This page will display tickers along with its last 3 trading day volumes as well as its 20d trade volume average. More useful in spotting tickers that are seeing sudden upwards moves but also down. Will update post pricehistory_365.txt and volumehistory_365.txt update every weekday.  [ edit ]
    
 
 

 
  2026.07.08 @ 17.50.35

 

  [ /sean/code/cats ] :: (cats.php) v4.17-claude. Ran cats.php thru Claude Code and it addressed a number of issues that are outlined in the script itself. New file is posted in here or by clicking on the source icon in the Cats area.  [ edit ]
    
 
 

 
  2026.07.08 @ 13.38.17

 

  [ /sean/datasets ] :: (tickers.py, pricehistory.py, ma200.py, trends.py, YoY_pct.py) Moved weekday run times to start at 1:10 pm PDT (10 minutes after market close) for pricehistory dataset updates followed by a 30 minute window for all cronjobs that require that data.  [ edit ]
    
 
 

 
  2026.07.07 @ 23.15.38

 

  [ /sean/datasets/ma200.html ] :: (ma200.py) Added 200d+ which totals the number of positive return days a ticker has had in the past 200 trade days. Also added icons to the right of each ticker that links out to Yahoo Finance and MarketWatch for the ticker it is next to.  [ edit ]
    
 
 

 
  2026.07.07 @ 17.50.35

 

  [ /sean/code/cats ] :: (cats.php) Multiple search terms were being treated as AND conditions without '+' operator. Non-operator prefaced term searches are now OR based. 'foo bar' (foo OR bar) vs 'foo +bar (foo AND bar)  [ edit ]
    
 
 

 
  2026.07.07 @ 17.02.14

 

  [ /sean/datasets ] :: (tickers.py) Replaced all periods '.' in ticker names to dashes '-' as yFinance does not support periods in tickers. Example: BRK.A -> BRK-A. Beefed up detect_split() to trigger price history refresh if a split is detected mathematically via ratios and corporate announcement via yf.Ticker(ticker).splits. Script will refresh full histories on some tickers with large (+/-33%) 1 day moves. Example: CRNX had a 98% price jump (no split) on July 7, 2026. Script detects and logs it as such:

[SPLIT] Price jump detected for CRNX: 1:2 reverse split (estimated) on 2026-07-07
[SPLIT] CRNX — 1:2 reverse split (estimated) on 2026-07-07
[SPLIT] Refreshing full history for CRNX

In the event of a corporate announcement:

[SPLIT] Corporate action detected for CRWD: 4:1 forward split on 2026-07-02
[SPLIT] CRWD - 4:1 forward split on 2026-07-02
[SPLIT] Refreshing full history for CRWD

I'm using a 7 day window as yFinance doesn't update prices the day of or the day after a split thereby massive moving tickers will age out of the validation window in that timeframe.  [ edit ]

    
 
 

 
  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 ]
    
 
 

Displaying 30 [  1 - 30  ] of 90 matching entries (out of 90) in descending order

 

1 2 3 4 5 6 7

     Page 1 of 3     

30 45 60 - All

 
# of Columns
PAGINATION NAVIGATION
RECORDS PER PAGE
 
 
top

Page generation time = 0.0098/s
Page size (minus graphic elements) = 142kb

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.17-claude [ 2026.07.08 ] by Sean Shrum