2015-04-06 49 views
3

我有幾個xts對象,其中大多數是每日觀察。我有一個每月一個。我希望能夠將其中三個組合成一個xts對象,然後我可以在PerfrormanceAnalytics包中使用它(例如 - charts.PerformanceSummary)。我有以下幾種:如何將每月和每日xts數據結合使用以用於PerformanceAnalytics?

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

上面的代碼給了我一個xts對象,每月回報用'NA'填充。我可以讓這個充滿等於零,然後讓我繪製,但它會產生一個逐步的功能:

charts.PerformanceSummary(Ret) 

enter image description here

我想與此類似,但有一個典型的期待每月數據的累計收益系列。

我可以將兩個每日系列轉換爲每月(to.monthly()),但寧可不會丟失每日回報的粒度。

有一種優雅的方式來做到這一點?要填充模擬的回報數據?或者讓PerformanceAnalytics識別每月的回報數據並相應地繪製它?

我希望看到這樣的事情(通過彭博):

enter image description here

正如你可以看到,我們有一系列的日收益,與其他系列的月度回報率的標繪在同一時間期。

這不是一個大問題,但它看起來相當簡單,好像它應該是一個普通的需求。我希望有某種PerformanceAnalytics方法可以將每月和每日價值統計在一起。

+0

我不清楚你在找什麼。您的月度數據**會**繪製,並帶有正確的時間索引。如果你每月獲得回報,那麼它**是一個逐步的函數。所以我真的不明白你認爲你應該得到什麼,或者你覺得它應該看起來如何。我們無法猜測你想要什麼,並且'PerformanceAnalytics'不能組成數據。 –

+0

你很粗魯。 此外,我完全知道這是一個逐步的功能,但我將其作爲解決方法創建。我完全理解爲什麼我得到了我所得到的,但我得到的並不是我想要的。我問你們是否有辦法做一些與此不同的事情。我寧願看到 – lukehawk

+0

如果我不清楚,我很抱歉,但我已經添加了一張圖表來描述我的意思。 – lukehawk

回答

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) 

如果你想彌補,如彭博圖表數據呢,你可以做到這一點通過na.approx,但請不要混淆與真實的數據。

+0

我想指出,您需要在累積權益中使用'na.approx',然後從中分解回報。 –

相關問題