この質問の目的のために、関数から生成されたさまざまなメトリックを「スタックランク」およびソートできるように、データフレームなどを構築したいと思います。
Performance Analytics
パッケージから例を見てみましょう:
- 2001 年からの 3 つの指数の終値リターンがあります: SPX、NASDAQ (CCMP)、EuroStoxx (SX5E)。
- これらのそれぞれについて 95% の 1 日 VaR を取得し、それらをテーブルに配置してから、高いものから低いもの (または低いものから高いものなど) に並べ替えたいと思います。
私の質問を説明するために、単に呼び出すのではなくtable.DownsideRisk
、パッケージ内の関数を使用します。Performance Analytics
VaR()
したがって、これらの結果を個別に取得できます。
SPX.cc
Semi Deviation 0.0095
Gain Deviation 0.0096
Loss Deviation 0.0102
Downside Deviation (MAR=210%) 0.0142
Downside Deviation (Rf=0%) 0.0094
Downside Deviation (0%) 0.0094
Maximum Drawdown 0.5678
Historical VaR (95%) -0.0203
Historical ES (95%) -0.0317
Modified VaR (95%) -0.0193
Modified ES (95%) -0.0273
または、それらすべてをxts
一緒にオブジェクトに配置して実行することもできtable.DownsideRisk
ます。
SPX.cc CCMP.cc SX5E.cc
Semi Deviation 0.0095 0.0114 0.0111
Gain Deviation 0.0096 0.0117 0.0114
Loss Deviation 0.0102 0.0116 0.0113
Downside Deviation (MAR=210%) 0.0142 0.0161 0.0161
Downside Deviation (Rf=0%) 0.0094 0.0113 0.0112
Downside Deviation (0%) 0.0094 0.0113 0.0112
Maximum Drawdown 0.5678 0.6103 0.6219
Historical VaR (95%) -0.0203 -0.0260 -0.0249
Historical ES (95%) -0.0317 -0.0370 -0.0372
Modified VaR (95%) -0.0193 -0.0231 -0.0237
Modified ES (95%) -0.0273 -0.0293 -0.0330
lapply
しかし、より広範な分析プログラムの一部として、またはループとして個々の例を実行したとしましょう。ループ/適用関数がそれぞれで実行されているため、関数の出力から各数値をfor
抽出したいと考えています。要素のテーブルにそれらの抽出された値を配置し、そのテーブルを (低いものから高いものへ) の行に沿って並べ替えます。Historical VaR (95%)
table.DownsideRisk
.GlobalEnv()
Historical VaR (95%)
SPX.ccl -.0203
SX5E.ccl -.0249
CCMP.ccl -.0260
これはデータフレーム/テーブルのユーザーにとってはかなり基本的なことのように思えますが、どんな支援も大歓迎です.
乾杯。