Why usFeaturesTemplatesBlogGlossary

Rate of Change (ROC)

The percentage change in a field over a fixed number of past bars, the most direct way to express price momentum as a single number.

Rate of change is the plainest momentum measure there is. Take today’s close, compare it to the close N bars ago, express the difference as a fraction. No smoothing, no scaling constant, no threshold inherited from a 1970s futures book. In the expression language the function is @ROCP, and it returns a percentage change rather than a ratio:

@ROCP(close, 252)

How it is computed

ROCP(N) = (P_t - P_(t-N)) / P_(t-N)

A value of 0.35 means the field rose 35% over the window. Negative values mean it fell. The output is unitless, which is what makes it the workhorse of cross-sectional ranking: a 35% gain is a 35% gain whether the stock trades at ₹90 or ₹3,900, so ROC values are directly comparable across a Nifty 500 universe in a way that MACD or ATR values are not.

A twelve-month absolute momentum filter reads:

@ROCP(close, 252) > 0

and a stricter version keeps only names up more than 20% over six months:

@ROCP(close, 126) > 0.20

Typical windows

ExpressionRoughlyCommonly used for
@ROCP(close, 21)one monthshort-term reversal work
@ROCP(close, 126)six monthsthe shorter leg of a momentum rank
@ROCP(close, 252)twelve monthsthe standard academic momentum window

The 252-bar figure is a US convention for trading days in a year. NSE typically runs slightly fewer sessions once its holiday calendar is applied, so 252 is an approximation on Indian data rather than an exact year. If a strategy is sensitive to the difference between 246 and 252 bars, that sensitivity is itself a warning sign.

How to read the output

ROC is a measurement of what already happened. The academic momentum literature, starting with Jegadeesh and Titman in 1993, found that past twelve-month winners tended to keep outperforming over the following months in US data. That is a documented historical regularity in a specific sample, not a property of the arithmetic. Whether it holds in your universe, over your period, after your costs, is what a backtest is for.

Risks and caveats

The one-month reading and the twelve-month reading often point in opposite directions, because short-horizon returns have historically shown reversal while longer horizons showed continuation. Momentum studies conventionally skip the most recent month for exactly this reason.

Raw ROC ignores volatility entirely. A stock up 40% with 60% annualised volatility and one up 40% with 20% volatility rank identically, and they are not the same position.

Because the window is a single free parameter, ROC is easy to overfit and easy to overfit invisibly. Sweeping the lookback from 20 to 260 bars and keeping whichever produced the best historical CAGR will always produce a winner, and that winner tells you about the sample rather than the market. Choose the window from a prior reason, then test it on data you did not search.

Back to Glossary