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

993 B

1DateDividends
22014-12-230.055
32015-07-310.155
42015-08-310.032
52015-09-300.032
62015-10-300.03
72015-11-300.023
82015-12-290.061
92016-01-290.023
102016-02-290.025
112016-03-310.027
122016-04-290.022
132016-05-310.019
142016-06-300.02
152016-07-290.018
162016-08-310.022
172016-09-300.021
182016-10-310.02
192016-11-300.019
202016-12-280.019
212017-01-310.015
222017-02-280.017
232017-03-310.019
242017-04-280.017
252017-05-310.021
262017-06-300.021
272017-07-310.02
282017-08-310.023
292017-09-290.021
302017-10-310.022
312017-11-300.023
322017-12-270.027
332018-01-310.02
342018-02-280.019
352018-03-290.024
362018-04-300.024
372018-05-310.027
382018-06-290.022
392018-07-310.03
402018-08-310.027
412018-09-280.026
422018-10-310.028
432018-11-300.026
442018-12-210.034
452019-01-310.023
462019-02-280.025
472019-03-290.03
482019-04-300.032
492019-05-310.029
502019-06-280.026
512019-07-310.031
522019-08-300.029
532019-09-300.028
542019-10-310.03
552019-11-290.024
562019-12-200.033
572020-01-310.021
582020-02-280.022
592020-03-310.029