Help
 Print
TTM Squeeze


The TTM Squeeze shows when a stock's volatility has compressed, and when that compression finally releases. It is built from two well-known volatility tools plotted on top of each other: Bollinger Bands (how far price ranges around its own average) and Keltner Channels (how wide the average true range is). When the Bollinger Bands move inside the Keltner Channels, volatility has contracted and the stock is "in a squeeze" - it is coiling. When the bands push back outside the channels, the squeeze "fires", which is usually where the bigger move starts.

Alongside the squeeze state, the indicator calculates a momentum reading. Momentum is a signed value: above zero leans bullish, below zero leans bearish. The squeeze tells you when something is likely to happen; momentum tells you the direction it is likely to happen in. In Option Samurai the two are presented as a single filter with a single window, in the same way the MACD filter hides its three EMAs behind one plain-English condition.

The default settings are Length 20, Bollinger multiplier 2.00 and Keltner multiplier 1.00 - the standard TTM Squeeze values.

Why use it?

Most indicators tell you what the price has already done. The squeeze is one of the few that tells you something about the state the stock is in right now: quiet and compressing, or expanding and moving. For an options trader that distinction is the whole trade, because volatility is what you are buying or selling.

A stock that has been coiling for two weeks is exactly the kind of chart where premium selling works: the range holds, the options decay, and there is no trend fighting you. A stock whose squeeze has just fired with momentum turning up is the opposite situation - a directional setup where a long call has room to work, and where selling premium is the wrong side of the trade.

The second advantage is timing. Plenty of stocks look cheap or stretched; far fewer are at the precise moment where compression is releasing. Because the squeeze gives you a discrete event ("just fired") rather than a continuous reading, you can scan for the handful of names that are at that moment today, instead of sorting through everything that merely looks quiet.

How to use the TTM Squeeze indicator in Samurai

  • Find stocks that are coiling - compressed, range-bound names for premium-selling and neutral strategies.
  • Find stocks whose squeeze has just fired, and take the side momentum points to.
  • Filter for the momentum sign on its own, as a simple bullish/bearish confirmation on top of any other scan.
  • Catch momentum crossing through zero, for setups where the lean is flipping.
  • Require a minimum number of days in the squeeze, so you only see stocks that have been compressing for a while rather than for a single bar.
  • Add the TTM Squeeze overlay in Research to see the squeeze and momentum history on the chart before you commit to a trade.

The Filter

Add the filter to any scan with Add filters → Technical Data → TTM Squeeze. Like the other indicators, it opens in a Basic view and can be switched to an Advanced view with the link in the top-right corner of the window.

Basic view

The Basic view is a single Preset dropdown with the most common TTM Squeeze scenarios. Each preset quietly configures the whole filter for you:
  • Any - no condition. The filter is inactive.
  • Coiling (squeeze on) - the squeeze is currently on. Range-bound, low-volatility names; the natural hunting ground for iron condors, short strangles and butterflies while the range holds.
  • Just fired (bullish) - the squeeze turned off on the latest bar and momentum is positive. A bullish breakout candidate for long calls or debit call spreads.
  • Just fired (bearish) - the squeeze turned off on the latest bar and momentum is negative. A bearish breakdown candidate for long puts or debit put spreads.
  • Momentum turned positive - momentum has just crossed up through zero, regardless of the squeeze state. The lean is flipping bullish.
  • Momentum turned negative - momentum has just crossed down through zero. The lean is flipping bearish.

Advanced view

The Advanced view exposes the same logic as separate controls, so you can combine a squeeze condition and a momentum condition however you like - for example "squeeze on for at least 10 days and momentum positive", which no single preset covers.

At the top sit the calculation settings (Length, BB Mult., KC Mult.). Below them are the two condition dropdowns and the numeric momentum range.

Settings

  • Length - the number of days used for both the Bollinger Bands and the Keltner Channels. Default: 20. A shorter length reacts faster and produces more, shorter squeezes; a longer one only flags deeper compression.
  • BB Mult. - the Bollinger Band standard-deviation multiplier. Default: 2.00. Lowering it makes the bands narrower, so squeezes are detected more easily; raising it makes them rarer.
  • KC Mult. - the Keltner Channel ATR multiplier. Default: 1.00. Raising it widens the channels and makes squeezes more common; lowering it makes the condition stricter.
  • Squeeze- the volatility condition:
    • Any (default) - no squeeze condition.
    • On - the Bollinger Bands are currently inside the Keltner Channels.
    • Off - they are outside; volatility is expanded.
    • Just fired - the squeeze was on the previous bar and is off on the latest one.
  • For at least (days) - appears when Squeeze is set to On. The minimum number of consecutive days the squeeze must have been on. Use 10 for roughly two weeks of coiling, 20 for a month. Leave it at 0 to accept any squeeze, however new.
  • Momentum- the direction condition:
    • Any (default) - no momentum condition.
    • Positive - momentum is above zero (bullish lean).
    • Negative - momentum is below zero (bearish lean).
    • Just turned positive - momentum crossed up through zero on the latest bar.
    • Just turned negative - momentum crossed down through zero on the latest bar.
  • Momentum % From / Momentum % To - an optional numeric range for power users who want a specific strength, not just a sign. Momentum % is the momentum value divided by the stock price, so it is comparable across tickers of any price. The scale is unbounded, and either side can be left blank for an open-ended range. Leaving both blank means no range is applied.
  • Min. periods inside range - how many days in a row the momentum reading must sit inside the range you defined. 0 (default) means the latest day is enough.

In the results table and on the chart

Every scan that uses the filter gets a TTM Squeeze column. It shows the squeeze state with the number of consecutive days it has been on - for example On (10d) - and the Momentum % underneath. The column is sortable, so you can bring the most compressed names, or the strongest momentum readings, to the top of your results.

To see the history behind those numbers, open Research, type a ticker, click Overlays and add TTM Squeeze. It appears in its own pane below the price chart, with:
  • A momentum histogram around a zero line. Bars above zero are bullish, below zero bearish, and the bright/muted shading shows whether momentum is rising or falling compared with the previous bar.
  • A row of dots on the zero line, one per bar: red when the squeeze is on, green when it is off. A run of red dots followed by a green one is a squeeze that has just fired.
Use Save default in the Overlays panel to keep the indicator on the chart for every ticker you look at.

Common use cases

  • Stocks that are coiling. Preset: Coiling (squeeze on). Returns names whose volatility is currently compressed.
  • Stocks that have been coiling for a while. Advanced view, Squeeze On and For at least (days) = 10. Filters out squeezes that started yesterday and keeps only the ones that have held for roughly two weeks.
  • Squeezes that just released, upward. Preset: Just fired (bullish). Returns stocks whose squeeze turned off on the latest bar with momentum above zero.
  • Squeezes that just released, downward. Preset: Just fired (bearish). Same, with momentum below zero.
  • A directional lean on top of an existing scan. Leave Squeeze on Any and set Momentum to Positive or Negative. Narrows any scan you already run to the names leaning one way.
  • Momentum crossing through zero. Preset: Momentum turned positive or Momentum turned negative. Returns stocks where the lean flipped on the latest bar, regardless of the squeeze state.
  • Only the strongest releases. Advanced view, Squeeze Just fired, Momentum Positive, Momentum % From = 1. Keeps fired squeezes whose momentum is at least 1% of the stock price, rather than any reading above zero.

Read more

  • About Technical analysis Engine - KB
  • About the CCI indicator - KB
  • About the Aroon indicator - KB
  • About the ADX indicator - KB
  • About the Parabolic SAR indicator - KB
  • About Bollinger Bands - KB
  • About MACD indicator - KB
  • About RSI - KB
  • About Stochastic Oscillator - KB
Was this article helpful?