f/overrides/event-backup/npscx-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

4.7 KiB

1DateDividends
22010-02-260.085000
32015-02-270.067000
42018-10-310.065000
52019-06-280.065000
62021-12-310.058000
72026-04-300.065000
82021-07-300.059000
92022-09-300.060000
102025-01-310.063000
112010-03-310.085000
122017-08-310.067000
132017-12-290.064000
142019-08-300.065000
152009-07-310.090000
162017-07-310.068000
172011-05-310.080000
182017-09-290.067000
192009-12-240.085000
202017-11-300.064000
212011-12-300.077000
222014-03-310.072000
232020-12-310.059000
242022-10-310.060000
252024-07-310.064000
262008-06-300.095000
272008-07-310.095000
282013-05-310.076000
292014-12-150.090000
302015-11-300.068000
312024-03-280.064000
322009-03-310.090000
332009-05-290.090000
342012-06-290.078000
352012-07-310.078000
362012-12-140.165000
372018-09-280.065000
382020-02-280.059000
392023-07-310.061000
402009-01-300.090000
412018-01-310.064000
422025-08-290.066000
432026-07-310.068000
442008-11-280.090000
452010-07-300.084000
462012-01-310.077000
472016-03-310.068000
482009-11-300.085000
492012-04-300.078000
502018-02-280.064000
512021-03-310.059000
522021-06-300.059000
532023-12-290.064000
542011-12-150.428000
552020-06-300.060000
562009-02-270.090000
572014-04-300.072000
582015-10-300.067000
592019-10-310.065000
602020-07-310.060000
612025-09-300.066000
622026-02-270.065000
632018-05-310.065000
642010-12-310.080000
652019-11-290.064000
662020-01-310.064000
672021-01-290.059000
682023-11-300.064000
692026-03-310.065000
702010-12-130.421000
712014-02-280.072000
722018-06-290.065000
732019-04-300.065000
742023-09-290.061000
752010-08-310.084000
762011-11-300.077000
772013-03-280.076000
782023-10-310.061000
792025-10-310.066000
802015-05-290.067000
812015-07-310.067000
822019-12-310.064000
832023-06-300.061000
842024-10-310.064000
852025-06-300.066000
862026-06-300.068000
872011-01-310.080000
882011-04-290.080000
892016-11-300.068000
902018-08-310.065000
912020-09-300.060000
922022-07-290.059000
932022-12-300.059000
942011-03-310.080000
952012-08-310.077000
962020-08-310.060000
972023-08-310.061000
982007-07-100.084000
992008-03-310.095000
1002009-09-300.089000
1012012-12-310.077000
1022016-10-310.068000
1032023-02-280.061000
1042025-12-310.065000
1052008-05-300.095000
1062009-06-300.090000
1072024-09-300.064000
1082007-06-110.084000
1092013-04-300.076000
1102014-08-290.072000
1112015-06-300.067000
1122020-10-300.060000
1132023-03-310.061000
1142024-05-310.064000
1152008-10-310.087000
1162016-06-300.068000
1172017-10-310.067000
1182022-02-280.059000
1192008-04-300.095000
1202014-05-300.072000
1212012-05-310.078000
1222013-12-130.340000
1232023-01-310.061000
1242015-04-300.067000
1252016-05-310.068000
1262022-01-310.058000
1272025-11-280.065000
1282013-06-280.076000
1292016-12-300.068000
1302017-05-310.068000
1312020-05-290.060000
1322021-09-300.058000
1332007-05-100.084000
1342015-03-310.067000
1352015-12-150.070000
1362010-10-290.084000
1372016-01-290.068000
1382019-05-310.065000
1392021-04-300.059000
1402023-04-280.061000
1412025-04-300.063000
1422024-01-310.064000
1432007-09-100.093000
1442020-04-300.059000
1452022-03-310.059000
1462007-12-240.094000
1472010-01-290.085000
1482010-06-300.084000
1492015-12-310.068000
1502025-07-310.066000
1512013-01-310.077000
1522016-04-290.068000
1532017-01-310.068000
1542018-11-300.065000
1552021-08-310.058000
1562011-09-300.077000
1572014-07-310.072000
1582007-08-100.093000
1592012-03-300.078000
1602021-02-260.059000
1612025-02-280.063000
1622013-10-310.076000
1632015-09-300.067000
1642007-11-290.094000
1652009-04-300.089000
1662015-01-300.067000
1672016-02-290.068000
1682026-01-300.065000
1692009-08-310.089000
1702011-08-310.077000
1712017-02-280.068000
1722014-01-310.072000
1732021-05-280.059000
1742026-05-290.068000
1752014-11-280.067000
1762018-04-300.064000
1772018-12-310.065000
1782024-04-300.064000
1792012-09-280.077000
1802014-12-310.067000
1812024-12-310.063000
1822007-03-120.078000
1832007-04-100.078000
1842008-12-240.090000
1852011-02-280.080000
1862013-09-300.076000
1872013-02-280.076000
1882014-06-300.072000
1892023-05-310.061000
1902024-02-290.064000
1912024-06-280.064000
1922024-08-300.064000
1932012-10-310.077000
1942019-02-280.065000
1952021-10-290.058000
1962022-05-310.059000
1972007-02-120.078000
1982008-02-290.095000
1992013-11-290.072000
2002014-10-310.072000
2012017-06-300.068000
2022020-11-300.059000
2032022-11-300.061000
2042007-10-100.093000
2052010-11-300.080000
2062013-12-310.072000
2072015-08-310.067000
2082016-09-300.068000
2092019-03-290.065000
2102021-11-300.058000
2112011-06-300.080000
2122012-11-300.077000
2132014-09-300.072000
2142010-05-280.084000
2152016-07-290.068000
2162018-03-290.064000
2172018-07-310.065000
2182025-03-310.063000
2192010-09-300.084000
2202025-05-300.066000
2212009-10-300.089000
2222011-07-290.080000
2232022-06-300.059000
2242024-11-290.063000
2252012-02-290.078000
2262013-07-310.076000
2272008-01-310.094000
2282017-03-310.068000
2292019-01-310.065000
2302022-04-290.059000
2312011-10-310.077000
2322008-09-300.087000
2332019-07-310.065000
2342020-03-310.059000
2352008-08-290.095000
2362013-08-300.076000
2372016-08-310.068000
2382017-04-280.068000
2392019-09-300.065000
2402022-08-310.060000