f/overrides/event-backup/npsfx-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
22019-05-310.080000
32017-07-310.082000
42018-12-310.079000
52019-03-290.079000
62019-08-300.080000
72019-12-310.080000
82021-01-290.074000
92023-10-310.074000
102024-07-310.077000
112017-06-300.082000
122017-11-300.079000
132023-08-310.074000
142018-03-290.079000
152018-05-310.079000
162020-03-310.075000
172023-06-300.074000
182024-12-310.077000
192025-07-310.080000
202026-03-310.080000
212017-09-290.082000
222025-06-300.080000
232017-04-280.082000
242017-05-310.082000
252020-07-310.074000
262021-03-310.075000
272022-11-300.074000
282024-06-280.077000
292018-04-300.079000
302018-09-280.079000
312020-12-310.074000
322021-02-260.075000
332021-07-300.074000
342023-12-290.077000
352024-11-290.077000
362023-04-280.074000
372023-11-300.077000
382026-02-270.080000
392020-09-300.074000
402021-09-300.074000
412025-08-290.080000
422025-09-300.080000
432016-09-300.082000
442022-03-310.074000
452020-11-300.074000
462023-02-280.074000
472023-07-310.074000
482025-03-310.077000
492017-10-310.082000
502018-02-280.079000
512019-04-300.079000
522025-10-310.080000
532019-01-310.079000
542021-04-300.075000
552021-11-300.074000
562021-05-280.074000
572025-11-280.080000
582016-12-300.082000
592021-06-300.074000
602021-08-310.074000
612023-01-310.074000
622025-01-310.077000
632017-01-310.082000
642021-12-310.074000
652023-09-290.074000
662025-02-280.077000
672016-11-300.082000
682024-05-310.077000
692025-04-300.077000
702026-06-300.083000
712026-07-310.083000
722019-02-280.079000
732017-12-290.079000
742018-01-310.079000
752018-06-290.079000
762018-08-310.079000
772020-08-310.074000
782020-10-300.074000
792022-07-290.074000
802022-09-300.074000
812022-10-310.074000
822023-05-310.074000
832024-09-300.077000
842026-04-300.080000
852026-05-290.083000
862017-08-310.082000
872019-10-310.080000
882022-05-310.074000
892024-08-300.077000
902018-07-310.079000
912018-10-310.079000
922022-04-290.074000
932024-02-290.077000
942019-11-290.080000
952024-04-300.077000
962016-07-290.082000
972019-06-280.080000
982023-03-310.074000
992026-01-300.080000
1002017-02-280.082000
1012020-04-300.075000
1022024-03-280.077000
1032018-11-300.079000
1042021-10-290.074000
1052022-01-310.074000
1062025-05-300.080000
1072020-01-310.080000
1082022-08-310.074000
1092016-08-310.082000
1102020-02-280.075000
1112022-06-300.074000
1122024-10-310.077000
1132019-07-310.080000
1142020-06-300.074000
1152022-02-280.074000
1162022-12-300.071000
1172025-12-310.080000
1182016-10-310.082000
1192017-03-310.082000
1202019-09-300.080000
1212020-05-290.074000
1222024-01-310.077000