今回は、システムトレードの観点からS&P500インデックス銘柄の最適な購入方法を検討します。
若干数値遊び的なところがあります。
長きに亘り高いパフォーマンスを出し続けてきたS&P500インデックスですが、これをもしトレードしたらどれだけ利益が出るのだろう?本当にバイ&ホールド(ガチホ)が最適解なんだろうか?と考えたことがある人も多いのではないでしょうか。
トレードといっても、テクニカル指標を基にしたり、ファンダメンタル分析に基づいたり、色々な要素を自分でアレンジしたロジックだったり、第6感だったりと様々な手段があります。
そんな中で、今回はおそらく誰もが思うであろう「高いときは売って、安くなったら買い戻そう」を機械的に実行するシステムトレードロジックを構築し、これに用いるパラメータをベイズ最適化により、最も高い利益をあげられるパターンを探索します。
そして結果をバイ&ホールドした場合と比較することで、S&P500における(簡易的な)トレードの効果とバイ&ホールドの妥当性を確認します。
事前準備
トレードロジックの検討
トレードにおいて利益をあげるには、言うまでもなくロジックが最重要です。
しかしながら、今回は、先の通り「高いときは売って、安くなったら買い戻そう」をより高い精度で実施した場合の成果をみるため、儲かる工夫を検討することはしません。
今回の分析に用いるロジックとその他の条件は以下のとおりです。
- 前日の価格よりA%価格が下落したら買う、B%価格が上昇したら売る
- AとBの値はベイズ最適化(後述)により最も良い組合せを推定する
- 初期投資額は500ドルとし、積立投資は行わない
- 利益は税引き後とするが、インフレや手数料等の細かい条件は考慮しない
- 解析期間は5年×3パターン、20年×1パターンとする
- 解析終了時に購入状態の場合は、その時点で売却する
基本的にトレードした場合の利益とS&P500の単純な成長による利益をざっくり比較する観点から、税金周り等は簡易的なモデルとなっています。
加えて、完全に感情や追加ロジックを考慮せず、前日の値動きに対して、「高いときは売って、安くなったら買い戻そう」を淡々と実行することとします。
本来なら、損切りの設定をしたり、暴落時と平常時等を定義してロジックを分けるべきですが、今回は考慮しません。
この条件をPythonコードに落とし込み、解析します。
ベイズ最適化
ベイズ最適化とは、物凄くざっくり言うと、関数y=f(x)の最大値あるいは最小値を推定するものです。
本記事では詳しく解説しませんが、興味を持たれた方にはコチラの記事(Qiita:@watakandhi氏)をおすすめしておきます。
今回は、「高いときは売って、安くなったら買い戻そう」を高い精度で実現するため、パラメータのベイズ最適化を行います。
具体的には、前節のAとBの最も良い(と思われる)値を推定します。
S&P500でシステムトレード(シストレ)した結果
それでは早速シストレをやっていきましょう。
シストレをやるといっても、実際にトレードするわけではなく、過去のS&P500の値動きデータ(ヒストリカルデータ)を基に、疑似トレードを行います。
ヒストリカルデータはyahoo finance等で参照可能です。
2014年~2019年の場合
まずは、5年も前とはとても思えない2014年から2019年の5年間を解析結果です。
この場合の結果は以下のとおりです。
図のcloseは終値の推移を、balanceは初期投資額の推移を示しています(以降も同様)。
また、縦軸はドル、横軸は経過日数を示していますが、経過日数は閉場日をカウントしないため、=5年間にはなりません。
図をみての通りですが、取引回数は3回程度と非常に少なく、また利益率は5年前に購入してそのまま持ち続けた場合(148.7%)と殆ど同じ結果となりました。
2009年~2014年の場合
次に、10年前を基点にした5年間をみてみましょう。
ベイズ最適化したパラメータは至近の5年と大差なく、取引回数は多いです。
利益率は至近5年と同様、殆ど変わりません。
2004年~2009年の場合
次はリーマンショックを含む期間です。
至近10年間と比較して、大きな動きがあり、頻繁なトレードが推奨されました。
また、注目すべきはリーマンショックにより、この5年間は最終的に価格が戻り切らず100%を切っていることに対し、トレードした場合は資産を2倍以上にできていることでしょう。
やはり大暴落は、ガチホが大敗するタイミングとなるようです。
ただし、今回トレード数が多いため、手数料無料でなければ手数料分引かれることを考える必要があります(それでも100%を切ることはありませんが)。
1999年~2019年の場合(過去20年)
さて、最後に20年前から淡々とトレードするとどうなっていたかみてみましょう。
1999年といえば、聖飢魔Ⅱが解散したことで有名ですが、あれからもう20年経つんですね・・・。
ガチホの場合でも最終的に価格は2.2倍とさすがの成長率ですが、トレードした場合はそれをはるかに上回り、約4倍となります。
リーマンショックでも資産をある程度保護できるというのがやはり大きいですね。
一方で、ベイズ最適化による購入タイミングのパラメータは-0.1%下落時であり、「資産を伸ばすために暴落するタイミングを待つ必要はない」とも言い換えられますね。
おまけ:テクニカル指標を用いた場合
おまけとして、テクニカル指標を用いた場合も少しだけみておきましょう。
今回は、テクニカル指標のうち、MACDを用いて売買判定します。
MACD(マックディ)とは、移動平均収束拡散法(Moving Average Convergence Divergence)の頭文字をとったものです。
MACD(移動平均収束拡散手法)は短期の移動平均線と中長期の移動平均線を使用することで、買いと売りを判断する手法です。
ここで使用する移動平均線は通常の単純移動平均線と異なり、新しい価格のほうがより影響力が高いという考えから、新しい価格の比重を高めて計算されています。
MACDは基本となる線(テクニカル名と同じMACDという線)と、MACDの移動平均線であるシグナルと呼ばれる2本の線の推移でマーケットの判断をします。
出典:じぶん銀行,FISCO(チャートの見方)
まず、至近5年の場合です。
残念なことに、S&P500の成長率を下回っています。こんな単純なトレードをするアクティブファンドもなければ、トレーダーもいませんが、余計なことをしないほうが良い例の1つになりましたね。
次に、過去20年の場合です。
この場合は、前述のトレードした場合をさらに上回る結果となりました。やはり、リーマンショックのような大暴落を含む場合は、暴落に対して抵抗できる方が良い成果が出ますね。
まとめ
以上、「前日から一定額値上がりしたら売却、一定額値下がりしたら購入」を淡々と繰り返すBOTとガチホの利益比較でした。
結果を整理すると、以下のことが言えます。
- 今回のトレードロジック(シストレ)とバイ&ホールドの利益率を比較すると、
- 直近10年の大暴落がない範囲において、両者に有意な差はない
- リーマンショック級の大暴落があると、シストレが有利
暴落時においては、一切手放さないガチホと比較し、売却するタイミングがあるシストレが有利な結果となっています。
ただし、2018年12月頃の暴落では大きな差は出ていません。
したがって、リーマンショックが100年に1度と仮定するならば、「何となく今高い気がする」だったり、「今買い時なんじゃない?」という感情を一切無視してガチホしても結果に大きな差はでないということになります。
むしろ、ガチホは「買うだけ」ですので、余計な手間やストレスがかからないというメリットもあります。
とはいえ、暴落にも耐えうる環境を、トレードセンスや経験がなくても、たいして苦労せずに整えることが可能であるという事実も確認できました。
今回のトレードロジックはあくまで機械的にシンプルなトレードを行うものであり、ガチホの中で小銭を回収するようなロジックになっていますが、そのレベルでもガチホに対して有利な点が出てきています。
これについて、前述のとおり、本来考慮すべきであるものの、検討が難しい「適切な損切りタイミング」や「高値と底値の判定」を無視しており、非常に大きな伸びしろがあると言えます。
色々と右往左往している感じになってしまいましたが、結論を以下にまとめます。
- 現状焦ってガチホのスタンスを変更する必要はない
- 今後システムトレードを詳細検討することはアーリーリタイアを早める大きな力になり得る
本記事に興味を持たれた方が多ければ、真面目にロジックを検討して実稼働させ、調子が良ければ公開・・・等々妄想したりしなかったりしています。
コメント