STRASMORE/EXPLORE 2,707 QUERIES

Bollinger width against Keltner width, KO, first quarter 2026

Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-27, from What Is the TTM Squeeze? Formula and Limits.

as of series 61×5read in context →
Bollinger width against Keltner width, KO, first quarter 2026 — 61 rows by 5 columns, computed from US exchange, SIP and OPRA data.
datedate_labelbb_width_pctkc_width_pctsqueeze_ratio
2026-01-02Jan 22.443.390.719
2026-01-05Jan 53.613.451.047
2026-01-06Jan 64.53.421.318
2026-01-07Jan 75.353.41.571
2026-01-08Jan 85.353.671.46
2026-01-09Jan 95.413.831.41
2026-01-12Jan 125.423.581.514
2026-01-13Jan 135.643.451.638
2026-01-14Jan 145.823.421.701
2026-01-15Jan 155.843.481.679
2026-01-16Jan 165.83.51.657
2026-01-20Jan 206.233.791.646
2026-01-21Jan 216.753.931.718
2026-01-22Jan 227.123.931.812
2026-01-23Jan 237.894.081.935
2026-01-26Jan 268.374.142.021
2026-01-27Jan 279.194.312.13
2026-01-28Jan 289.654.412.19
2026-01-29Jan 2910.154.522.245
2026-01-30Jan 3011.114.752.337
2026-02-02Feb 211.874.812.468
2026-02-03Feb 312.665.022.52
2026-02-04Feb 413.125.112.57
2026-02-05Feb 513.525.212.594
2026-02-06Feb 614.524.962.927
2026-02-09Feb 914.954.943.024
2026-02-10Feb 1014.735.172.848
2026-02-11Feb 1115.135.452.777
2026-02-12Feb 1215.475.62.761
2026-02-13Feb 1315.055.582.698
2026-02-17Feb 1714.575.62.603
2026-02-18Feb 1814.35.362.67
2026-02-19Feb 1913.715.272.603
2026-02-20Feb 2013.025.312.453
2026-02-23Feb 2312.735.292.405
2026-02-24Feb 2411.995.362.238
2026-02-25Feb 2511.345.312.135
2026-02-26Feb 2610.055.251.914
2026-02-27Feb 278.855.321.666
2026-03-02Mar 27.695.291.454
2026-03-03Mar 36.385.341.195
2026-03-04Mar 45.955.221.14
2026-03-05Mar 56.095.291.15
2026-03-06Mar 66.525.171.261
2026-03-09Mar 96.75.291.266
2026-03-10Mar 106.725.241.283
2026-03-11Mar 116.415.111.255
2026-03-12Mar 126.614.881.354
2026-03-13Mar 136.94.71.466
2026-03-16Mar 167.024.671.502
2026-03-17Mar 177.154.661.535
2026-03-18Mar 187.814.821.619
2026-03-19Mar 198.564.81.782
2026-03-20Mar 209.414.961.898
2026-03-23Mar 239.674.891.978
2026-03-24Mar 249.834.872.018
2026-03-25Mar 259.654.971.944
2026-03-26Mar 269.445.031.878
2026-03-27Mar 2785.021.593
2026-03-30Mar 306.955.011.387
2026-03-31Mar 316.24.991.242
Rows × columns
61 × 5
Period covered
to
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for Bollinger width against Keltner width, KO, first quarter 2026, derived from the stored result.
ColumnTypeRangeNotes
date date 2026-01-02 to 2026-03-31
date_label text 61 distinct values (Feb 10, Feb 11, Feb 12…)
bb_width_pct number 2.44 to 15.47 percent
kc_width_pct number 3.39 to 5.6 percent
squeeze_ratio number 0.719 to 3.024 ratio or rate

Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

WITH
px AS
(
    SELECT
        date,
        toFloat64(any(close)) AS c,
        toFloat64(any(high))  AS h,
        toFloat64(any(low))   AS l
    FROM global_markets.stocks_daily_aggs
    WHERE ticker = 'KO'
      AND date >= '2025-11-03'
      AND date <  '2026-04-01'
    GROUP BY date
),
tr AS
(
    SELECT
        date,
        c,
        h,
        l,
        lagInFrame(c) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_c
    FROM px
),
stat AS
(
    SELECT
        date,
        concat(formatDateTime(date, '%b'), ' ', toString(toDayOfMonth(date))) AS date_label,
        avg(c)       OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS basis,
        stddevPop(c) OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS sd,
        count()      OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS bars,
        avg(if(prev_c > 0, greatest(h - l, abs(h - prev_c), abs(l - prev_c)), h - l))
                     OVER (ORDER BY date ROWS BETWEEN 19 PRECEDING AND CURRENT ROW) AS atr
    FROM tr
)
SELECT
    toString(date)                  AS date,
    date_label,
    round(100 * 4 * sd / basis, 2)  AS bb_width_pct,
    round(100 * 3 * atr / basis, 2) AS kc_width_pct,
    round(4 * sd / (3 * atr), 3)    AS squeeze_ratio
FROM stat
WHERE bars = 20
  AND date >= '2026-01-02'
ORDER BY date
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisWhat Is the TTM Squeeze? Formula and Limits
Share of sessions in a squeeze, six liquid names, three years ranking 6×3 → Squeeze sessions found by each parameter set, KO, three years ranking 6×3 → What the next ten sessions did, squeeze against no squeeze ranking 2×4 → SPY close versus its 50-day and 200-day averages, February to July 2020 series 126×4 → Growth of $100: a calm name (KO), the market (SPY), a wild name (NVDA), weekly series 114×4 → Near-dated versus long-dated SPY implied volatility, session by session series 82×3 → See all 2,707 queries →