Browse the library

Indicators · Volume

Chaikin Oscillator (ADOSC): accumulation/distribution momentum

How Marc Chaikin’s oscillator turns the accumulation/distribution line into a 3/10-day momentum signal, a worked money-flow example on Pfizer, and Finabase’s ADOSC.

On this page
  1. The building blocks
  2. The formula
  3. The oscillator on a real chart: Pfizer 2025–2026
  4. How traders use the Chaikin Oscillator
  5. Pitfalls and limitations
  6. Comparison table
  7. How Finabase calculates and scores the Chaikin Oscillator
  8. Frequently asked questions
  9. Summary

The Chaikin Oscillator measures the momentum of buying and selling pressure. It starts from Marc Chaikin's Accumulation/Distribution (A/D) line, a running total of volume weighted by where each day's close falls within its high–low range, and then subtracts a 10-day EMA of that line from a 3-day EMA. The result swings above and below zero as money flow accelerates and decelerates.

Where On-Balance Volume (OBV): reading volume flow and divergence credits a day's entire volume to buyers or sellers depending only on whether the close was up or down, Chaikin's approach asks how strongly the day closed. A stock that ends near its high on heavy volume shows accumulation even if it closed lower than yesterday. This guide calculates the key quantity by hand on Pfizer's chart, shows how the oscillator behaved around Pfizer's 2026 low, and explains Finabase's version.

The building blocks

Money flow multiplier. For each bar, where did the close land in the day's range?

  • Close at the high: (H − L − 0) ÷ (H − L) = +1.
  • Close at the midpoint: 0.
  • Close at the low: −1.

Money flow volume. The multiplier times the day's volume. A close near the high on 50 million shares contributes almost +50 million; a close near the low, almost −50 million.

Accumulation/Distribution line. The running total of money flow volume. Like OBV, its level is arbitrary and its slope is what matters.

Chaikin Oscillator. The difference between a fast (3-day) and a slow (10-day) EMA of the A/D line: a MACD applied to money flow.

The formula

Because it is a difference of two EMAs of the same line, the oscillator does not depend on where the A/D line started. Any constant offset cancels out.

A worked example on Pfizer

On June 25, 2026, Pfizer (PFE) traded between $23.62 and $24.34 and closed at $23.67, five cents off the low, on 57,859,500 shares.

Step Calculation Result
Close minus low 23.67 − 23.62 0.05
High minus close 24.34 − 23.67 0.67
Range 24.34 − 23.62 0.72
Multiplier (0.05 − 0.67) ÷ 0.72 −0.861
Money flow volume −0.861 × 57,859,500 −49.8 million

That single day subtracted almost 50 million shares of money flow from the A/D line. The 3-day EMA reacts to it quickly (half the gap closes in a day); the 10-day EMA more slowly. The gap between them, Finabase's Chaikin Oscillator, reached −104.6 million, its lowest reading of the year.

Recomputing the A/D line and both EMAs from Finabase's bars reproduces that value exactly.

The oscillator on a real chart: Pfizer 2025–2026

Pfizer (PFE) daily with the Chaikin Oscillator, ADOSC (3, 10) · 2025-10-30 to 2026-10-29 $24 $26 $28 $30 Low $23.62 · Jun 25 Price -100M 0M 100M −104.6M · Jun 25 +98.1M · Nov 12 ADOSC (3, 10) Nov Dec Jan 2026 Feb Mar Apr May Jun Jul Aug Sep Oct
Pfizer (PFE), one year of daily bars with the Chaikin Oscillator, ADOSC (3, 10), as computed by Finabase, in millions of shares.

Pfizer rose from $24.29 to $29.95 over the year, about 23%, but only after a slide to the June low.

Quarter end PFE close Chaikin Oscillator
Dec 31, 2025 $24.90 −39.8M
Mar 31, 2026 $28.08 +5.8M
Jun 30, 2026 $24.08 −54.1M
Sep 30, 2026 $28.52 +33.6M

