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

1DateDividends
22016-09-300.033000
32020-11-300.027000
42016-10-310.037000
52022-04-290.027000
62023-05-310.054000
72026-01-300.045000
82019-06-280.036000
92024-05-310.058000
102017-07-310.032000
112017-10-310.032000
122018-06-290.033000
132019-10-310.032000
142017-02-280.025000
152025-02-280.047000
162017-04-280.030000
172017-09-290.031000
182018-05-310.034000
192020-03-310.030000
202021-02-260.025000
212025-12-310.057000
222026-04-300.041000
232021-09-300.025000
242025-03-310.053000
252024-08-300.056000
262016-07-290.033000
272016-12-300.033000
282022-03-310.026000
292023-01-310.051000
302025-05-300.050000
312019-01-310.038000
322021-03-310.027000
332021-04-300.028000
342021-05-280.025000
352022-01-310.025000
362022-09-300.038000
372024-11-290.052000
382017-12-290.031000
392020-06-300.026000
402021-07-300.026000
412021-12-310.026000
422017-11-300.031000
432018-04-300.032000
442020-05-290.027000
452019-08-300.036000
462020-02-280.030000
472021-08-310.026000
482023-11-300.059000
492020-04-300.028000
502020-09-300.026000
512022-11-300.048000
522016-08-310.034000
532017-05-310.031000
542018-07-310.034000
552019-04-300.036000
562018-11-300.034000
572021-01-290.026000
582021-06-300.025000
592025-01-310.052000
602024-06-280.056000
612025-06-300.049000
622016-11-300.028000
632017-01-310.031000
642022-06-300.030000
652023-03-310.053000
662023-04-280.052000
672025-08-290.049000
682021-11-300.025000
692024-01-310.058000
702018-01-310.032000
712018-02-280.030000
722020-10-300.028000
732020-12-310.030000
742019-09-300.034000
752025-07-310.050000
762018-10-310.036000
772022-08-310.038000
782022-12-300.049000
792023-12-290.059000
802023-07-310.057000
812023-10-310.057000
822025-04-300.052000
832017-03-310.030000
842020-07-310.026000
852022-10-310.043000
862023-06-300.054000
872019-07-310.043000
882019-12-310.033000
892022-02-280.023000
902022-05-310.029000
912018-08-310.034000
922023-08-310.059000
932024-12-310.053000
942024-10-310.054000
952025-11-280.045000
962026-07-310.043000
972017-06-300.030000
982023-02-280.048000
992023-09-290.054000
1002024-04-300.056000
1012024-09-300.055000
1022019-03-290.039000
1032022-07-290.034000
1042024-07-310.058000
1052017-08-310.032000
1062018-03-290.033000
1072019-02-280.035000
1082026-02-270.040000
1092018-12-310.035000
1102019-05-310.037000
1112025-10-310.048000
1122018-09-280.033000
1132021-10-290.025000
1142026-03-310.043000
1152025-09-300.047000
1162026-05-290.042000
1172019-11-290.032000
1182020-01-310.033000
1192024-02-290.055000
1202024-03-280.058000
1212019-12-190.017000
1222020-08-310.028000
1232026-06-300.040000