我对R来说比较新,并且已经阅读了我能够阅读的主题,但似乎无法在其他问题上找到我想要的内容。
我希望使用TTR和ROC计算12个周期的变化率(动量),使用月度数据,但我想忽略最近一个月。换句话说,我希望找到t-2到t-12的ROC(2016年1月12月的股票动量,不包括2016年1月)。这是计算投资组合建设文献动量的常态。
我的数据是所有在南非证券交易所(JSE)上市的股票。日期标题是第1列(即日期是行中的变量),库存列在后续列中。
我知道下面的代码非常简单,但是我尝试过一些东西而且他们给出了错误。由于我有大约250个库存(列)超过20年,不建议为每个观察创建一个新的滞后变量。
x <- Prices.df
x$DATE <- as.Date(x$DATE, format = "%Y/%m/%d")
y <- xts(x[,-1], order.by = x$DATE) library(TTR)
roc <- ROC(y, n = 12, type = "discrete")
非常感谢任何帮助。
答案 0 :(得分:0)
只需使用lag
的{{1}}即可。以下代码适用于模拟数据(18个期间和2个资产):
roc