我正在使用 TTR 包来生成股票指标。但是,指标函数将 NA(如适用——例如 CMO、SMA、CMF 等)添加到序列的开头而不是结尾。有没有办法将输出向左对齐,以便将 NA 值添加到系列的末尾而不是开头?
例如:
library(TTR)
x = 1:10
# TTR's simple moving average
SMA(x,n=2)
[1] NA 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5
zoo 包有一个 align 选项,可以在最后用 NA 填充系列:
library(zoo)
rollmean(x,2,na.pad=TRUE,align='left')
[1] 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5 NA
有没有办法在 TTR 中指定类似的东西,因为我需要生成移动平均线以外的指标?我想我可以围绕这些函数创建一个包装器并手动移动结果值,但不确定是否有更好的方法来做到这一点。
此外,由于 TTR 被大量用于向股票价格添加指标,我想知道为什么填充在开头而不是结尾,尤其是因为大多数历史价格都是按降序(按日期)排序的?在上面的例子中,如果 x[1] 是今天股票的价格,x[10] 是 10 天前的价格,那么今天的移动平均线(跨度 = 2)不应该是今天+ 昨天的平均线吗?尽管我想在最后添加 NA,但我还想确保我没有误解这些指标的使用方式。
谢谢,-e