f/overrides/event-backup/fmo-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.1 KiB

1DateDividends
22005-04-131.565
32005-07-131.565
42005-10-121.565
52006-01-111.565
62006-04-111.565
72006-07-121.565
82006-10-111.565
92007-01-101.64
102007-04-111.665
112007-07-111.75
122007-10-111.775
132008-01-111.8
142008-04-111.825
152008-07-111.85
162008-10-101.86
172009-01-131.86
182009-04-131.86
192009-07-131.675
202009-10-131.675
212010-01-131.675
222010-04-131.675
232010-07-131.675
242010-10-131.675
252011-01-121.7
262011-04-131.725
272011-07-131.74
282011-10-121.775
292012-01-111.815
302012-05-111.855
312012-08-131.895
322012-11-131.935
332013-02-131.98
342013-05-132.02
352013-08-132.06
362013-11-132.07
372014-02-122.08
382014-05-132.09
392014-08-132.1
402014-11-122.11
412015-02-112.12
422015-05-112.135
432015-05-132.135
442015-08-122.145
452015-11-102.155
462016-02-102.155
472016-05-112.155
482016-08-112.155
492016-11-102.155
502017-02-132.155
512017-05-112.155
522017-08-112.155
532017-11-142.155
542018-02-142.155
552018-03-141.615
562018-05-141.615
572018-08-141.615
582018-11-141.615
592019-02-141.615
602019-05-141.615
612019-08-141.615
622019-11-141.615
632020-02-131.615
642020-05-140.165
652020-08-130.245
662020-11-120.245
672021-02-110.245
682021-05-130.245
692021-08-120.245