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

906 B

1DateDividends
22004-03-190.03
32004-06-240.03
42004-08-110.03
52004-11-300.03
62005-03-110.15
72005-06-030.15
82005-08-040.15
92005-12-080.15
102006-02-240.15
112006-06-070.15
122006-08-090.15
132006-12-150.15
142007-02-160.15
152007-05-110.15
162007-08-030.15
172007-11-080.15
182008-02-130.15
192008-05-080.15
202008-08-080.15
212008-11-070.15
222009-02-110.15
232009-05-110.15
242009-08-100.15
252009-11-060.15
262010-02-180.15
272010-05-110.15
282010-08-100.15
292010-11-090.15
302011-02-160.15
312011-05-110.15
322011-08-090.15
332011-11-080.15
342012-02-150.15
352012-05-080.17
362012-08-080.17
372012-11-060.17
382013-02-190.17
392013-05-080.18
402013-08-070.18
412013-11-080.18
422014-02-190.18
432014-05-070.2
442014-08-070.2
452014-11-100.2
462014-11-110.2
472015-02-180.2
482015-05-060.21
492015-08-050.21
502015-11-100.21
512016-02-170.21
522016-05-050.22
532016-08-100.22
542016-11-080.22
552017-02-220.22
562017-05-100.24
572017-08-100.24