4

计算 (nxm) xts 对象的回报最直接的方法是什么?

当我将 (nxm) xts 对象mxts输入quantmod函数dailyReturn时,返回值是 (nx 1) 向量,表示第一列的返回。我正在寻找的是一种生成 (nxm) xts 对象的方法,该对象包含mxts.

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

lapply(mxts,dailyReturn)

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

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

4

1 回答 1

5

TTR 包中的ROC函数将执行此操作,但您可以轻松地自己使用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
于 2012-11-23T03:59:52.810 回答