使用QuantMod / tseries monthlyReturn with dividend

时间:2014-09-29 15:11:57

标签: r xts quantmod

是否有办法使用月度回报功能将股息纳入dailyReturn?

我有一个带有价格和股息列的xts对象。

1 个答案:

答案 0 :(得分:2)

您可以直接使用TTR::adjRatios来计算创建"总回报率"所需的调整比率。价格系列。然后,您可以使用调整后的系列计算月度回报。请注意,您可能还需要调整拆分。

library(quantmod)
# create sample data
SPY.Close <- Cl(getSymbols("SPY", auto.assign=FALSE))
SPY.Div <- getDividends("SPY", auto.assign=FALSE)
SPY <- merge(SPY.Close, SPY.Div)
# now adjust close for dividends
ratios <- adjRatios(dividends=SPY[,"SPY.Div"], close=SPY[,"SPY.Close"])
SPY$SPY.Adjusted <- (ratios$Split * ratios$Div) * SPY$SPY.Close
# only keep dates from the original object
SPY <- SPY[index(SPY.Close),]
# calculate returns on raw prices and adjusted prices
ret <- merge(monthlyReturn(Cl(SPY)), monthlyReturn(Ad(SPY)))