最近の中米関係の不確実性から、投資の多様性を利用してリスクをヘッジすることを考え始めざるを得ませんでした。ETF ポートフォリオ戦略を試み、JoinQuant(Python2 バージョン)でいくつかの検証を行いました。
1. ポートフォリオとその取引戦略#
2 つの大きなポートフォリオを選定しました。ポートフォリオ 1 は規模 ETF を主に、国債 ETF と金 ETF を補助的に使用し、ポートフォリオ 2 は業界およびテーマ ETF を主にしています。具体的な構成は以下の通りです:
取引戦略はそれぞれロングポジション(ポートフォリオ 1 は 1 つのサブポジション、ポートフォリオ 2 は 1 つのサブポジションに対応)と単一ポジション(ポートフォリオ 1 とポートフォリオ 2 が 1 つのポジションにある)でバックテストを行い、表 1 を参考にしました。バックテストのベンチマーク収益は CSI 300 です。
表 1:取引戦略
2. ポートフォリオの重み#
毎回のリバランス時に、以下の異なる目的関数に基づいて重みを再構成し、ポジションを配分します:
- 等重み
- リスク平価
- ポートフォリオリスク最小化
- ポートフォリオシャープレシオ最大化(無リスク金利 = 0.00)
- ポートフォリオ収益最大化
上記の目的関数に対応する制約関数は、特に指定がない限り、【ポートフォリオ総重み = 100%】を制約関数として使用します。
3. バックテスト期間:2017 年 1 月 1 日 - 2020 年 8 月 10 日#
バックテスト期間は 2017 年 1 月 1 日から 2020 年 8 月 10 日までの 3 年半以上です。2 つの異なるポジション戦略と 5 つの異なるポートフォリオ重み方法に基づいて、10 種類のバックテスト結果が得られました。表 2、図 1、図 2、図 3、表 3、図 4、図 5、図 6 を参照してください:
表 2:ロングポジション、異なる目的関数のバックテスト結果
出典:JoinQuant、筆者計算
図 1:ロングポジション、異なる目的関数の収益率(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 2:ロングポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 3:ロングポジション、年率リターンと最大バックテスト(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
表 3:単一ポジション、異なる目的関数のバックテスト結果(ポートフォリオシャープレシオ最大化の場合、制約関数は【ポートフォリオ総重み =(0,1)】を使用)
出典:JoinQuant、筆者計算
図 4:単一ポジション、異なる目的関数の収益率(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 5:単一ポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 6:単一ポジション、年率リターンと最大バックテスト(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
上記の結果から以下のことがわかります:
- 収益の観点から見ると、ポートフォリオシャープレシオ最大化ポートフォリオが最も高い収益を上げており、単一ポジションの方がロングポジションよりも高いです。次に単一ポジションのリスク平価ポートフォリオです。
- 最大バックテストの観点から見ると、ポートフォリオリスク最小化ポートフォリオが最小のバックテストを記録しており、ロングポジションの方が単一ポジションよりも小さく、リスクを十分に分散しています。それ以外では、ロングポジションのリスク平価ポートフォリオです。
- シャープレシオの観点から見ると、ポートフォリオシャープレシオ最大化は比較的高く、順位は単一ポジションのポートフォリオシャープレシオ最大化 > 単一ポジションのリスク平価ポートフォリオ > ロングポジションのポートフォリオシャープレシオ最大化です。一方、ポートフォリオリスク最小化のシャープレシオは最低です。
- リスク平価ポートフォリオは、収益ランキングで第 3 位、最大バックテストランキングで第 3 位、シャープレシオランキングで第 2 位であり、優れたポートフォリオです。
- 等重みポートフォリオは比較的中庸で、最良でも最悪でもありません。
- ポートフォリオ収益最大化ポートフォリオは、単一ポジションとロングポジションでのパフォーマンスが大きく異なります。
4. バックテスト期間:2018 年 1 月 1 日 - 2018 年 12 月 31 日#
2018 年は熊市の年であり、上証指数は 3300 以上から 2500 以下まで下落しました。同様の戦略でバックテストを行い、以下のバックテスト結果が得られました。表 4、表 5、図 7、図 8 を参照してください:
表 4:ロングポジション、異なる目的関数のバックテスト結果
出典:JoinQuant、筆者計算
表 5:単一ポジション、異なる目的関数のバックテスト結果
出典:JoinQuant、筆者計算
図 7:ロングポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 8:単一ポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
上記のバックテスト結果から以下のことがわかります:
- 熊市の状況下で、ポートフォリオリスク最小化はリスクを効果的に回避でき、最大バックテストが最小で、収益が最も高いです。
- 熊市の状況下で、ポートフォリオ収益最大化の最大バックテストが最大で、単一ポジションの状況では収益も最も悪く、実際には良い戦略ではありません。
- 熊市の状況下で、ポートフォリオシャープレシオ最大化のパフォーマンスも満足できるものではありません。
- 熊市の状況下で、リスク平価と等重みは近いパフォーマンスを示し、比較的中庸です。
5. バックテスト期間:2020 年 3 月 1 日 - 2020 年 7 月 14 日#
2020 年はパンデミックの影響を受けましたが、国内でパンデミックが制御された後、小さなブルマーケットが生まれました。この期間を例に、以下のバックテスト結果が得られました。表 6、表 7、図 9、図 10 を参照してください:
表 6:ロングポジション、異なる目的関数のバックテスト結果
出典:JoinQuant、筆者計算
表 7:単一ポジション、異なる目的関数のバックテスト結果
出典:JoinQuant、筆者計算
図 9:ロングポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
図 10:単一ポジション、異なる目的関数の収益率、最大バックテスト、シャープレシオ、ボラティリティ(0:等重み 1:リスク平価 2:ポートフォリオリスク最小化 3:ポートフォリオシャープレシオ最大化 4:ポートフォリオ収益最大化)
出典:JoinQuant、筆者計算
上記のバックテスト結果から以下のことがわかります:
- ブルマーケットの状況下で、ポートフォリオ収益最大化ポートフォリオが最も高い収益率を示し、最大バックテストも最大です。
- ブルマーケットの状況下で、等重みとリスク平価ポートフォリオは、全体的に良好なパフォーマンスを示し、ベンチマーク収益を辛うじて上回ります。
- ブルマーケットの状況下で、ポートフォリオシャープレシオ最大化のパフォーマンスは普通です。
- ブルマーケットの状況下で、ポートフォリオリスク最小化は最も悪い戦略です。