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

1DateDividends
22016-09-300.030000
32018-01-310.029000
42019-09-300.031000
52026-06-300.030000
62016-11-300.031000
72022-12-300.027000
82024-01-310.028000
92025-10-310.032000
102016-02-290.031000
112021-02-260.027000
122023-01-310.027000
132025-03-310.031000
142018-05-310.030000
152021-11-300.025000
162017-05-310.029000
172020-01-310.031000
182023-03-310.027000
192023-06-300.028000
202016-10-310.030000
212017-03-310.032000
222019-06-280.030000
232018-04-300.029000
242019-10-310.031000
252024-03-280.030000
262026-04-300.030000
272015-09-300.032000
282018-02-280.029000
292024-07-310.030000
302025-01-310.031000
312016-04-290.031000
322017-01-310.030000
332020-08-310.029000
342022-01-310.025000
352022-07-290.026000
362025-04-300.033000
372025-06-300.031000
382022-03-310.026000
392023-09-290.029000
402026-07-310.030000
412019-02-280.031000
422020-02-280.031000
432020-03-310.032000
442020-12-310.028000
452021-06-300.027000
462021-10-290.025000
472022-02-280.026000
482022-09-300.027000
492016-07-290.030000
502017-08-310.029000
512019-03-290.030000
522019-08-300.031000
532024-11-290.032000
542025-11-280.031000
552017-02-280.030000
562017-11-300.028000
572022-05-310.026000
582023-05-310.028000
592022-06-300.027000
602024-10-310.032000
612015-10-300.032000
622016-08-310.030000
632017-10-310.028000
642020-06-300.029000
652024-02-290.028000
662015-12-310.032000
672020-11-300.028000
682022-04-290.026000
692023-10-310.029000
702016-03-310.029000
712017-06-300.031000
722018-10-310.030000
732023-08-310.029000
742017-07-310.031000
752020-04-300.030000
762020-09-300.029000
772025-09-300.031000
782019-12-310.032000
792023-11-300.029000
802024-08-300.031000
812025-08-290.031000
822018-11-300.030000
832018-12-310.031000
842019-11-290.031000
852021-01-290.027000
862023-07-310.028000
872015-11-300.033000
882017-12-290.029000
892018-03-290.026000
902021-08-310.026000
912017-04-280.031000
922018-06-290.029000
932022-08-310.026000
942024-12-310.032000
952016-12-300.029000
962018-08-310.029000
972026-03-310.030000
982016-01-290.032000
992018-09-280.029000
1002021-05-280.026000
1012026-02-270.029000
1022017-09-290.028000
1032018-07-310.029000
1042025-12-310.031000
1052026-05-290.031000
1062025-07-310.031000
1072015-08-310.029000
1082024-04-300.030000
1092024-06-280.030000
1102025-02-280.030000
1112021-07-300.025000
1122019-07-310.031000
1132020-07-310.029000
1142020-10-300.029000
1152021-04-300.026000
1162021-03-310.027000
1172022-11-300.027000
1182024-09-300.031000
1192025-05-300.031000
1202016-05-310.030000
1212019-04-300.031000
1222023-02-280.027000
1232023-12-290.029000
1242019-01-310.031000
1252020-05-290.029000
1262023-04-280.028000
1272024-05-310.030000
1282016-06-300.030000
1292019-05-310.030000
1302021-09-300.025000
1312021-12-310.025000
1322022-10-310.026000
1332026-01-300.030000