始める無料で始める

FUN の引数

適用したい関数に、調整したいオプション引数が含まれることはよくあります。小数点以下の桁数を指定できる percent_to_decimal() 関数を考えてみましょう。

percent_to_decimal(5.4, digits = 3)
[1] 0.054

lapply() の呼び出しでは、FUN 引数の後に名前付きのオプション引数を指定できます。これらは、適用する関数にそのまま渡されます。

my_list
$a
[1] 2.444 3.500

$b
[1] 1.100 2.678 3.450

lapply(my_list, FUN = percent_to_decimal, digits = 4)
$a
[1] 0.0244 0.0350

$b
[1] 0.0110 0.0268 0.0345

この演習では、シャープレシオ関数の機能を拡張して、リスクフリーレートを引数として受け取れるようにし、さらにそれを lapply() と一緒に使います。小数(decimal)で表した日次株式リターンのデータフレーム stock_return が用意されています。

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

金融のための中級R

コースを見る

演習の手順

  • sharpe を拡張して、リスクフリーレートをオプション引数として入力できるようにしてください。デフォルトは .0003 に設定します。
  • lapply()stock_return に対して使い、リスクフリーレートが .0004 のときのシャープレシオを求めてください。
  • lapply()stock_return に対して使い、リスクフリーレートが .0009 のときのシャープレシオを求めてください。

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

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

# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
    (mean(returns) - ___) / sd(returns)
}

# First lapply()
___

# Second lapply()
___
コードを編集して実行