Skip to main content
Education
Contents
9 min read

Momentum Oscillators

Rate, location, and directional-state measures that compress recent movement into comparable readings.

A momentum oscillator summarizes how a recent move is behaving

Momentum is the tendency of a price move to continue in its current direction. An oscillator does not observe that tendency directly. It transforms a chosen slice of price history into a compact reading about change, speed, gain-loss balance, or location within a range.

It is called an oscillator because the transformed value rises and falls around a reference scale rather than tracing price itself. Some oscillators move around zero, some are bounded between fixed limits such as 0 and 100, and some are unbounded but interpreted relative to a center. The scale determines what a level means, so the number cannot be read without knowing the calculation.

The result is always conditional on the calculation. A ten-bar Rate of Change answers a different horizon from a fifty-bar version. A stochastic oscillator can sit near the top of its range even when the percentage return is small. Two oscillators can therefore disagree without either calculation being wrong.

Oscillators are also different from trend filters. A trend filter usually asks where price sits relative to a smoothed reference or which direction that reference points. An oscillator asks how forceful, extended, recent, or range-bound the move appears. Price can remain above a rising moving average while a momentum oscillator falls because the advance is continuing at a slower pace.

Most oscillator mistakes come from turning a description into a prediction. “RSI is 75” describes the balance of gains and losses under one lookback and smoothing convention. It does not say that price must fall, that it will keep rising, or that 75 represents a probability.

Six different measurements sit inside the family

Each type should be read on its own terms:

Measurement typeShipped examplesWhat it asks
Return over a lookbackRate of Change, Cumulative ReturnHow far has price moved from the selected starting point?
Speed and change in speedMomentum velocity and accelerationHow quickly is price changing, and is that change strengthening or weakening?
Gain-loss balanceSimple-Moving-Average Relative Strength IndexHave recent gains or recent losses contributed more magnitude?
Position inside a recent rangeStochastic Oscillator, Williams Percent RangeIs the close near the high, middle, or low of the selected high-low range?
Difference between smoothed horizonsMoving Average Convergence DivergenceHow far apart are fast and slow exponential averages, and is that separation changing?
Standardized displacement or stateCommodity Channel Index, Oscillator RegimeHow unusual is price relative to a rolling reference, or which threshold-defined state is active?

These are not merely alternative scales for the same fact. Rate of Change uses two price endpoints. Relative Strength Index compares average gains with average losses. Stochastic and Williams %R depend on the high-low range. Commodity Channel Index uses typical price and its mean deviation. Moving Average Convergence Divergence compares smoothed horizons. Each calculation can retain or discard different information from the same path.

One advance can produce several different readings

Illustrative sequence. Imagine price advances from 100 to 108 over several bars, then continues to close near 108 without making much additional progress.

Signal typePossible readingPlain-language interpretation
Rate of ChangeRemains positivePrice is still above the lookback's starting point
Velocity and accelerationVelocity stays positive while acceleration weakensThe move remains up, but its pace is no longer increasing
Relative Strength IndexCan remain elevatedGains still dominate the selected window even though the latest bars have slowed
Stochastic or Williams %RCan remain near the range highPrice is still closing near the top of its recent range
MACD histogramCan shrink while MACD remains positiveThe fast average is still above the slow average, but their separation is growing more slowly
Commodity Channel IndexCan move back toward zeroPrice is becoming less displaced from its evolving reference

The readings differ because the questions differ. None of them, alone, tells the reader whether the pause will become continuation or reversal.

Read the level, transition, duration, and direction separately

An oscillator produces a value, but a strategy often acts on a derived event. Those layers should not be collapsed:

  • Level: the current value, such as RSI at 75 or Rate of Change at +4%.
  • Change: whether the value is rising, falling, or accelerating.
  • Transition: a one-observation event such as crossing above a threshold.
  • Duration: how long the oscillator has remained inside a declared state.
  • Divergence: disagreement between a defined price extreme and a defined oscillator extreme.

For MACD, positive MACD, a cross above its signal line, and a growing positive histogram are three different observations. For a bounded oscillator, entering an extreme zone, remaining there, and leaving it are likewise different events.

“Overbought” does not mean “must fall”

An oscillator near the top of its range is often labeled overbought. In a strong trend, it can stay there because repeated gains are exactly what the calculation measures. Shorting every high reading can amount to repeatedly fighting persistence.

The same observation can support opposing hypotheses:

  • Continuation: strong momentum confirms that the move is persistent.
  • Reversion: an extreme reading identifies a temporarily stretched move.
  • State filter: another setup is allowed only when momentum is neither too weak nor too extended.

The strategy must declare which hypothesis it tests and what additional event turns the reading into an action.

Illustrative oscillator timeline separating a persistent extreme state from entry and exit crossings.

The shaded interval is a state; its two edges are events. A rule that enters on the first crossing, a rule that remains eligible throughout the state, and a rule that waits for the exit crossing will produce different decisions from the same oscillator. This is why “use RSI above 70” is not a complete specification.

