このedhecデータ(パッケージで提供)と重みベクトルを使用して、エラーを再現できます(次回は再現可能な例を挙げてください。そうしないと、次の回答に意味がありません)
weights <- c(0.2, 0.2, 0.1, 0.1, 0.5) ## must be to number of columns in R"
ES(R = edhec[,1:5], weights= weights)
Error in t(w) %*% M3 : requires numeric/complex matrix/vector arguments
M3 マトリックスが null であるためのエラー。portfolio_method
引数をデフォルトからsingle
に変更する必要がありますcomponent
。Component ES部分の重みについてのヘルプの話なので、これは理にかなっています。それ以外の場合は、m3、m4、mu... (痛い) を提供する必要があると思います
これを試して
ES(R = edhec[,1:5], weights= weights,
portfolio_method= 'component')
$MES
[,1]
[1,] 0.0331994
$contribution
Convertible Arbitrage CTA Global Distressed Securities Emerging Markets Equity Market Neutral
0.015504952 -0.006116166 0.004702236 0.007760899 0.011347477
$pct_contrib_MES
Convertible Arbitrage CTA Global Distressed Securities Emerging Markets Equity Market Neutral
0.4670251 -0.1842252 0.1416362 0.2337662 0.3417977