๐ ROC โ Rate of Change
ROC is the most direct momentum measurement possible: the percentage change of price over the last \(N\) periods, with nothing else layered on top.
๐ก Financial Meaning
If ROC is positive and rising, price is not just going up โ it is going up faster than \(N\) periods ago. Traders watch for zero-line crosses (a shift from momentum loss to momentum gain, or vice versa) and for divergences: price makes a new high while ROC makes a lower high, warning that the advance is losing steam even though the price chart still looks strong.
๐ข Mathematical Formula
This is simply a percentage \(N\)-period return, re-expressed as a running indicator rather than a one-off calculation.
โ๏ธ Parameters
| Parameter | Key | Default | Description |
|---|---|---|---|
| Period (\(N\)) | period |
12 | Number of sessions back used as the reference price. |
๐๏ธ Signal Processing Equivalent โ Normalised Finite-Difference Derivative
ROC is a discrete derivative of \(\log\)-free price, taken over a fixed lag of \(N\) samples rather than a single sample, and normalised by the base value:
Unlike MACD (which subtracts two low-pass outputs to approximate a smoothed derivative), ROC is a raw, unsmoothed finite difference โ it inherits all the high-frequency noise of the price series, amplified rather than filtered.
flowchart LR
C0["๐น C(tโN)"] --> DIFF["โ C(t) โ C(tโN)"]
C1["๐น C(t)"] --> DIFF
DIFF --> NORM["โ รท C(tโN)"]
NORM --> SCALE["โ๏ธ ร100"]
SCALE --> ROC["๐ ROC(t)"]
Noise amplification
Because ROC applies no smoothing, short periods (\(N \le 5\)) produce a very jagged series. It is often used with a longer \(N\), or fed through an additional moving average, when a cleaner momentum reading is needed.