1

この質問の目的のために、関数から生成されたさまざまなメトリックを「スタックランク」およびソートできるように、データフレームなどを構築したいと思います。

Performance Analyticsパッケージから例を見てみましょう:

  • 2001 年からの 3 つの指数の終値リターンがあります: SPX、NASDAQ (CCMP)、EuroStoxx (SX5E)。
  • これらのそれぞれについて 95% の 1 日 VaR を取得し、それらをテーブルに配置してから、高いものから低いもの (または低いものから高いものなど) に並べ替えたいと思います。

私の質問を説明するために、単に呼び出すのではなくtable.DownsideRisk、パッケージ内の関数を使用します。Performance AnalyticsVaR()

したがって、これらの結果を個別に取得できます。

                              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

これはデータフレーム/テーブルのユーザーにとってはかなり基本的なことのように思えますが、どんな支援も大歓迎です.

乾杯。

4

1 に答える 1