私は2つのxtsオブジェクト:stock
とbase
を持っています。私は相対的な強さ(株式の終値とベース指数の単純な比率です)を計算し、私は燭台のパターンの外に毎週の相対的な強さをプロットしたいと思います。データのリンクはhereとhereです。ローソク足パターン外のプロット関数R
library(quantmod)
library(xts)
read_stock = function(fichier){ #read and preprocess data
stock = read.csv(fichier, header = T)
stock$DATE = as.Date(stock$DATE, format = "%d/%m/%Y") #standardize time format
stock = stock[! duplicated(index(stock), fromLast = T),] # Remove rows with a duplicated timestamp,
# but keep the latest one
stock$CLOSE = as.numeric(stock$CLOSE) #current numeric columns are of type character
stock$OPEN = as.numeric(stock$OPEN) #so need to convert into double
stock$HIGH = as.numeric(stock$HIGH) #otherwise quantmod functions won't work
stock$LOW = as.numeric(stock$LOW)
stock$VOLUME = as.numeric(stock$VOLUME)
stock = xts(x = stock[,-1], order.by = stock[,1]) # convert to xts class
return(stock)
}
relative.strength = function(stock, base = read_stock("vni.csv")){
rs = Cl(stock)/Cl(base)
rs = apply.weekly(rs, FUN = mean)
}
stock = read_stock("aaa.csv")
candleChart(stock, theme='white')
addRS = newTA(FUN=relative.strength,col='red', legend='RS')
addRS()
ただしRは私に、このエラーが返されます。
Error in `/.default`(Cl(stock), Cl(base)) : non-numeric argument to binary operator
が、私はこれをどのように修正することができますか?
ベース 'から来る?完全に再現可能な例を作成してください。 – Spacedman
お待ちください、ファイルとすべてのコードをアップロードしています – SiXUlm
私の質問が更新されました。 – SiXUlm