将时间序列汇总到年度数据

Lor*_*nti 5 finance r time-series zoo

考虑一下我们每天都有股票价格的时间序列(假设是FTSE指数).我们想要计算每日,每月和每年的回报.

为了计算月度和年度回报,我们必须将时间序列数据汇总为数月和数年.在"动物园"包中,我们有聚合函数,可以帮助我们将数据聚合到每月频率.在使用as.yearmon类的代码行下面:

# Computing simple returns
FTSERet = diff(FTSE)/lag(FTSE,k=-1)

# Monthly simple returns
MonRet <- aggregate(FTSERet+1, as.yearmon, prod)-1

# Quarterly simple returns
QuartRet <- aggregate(FTSERet+1, as.yearqtr, prod)-1
Run Code Online (Sandbox Code Playgroud)

我还没有找到与月度数据相同的as.yearmon类或者as.yearqtr用于聚合到年份数据的季度数据.你对这些东西有任何暗示吗?

G. *_*eck 4

"yearmon""yearqtr"将日期表示为年份 + 分数,因此:

as.year <- function(x) as.integer(as.yearmon(x))
Run Code Online (Sandbox Code Playgroud)

另请注意此构造:diff(x, arithmetic = FALSE) - 1