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

3.9 KiB

1DateDividends
22020-08-280.020000
32021-07-290.020000
42023-12-280.033000
52024-07-300.033000
62015-01-290.024000
72018-04-270.019000
82018-08-300.019000
92019-08-290.031000
102010-06-300.032000
112025-01-300.033000
122018-03-280.019000
132018-09-270.019000
142024-11-270.033000
152025-09-290.033000
162012-04-300.023000
172014-05-290.024000
182014-07-300.024000
192014-08-280.024000
202019-10-300.026000
212023-06-290.033000
222025-10-300.032000
232012-07-310.024000
242012-11-300.023000
252013-03-270.024000
262015-11-270.024000
272021-03-300.020000
282022-02-250.020000
292022-11-290.033000
302023-01-300.033000
312010-01-290.042000
322010-12-310.033000
332016-03-300.024000
342016-07-280.024000
352026-06-290.032000
362022-10-280.033000
372010-11-300.032000
382011-03-310.029000
392015-02-260.022000
402019-05-300.023000
412020-04-290.026000
422020-11-270.020000
432024-01-300.033000
442026-01-290.032000
452012-05-310.024000
462014-10-300.024000
472016-08-300.024000
482017-07-280.019000
492014-02-270.022000
502018-10-300.019000
512025-03-280.033000
522015-05-280.024000
532017-11-290.019000
542018-07-300.019000
552013-09-270.024000
562017-08-300.019000
572018-06-280.019000
582024-12-300.074000
592010-10-290.033000
602011-07-290.024000
612013-04-290.024000
622013-07-300.024000
632021-01-280.020000
642021-08-300.020000
652021-12-300.056000
662024-10-300.033000
672010-08-310.033000
682011-05-310.024000
692012-03-300.024000
702015-04-290.024000
712018-12-280.023000
722022-05-270.020000
732022-07-280.026000
742010-03-310.033000
752012-01-310.024000
762014-01-300.024000
772018-02-270.019000
782011-10-310.024000
792016-01-280.024000
802017-01-300.019000
812017-10-300.019000
822010-05-280.033000
832022-12-290.033000
842023-07-280.033000
852024-05-300.033000
862011-01-310.033000
872019-06-270.031000
882020-06-290.020000
892022-03-300.020000
902019-03-280.023000
912019-07-300.031000
922023-02-270.033000
932016-10-280.019000
942017-02-270.019000
952017-03-300.019000
962018-11-290.019000
972016-02-260.023000
982021-06-290.020000
992025-02-270.033000
1002025-07-300.033000
1012022-04-280.020000
1022022-08-300.026000
1032010-09-300.032000
1042013-02-280.022000
1052016-11-290.019000
1062020-10-290.020000
1072014-09-290.024000
1082022-09-290.033000
1092023-09-280.033000
1102011-04-290.028000
1112011-12-300.024000
1122013-06-270.024000
1132013-08-290.024000
1142016-06-290.024000
1152019-01-300.023000
1162020-05-280.020000
1172020-07-300.020000
1182011-06-300.024000
1192013-01-310.024000
1202015-06-290.024000
1212016-04-280.024000
1222021-04-290.020000
1232022-06-290.026000
1242024-04-290.033000
1252020-03-300.026000
1262025-12-300.140000
1272011-09-300.024000
1282012-10-310.024000
1292017-06-290.019000
1302019-11-270.026000
1312014-06-270.024000
1322020-01-300.026000
1332026-02-260.032000
1342012-09-280.023000
1352013-10-300.024000
1362013-12-300.024000
1372014-04-290.024000
1382018-01-300.018000
1392020-02-270.026000
1402021-09-290.020000
1412023-05-300.033000
1422011-08-310.024000
1432011-11-300.024000
1442012-06-290.023000
1452015-07-300.024000
1462024-06-270.033000
1472026-05-280.032000
1482010-07-300.033000
1492013-05-300.024000
1502015-08-280.024000
1512017-04-270.019000
1522025-05-290.033000
1532025-11-260.032000
1542015-09-290.024000
1552016-05-270.024000
1562020-12-300.056000
1572021-02-250.020000
1582023-03-300.033000
1592024-03-270.033000
1602026-07-300.032000
1612012-02-290.023000
1622013-11-270.024000
1632019-04-290.023000
1642021-10-280.020000
1652017-09-280.019000
1662019-09-270.031000
1672019-12-300.104000
1682021-11-290.020000
1692010-04-300.021000
1702014-12-300.024000
1712015-12-300.138000
1722017-05-300.019000
1732023-10-300.033000
1742023-11-290.033000
1752025-06-270.033000
1762025-08-280.033000
1772020-09-290.020000
1782026-04-290.032000
1792011-02-280.030000
1802012-08-310.024000
1812016-12-290.019000
1822017-12-280.019000
1832014-11-260.024000
1842023-08-300.033000
1852024-08-290.033000
1862023-04-270.033000
1872024-02-280.033000
1882014-03-280.024000
1892019-02-270.023000
1902021-05-270.020000
1912022-01-280.020000
1922026-01-020.008000
1932012-12-310.024000
1942018-05-300.019000
1952024-09-270.033000
1962025-04-290.033000
1972026-03-300.032000
1982010-02-260.030000
1992015-03-300.024000
2002015-10-290.024000
2012016-09-290.019000