【发布时间】:2015-08-14 23:12:18
【问题描述】:
当我的点差计算大于或小于布林带上/下限时,我试图创建一个信号状态,但是我的计算:
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 显示屏上显示的波段值不匹配,我不知道为什么?帮助文件指出不使用 SMA 可能会导致“不一致”,所以这可能是问题的根源吗? chartSeries 也在使用 EMA。
也许有更好的方法来解决这个问题?我不确定如何单独使用 BBands() 来引用上/下频段...
【问题讨论】:
-
我不清楚您在比较什么以及它们有何不同。 reproducible example 比模糊的描述要好得多。
-
cmets 中的代码很难阅读。请将其编辑到您的问题中(使用正确的代码格式),然后删除您的 cmets。
-
@JoshuaUlrich - 对此感到抱歉 - 仍在学习这个网站 - 我已经更新了原帖