{"slug":"how-to-read-the-cot-report","qid":"snapshot_lag","label":"SPY move from Tuesday close to Friday close, the age of a COT snapshot","post_title":"How to Read the COT Report: Columns Explained","post_url":"/blog/how-to-read-the-cot-report#q-snapshot_lag","columns":["year","session_pair_count","median_gap_move_pct","p90_gap_move_pct"],"rows":[{"year":"2016","session_pair_count":51,"median_gap_move_pct":0.88,"p90_gap_move_pct":2.2},{"year":"2017","session_pair_count":50,"median_gap_move_pct":0.33,"p90_gap_move_pct":1.11},{"year":"2018","session_pair_count":50,"median_gap_move_pct":1.14,"p90_gap_move_pct":2.71},{"year":"2019","session_pair_count":51,"median_gap_move_pct":0.88,"p90_gap_move_pct":2.35},{"year":"2020","session_pair_count":48,"median_gap_move_pct":1.24,"p90_gap_move_pct":4.21},{"year":"2021","session_pair_count":50,"median_gap_move_pct":0.75,"p90_gap_move_pct":2.08},{"year":"2022","session_pair_count":51,"median_gap_move_pct":1.72,"p90_gap_move_pct":4.32},{"year":"2023","session_pair_count":50,"median_gap_move_pct":0.88,"p90_gap_move_pct":2.8},{"year":"2024","session_pair_count":52,"median_gap_move_pct":1.04,"p90_gap_move_pct":2.17},{"year":"2025","session_pair_count":50,"median_gap_move_pct":0.84,"p90_gap_move_pct":2.43},{"year":"2026","session_pair_count":23,"median_gap_move_pct":1.26,"p90_gap_move_pct":2.92}],"shape":"ranking","sql":"WITH spy AS\n(\n    SELECT\n        date,\n        toFloat64(close) AS close_px\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'SPY'\n      AND date >= '2016-01-01'\n      AND date <  '2026-07-01'\n)\nSELECT\n    toString(toYear(tue.date)) AS year,\n    count()                    AS session_pair_count,\n    round(quantileDeterministic(0.5)(abs(fri.close_px / tue.close_px - 1) * 100,\n          toUInt64(toUnixTimestamp(tue.date))), 2) AS median_gap_move_pct,\n    round(quantileDeterministic(0.9)(abs(fri.close_px / tue.close_px - 1) * 100,\n          toUInt64(toUnixTimestamp(tue.date))), 2) AS p90_gap_move_pct\nFROM spy AS tue\nINNER JOIN spy AS fri ON fri.date = tue.date + 3\nWHERE toDayOfWeek(tue.date) = 2\nGROUP BY year\nORDER BY year","computed_at":"2026-08-22T04:13:51.772558+00:00","elapsed":0.03742695}