f/overrides/event-backup/jmsfx-dividend.csv
Greg Pomerantz bb8e39605e Event-history protection: backup dir, empty-download fallback, docs
Yahoo's 2026 event-feed change (capitalGain events dropped for some
funds; no events at all for terminated tickers) can wipe good event
history on re-download. Defense in depth:

- overrides/event-backup/: last-known-good copy of every dividend/
  capitalGain file (8,192 files, 58 MB); refresh with
  scripts/backup_events.py after each dump update
- data.py event_file(): frozen > data-root (while populated) > backup;
  used by panel reads, verify_official, and the double-listing scanner
- README: capital-gain files are mutual-fund-only in this dump; Yahoo
  has no LT/ST split (tax.py taxes capg at lt_rate; the per-fund split
  would come from fund-company annual tax statements or commercial feeds)
- tests: exact Timestamp .loc keys (pandas 3.x string matching returns a
  Series on large DatetimeIndex)
2026-08-31 21:59:25 -04:00

2.8 KiB

1DateDividends
22021-01-290.035000
32022-04-290.030000
42024-11-290.043000
52016-01-290.044000
62016-03-310.044000
72020-04-300.039000
82020-09-300.039000
92022-02-280.030000
102015-02-270.044000
112018-08-310.041000
122019-02-280.041000
132021-08-310.032000
142022-01-310.030000
152022-09-300.037000
162023-04-280.037000
172017-02-280.041000
182023-07-310.037000
192021-10-290.030000
202018-10-310.041000
212021-05-280.032000
222015-09-300.044000
232022-06-300.030000
242023-01-310.037000
252020-06-300.039000
262017-09-290.041000
272019-12-310.039000
282020-02-280.039000
292020-12-110.011000
302022-11-300.037000
312023-02-280.037000
322023-10-310.037000
332016-09-300.044000
342018-12-310.041000
352023-08-310.037000
362018-07-310.041000
372019-12-120.002000
382020-08-310.039000
392025-11-280.043000
402016-08-310.044000
412016-04-290.044000
422023-12-290.037000
432024-05-310.043000
442025-12-310.043000
452014-11-280.044000
462017-11-300.041000
472019-01-310.041000
482020-05-290.039000
492023-06-300.037000
502017-05-310.041000
512017-03-310.041000
522018-04-300.041000
532022-05-310.030000
542024-03-280.037000
552016-02-290.044000
562025-10-310.043000
572023-03-310.037000
582018-05-310.041000
592021-04-300.032000
602022-03-310.030000
612022-10-310.037000
622023-05-310.037000
632024-08-300.043000
642017-07-310.041000
652024-02-290.037000
662015-07-310.044000
672016-10-310.044000
682016-12-300.044000
692017-12-290.059000
702025-07-310.043000
712026-02-270.043000
722015-01-300.048000
732015-08-310.044000
742015-12-310.049000
752016-07-290.044000
762020-01-310.039000
772026-06-300.041000
782015-04-300.044000
792021-12-310.030000
802018-06-290.041000
812018-09-280.041000
822026-05-290.043000
832018-02-280.041000
842019-03-290.041000
852019-10-310.041000
862021-07-300.032000
872021-09-300.030000
882022-12-300.037000
892024-01-310.037000
902016-11-300.044000
912015-05-290.044000
922017-01-310.041000
932019-06-280.041000
942015-06-300.044000
952022-08-310.037000
962024-07-310.043000
972025-02-280.043000
982025-03-310.043000
992026-04-300.043000
1002020-10-300.035000
1012020-07-310.039000
1022021-02-260.032000
1032022-07-290.030000
1042015-11-300.044000
1052020-12-310.035000
1062023-09-290.037000
1072025-04-300.043000
1082026-01-300.043000
1092018-11-300.041000
1102016-06-300.044000
1112021-11-300.030000
1122024-10-310.043000
1132025-05-300.043000
1142025-06-300.043000
1152015-03-310.044000
1162019-11-290.039000
1172024-12-310.043000
1182025-08-290.043000
1192026-03-310.043000
1202016-05-310.044000
1212017-10-310.041000
1222019-07-310.041000
1232021-06-300.032000
1242024-09-300.043000
1252017-04-280.044000
1262018-01-310.041000
1272019-04-300.041000
1282020-03-310.039000
1292025-09-300.043000
1302017-06-300.041000
1312015-10-300.044000
1322019-08-300.041000
1332019-09-300.041000
1342014-12-310.047000
1352018-03-290.041000
1362019-05-310.041000
1372023-11-300.037000
1382024-04-300.037000
1392025-01-310.043000
1402017-08-310.041000
1412021-03-310.032000
1422024-06-280.043000
1432026-07-310.041000
1442020-11-300.035000