2

我有几个 xts 对象,其中大部分是日常观察。我有一个是每月的。我希望能够将其中三个组合成一个 xts 对象,然后我可以在 PerfrormanceAnalytics 包中使用它(例如 - charts.PerformanceSummary)。我有以下内容:

Ret <- merge.xts(dailyReturns[,3], 
       shortBothDaily[,3], 
       shortBothMonthly[,3])

上面的代码给了我一个 xts 对象,每月回报用“NA”填充。我可以使这个填充等于零,然后我可以绘制,但它会产生一个逐步函数:

charts.PerformanceSummary(Ret)

在此处输入图像描述

我想要与此类似的东西,但每月数据具有典型的累积回报系列。

我可以将两个每日系列转换为每月(to.monthly()),但不想失去每日回报的粒度。

有没有一种优雅的方式来做到这一点?也许填充模拟返回数据?还是让 PerformanceAnalytics 识别每月回报数据并相应地绘制它?

我想看到这样的东西(通过彭博):

在此处输入图像描述

如您所见,我们有一系列每日收益,在同一时间段内绘制了另一系列月收益。

这不是什么大不了的事,但它看起来相当简单,好像它应该是一个共同的需求。我希望有某种 PerformanceAnalytics 方法可以将月度值和日值绘制在一起。

4

1 回答 1

0

彭博图表是错误的。它在不存在的地方插入数据。

我假设你需要 cbind。

require(quantmod)
require(PerformanceAnalytics)
data(managers)
getSymbols.yahoo('IBM',from='1996-01-01',to='2006-12-31',env=.GlobalEnv)
IBM.r <- Return.calculate(Ad(IBM))
monthly.r<-cbind(IBM.r,managers[,c(8,10)],fill=0)
charts.PerformanceSummary(monthly.r)

图表输出

如果您想像彭博图表那样制作数据,您可以通过 na.approx 进行,但请不要将其与真实数据混淆。

于 2015-04-24T21:10:48.203 回答