今回は、モデルや投資戦略のパフォーマンス指標の1つである『確率的シャープレシオ』について少し詳しく解説していきます。
確率的シャープレシオとは
まず、確率的シャープレシオとは何ぞやという点ですが。
これは、マルコス・ロペス・デ・プラドによって提案されたパフォーマンス指標の1つで、一般的なシャープレシオの問題点を和らげ、その信頼性を評価する指標です。
ちなみに、シャープレシオとはリスクあたりのリターンを測る指標です。
シャープレシオのわかりやすい説明、計算方法や目安の数値のまとめ | 1億人の投資術 (oneinvest.jp)
確率的シャープレシオでわかること
確率的シャープレシオでわかることを一言でまとめると、シャープレシオがある一定の値を超えているかどうかの確率です。
例えば、過去のデータからシャープレシオが1.5の投資戦略が見つかったとします。
その際に閾値を1と設定し、過去データから得られたシャープレシオが実際に1を超えているか否かを確率的シャープレシオを用いることで推測できます。
シャープレシオの問題点
これには、シャープレシオという指標の問題点が絡んでいるのですが、その点については以下でわかりやすく解説されているので、そちらをご覧ください。
モデリングの評価関数におけるシャープレシオの取り扱い – Qiita
簡単にまとめると、たくさん試行した場合に偶然良いシャープレシオが得られる可能性が高まり、偶然得られた数値に基づいた投資判断では、実際の運用ではよい結果を得られない可能性が高いということです。
この問題点を解消するために考案されたのがこの確率的シャープレシオであり、この指標を用いることで、得られたシャープレシオが本当に一定の値(閾値)を超えているかを推測し、信頼性の高い評価が行えるようになります。
確率的シャープレシオの求め方
確率的シャープレシオは以下の式で求められます。
SR0は任意のシャープレシオで、γ3はバックテストの損益の歪度、γ4はバックテストの損益の尖度を表します。
これによって算出される数値は0~1の値となり、閾値として設定したシャープレシオを超えている確率を示します。
Pythonでの実装コード
以下にPythonで確率的シャープレシオを算出するコードを掲載しているので、実装時はご参考ください。
確率的シャープレシオの結果の解釈
上記の計算式により得られた数値の解釈について少し見ていきます。
先ほども述べたように、式から得られる数値は0~1の数値で、シャープレシオが実際に特定の値(閾値)を超えている確率を示します。
この値の解釈ですが、一般的な統計の有意水準5%を用いて判断する場合は、95%(0.95)以上の数値が得られることが望ましいです。
なので、0.95以下の場合は、偶然そのシャープレシオが得られたという可能性が高いと判断できます。
確率的シャープレシオの注意点
それでは最後に確率的シャープレシオの注意点について述べておきたいと思います。
ここまで見てきたように、確率的シャープレシオを用いることで、得られたシャープレシオが実際に優れているのか、たまたま得られた結果なのかを推測することができ、シャープレシオの信頼性を評価することができます。
ただ、一方で確率的シャープレシオも過去のデータに基づいた数値であることは変わりなく、将来のパフォーマンスを保証するものではありません。
また、リターンの分布や自己相関が変化する場合、確率的シャープレシオの信頼性も変化する可能性があります。
そのため、確率的シャープレシオを他のリスクやパフォーマンス指標と組み合わせて使用し、投資判断を行うことが重要になります。
そのほかのパフォーマンス指標については以下の記事で10個以上紹介しているので、ぜひご参考ください。
まとめ
今回は、シャープレシオの信頼性を評価する指標である確率的シャープレシオについて解説しました。
この指標を用いることで、偶然得られた良い結果なのか、それとも真の実力に基づいた結果なのかの判断に役立てることができます。
ぜひ、参考になればうれしいです。