開始使用免費開始

自訂目標函式

PortfolioAnalytics 的一大特色是:目標的名稱本身就是一個有效的 R 函式。此套件的設計強調彈性與模組化,而自訂目標函式正是很好的例子。定義自訂動差(moment)函式時,請遵循以下幾點:

  • 目標函式必須回傳單一數值,供最佳化器進行極小化或極大化。
  • 強烈建議使用 R 代表資產報酬,並使用 weights 代表投資組合權重。

這些引數名稱會被自動偵測並以高效率方式處理。其他任何目標函式需要的引數,都可以以具名清單的形式,透過 add.objective() 函式的 arguments 參數傳入。

本練習屬於課程

R 中級投資組合分析

檢視課程

練習說明

  • 定義一個自訂目標函式,用來計算投資組合的年化標準差。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# Custom annualized portfolio standard deviation
pasd <- function(___, ___, sigma, scale = 12){
  sqrt(as.numeric(t(___) %*% ___ %*% ___)) * sqrt(scale)
}
編輯並執行程式碼