{"slug":"what-is-the-ttm-squeeze","qid":"squeeze_trace","label":"Bollinger width against Keltner width, KO, first quarter 2026","post_title":"What Is the TTM Squeeze? Formula and Limits","post_url":"/blog/what-is-the-ttm-squeeze#q-squeeze_trace","columns":["date","date_label","bb_width_pct","kc_width_pct","squeeze_ratio"],"rows":[{"date":"2026-01-02","date_label":"Jan 2","bb_width_pct":2.44,"kc_width_pct":3.39,"squeeze_ratio":0.719},{"date":"2026-01-05","date_label":"Jan 5","bb_width_pct":3.61,"kc_width_pct":3.45,"squeeze_ratio":1.047},{"date":"2026-01-06","date_label":"Jan 6","bb_width_pct":4.5,"kc_width_pct":3.42,"squeeze_ratio":1.318},{"date":"2026-01-07","date_label":"Jan 7","bb_width_pct":5.35,"kc_width_pct":3.4,"squeeze_ratio":1.571},{"date":"2026-01-08","date_label":"Jan 8","bb_width_pct":5.35,"kc_width_pct":3.67,"squeeze_ratio":1.46},{"date":"2026-01-09","date_label":"Jan 9","bb_width_pct":5.41,"kc_width_pct":3.83,"squeeze_ratio":1.41},{"date":"2026-01-12","date_label":"Jan 12","bb_width_pct":5.42,"kc_width_pct":3.58,"squeeze_ratio":1.514},{"date":"2026-01-13","date_label":"Jan 13","bb_width_pct":5.64,"kc_width_pct":3.45,"squeeze_ratio":1.638},{"date":"2026-01-14","date_label":"Jan 14","bb_width_pct":5.82,"kc_width_pct":3.42,"squeeze_ratio":1.701},{"date":"2026-01-15","date_label":"Jan 15","bb_width_pct":5.84,"kc_width_pct":3.48,"squeeze_ratio":1.679},{"date":"2026-01-16","date_label":"Jan 16","bb_width_pct":5.8,"kc_width_pct":3.5,"squeeze_ratio":1.657},{"date":"2026-01-20","date_label":"Jan 20","bb_width_pct":6.23,"kc_width_pct":3.79,"squeeze_ratio":1.646},{"date":"2026-01-21","date_label":"Jan 21","bb_width_pct":6.75,"kc_width_pct":3.93,"squeeze_ratio":1.718},{"date":"2026-01-22","date_label":"Jan 22","bb_width_pct":7.12,"kc_width_pct":3.93,"squeeze_ratio":1.812},{"date":"2026-01-23","date_label":"Jan 23","bb_width_pct":7.89,"kc_width_pct":4.08,"squeeze_ratio":1.935},{"date":"2026-01-26","date_label":"Jan 26","bb_width_pct":8.37,"kc_width_pct":4.14,"squeeze_ratio":2.021},{"date":"2026-01-27","date_label":"Jan 27","bb_width_pct":9.19,"kc_width_pct":4.31,"squeeze_ratio":2.13},{"date":"2026-01-28","date_label":"Jan 28","bb_width_pct":9.65,"kc_width_pct":4.41,"squeeze_ratio":2.19},{"date":"2026-01-29","date_label":"Jan 29","bb_width_pct":10.15,"kc_width_pct":4.52,"squeeze_ratio":2.245},{"date":"2026-01-30","date_label":"Jan 30","bb_width_pct":11.11,"kc_width_pct":4.75,"squeeze_ratio":2.337},{"date":"2026-02-02","date_label":"Feb 2","bb_width_pct":11.87,"kc_width_pct":4.81,"squeeze_ratio":2.468},{"date":"2026-02-03","date_label":"Feb 3","bb_width_pct":12.66,"kc_width_pct":5.02,"squeeze_ratio":2.52},{"date":"2026-02-04","date_label":"Feb 4","bb_width_pct":13.12,"kc_width_pct":5.11,"squeeze_ratio":2.57},{"date":"2026-02-05","date_label":"Feb 5","bb_width_pct":13.52,"kc_width_pct":5.21,"squeeze_ratio":2.594},{"date":"2026-02-06","date_label":"Feb 6","bb_width_pct":14.52,"kc_width_pct":4.96,"squeeze_ratio":2.927},{"date":"2026-02-09","date_label":"Feb 9","bb_width_pct":14.95,"kc_width_pct":4.94,"squeeze_ratio":3.024},{"date":"2026-02-10","date_label":"Feb 10","bb_width_pct":14.73,"kc_width_pct":5.17,"squeeze_ratio":2.848},{"date":"2026-02-11","date_label":"Feb 11","bb_width_pct":15.13,"kc_width_pct":5.45,"squeeze_ratio":2.777},{"date":"2026-02-12","date_label":"Feb 12","bb_width_pct":15.47,"kc_width_pct":5.6,"squeeze_ratio":2.761},{"date":"2026-02-13","date_label":"Feb 13","bb_width_pct":15.05,"kc_width_pct":5.58,"squeeze_ratio":2.698},{"date":"2026-02-17","date_label":"Feb 17","bb_width_pct":14.57,"kc_width_pct":5.6,"squeeze_ratio":2.603},{"date":"2026-02-18","date_label":"Feb 18","bb_width_pct":14.3,"kc_width_pct":5.36,"squeeze_ratio":2.67},{"date":"2026-02-19","date_label":"Feb 19","bb_width_pct":13.71,"kc_width_pct":5.27,"squeeze_ratio":2.603},{"date":"2026-02-20","date_label":"Feb 20","bb_width_pct":13.02,"kc_width_pct":5.31,"squeeze_ratio":2.453},{"date":"2026-02-23","date_label":"Feb 23","bb_width_pct":12.73,"kc_width_pct":5.29,"squeeze_ratio":2.405},{"date":"2026-02-24","date_label":"Feb 24","bb_width_pct":11.99,"kc_width_pct":5.36,"squeeze_ratio":2.238},{"date":"2026-02-25","date_label":"Feb 25","bb_width_pct":11.34,"kc_width_pct":5.31,"squeeze_ratio":2.135},{"date":"2026-02-26","date_label":"Feb 26","bb_width_pct":10.05,"kc_width_pct":5.25,"squeeze_ratio":1.914},{"date":"2026-02-27","date_label":"Feb 27","bb_width_pct":8.85,"kc_width_pct":5.32,"squeeze_ratio":1.666},{"date":"2026-03-02","date_label":"Mar 2","bb_width_pct":7.69,"kc_width_pct":5.29,"squeeze_ratio":1.454},{"date":"2026-03-03","date_label":"Mar 3","bb_width_pct":6.38,"kc_width_pct":5.34,"squeeze_ratio":1.195},{"date":"2026-03-04","date_label":"Mar 4","bb_width_pct":5.95,"kc_width_pct":5.22,"squeeze_ratio":1.14},{"date":"2026-03-05","date_label":"Mar 5","bb_width_pct":6.09,"kc_width_pct":5.29,"squeeze_ratio":1.15},{"date":"2026-03-06","date_label":"Mar 6","bb_width_pct":6.52,"kc_width_pct":5.17,"squeeze_ratio":1.261},{"date":"2026-03-09","date_label":"Mar 9","bb_width_pct":6.7,"kc_width_pct":5.29,"squeeze_ratio":1.266},{"date":"2026-03-10","date_label":"Mar 10","bb_width_pct":6.72,"kc_width_pct":5.24,"squeeze_ratio":1.283},{"date":"2026-03-11","date_label":"Mar 11","bb_width_pct":6.41,"kc_width_pct":5.11,"squeeze_ratio":1.255},{"date":"2026-03-12","date_label":"Mar 12","bb_width_pct":6.61,"kc_width_pct":4.88,"squeeze_ratio":1.354},{"date":"2026-03-13","date_label":"Mar 13","bb_width_pct":6.9,"kc_width_pct":4.7,"squeeze_ratio":1.466},{"date":"2026-03-16","date_label":"Mar 16","bb_width_pct":7.02,"kc_width_pct":4.67,"squeeze_ratio":1.502},{"date":"2026-03-17","date_label":"Mar 17","bb_width_pct":7.15,"kc_width_pct":4.66,"squeeze_ratio":1.535},{"date":"2026-03-18","date_label":"Mar 18","bb_width_pct":7.81,"kc_width_pct":4.82,"squeeze_ratio":1.619},{"date":"2026-03-19","date_label":"Mar 19","bb_width_pct":8.56,"kc_width_pct":4.8,"squeeze_ratio":1.782},{"date":"2026-03-20","date_label":"Mar 20","bb_width_pct":9.41,"kc_width_pct":4.96,"squeeze_ratio":1.898},{"date":"2026-03-23","date_label":"Mar 23","bb_width_pct":9.67,"kc_width_pct":4.89,"squeeze_ratio":1.978},{"date":"2026-03-24","date_label":"Mar 24","bb_width_pct":9.83,"kc_width_pct":4.87,"squeeze_ratio":2.018},{"date":"2026-03-25","date_label":"Mar 25","bb_width_pct":9.65,"kc_width_pct":4.97,"squeeze_ratio":1.944},{"date":"2026-03-26","date_label":"Mar 26","bb_width_pct":9.44,"kc_width_pct":5.03,"squeeze_ratio":1.878},{"date":"2026-03-27","date_label":"Mar 27","bb_width_pct":8,"kc_width_pct":5.02,"squeeze_ratio":1.593},{"date":"2026-03-30","date_label":"Mar 30","bb_width_pct":6.95,"kc_width_pct":5.01,"squeeze_ratio":1.387},{"date":"2026-03-31","date_label":"Mar 31","bb_width_pct":6.2,"kc_width_pct":4.99,"squeeze_ratio":1.242}],"shape":"series","sql":"WITH\npx AS\n(\n    SELECT\n        date,\n        toFloat64(any(close)) AS c,\n        toFloat64(any(high))  AS h,\n        toFloat64(any(low))   AS l\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker = 'KO'\n      AND date >= '2025-11-03'\n      AND date <  '2026-04-01'\n    GROUP BY date\n),\ntr AS\n(\n    SELECT\n        date,\n        c,\n        h,\n        l,\n        lagInFrame(c) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_c\n    FROM px\n),\nstat AS\n(\n    SELECT\n        date,\n        concat(formatDateTime(date, '%b'), ' ', toString(toDayOfMonth(date))) AS date_label,\n        avg(c)       OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS basis,\n        stddevPop(c) OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS sd,\n        count()      OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS bars,\n        avg(if(prev_c > 0, greatest(h - l, abs(h - prev_c), abs(l - prev_c)), h - l))\n                     OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS atr\n    FROM tr\n)\nSELECT\n    toString(date)                  AS date,\n    date_label,\n    round(100 * 4 * sd / basis, 2)  AS bb_width_pct,\n    round(100 * 3 * atr / basis, 2) AS kc_width_pct,\n    round(4 * sd / (3 * atr), 3)    AS squeeze_ratio\nFROM stat\nWHERE bars = 20\n  AND date >= '2026-01-02'\nORDER BY date","computed_at":"2026-09-27T16:13:37.412873+00:00","elapsed":0.030264656}