收益

資產回報歷史不同的投資組合回報

  • October 4, 2018

使用 R 中的 PerformanceAnalytics 包,我試圖計算包含 30 個資產的等權重投資組合的回報。但是,這些資產的起始時間點不同,導致多個資產從樣本期開始時就出現了缺失值。預設情況下,PerformanceAnalytics 將“0”值歸因於缺失值,從而導致資產在投資組合中被賦予正權重,儘管這些資產沒有任何可用的回報數據。

一旦有新資產可用,是否有可能讓 PerformanceAnalytics 忽略缺失值並重新平衡投資組合?

在此先感謝您的有益評論。

您可以使用貝氏方法。失去數據不是貝氏方法的內在問題,但是,在使用貝氏方法之前,您確實需要了解數據失去的原因。在您的情況下,這是因為這些公司不存在。這是相當幸運的,因為這使您的情況變得相當簡單。例如,如果有某些原因導致數據失去,就像您在其他社會科學數據中看到的那樣,例如尷尬,這是一個不同的問題。然後你就頭疼了。

您需要為位置中心的位置和比例參數開發先驗分佈。讓我們假設它們是按順序開始的,這樣 $ X_1 $ 是第一個開始的系列, $ X_2 $ 第二個和 $ X_{30} $ 最後。你會為第一個設置一個先驗,直到你在觀察之前成為一個觀察者 $ X_2 $ . 你會處理你的後密度 $ X_1 $ 作為先驗 $ X_2 $ . 我會削弱比例參數以覆蓋參數的機率 $ X_2 $ 不一樣 $ X_1 $ . 重複直到所有系列都開始。

對於內部缺失的觀察,例如沒有交易的日子,您將從先前的觀察中估計可能值的分佈並將其邊緣化,這樣您就不會從缺失的觀察中失去資訊。

使用平均值的替代方案會扭曲比例參數並扭曲任何推斷。

第三種選擇,等到他們都共享一個時間序列,浪費資訊。

見: http: //www.bias-project.org.uk/papers/NonTechnicalMissingTalkSlides.pdf

如果您從未使用過貝氏方法,請給我發一個問題,我會提供一些額外的資訊。

你有兩個選擇:

  • 只需使用可用於所有資產的數據的日期

    1. 將價格向量轉換為 xts 格式
    test <- xts([returnvector1], order.by=[column with date])
    
    1. 將各個價格向量合併到一個大回報矩陣
    PriceMat <- merge(test1, test2, test3,..., by=["Date"], all=FALSE)
    
    1. 將價格矩陣轉換為收益矩陣庫(quantmod)
    RetMat <- apply(PriceMat,2,Delt,type=geometric)
    
    ```它應該像這樣工作。我很抱歉,但我沒有機會檢查程式碼。
    
  • 填充平均值

您可以先將價格向量轉換為返迴向量,然後將它們合併 ( merge(retvec1, retvec2, all=TRUE))。您現在將獲得的矩陣將具有許多 NA 值。找到那些 NA 用單個資產的平均回報覆蓋它們

引用自:https://quant.stackexchange.com/questions/35937