The capitulation low. The oscillator's deepest reading, on June 25, came on the same day as Pfizer's lowest price of the year, $23.62. It was a heavy-volume day closing at its low: the textbook picture of capitulation selling. From there Pfizer climbed to $30.44 by October 22, about 29% above the low.

Fast and frequent. With 3- and 10-day EMAs the oscillator is quick. It crossed zero 23 times during the year and was positive on 123 of 251 sessions, close to half. Individual zero crossings were not reliable signals; the extremes and the divergences were more informative.

The other extreme. The highest reading, +98.1 million, came on November 12, 2025, during a short rally that did not last: Pfizer was below $25 again by the end of December.

How traders use the Chaikin Oscillator

Zero-line crossings. Above zero, short-term money flow is improving; below, deteriorating. Chaikin suggested reading them in the context of the longer trend, for example only taking positive crossings when price is above its 90-day moving average.

Divergence. A new price low with a higher oscillator low suggests selling pressure is drying up; a new price high with a lower oscillator high suggests buying pressure is waning.

Volume confirmation of breakouts. A breakout accompanied by a strong positive oscillator reading has volume behind it.

Pitfalls and limitations

Gaps are ignored. The multiplier uses only the day's high, low and close. A stock that gaps down 10% and then closes at the high of a narrow range scores as accumulation.

Volume spikes dominate. As with OBV, one huge-volume day can drive the oscillator for days.

Noisy at the default speed. A 3/10 setting reacts to every few days of flow. Longer settings smooth it, at the cost of later signals.

Comparison table

Indicator Volume weighting Output Typical use
On-Balance Volume All, by up or down close Running total Trend confirmation
A/D line Close location in the range Running total Accumulation/distribution
Chaikin Oscillator EMA(3) − EMA(10) of the A/D line Oscillator Turns in money flow
Money Flow Index Typical price × volume, up vs down 0 to 100 Overbought/oversold

See On-Balance Volume (OBV): reading volume flow and divergence and Money Flow Index (MFI): the volume-weighted RSI.

How Finabase calculates and scores the Chaikin Oscillator

Finabase computes it with TA-Lib's ADOSC function from each bar's high, low, close and volume. A new ADOSC study ("Chaikin Osc") defaults to a fast period of 3 and a slow period of 10, both adjustable, and is drawn in its own panel around a zero line. Finabase does not chart the A/D line as a separate study.

ADOSC (3, 10) appears in the technical gauge on the symbol page with its latest value and carries no Buy or Sell rule, so it always counts as neutral. Read its zero line, extremes and divergences on the chart.

Frequently asked questions

What is the difference between the Chaikin Oscillator and Chaikin Money Flow?

Both start from the money flow multiplier. Chaikin Money Flow sums money flow volume over a window and divides by total volume, giving a bounded ratio. The Chaikin Oscillator takes the difference of two EMAs of the cumulative A/D line, an unbounded momentum measure. Finabase charts the oscillator.

What do the 3 and 10 settings mean?

They are the lengths of the fast and slow EMAs applied to the A/D line, Chaikin's standard choice. The oscillator is their difference.

Is a negative Chaikin Oscillator bearish?

It means distribution is outpacing accumulation in the short term. At extremes, especially on high-volume down days at a price low, it can mark capitulation rather than the start of a new decline, as on Pfizer in June 2026.

Summary

The Chaikin Oscillator weights each day's volume by how strongly the stock closed within its range, accumulates the result into the A/D line and tracks its momentum with a 3/10 EMA difference. Pfizer's 2026 chart shows its main strength: its deepest reading came on the heavy-volume capitulation day at the year's low. Its zero crossings were frequent and unreliable. Use it to judge the strength of money flow behind a move, alongside price and a longer trend measure.

Sources and further reading

  1. Marc Chaikin — the Accumulation/Distribution Line and Chaikin Oscillator (developed in the 1970s–80s; described in Robert W. Colby, The Encyclopedia of Technical Market Indicators, 2nd ed., McGraw-Hill, 2003)
  2. TA-Lib — AD and ADOSC function reference
  3. Finabase chart data — PFE daily bars, 2025-10-30 to 2026-10-29, ADOSC computed by Finabase