A simple RSI interpretation

Arizmic's shipped SMA RSI uses simple rolling averages of gains and losses rather than Wilder's recursive smoothing.

Illustrative example. For a completed 14-bar window:

QuantityCalculationReading
Average gainGiven0.60 points
Average lossGiven0.20 points
Relative strength0.60/0.200.60 / 0.203.00
SMA RSI100100/(1+3)100 - 100/(1+3)75
  • The level says average gains were three times average losses under this exact window and smoothing convention.
  • The transition through 70 identifies one completed-event crossing.
  • The duration above 70 describes persistence in that state.
  • A later drop below 70 can occur while price remains above its earlier level.

Buying, selling, or exiting on those events are separate strategy choices. The indicator does not select one.

Bounded and unbounded outputs need different comparisons

Signal formExampleInterpretation issue
Percentage changeROC, cumulative returnHorizon and compounding matter
Centered differenceMACD histogram, velocityUnits or scale may vary by asset
0–100 scaleRSI, StochasticThresholds do not imply probabilities
Unbounded standardized scoreCCIDistribution and window determine an “extreme”
Discrete stateoscillator regime, streakThresholding removes magnitude information

Cross-asset research should normalize outputs appropriately. A five-dollar change is not comparable across price scales; even percentage momentum can have different volatility across markets.

Divergence is an observation, not hidden intent

A divergence occurs when price makes a new extreme and the oscillator does not. This can indicate slowing momentum. It can also arise from window mechanics, smoothing, or one older observation leaving the calculation.

To test divergence:

  • define the price and oscillator pivots without future leakage;
  • specify the maximum distance between them;
  • state when confirmation becomes knowable;
  • include all attempted divergences, not only clean chart examples;
  • compare with a simpler price-only reversal rule.

How to investigate an oscillator

  1. Plot raw price change and the oscillator to understand the transformation.
  2. Separate level, crossing, slope, and duration events.
  3. Test continuation and reversion hypotheses independently.
  4. Compare the threshold rule with a continuous or ranked use.
  5. Inspect turnover and repeated crossings near the boundary.
  6. Evaluate nearby lookbacks and thresholds on later data.
  7. Check whether the output adds information beyond a simpler return measure.

False readings to avoid

  • Treating an overbought label as a guaranteed reversal.
  • Calling multiple price-derived oscillators independent confirmation.
  • Using a pivot before later bars confirm it.
  • Comparing raw momentum units across instruments.
  • Ignoring warm-up and smoothing initialization.
  • Optimizing thresholds without accounting for the search.
  • Assuming a bounded scale has the same historical distribution in every market and regime.

Shipped signals in this family

Try it in Arizmic

Included with Arizmic

10 prebuilt signals in this family

Use the shipped oscillators to measure rate, relative location, persistence, or gain-loss balance with the normalization made explicit.

  • ROC and price momentum measure change; RSI, CCI, and range oscillators normalize different aspects of that change.
  • An extreme level, a threshold crossing, and a divergence are different events.
  • Continuation and reversal uses should remain separate because the same reading can support either hypothesis.

Ask the AI Companion

Draft a custom oscillator

Signal draft

Create a typed draft whose scale, thresholds, and state transitions are inspectable.

Draft a custom momentum oscillator for [market and bar interval] that measures [rate, range location, gain-loss balance, or acceleration] over [horizon]. Use inputs [list], define the output scale and undefined cases, make lookback, smoothing, and thresholds configurable, and emit separate continuous, state, and crossing outputs only where needed. Compare it with [ROC, RSI, CCI, MACD, or another shipped signal]. Return a typed signal_draft for review only; do not save, run, generate arbitrary Python, or execute anything.

Ask the AI Companion

Explore oscillator uses

Research critique

Generate distinct continuation, pullback, and transition ideas without turning an extreme reading into a default reversal rule.

For [shipped oscillator] on [market and horizon], explain the scale and each output in plain language. Suggest one continuation use, one pullback or reversal use, and one regime-filter use. For each, specify whether the decision uses level, slope, crossing, or divergence; name a comparison signal; and list the false interpretation most likely to invalidate the idea. Do not execute anything.

Personal notebook

Extend it in Marimo

Prepared Data

Open typed Prepared Data in a personal Marimo notebook with the chosen oscillator outputs.

Separate oscillator level, transition, dwell time, and price context.

Bring in
completed-bar price, oscillator outputs, threshold-crossing flags, declared thresholds, optional trend-filter state
Build
oscillator and threshold timeline, state-duration distribution, crossing and divergence event table

How to read it: Look for long periods spent at an extreme and for crossings that arrive after the price move. The visualization should make state and event semantics impossible to confuse.

Value origin: Threshold tables and event labels created in Marimo are notebook-derived unless they came directly from retained engine outputs.

With Companion: Request a reviewed cell draft for the timeline and dwell-time table, inspect its bounded reads and diff, then apply it explicitly.

Further reading