トレイダーズ証券
【PR】記事内に商品プロモーションを含む場合があります。
階層的リスクパリティ(HRP)について[藍崎@システムトレーダー]

階層的リスクパリティ(HRP)について[藍崎@システムトレーダー]

当サイト限定マネーパートナーズタイアップ

硬骨の研究者という雰囲気を醸し出す藍崎さんに、自由自在に語っていただく企画です。
今回は、階層的リスクパリティ(HRP)について、縦横無尽に解説していただきます。

藍崎@システムトレーダー氏プロフィール
藍崎@システムトレーダー氏プロフィール

クオンツから定量分析を学んで生き残りたい個人トレーダー。システムトレードをする傍ら、MT5でEA開発も行う。よく使うのはMQL5、Python、R、Excel VBA。

IG証券

複数のEAでポートフォリオを組む

 一般的に複数の株や債権などのアセットでポートフォリオを組むことで、リスクを分散させる効果があると言われています。各アセットに割り当てる重みを決定するための理論として現代ポートフォリオ理論(MPT)が広く知られていますが、最近では Marcos Lopez de Prado(2016) によって発表されたポートフォリオ理論である階層的リスクパリティ(Hierarchical Risk Parity:HRP)が、安定して高いパフォーマンスを発揮できるとして注目されています。複数のEAを運用するトレーダーにとって、各EAのロット数のバランスをどのように決めるかは、損益に直結する重要なプロセスです。タイプの違うEAを同時に稼働させるときに、このHRPが利用できる可能性があると考えられます。

階層的リスクパリティ(HRP)の仕組み

 HRPの目的は、相関係数が高く類似したEAにポートフォリオの重みを集中させないことと、分散の大きい(損益が激しい)EAの重みを小さくすることです。類似したEAにリスクが集中すると同時に負けるEAがポートフォリオに大きな被害をもたらす危険があります。また、分散が大きなEAの比重を重くすれば、そのEAの損益に大きく依存するポートフォリオとなってしまいます。

 詳しい仕組みを知らなくてもHRPは実装できますが、概要をつかむため簡単に説明します。HRPは3つのステップで成り立ちます。

【step.1】ツリークラスタリング

ツリークラスタリングではEA同士の相関構造を明らかにすることが目的です。ポートフォリオ内のEAの月次リターンや週次リターンなどから相関行列を作成し、距離行列に変換した後、階層的クラスタリングを実施します。

【step.2】準対角化

準対角化では階層的クラスタリングの結果を基にポートフォリオを並び替えます。類似するEA同士は近くに配置され、相関がないEAはばらばらに配置されます。

【step.3】再帰的二分

再帰的二分では、並び替え後のポートフォリオを二分割し、分散が大きいほど重みを小さくするように調整していき、トップダウン方式で全てのEAに重みを割り当て終えるまで繰り返します。類似するEAが隣り合っている中での再帰的二分は、分散の大きいEAの重みを小さくすることと同時に相関係数の高いEAに重みが集中することを防ぎます。

HRPがどのように機能するか

 ポートフォリオ内のEAに割り当てる重みを定期的にリバランスするとどうなるかを確認していきましょう。

MPTによるポートフォリオの重みの変化を表すエリアチャート

図①はMPTによるポートフォリオの重みの変化を表すエリアチャートです。エリアチャートが安定せずにバラバラに推移している様子がわかります。MPTは最適化した期間で最も優秀だったEAに極端に大きな重みを与えてしまっています。ポートフォリオのバランスが安定せず、一部のEAの損益に大きく依存するポートフォリオとなっています。

HRPによるポートフォリオの重みの変化

図②はHRPによるポートフォリオの重みの変化を表しています。HRPは損益の分散が低く安定したEAに大きめの重みを付けますが、リバランスを繰り返してもポートフォリオ全体のバランスを大きくは崩しません。このようにMPTとHRPを比較すると、HRPが安定したバランスを維持し続けることがわかります。HRPの特徴的な挙動として、一つのEAが大きく損失を出したときはそのEAの重みを減らして、代わりに相関関係にある別のEAの重みを増やします。相関関係にあるEAが同時に損失となった場合は、相関のないEAの重みを増やすようにポートフォリオを調整します。

PythonによるHRPの実装

 Riskfolio-LibやPyPortfolioOptなどのPythonライブラリでHRPを簡単に実装することが可能です。PyPortfolioOptのGithubにHRPを実装するコードが紹介されています。このサンプルコードでは米国株のデータを扱っていますが、これをEAの損益データなど任意のものに置き換えて利用することができます。PyPortfolioOptのサンプルコードはこのURLから確認できます。

https://github.com/robertmartin8/PyPortfolioOpt/blob/master/cookbook/5-Hierarchical-Risk-Parity.ipynb

参考文献
Marcos Lopez de Prado(2016) “Building Diversified Portfolios that Outperform Out-of-Sample”

ABOUT ME
藍崎@システムトレーダー
クオンツから定量分析を学んで生き残りたい個人トレーダー。システムトレードをする傍ら、MT5でEA開発も行う。よく使うのはMQL5、Python、R、Excel VBA。
DMM FX
GMOクリック証券
【最新号】セオリーを疑え!話はそれからだ!!
外国為替vol.13表紙

FX雑誌「外国為替」vol.13

発売:2024年10月22日(火)
定価:980円(本体891円)

Amazonで購入する

ノックアウトオプション|少額資金で大きな利益を獲得できる仕組みとは?
IG証券