TTR中的库存指标计算(R包):将输出对齐到左边的最佳方法是什么?

我正在使用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天前的价格,那么今天的平均值(span = 2)不应该是今天的平均值+昨天吗?尽管我想在最后添加NA,但我还是要确保我没有误解这些指标是如何使用的。 谢谢, -e     
已邀请:
我无法在函数调用中找出一个选项来将系列向不同的方向移动。但是,现在我理解为什么TTR向下移动系列。通过quantmod的getSymbols()获得的历史股票价格按日期按升序排序。当我从Yahoo!手动下载引号时或者使用ystockquote.py,顺序是降序。我只是按日期对数据进行了重新排序,并按原样使用了TTR库。 我想要向上移动某些向量(用NA填充),我只使用了这段代码:
miss_len = length(x[is.na(x])
x = x[!is.na(x)]
length(x) = length(x) + miss_len
    

要回复问题请先登录注册