Rate of Change (ROC)
get_roc(quotes, lookback_periods, sma_periods=None)
Parameters
name  type  notes 

quotes 
Iterable[Quote]  Iterable(such as list or an object having __iter__() ) of the Quote class or its subclass. • Need help with pandas.DataFrame? 
lookback_periods 
int  Number of periods (N ) to go back. Must be greater than 0. 
sma_periods 
int, Optional  Number of periods in the moving average of ROC. Must be greater than 0, if specified. 
Historical quotes requirements
You must have at least N+1
periods of quotes
to cover the warmup periods.
quotes
is an Iterable[Quote]
collection of historical price quotes. It should have a consistent frequency (day, hour, minute, etc). See the Guide for more information.
Returns
ROCResults[ROCResult]
 This method returns a time series of all available indicator values for the
quotes
provided. 
ROCResults
is just a list ofROCResult
.  It always returns the same number of elements as there are in the historical quotes.
 It does not return a single incremental indicator value.
 The first
N
periods will haveNone
values for ROC since there’s not enough data to calculate.
ROCResult
name  type  notes 

date 
datetime  Date 
roc 
float, Optional  Rate of Change over N lookback periods (%, not decimal) 
roc_sma 
float, Optional  Moving average (SMA) of ROC based on sma_periods periods, if specified 
Utilities
See Utilities and Helpers for more information.
Example
from stock_indicators import indicators
# This method is NOT a part of the library.
quotes = get_history_from_feed("SPY")
# calculate 20period ROC
results = indicators.get_roc(quotes, 20)
ROC with Bands
get_roc_with_band(quotes, lookback_periods, ema_periods, std_dev_periods)
Parameters with Bands
name  type  notes 

quotes 
Iterable[Quote]  Iterable(such as list or an object having __iter__() ) of the Quote class or its subclass. • Need help with pandas.DataFrame? 
lookback_periods 
int  Number of periods (N ) to go back. Must be greater than 0. Typical values range from 1020. 
ema_periods 
int  Number of periods for the ROC EMA line. Must be greater than 0. Standard is 3. 
std_dev_periods 
int  Number of periods the standard deviation for upper/lower band lines. Must be greater than 0 and not more than lookback_periods . Standard is to use same value as lookback_periods . 
Returns with Bands
ROCWBResults[ROCWBResult]
ROCWBResult
name  type  notes 

date 
datetime  Date 
roc 
float, Optional  Rate of Change over N lookback periods (%, not decimal) 
roc_ema 
float, Optional  Exponential moving average (EMA) of roc

upper_band 
float, Optional  Upper band of ROC (overbought indicator) 
lower_band 
float, Optional  Lower band of ROC (oversold indicator) 
About Rate of Change (ROC)
Rate of Change, also known as Momentum Oscillator, is the percent change of Close price over a lookback window. A Rate of Change with Bands variant, created by Vitali Apirine, is also included. [Discuss]