f/overrides/event-backup/ggm-dividend.csv
Greg Pomerantz 3c5bee96ce Clean multi-vintage 'ctime' files: 1,065 files, 2.2M stale rows
Some dump files carry a trailing 'ctime' column: an older pipeline
appended a FULL re-download of the symbol per download (up to ~28
vintages per date, 2019-2022). The consumer keeps the last row per date,
so it silently used stale (~2021) vintages where Yahoo later revised
values. scripts/clean_multivintage.py keeps, per date, the rows from the
newest ctime (event files keep distinct same-day amounts; history/split
keep the single newest row), drops the ctime column, sorts by date.
Applied to the data root and overrides/frozen (which carried the same
artifact): 1,065 files, 2,202,712 stale rows dropped.

Also: stripped 3 UTF-8 BOMs (teg/lo/krft), refreshed the event backup
with the cleaned files, and re-ran the double-listing scan: category C
(83 symbols, 18,636 repeated within-file rows) is fully explained by the
multi-vintage artifact and is now gone; A (6,589 pairs, corrected) and
B (12,366 pairs, open review list) are unchanged. Whole-set structural
QC after cleaning: 0 duplicate dates, 3 syms/15 rows of OHLC invariant
violations, 15 syms/2,897 rows of non-positive prices (mostly
long-delisted tickers), 8 unsorted files (reader sorts).
2026-08-31 22:25:02 -04:00

1.6 KiB

1DateDividends
22013-09-110.161
32013-10-100.161
42013-11-130.161
52013-12-110.161
62014-01-130.161
72014-02-120.161
82014-03-120.161
92014-04-110.161
102014-05-130.171
112014-06-110.171
122014-07-110.171
132014-08-130.181
142014-09-110.181
152014-10-100.181
162014-11-120.181
172014-12-110.181
182015-01-130.181
192015-02-110.181
202015-03-110.181
212015-04-130.181
222015-05-130.181
232015-06-110.181
242015-07-130.181
252015-08-120.181
262015-09-110.181
272015-10-130.181
282015-11-100.181
292015-12-110.181
302016-01-130.181
312016-02-100.181
322016-03-110.181
332016-04-130.181
342016-05-110.181
352016-06-130.181
362016-07-130.181
372016-08-110.181
382016-09-130.181
392016-10-120.181
402016-11-100.181
412016-12-130.181
422017-01-110.181
432017-02-130.181
442017-03-130.181
452017-04-110.181
462017-05-110.181
472017-06-130.181
482017-07-120.181
492017-08-110.181
502017-09-140.181
512017-10-120.181
522017-11-140.181
532017-12-140.181
542018-01-110.181
552018-02-140.181
562018-03-140.181
572018-04-120.181
582018-05-140.181
592018-06-140.181
602018-07-120.181
612018-08-140.181
622018-09-130.181
632018-10-120.181
642018-11-140.181
652018-12-130.181
662019-01-140.181
672019-02-140.181
682019-03-140.181
692019-04-120.181
702019-05-140.181
712019-06-130.181
722019-07-120.181
732019-08-140.181
742019-09-120.181
752019-10-110.181
762019-11-140.181
772019-12-120.181
782020-01-140.181
792020-02-130.181
802020-03-120.181
812020-04-140.181
822020-05-140.181
832020-06-120.181
842020-07-140.181
852020-08-130.181
862020-09-140.181
872020-10-140.181
882020-11-120.181
892020-12-140.181
902021-01-140.181
912021-02-110.181
922021-03-120.181
932021-04-140.181
942021-05-130.181
952021-06-140.181
962021-07-140.181
972021-08-120.181