r - 计算多列 xts 对象的返回

标签 r xts quantmod

计算 (n x m) xts 对象的返回的最直接方法是什么?

当我喂一个 (n x m) xts 对象时 mxtsquantmod功能 dailyReturn ,返回值是一个 (n x 1) 向量,表示第一列的返回值。我正在寻找的是一种生成 (n x m) xts 对象的方法,该对象包含 mxts 的每一列的相应返回向量。 .

我尝试使用一些应用功能,例如

lapply(mxts,dailyReturn)

但是返回总是有错误的类型并且丢失了它们的标签( dailyReturncolnames 向量的值更改为“daily.returns”)。

有没有一种简单的、非 hacky 的方法来实现这一目标?我可能对这个问题使用了错误的函数吗?

最佳答案

ROC TTR 包中的函数将执行此操作,但您可以使用 lag 轻松地自己进行计算。 (这是 ROC 在内部所做的)。

R> require(quantmod)  # loads TTR
R> getSymbols("SPY")
R> head(ROC(OHLC(SPY)))
                SPY.Open      SPY.High       SPY.Low     SPY.Close
2007-01-03            NA            NA            NA            NA
2007-01-04 -0.0071963059 -5.686021e-03  0.0002845153  0.0021198425
2007-01-05  0.0007078143 -4.586355e-03 -0.0016370693 -0.0080082636
2007-01-08 -0.0036151023  7.071886e-05 -0.0009264869  0.0046143553
2007-01-09  0.0034735795  1.342709e-03  0.0010689472 -0.0008502799
2007-01-10 -0.0051793368 -2.118869e-04 -0.0007125045  0.0033261416

关于r - 计算多列 xts 对象的返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13522528/

相关文章:

r - PerformanceAnalytics 在处理基于时间的对象时出错?

r - 如何使用 quantmod 包从 R 中的 data.frame 中提取行索引

r - xts to.weekly 返回周五和周一作为一周结束时间

r - 如何在R中使用plotly添加R^2?

r - "Top 20% of the people earn 80% of the money"...使用R的这种类型的结果

滚动应用: Is it possible to add end date for each sliding window?

r - 改进R中从google获取股票新闻数据的功能

r - 将结果 append 到列表中

r - 在 R 中初始化嵌套数据框

r - github 操作中的 Spotify 身份验证