How it works
The Coppock Curve is a long-horizon momentum indicator designed for one specific job: identifying the end of a major decline in a broad equity index. It was built for monthly data and it is essentially useless on any faster timeframe, which makes it the odd entry in this family — every other momentum tool here can be applied to any chart, while this one comes with an explicit, narrow remit.
Its construction is straightforward. Add two rates of change over different long windows, then apply a weighted moving average that emphasises recent months. The sum of two horizons means the indicator responds to both the medium and the longer arc of a decline; the weighted average smooths the result enough that it turns decisively rather than wobbling. Because the inputs are percentage rates of change, the output is comparable across decades of very different index levels.
The traditional signal is a single event: the curve turning up from below zero. That is it. Not a crossover, not a threshold, not a divergence — just the first monthly close where the line stops falling while it is in negative territory. The reasoning is that a below-zero reading confirms a genuine decline has occurred, and an upturn confirms the rate of decline has begun to improve. Over the history of major indices, that combination has marked a reasonable number of durable lows.
The origin story is unusual and gets repeated because it is true and memorable: the technique came out of a request from a church body for a way to identify long-horizon investment entry points, and the lookback periods were reportedly chosen to reflect a typical period of mourning, on the analogy that markets recover from a bear market on a similar emotional timescale. Whatever one makes of the reasoning, the resulting parameters have been left alone for sixty years.
The honest assessment is that this is a rare-signal indicator with a small sample. On a monthly index chart it produces roughly one signal every few years, which is far too few observations to establish statistical reliability, and its published record includes both good calls and several that came well after the low. It is best understood as a coarse, slow confirmation that a bear phase has changed character, not as a timing tool.
Calculation
The arithmetic in words, in the order it happens.
Compute two rates of change on the monthly close: a 14-period ROC and an 11-period ROC, each as 100 x (close - close N periods ago) / (close N periods ago). Add them together to form a single series. Then take a 10-period weighted moving average of that sum, where the weighting is linear — the most recent value is multiplied by 10, the one before by 9, and so on down to 1, with the total divided by the sum of the weights, 55. The result oscillates around zero. All three lengths are conventionally applied to monthly bars.
Source
An AlgoBeamScript implementation of the formula above, written by us from the arithmetic so the code and the calculation agree line for line.
Runs unchanged on the platform and in the AlgoBeamTS runtime. The language reference is in the documentation.
Inputs
Defaults are the values most charting packages ship with. They are conventions, not optimal settings — the right length depends on your instrument and your holding period.
| Input | Default | What it changes |
|---|---|---|
| Long ROC Length | 14 | The longer of the two rate-of-change windows, in months. It anchors the indicator to the broader arc of the decline; shortening it makes the curve turn earlier and less reliably. |
| Short ROC Length | 11 | The shorter rate-of-change window, in months. Together with the 14 it produces the blend of horizons that the weighted average then smooths. |
| WMA Length | 10 | Length of the linearly weighted moving average applied to the summed rates of change. This is what turns a jumpy sum into a curve that changes direction decisively; shortening it produces more upturns, most of them false. |
| Timeframe | Monthly | Not a parameter in most implementations but effectively part of the definition. Applying the standard lengths to daily bars produces a mechanically valid but interpretively meaningless line, since every published rule about it assumes months. |
How to read it
What practitioners take from the plot. Read these as descriptions of market state, not as entry signals.
- Turning up from below zero
- The classic and essentially only signal: a long decline whose rate of deterioration has started to improve. Traditionally read as a long-horizon accumulation cue on a broad index.
- Deeply negative and still falling
- The decline is still accelerating on a multi-month view. The indicator explicitly withholds a signal here regardless of how oversold faster tools look.
- Above zero and rising
- A long-horizon advance in progress. The indicator has nothing further to say until it returns below zero, which can take years.
- Turning down from above zero
- Sometimes used as an exit or de-risking cue, but this direction has considerably less historical support than the below-zero upturn and was not part of the original method.
Limitations
Where this indicator misleads. None of these are fixed by a better parameter.
- It is extremely slow. On monthly data the signal typically arrives months after the actual low, so it captures the middle of a recovery rather than the bottom.
- The signal is rare, which means the historical sample is tiny — a handful of observations per index per generation, far too few to establish reliability.
- It is designed for broad indices. Applied to individual stocks, where declines can be terminal rather than cyclical, an upturn from below zero carries much less meaning.
- Every published rule assumes monthly bars, and the indicator is frequently plotted on daily charts where its parameters have no rationale at all.
Educational reference. This page explains how an indicator is built and how it is commonly read. It is not investment advice, not a recommendation and not a signal service. No indicator is profitable on its own — each is a way of describing a market, and any rule built on one has to be tested with realistic costs before it is traded.