rate_of_change() is a generic S3 function that preserves
the input class: data.frame in, data.frame out; matrix in,
matrix out.
rate_of_change() also accepts a double vector, in which case the indicator is calculated directly without column selection. When the result has a single column it is simplified to a double vector; otherwise the full n by k matrix is returned.
Handling of -values
Leading NAs are always produced for the initial lookback period
where insufficient data is available. If the input itself contains
NAs they are passed through to the underlying C routine, which
can cause the entire output to be filled with NAs. Set
na.ignore = TRUE to strip NAs before calculation and
re-insert them at their original positions in the output.
Arguments
- x
An OHLC-V series coercible to data.frame. Alternatively,
xmay also be supplied as a double vector.- cols
(formula). An optional
1-variable formula selecting columns fromxvia model.frame. Defaults to~close.- n
(integer). Lookback period (window size). A positive integer of length 1.
- na.ignore
(logical). A logical of length 1. FALSE by default. If TRUE,
NAs in the input are stripped before calculation and re-inserted at their original positions in the output.- ...
Additional parameters passed into model.frame
See also
Other Momentum Indicator:
absolute_price_oscillator(),
aroon(),
aroon_oscillator(),
average_directional_movement_index(),
average_directional_movement_index_rating(),
balance_of_power(),
chande_momentum_oscillator(),
commodity_channel_index(),
directional_movement_index(),
extended_moving_average_convergence_divergence(),
fast_stochastic(),
fixed_moving_average_convergence_divergence(),
intraday_movement_index(),
minus_directional_indicator(),
minus_directional_movement(),
momentum(),
money_flow_index(),
moving_average_convergence_divergence(),
percentage_price_oscillator(),
plus_directional_indicator(),
plus_directional_movement(),
ratio_of_change(),
relative_strength_index(),
stochastic(),
stochastic_relative_strength_index(),
triple_exponential_average(),
ultimate_oscillator(),
williams_oscillator()
Examples
## load Bitcoin (BTC)
## series
data(BTC, package = "talib")
## calculate the indicator
## for Bitcoin (BTC)
output <- talib::rate_of_change(BTC)
## display the results
utils::tail(output)
#> ROC
#> 2024-12-26 01:00:00 -9.824191
#> 2024-12-27 01:00:00 -11.283855
#> 2024-12-28 01:00:00 -5.033286
#> 2024-12-29 01:00:00 -3.918679
#> 2024-12-30 01:00:00 -5.257295
#> 2024-12-31 01:00:00 -3.949353
## visualize the indicator
## with talib::chart()
##
## see ?talib::chart or ?talib::indicator
## for more details
{
## chart OHLC-V
## series with talib::chart()
talib::chart(BTC)
## chart indicator
## with default values
talib::indicator(
talib::rate_of_change
)
}
