Live refresh
Data status
Every weekday a scheduled job on Vercel fetches the latest closing prices, splits and dividends from Massive, checks the SEC for new annual reports, re-scores all 70 companies and re-runs the track record. This page shows what each run did.
12 Nov 2026latest closing prices
Bundledsnapshot shipped with the code; the first refresh replaces it
OKlast run 13 Nov, 01:14 UTC
1runs kept in the log
Recent runs
| Started | Result | Prices to | Tickers updated | Months closed | Dividends | New reports | Requests | Time |
|---|---|---|---|---|---|---|---|---|
| 13 Nov, 01:14 UTC manual | Nothing new | — | 0 | — | 0 | — | 71 | 3s |
How the job works
- Few requests. One market-wide call returns every US stock’s close for a day, so 70 companies cost one request. Splits and dividends are also fetched market-wide, and dividends only for days not checked yet.
- Month-ends. When a month ends, its last trading day’s close becomes that month’s price; total returns add the cash dividends paid in the month.
- Splits. A new split restates earlier prices in post-split units and is added to the list used to convert filing share counts.
- Annual reports. Each company’s SEC filing index is checked; only companies with a new 10-K are re-read, and a report whose figures haven’t reached the SEC’s data feed waits for the next run.
- Safe to repeat. Prices are rebuilt from the last month-end each time, so running twice changes nothing. Writes are conditional, so two overlapping runs can’t overwrite each other, and a slow catch-up saves its progress and resumes.