f/overrides/event-backup/hsnvx-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
22022-06-280.030000
32024-02-270.037000
42016-05-270.036000
52017-12-270.241000
62024-11-270.041000
72025-02-270.046000
82026-04-290.043000
92015-01-290.028000
102015-05-280.030000
112016-12-280.094000
122019-05-300.029000
132019-09-270.029000
142024-03-260.037000
152014-11-260.028000
162016-03-300.032000
172017-03-300.030000
182020-12-170.100000
192021-03-290.021000
202021-06-280.027000
212022-01-280.021000
222023-08-290.034000
232018-08-300.029000
242020-05-280.029000
252020-09-280.023000
262022-07-280.031000
272023-09-270.037000
282024-05-290.040000
292024-10-280.039000
302026-03-270.038000
312017-08-300.026000
322021-04-290.023000
332014-12-300.046000
342017-11-290.031000
352022-11-290.030000
362025-12-290.101000
372020-03-270.024000
382020-07-300.023000
392020-12-290.024000
402025-09-260.041000
412016-11-290.033000
422018-03-280.029000
432018-05-300.026000
442020-01-300.021000
452020-04-290.028000
462023-05-300.037000
472023-11-290.038000
482025-04-290.044000
492015-08-270.034000
502018-11-290.030000
512021-10-280.024000
522023-12-270.098000
532025-10-300.038000
542016-01-280.024000
552019-12-270.077000
562021-12-170.104000
572023-06-280.040000
582024-06-260.040000
592024-12-270.090000
602017-01-300.027000
612019-02-270.028000
622020-08-280.022000
632023-02-270.035000
642014-12-120.199000
652015-11-270.033000
662016-04-280.031000
672019-03-280.026000
682022-09-280.037000
692019-10-300.027000
702023-10-300.036000
712015-09-290.034000
722021-05-270.024000
732021-08-300.026000
742023-04-270.040000
752021-09-280.025000
762017-09-280.025000
772020-06-260.025000
782022-12-280.045000
792015-02-260.034000
802016-08-290.031000
812018-12-270.248000
822019-08-290.028000
832021-12-290.040000
842022-05-270.026000
852021-07-290.026000
862026-05-280.043000
872018-09-270.030000
882020-10-290.021000
892017-06-290.030000
902025-06-260.041000
912026-02-260.043000
922015-06-290.036000
932015-10-290.030000
942021-01-280.018000
952015-04-290.034000
962015-12-290.039000
972016-09-290.032000
982018-10-300.029000
992022-04-280.025000
1002025-07-300.040000
1012025-08-280.043000
1022015-03-300.030000
1032022-08-300.037000
1042024-01-290.030000
1052025-01-300.030000
1062025-11-260.041000
1072016-06-290.031000
1082018-02-270.032000
1092018-06-280.029000
1102024-04-260.039000
1112026-01-290.030000
1122015-07-300.035000
1132016-10-280.033000
1142018-07-300.029000
1152019-01-300.022000
1162019-04-290.033000
1172020-11-250.024000
1182024-07-260.039000
1192024-09-260.042000
1202016-02-260.033000
1212017-02-270.033000
1222017-07-280.026000
1232018-01-300.023000
1242019-07-300.030000
1252019-11-270.027000
1262021-11-290.027000
1272022-02-250.028000
1282022-03-290.023000
1292023-03-290.033000
1302025-03-270.041000
1312025-05-290.042000
1322016-07-280.030000
1332024-08-270.039000
1342017-05-300.028000
1352020-02-270.026000
1362023-01-300.029000
1372023-07-280.037000
1382026-06-260.042000
1392017-10-300.027000
1402018-04-270.030000
1412019-06-270.030000
1422022-10-280.030000
1432017-04-270.032000
1442021-02-250.023000