【问题标题】:How do i combine monthly and daily xts data for use with PerformanceAnalytics?如何将每月和每日 xts 数据与 PerformanceAnalytics 结合使用?
【发布时间】:2015-06-11 07:17:28
【问题描述】:

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

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

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

charts.PerformanceSummary(Ret)

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

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

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

我希望看到这样的事情(通过彭博):

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

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

【问题讨论】:

  • 我不清楚您在寻找什么。您的每月数据确实绘制了正确的时间索引。如果您按月获得回报,那么它一个逐步函数。所以我真的不明白你认为你应该得到什么,或者你觉得它应该是什么样子。我们无法猜测您想要什么,PerformanceAnalytics 不构成数据。
  • 你很粗鲁。另外,我很清楚这是一个逐步函数,但我创建了它作为一种解决方法。我完全理解为什么我得到了我得到的,但我得到的不是我想要的。我在问大家是否有办法做一些与此不同的事情。我宁愿看到
  • 如果我不够清楚,我深表歉意,但我添加了一张图表来说明我的意思。

标签: r xts finance performanceanalytics


【解决方案1】:

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

我假设你需要 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)

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

【讨论】:

  • 我要指出的是,您需要在累积权益上使用na.approx,然后从中分解收益。
猜你喜欢
  • 2018-07-08
  • 2015-10-31
  • 2016-08-31
  • 1970-01-01
  • 1970-01-01
  • 2013-05-02
  • 2015-10-30
  • 1970-01-01
  • 2017-11-02
相关资源
最近更新 更多