Free lesson · Technical analysis
Momentum indicators, oscillators and divergence
Open interactive lessonPractice calculationsExplore labs
Start with the idea
Momentum measures change. An oscillator expresses some aspect of recent movement on a chosen scale.
Symbols, units & horizon
- C_t: completed current close
- C_(t−n): positive close n bars earlier
- ROC_t: decimal trailing rate of change
- H_n,L_n: highest high and lowest low in the chosen trailing n-bar window, including the completed current bar
- %K_t: stochastic range-location reading from 0 to 100 when range is positive
When and why to use this
Use momentum and oscillator readings as separate features, or build an explicitly timed divergence event detector.
- Rate of change compares the current price with a prior price. It measures past movement, not a future return.
- RSI compares smoothed gains and losses. MACD compares fast and slow EMAs; stochastic %K places the close within a trailing range. Read the indicator equations and initialization rules.
- Overbought means a high reading under an indicator’s definition. A strong trend can remain overbought; it is not an automatic short signal.
- Bullish regular divergence can mean a lower confirmed price low with a higher indicator low. Bearish regular divergence mirrors this at highs.
- Hidden divergence uses different high/low comparisons and is commonly interpreted as continuation. Define its exact geometry instead of reusing a generic label.
- Align price and indicator pivots by an explicit tolerance. Both must be confirmed before the divergence exists in the decision record.
- Compare divergence against momentum alone and matched volatility/trend events. Many indicator settings and pivot pairings create multiple-testing risk.
Momentum indicators, oscillators and divergence
- Price moving from 100 to 105 gives ROC=105/100−1=.05, or 5%.
- For C=105, trailing low=95 and high=110, close is 10 units above the low in a 15-unit range.
- Multiply 10/15 by 100 to obtain %K≈66.67. This is a range position, not a probability.
A higher indicator low can accompany a lower price low, but confirmation comes later than the displayed price extremum.
Use the rule
- Fix the definition, units and information timestamp.
- Compute the example and inspect the graph.
- Compare with a simple baseline on untouched periods after costs.
Before moving on
Write the exact rule, its availability time, an invalidation condition and a fair out-of-sample test.
Research checkpoint · reviewed 12 September 2026
- Status: unreviewed arXiv preprint; empirical-design and limitations sections reviewed. Its own disclosure says no untouched holdout remains.
- Scope: selected trend, oscillator, volume, candle and calendar rules. Examples include Russell 3000 volume data for 2007–2025 and a S&P 500 momentum comparison for 2000–2026; several other rows report only “full sample.”
- The reported bootstrap resamples previously examined data. Cost assumptions are parameterized, and universes differ across rule families. These limits prevent treating the paper as a clean prospective comparison.
- Use the methodological questions—material effect size, costs and uncertainty—to design a fresh test. Its scope excludes channel breakouts and wider chart formations; it cannot settle all topics in this module.
Darmanin · Retail Trader’s Ruin (July 2026 preprint) ↗
Python implementation
Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.
def momentum_oscillator(close,lagged_close,low,high):
if lagged_close<=0 or high<=low or not low<=close<=high: raise ValueError("Valid positive lag and nonzero range required")
return close/lagged_close-1,100*(close-low)/(high-low)
print(momentum_oscillator(105,100,95,110))Continue learning
Technical Analysis: Geometry, Structure & Evidence — all lessons- Support, resistance and reversal: start with a price zone
- Breakout detection, false breaks and retests
- Fibonacci retracements: anchors before ratios
- Harmonic patterns: ratio constraints and competing candidates
- Elliott Wave: count hypotheses, rules and invalidation
- Fair value gaps (FVG): three-bar geometry and fill measurement
- Heikin-Ashi: smoothed candles are synthetic prices
- Renko: price-driven bricks and the missing time axis
- Dynamic support, trend lines and Gann angles
- Momentum indicators, oscillators and divergence
- Volume, supply/demand zones and what OHLCV cannot reveal
- Market structure, BOS and CHOCH as a state machine
- Moon phases: encode a calendar hypothesis and try to falsify it
Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations