pq_addti
creates technical indicators using the functions provided in TTR package.
pq_addti(dt, ...)
a list/dataframe of time series datasets.
list of technical indicator parameters: sma = list(n=50), macd = list().
There are four types of parameters.
set by default and do not required, such as 'OHLC', 'HLC', 'HL' and 'volume'.
set by default and can be modified, such as 'price', 'prices', 'x'. Its default value is 'close' or 'value' column.
always required, such as 'y', 'w'.
numeric parameters, such as 'n', 'sd', 'v', 'nFast', 'nSlow', 'nSig', 'accel'. These parameters should be provided, otherwise using default values in corresponding function.
TTR functions are summarized in below. See TTR package's help document for more detailed parameters.
moving averages: SMA, EMA, DEMA, WMA, EVWMA, ZLEMA, VWAP, VMA, HMA, ALMA, GMMA
rolling functions: runMin, runMax, runMean, runMedian; runCov, runCor; runVar, runSD, runMAD; runSum, wilderSum
bands / channels: BBands, PBands, DonchianChannel
SAR, ZigZag
trend direction/strength: aroon, CCI, ADX, TDI, VHF, EMV
volatility measures: ATR, chaikinVolatility, volatility, SNR
money flowing into/out: OBV, chaikinAD, CLV, CMF, MFI, williamsAD
rate of change / momentum: ROC, momentum, KST, TRIX
oscillator: MACD, DPO, DVI, ultimateOscillator; RSI, CMO; stoch, SMI, WPR
# \donttest{
# load data
data('dt_ssec')
# add technical indicators
dt_ti1 = pq_addti(dt_ssec, sma=list(n=20), sma=list(n=50), macd = list())
# specify the price column x
dt_ti11 = pq_addti(dt_ssec, sma=list(n=20, x='open'), sma=list(n=50, x='open'))
dt_ti12 = pq_addti(dt_ssec, x='open', sma=list(n=20), sma=list(n=50))
# only technical indicators
dt_ti2 = pq_addti(
dt_ssec, sma=list(n=20), sma=list(n=50), macd = list(),
col_kp = c('symbol', 'name')
)
dt_ti3 = pq_addti(
dt_ssec, sma=list(n=20), sma=list(n=50), macd = list(),
col_kp = NULL
)
# self-defined technical indicators
bias = function(x, n=50, maType='SMA') {
library(TTR)
(x/do.call(maType, list(x=x, n=n))-1)*100
}
dt_ti3 = pq_addti(dt_ssec, bias = list(n = 200))
# }