2
我想創建一個信號狀態時,我的價差計算比上/下布林帶大於或小於差異(),但是我算了一筆賬:R/quantmod - BBands之間runsd(EMA)的計算
pair <- c("qqq","iwm")
start <- "2014-08-08"
finish <- "2015-08-13"
stckY <- suppressWarnings(getSymbols(pair[1], from = start, to = finish, auto.assign = FALSE))
stckX <- suppressWarnings(getSymbols(pair[2], from = start, to = finish, auto.assign = FALSE))
adY <- Ad(stckY)
adX <- Ad(stckX)
logY <- log(adY)
logX <- log(adX)
spread <- cbind(logY, logX)
spread <- spread[complete.cases(spread),] #remove NAs
spread$dailyDiff <- spread[,1] - spread[,2]
ema <- EMA(spread[,1] - spread[,2], n=20)
spread$UpBand <- (runSD(ema, n=20) * 2) + ema
spread$LwBand <- ema - (runSD(ema, n=20) * 2)
chartSeries(spread$dailyDiff, up.col = "white",
theme = chartTheme("black"), line.type = "l")
addEMA(n = 20, col = "orange")
addBBands(n = 20, sd = 2, maType = "EMA")
與chartSeries顯示屏上顯示的band值不匹配,我無法弄清楚爲什麼?幫助文件指出,不使用SMA可能會導致「不一致」,所以這可能是問題的根源? chartSeries也使用EMA。
也許有更好的方法去做這件事?我不知道如何使用BBands(單獨)來引用上/下帶...
這不是我清楚你比較什麼,他們是如何不同。 [可重現的例子](http://stackoverflow.com/q/5963269/271616)比含糊的描述要好得多。 –
您評論中的代碼非常難以閱讀。請將其編輯到您的問題中(使用正確的代碼格式),然後刪除您的評論。 –
@JoshuaUlrich - 對不起 - 仍在學習本網站 - 我已更新原帖 – trock2000