{"slug":"market-data-quality-checks","qid":"split_recon","label":"Declared split ratio against the close ratio across the effective date","post_title":"Market data quality checks that catch real bugs","post_url":"/blog/market-data-quality-checks#q-split_recon","columns":["split_label","declared_ratio","close_ratio"],"rows":[{"split_label":"DLLL Jun 26, 2026","declared_ratio":8,"close_ratio":1.08},{"split_label":"INTW Jun 26, 2026","declared_ratio":8,"close_ratio":1.09},{"split_label":"MVLL Jun 26, 2026","declared_ratio":3,"close_ratio":1.12},{"split_label":"MULL Jun 26, 2026","declared_ratio":25,"close_ratio":1.17},{"split_label":"NVDL Jun 26, 2026","declared_ratio":3,"close_ratio":1.04},{"split_label":"SMCL Jun 26, 2026","declared_ratio":3,"close_ratio":1.07},{"split_label":"LILAK Jun 17, 2026","declared_ratio":1.1,"close_ratio":1.35},{"split_label":"LILA Jun 17, 2026","declared_ratio":1.1,"close_ratio":1.34},{"split_label":"KLAC Jun 12, 2026","declared_ratio":10,"close_ratio":0.95},{"split_label":"SNDU Jun 8, 2026","declared_ratio":3,"close_ratio":0.9}],"shape":"ranking","sql":"WITH splits AS\n(\n    SELECT\n        ticker,\n        execution_date,\n        any(split_from) AS from_shares,\n        any(split_to)   AS to_shares\n    FROM global_markets.stocks_splits\n    WHERE execution_date >= '2024-06-01'\n      AND execution_date <= '2026-06-30'\n      AND split_to > split_from\n      AND ticker NOT IN ('SPCX')\n    GROUP BY ticker, execution_date\n)\nSELECT\n    concat(s.ticker, ' ', formatDateTime(s.execution_date, '%b %e, %Y')) AS split_label,\n    round(s.to_shares / s.from_shares, 2)                                AS declared_ratio,\n    round(\n        argMaxIf(toFloat64(d.close), d.date, d.date <  s.execution_date)\n      / argMinIf(toFloat64(d.close), d.date, d.date >= s.execution_date), 2\n    )                                                                    AS close_ratio\nFROM global_markets.stocks_daily_aggs AS d\nINNER JOIN splits AS s ON s.ticker = d.ticker\nWHERE d.date >= '2024-05-20'\n  AND d.date <= '2026-07-10'\n  AND d.date >= s.execution_date - 7\n  AND d.date <= s.execution_date + 7\nGROUP BY s.ticker, s.execution_date, s.from_shares, s.to_shares\nHAVING countIf(d.date <  s.execution_date) > 1\n   AND countIf(d.date >= s.execution_date) > 1\n   AND max(d.volume) > 2000000\nORDER BY s.execution_date DESC\nLIMIT 10","computed_at":"2026-10-07T15:22:23.979585+00:00","elapsed":0.003174481}