f/overrides/event-backup/fsfrx-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.7 KiB

1DateDividends
22015-12-310.047000
32017-08-310.041000
42020-03-310.036000
52020-09-300.034000
62022-07-290.036000
72023-08-310.048000
82026-04-300.048000
92017-01-310.047000
102021-11-300.032000
112018-11-300.032000
122021-05-280.029000
132021-09-300.029000
142025-01-310.056000
152020-01-310.036000
162022-01-310.032000
172024-07-310.052000
182018-12-310.032000
192021-02-260.029000
202021-10-290.029000
212023-02-280.042000
222024-11-290.056000
232020-05-290.036000
242023-04-280.042000
252023-06-300.048000
262025-10-310.051000
272016-03-310.047000
282015-10-300.047000
292016-12-300.047000
302017-02-280.047000
312017-09-290.041000
322019-08-300.036000
332021-01-290.031000
342026-03-310.048000
352023-10-310.048000
362026-01-300.048000
372026-02-270.048000
382016-01-290.047000
392018-05-310.032000
402019-10-310.036000
412016-11-300.047000
422021-04-300.029000
432022-05-310.036000
442023-11-300.051000
452024-10-310.056000
462019-09-300.036000
472020-04-300.036000
482023-09-290.048000
492023-12-290.051000
502016-05-310.047000
512016-07-290.047000
522016-10-310.047000
532018-03-290.032000
542020-07-310.036000
552016-08-310.047000
562019-11-290.036000
572022-08-310.039000
582024-03-280.052000
592016-06-300.047000
602017-12-290.036000
612019-01-310.032000
622021-03-310.029000
632021-07-300.029000
642015-04-300.047000
652018-01-310.036000
662020-06-300.036000
672016-04-290.047000
682018-09-280.032000
692019-03-290.032000
702022-02-280.032000
712026-06-300.046000
722017-05-310.047000
732020-08-310.034000
742015-02-270.047000
752017-11-300.036000
762019-02-280.032000
772019-07-310.033000
782025-07-310.054000
792015-06-300.047000
802019-04-300.032000
812020-02-280.036000
822023-05-310.048000
832025-11-280.048000
842026-07-310.046000
852015-05-290.047000
862015-08-310.047000
872024-02-290.052000
882024-04-300.052000
892024-08-300.056000
902017-06-300.047000
912017-10-310.041000
922020-10-300.034000
932025-05-300.054000
942015-01-300.047000
952018-04-300.032000
962020-12-310.031000
972025-09-300.051000
982018-02-280.032000
992019-05-310.033000
1002024-06-280.052000
1012026-05-290.046000
1022016-02-290.047000
1032018-08-310.032000
1042022-06-300.036000
1052015-11-300.047000
1062016-09-300.047000
1072019-12-310.036000
1082024-09-300.056000
1092025-03-310.056000
1102025-06-300.054000
1112015-07-310.047000
1122018-10-310.032000
1132021-08-310.029000
1142022-09-300.039000
1152025-08-290.051000
1162015-03-310.047000
1172022-03-310.032000
1182023-01-310.042000
1192024-05-310.052000
1202025-12-310.048000
1212017-03-310.047000
1222021-12-310.032000
1232022-04-290.032000
1242022-10-310.039000
1252022-12-300.041000
1262025-04-300.056000
1272015-09-300.047000
1282017-07-310.047000
1292018-06-290.032000
1302020-11-300.031000
1312023-03-310.042000
1322024-01-310.051000
1332018-07-310.032000
1342021-06-300.029000
1352022-11-300.042000
1362023-07-310.048000
1372025-02-280.056000
1382017-04-280.047000
1392019-06-280.033000
1402024-12-310.056000