{"slug":"buy-stop-vs-sell-stop-orders","qid":"touch_rates","label":"How often a 2 percent stop distance gets touched, by name","post_title":"Buy Stop vs Sell Stop Orders: How Each Fires","post_url":"/blog/buy-stop-vs-sell-stop-orders#q-touch_rates","columns":["ticker","down_touch_pct","up_touch_pct"],"rows":[{"ticker":"NVDA","down_touch_pct":32.8,"up_touch_pct":38},{"ticker":"MSFT","down_touch_pct":20.8,"up_touch_pct":25.2},{"ticker":"T","down_touch_pct":18.4,"up_touch_pct":19.2},{"ticker":"AAPL","down_touch_pct":12.8,"up_touch_pct":19.2},{"ticker":"KO","down_touch_pct":6.4,"up_touch_pct":10.8},{"ticker":"SPY","down_touch_pct":2.8,"up_touch_pct":2.8}],"shape":"ranking","sql":"WITH px AS\n(\n    SELECT\n        ticker,\n        date,\n        toFloat64(low)  AS low_px,\n        toFloat64(high) AS high_px,\n        toFloat64(lagInFrame(close, 1) OVER (PARTITION BY ticker ORDER BY date)) AS prev_close\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'SPY', 'T')\n      AND date >= '2025-10-01'\n      AND date <  '2026-10-01'\n      AND (ticker, date) NOT IN (SELECT ticker, execution_date FROM global_markets.stocks_splits)\n)\nSELECT\n    ticker,\n    round(100 * countIf(low_px  <= prev_close * 0.98) / count(), 1) AS down_touch_pct,\n    round(100 * countIf(high_px >= prev_close * 1.02) / count(), 1) AS up_touch_pct\nFROM px\nWHERE prev_close > 0\nGROUP BY ticker\nORDER BY down_touch_pct DESC","computed_at":"2026-10-06T15:21:10.804014+00:00","elapsed":0.003486422}