LoginSignup
21
20

More than 3 years have passed since last update.

モデリングの評価関数におけるシャープレシオの取り扱い

Last updated at Posted at 2020-09-19

モチベーション

システムトレーダーが自身の戦略を実験する時、見るべき大事な変数の一つにシャープレシオがある。
シャープレシオとは、実現損益率の系列データ{$X_t$}があった時に、全期間のリスクフリーレシオを$r$とすれば、$\displaystyle \mbox{SR} = \frac{\bar{X_t}-r}{\sqrt{\mbox{Var}[X_t]}}$と計算できる。
ただ、システムトレーダーでこういった事例が現実では起こっている。
「なぜか、バックテストで良い成績が出たのに、ライブ運用では全くうまくいかない。」
つまり、この記事で問いたいことは、そのバックテストの「良いシャープレシオ」は、本当に良いシャープレシオなのか。
この一言に答える為、私はこの記事を全力で書きたい。

複数試行における期待シャープレシオとそのインフレーション

ポートフォリオマネジャーは往々にして複数の戦略から良い戦略を選び、ポートフォリオのシャープレシオを向上させることを目指す。
しかし、例えばシャープレシオが$n$以上で閾値を設定する場合は、選択バイアスに陥る可能性が高い。

ここでいう選択バイアスとは、研究論文等でよくある良い結果の実験だけを報告するというケースに対して、投資家達は、良い結果しか目に見えないことである。つまり、実験回数が分からないため、その実験結果に対して評価しようがないのである。

例えば、部下がシャープレシオ3の戦略が見つかりましたと言って、ポートフォリオマネジャーがこれは凄いと思ったとします。しかし、実は部下が1万回実験してその中で一番良い戦略を選んでいたら、そのシャープレシオは本当に良いシャープレシオなのでしょうか。
こういった事例で判断するためには、以下のように問題を設定する。

まず、$N$回の独立なバックテストによる実現損益の集合を仮定する。この集合のそれぞれの元を「試行」と呼び、$\mbox{SR}$の推定値を$\hat{\mbox{SR}_n}$と置けるとする。ただし、$n=1,...,N$。

ここで、この集合が平均$E[\{\mbox{SR}_n \}]$,分散$V[\{\mbox{SR}_n \}]$の正規分布に従うと仮定する。
頻度が高い取引戦略による期待値がグローバルマクロ戦略(インデックス投資)による期待値を上回るかどうかを検証するために、十分大きい$N >> 1$ に対して、シャープレシオの最大値の期待値が以下のように推定出来る。
$$E [\max{\hat{SR}}] = E[\{\hat{SR} \}] + \sqrt{V[\{ \hat{SR} \}]}((1-\gamma)Z^{-1}[1-\frac{1}{N}]+\gamma Z^{-1}[1-\frac{1}{N}e^{-1}])$$
ここで、$\gamma$は定数(0.5772)でEuler-Mascheroni定数と呼び、$Z$は標準正規分布の累積分布関数、$e$はオイラー定数である。

ここで分かることは、$N$を大きくすれば、最大シャープレシオも大きくなるということである。この現象自体はほぼ自明で、1万回戦略を実験したとして、最大シャープレシオが3だとすると、10万回実験すれば最大シャープレシオは確実に3より大きくなるからである。

この現象を「シャープレシオのインフレーション」を呼ぶ。

それでも、私たちは良い戦略を選びたい。次に、このインフレを考慮し、ディスカウントしたシャープレシオ(デフレ・シャープレシオ:DSRまたはDeflated Sharpe Ratio)という概念を導入したい。

デフレ・シャープレシオ

この概念に入るためには、まず、確率的シャープレシオ(PSR: Probabilistic Sharpe Ratio)を導入する。

PSRとは、サンプル数(取引日数)を考慮したシャープレシオで、ある閾値を超えているかどうかの確率である。ここでの閾値は使い手が任意に決める。

例えば、1000営業日によるシャープレシオが1だった場合、これが実際に1を超えているかどうかの確率について考えることが出来る。

これを導入する理由は、サンプル数が少ない場合における計算結果の妥当性を評価する為である。

先ほどの分析で、選択バイアスについて話したが、実験回数が多くなる場合は。特定の実験結果だけを選んだりするような場合は、例え、真のシャープレシオが0だったとしても、最大シャープレシオは恐ろしくインフレし、大きくなり得るのである。

そこで、そのインフレを考慮したデフレ・シャープレシオ(以下、DSR)について定義する。

$a = \hat{\mbox{SR}}_0 = \sqrt{V[\{\hat{\mbox{SR}_n}\}]}\bigl((1-\gamma)Z^{-1}[1-\frac{1}{N}]+\gamma Z^{-1}[1-\frac{1}{N}e^{-1}]\bigr)$と置くと、
(期待シャープレシオが0である時の期待最大シャープレシオ)

$$\hat{\mbox{DSR}} = \hat{\mbox{PSR}}(a)= Z\Bigl[\frac{\hat{\mbox{SR}}-a\sqrt{T-1}}{\sqrt{1-\gamma_3 \hat{\mbox{SR}}+\frac{\gamma_4-1}{4}\hat{\mbox{SR}}^2 }} \Bigr]$$

と定義する。ここで$\gamma_3, \gamma_4$はそれぞれバックテストの実現損益の分布の歪度、尖度である。$\mbox{PSR}(a)$は$a$をシャープレシオとして、それが0を超えている確率である。

考え方はこうである。

「期待収益率が0であるような戦略を沢山行ったとする。その時の最大シャープレシオを推定する。
さて、今の戦略のシャープレシオは、その最大シャープレシオをどれくらいの確率で超えているかである。」

つまり、上記の$\hat{\mbox{DSR}}$は「対象とするバックテストのシャープレシオに対して、$N$回期待値0と仮定した戦略のバックテストの期待最大シャープレシオを織り込んだ結果、シャープレシオが0をそれでも超えている確率」という風に解釈できる。

数値計算例

あるストラテジストがある商品で5年分の日次データで様々な組み合わせがシャープレシオ2を出していたとする。そして、ある組み合わせがシャープレシオ2.5だったとする。ここで、この戦略の妥当性(95%信頼区間)について検証したい。
まず検証に必要なデータを用意しよう。
(i)独立なバックテストの試行回数($N$)
(ii)実現損益の分散($V$)
(iii)サンプル数(取引日数)($T$)
(iv)実現損益の歪度と尖度 ($\gamma_3, \gamma_4$)

ここで$N=100, V=0.5, T=1250, \gamma_3 = -3, \gamma_4 = 10$とする。ここでまず期待最大シャープレシオ$\hat{\mbox{SR}_0} = 0.1132$, 年間観測日数を250とすると、$\mbox{DSR} = Z \Bigl[ \frac{(\frac{2.5}{\sqrt{250}}-0.1132)\sqrt{1249}}{\sqrt{1-(-3)\frac{2.5}{\sqrt{250}}+\frac{10-1}{4}(\frac{2.5}{\sqrt{250}})^2}} \Bigr] = 0.9004 < 0.95$と計算出来て、95%信頼区間の条件を満たしていないため、この戦略を棄却する。

参考文献

The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting and Non-Normality

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20