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

980 B

1DateDividends
22012-08-030.011
32012-09-070.015
42012-10-050.012
52012-11-020.014
62012-12-210.18
72013-02-080.012
82013-02-150.016
92013-03-010.01
102013-04-050.017
112013-05-030.019
122013-06-070.027
132013-07-050.015
142013-08-020.016
152013-09-060.019
162013-10-040.019
172013-11-010.019
182013-12-200.033
192014-02-070.018
202014-03-070.013
212014-04-040.015
222014-05-020.017
232014-06-060.016
242014-07-030.013
252014-08-080.018
262014-09-050.016
272014-10-030.014
282014-11-070.02
292014-12-260.029
302015-01-290.033
312015-02-060.018
322015-02-130.032
332015-03-060.014
342015-04-010.017
352015-05-010.017
362015-06-050.023
372015-07-010.016
382015-08-070.017
392015-09-020.015
402015-10-020.016
412015-11-060.02
422015-12-230.034
432016-02-050.018
442016-03-040.018
452016-04-080.012
462016-05-060.013
472016-06-030.013
482016-07-080.016
492016-08-050.016
502016-09-090.017
512016-10-070.014
522016-11-040.013
532016-12-230.041
542017-02-030.012
552017-03-030.013
562017-04-070.011
572017-05-050.013
582017-06-020.012