f/overrides/event-backup/ggm-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.6 KiB

1DateDividendsctime
22015-12-110.1812021-08-28 07:48:52
32019-05-140.1812021-08-28 07:48:52
42018-11-140.1812021-08-28 07:48:52
52016-06-130.1812021-08-28 07:48:52
62017-10-120.1812021-08-28 07:48:52
72020-09-140.1812021-08-28 07:48:52
82016-03-110.1812021-08-28 07:48:52
92014-11-120.1812021-08-28 07:48:52
102015-05-130.1812021-08-28 07:48:52
112019-08-140.1812021-08-28 07:48:52
122019-02-140.1812021-08-28 07:48:52
132013-10-100.1612021-08-28 07:48:52
142016-09-130.1812021-08-28 07:48:52
152014-02-120.1612021-08-28 07:48:52
162015-08-120.1812021-08-28 07:48:52
172018-04-120.1812021-08-28 07:48:52
182018-10-120.1812021-08-28 07:48:52
192019-12-120.1812021-08-28 07:48:52
202017-01-110.1812021-08-28 07:48:52
212017-03-130.1812021-08-28 07:48:52
222014-04-110.1612021-08-28 07:48:52
232018-07-120.1812021-08-28 07:48:52
242021-06-140.1812021-08-28 07:48:52
252015-06-110.1812021-08-28 07:48:52
262018-05-140.1812021-08-28 07:48:52
272019-09-120.1812021-08-28 07:48:52
282021-03-120.1812021-08-28 07:48:52
292019-11-140.1812021-08-28 07:48:52
302016-10-120.1812021-08-28 07:48:52
312015-11-100.1812021-08-28 07:48:52
322014-05-130.1712021-08-28 07:48:52
332015-09-110.1812021-08-28 07:48:52
342018-08-140.1812021-08-28 07:48:52
352020-02-130.1812021-08-28 07:48:52
362021-04-140.1812021-08-28 07:48:52
372020-03-120.1812021-08-28 07:48:52
382014-08-130.1812021-08-28 07:48:52
392015-02-110.1812021-08-28 07:48:52
402017-04-110.1812021-08-28 07:48:52
412021-07-140.1812021-08-28 07:48:52
422016-12-130.1812021-08-28 07:48:52
432014-01-130.1612021-08-28 07:48:52
442020-06-120.1812021-08-28 07:48:52
452017-07-120.1812021-08-28 07:48:52
462018-01-110.1812021-08-28 07:48:52
472020-12-140.1812021-08-28 07:48:52
482013-12-110.1612021-08-28 07:48:52
492014-06-110.1712021-08-28 07:48:52
502018-09-130.1812021-08-28 07:48:52
512015-10-130.1812021-08-28 07:48:52
522020-11-120.1812021-08-28 07:48:52
532021-05-130.1812021-08-28 07:48:52
542014-09-110.1812021-08-28 07:48:52
552017-02-130.1812021-08-28 07:48:52
562016-11-100.1812021-08-28 07:48:52
572017-05-110.1812021-08-28 07:48:52
582020-04-140.1812021-08-28 07:48:52
592021-02-110.1812021-08-28 07:48:52
602021-08-120.1812021-08-28 07:48:52
612019-03-140.1812021-08-28 07:48:52
622016-02-100.1812021-08-28 07:48:52
632019-01-140.1812021-08-28 07:48:52
642017-08-110.1812021-08-28 07:48:52
652020-07-140.1812021-08-28 07:48:52
662016-04-130.1812021-08-28 07:48:52
672015-03-110.1812021-08-28 07:48:52
682017-12-140.1812021-08-28 07:48:52
692019-06-130.1812021-08-28 07:48:52
702015-01-130.1812021-08-28 07:48:52
712016-07-130.1812021-08-28 07:48:52
722020-10-140.1812021-08-28 07:48:52
732014-12-110.1812021-08-28 07:48:52
742017-09-140.1812021-08-28 07:48:52
752017-11-140.1812021-08-28 07:48:52
762020-05-140.1812021-08-28 07:48:52
772014-07-110.1712021-08-28 07:48:52
782017-06-130.1812021-08-28 07:48:52
792013-09-110.1612021-08-28 07:48:52
802019-04-120.1812021-08-28 07:48:52
812021-01-140.1812021-08-28 07:48:52
822013-11-130.1612021-08-28 07:48:52
832016-05-110.1812021-08-28 07:48:52
842018-02-140.1812021-08-28 07:48:52
852020-08-130.1812021-08-28 07:48:52
862014-10-100.1812021-08-28 07:48:52
872019-07-120.1812021-08-28 07:48:52
882018-03-140.1812021-08-28 07:48:52
892015-04-130.1812021-08-28 07:48:52
902016-08-110.1812021-08-28 07:48:52
912020-01-140.1812021-08-28 07:48:52
922014-03-120.1612021-08-28 07:48:52
932019-10-110.1812021-08-28 07:48:52
942018-06-140.1812021-08-28 07:48:52
952018-12-130.1812021-08-28 07:48:52
962015-07-130.1812021-08-28 07:48:52
972016-01-130.1812021-08-28 07:48:52