始める無料で始める

カスタム目的関数

PortfolioAnalytics の重要な特徴は、目的関数の名前が有効な R の関数名であることです。パッケージは柔軟でモジュール式に設計されており、カスタム目的関数はその好例です。カスタムのモーメント関数を定義する際は、次のガイドラインに従ってください。

  • 最適化器が最小化または最大化できるよう、目的関数は単一の値を返す必要があります。
  • 資産リターンには R、ポートフォリオのウェイトには weights を使うことを強く推奨します。

これらの引数名は自動的に検出され、効率的に処理されます。目的関数に渡すその他の引数は、add.objective() 関数の arguments に名前付きリストとして指定できます。

この演習はコースの一部です

Rで学ぶ中級ポートフォリオ分析

コースを見る

演習の手順

  • ポートフォリオの年率換算標準偏差を計算するカスタム目的関数を定義してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Custom annualized portfolio standard deviation
pasd <- function(___, ___, sigma, scale = 12){
  sqrt(as.numeric(t(___) %*% ___ %*% ___)) * sqrt(scale)
}
コードを編集して実行