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

1DateDividends
22018-08-310.023000
32016-05-310.024000
42018-05-310.025000
52023-03-310.030000
62019-08-300.025000
72020-08-310.023000
82021-06-300.024000
92021-12-060.108000
102019-02-280.023000
112023-02-280.030000
122024-08-300.035000
132025-02-280.035000
142016-04-290.024000
152017-12-060.013000
162022-12-300.024000
172023-09-290.031000
182022-08-310.025000
192023-01-310.025000
202015-03-310.021000
212017-04-280.024000
222018-10-310.023000
232021-05-280.024000
242019-07-310.024000
252021-11-300.023000
262024-01-310.031000
272024-04-300.034000
282025-01-310.035000
292015-04-300.021000
302016-01-290.024000
312018-03-290.028000
322022-12-060.093000
332018-04-300.028000
342021-07-300.024000
352016-02-290.024000
362017-06-300.025000
372017-07-310.025000
382018-01-310.028000
392017-09-290.027000
402020-01-310.025000
412020-10-300.023000
422021-10-290.024000
432022-04-290.023000
442024-06-280.034000
452026-01-300.036000
462026-04-300.036000
472015-12-310.024000
482017-08-310.027000
492024-12-310.035000
502025-08-290.036000
512025-06-300.035000
522017-12-290.028000
532019-09-300.025000
542021-01-290.023000
552022-03-310.023000
562021-08-310.024000
572021-09-300.024000
582023-10-310.031000
592015-05-290.021000
602016-03-310.024000
612017-02-280.024000
622020-02-280.023000
632015-11-300.024000
642024-09-300.035000
652015-02-270.021000
662022-11-300.025000
672025-03-310.035000
682026-06-300.034000
692025-12-310.036000
702018-09-280.023000
712018-12-310.023000
722019-11-290.025000
732022-07-290.025000
742019-12-310.025000
752020-11-300.023000
762020-12-310.023000
772022-05-310.023000
782024-02-290.034000
792026-07-310.034000
802015-08-310.021000
812019-05-310.024000
822022-10-310.025000
832023-08-310.031000
842019-12-060.052000
852020-09-300.023000
862025-04-300.035000
872019-03-290.023000
882023-12-290.031000
892018-06-290.025000
902019-10-310.025000
912020-03-310.023000
922023-05-310.031000
932026-02-270.036000
942016-11-300.023000
952019-01-310.023000
962019-04-300.023000
972025-05-300.035000
982022-02-280.023000
992024-05-310.034000
1002024-07-310.034000
1012015-06-300.021000
1022015-10-300.021000
1032016-06-300.024000
1042020-12-070.030000
1052026-05-290.034000
1062017-01-310.023000
1072020-05-290.023000
1082024-11-290.035000
1092025-10-310.036000
1102015-07-310.021000
1112016-09-300.023000
1122017-03-310.024000
1132023-06-300.031000
1142021-02-260.023000
1152021-12-310.023000
1162023-04-280.030000
1172025-07-310.035000
1182025-09-300.036000
1192016-10-310.023000
1202017-05-310.025000
1212018-02-280.028000
1222021-03-310.023000
1232025-11-280.036000
1242017-10-310.027000
1252020-07-310.023000
1262022-01-310.023000
1272022-09-300.025000
1282023-11-300.031000
1292024-03-280.034000
1302016-12-300.023000
1312020-04-300.023000
1322021-04-300.023000
1332023-07-310.031000
1342018-11-300.023000
1352020-06-300.023000
1362022-06-300.023000
1372026-03-310.036000
1382015-09-300.021000
1392016-08-310.023000
1402016-12-060.101000
1412018-07-310.025000
1422016-07-290.024000
1432017-11-300.028000
1442019-06-280.024000
1452024-10-310.035000