~日経平均株価のアノマリーを徹底検証!~
ご挨拶とお礼
毎度、皆さんにお世話になっております!最近Twitterのフォロワーも増えて、とうとう自分の中の大台である4000人を超え、なんと、4500人も超えたので、今回は調査企画をプレゼントしたいと思います!いつもありがとうございます。
今年の6月から市場の定量分析に関するツイートをしてから早半年ですが、皆さんのおかげで研究するモチベーションを維持することが出来て、学ぶことで得るものも多かったので、感謝の気持ちでいっぱいです!
では、本題に入っていきたいと思います!
今回は、かなり細かくアノマリーを見ていきたいと思うので、興味ある方は是非最後まで見ていってくれると嬉しいです!
アノマリーとは
まず、アノマリーとは異常値のことです。市場ではアノマリーが至る所に存在していて、株式市場の有名なアノマリーは、セルインメイではないでしょうか。これは5月から下げトレンドが入るという意味のアノマリーです。
ちょっと難しい言葉を使いますと、期待値が歪んでいるような所をアノマリーと呼んでいるような気もします。
今回調査するアノマリー
ここ20年の日経平均株価のアノマリーについて調査したいと思います!
具体的には2001年1月5日から2020年12月11日まで日次レベルで調査したいと思います。
では、参りましょう!
まずは、生のデータを見てみましょう。以下は日経平均株価の終値のグラフです。
データ自体に問題は無さそうなので、このデータのパターンを分析していきたいと思います!
月別、週別、曜日別プロット
月別ですと、大体どの月も20サンプルくらいしかないので、これは分散が大きめのアノマリーであることにご注意ください。
月別
グラフの説明
シンボル: 日経平均株価/円
期間: 2001年1月5日~2020年12月11日
一段目:月別の平均騰落率(%)
二段目 : 月別の勝率
では週別に参りたいと思います。
週別
グラフの説明
シンボル: 日経平均株価/円
期間: 2001年1月5日~2020年12月11日
一段目:週別の平均騰落率(%)
二段目 : 週別の勝率
三段目 : 週別のサンプルサイズ
週別でみると年末の勝率はかなり高いですね。これは月曜日に買って、金曜日に売る戦略です。ある程度参考になればと幸いです。
では、曜日別へ行きましょう!
曜日別
グラフの説明
シンボル: 日経平均株価/円
期間: 2001年1月5日~2020年12月11日
横軸: 0:月曜日, 1:火曜日, 2:水曜日, 3:木曜日, 4:金曜日, 6:日曜日
一段目:曜日別の平均騰落率(%)
二段目 : 曜日別の勝率
三段目 : 曜日別のサンプルサイズ
データの不都合で2017年の一部のデータが日曜日となっておりますが、これらは27サンプルのみなので、無視してください。今年は月曜日が上がっているような感覚もありましたが、実は歴史的には、金曜日と月曜日の方が売られやすい傾向があることが分かります。ただ、これはその日の始値から終値にかけての変化率で、終値から終値ではないため、デイトレーダーの指標と考えても良いかもしれません。
ここまでで基礎的なアノマリーは終わりですが、次は、テクニカル指標に関する分析を行っていきたいと思います!
テクニカル指標アノマリー
今回調査対象とするテクニカル指標は次の通りです。
['volume_adi', 'volume_obv', 'volume_vpt', 'volume_nvi',
'volatility_atr', 'volatility_bbhi', 'volatility_bbli',
'volatility_kch', 'volatility_kcl', 'volatility_kcp', 'volatility_kchi',
'volatility_kcli', 'trend_adx', 'trend_adx_pos', 'trend_adx_neg',
'trend_ichimoku_b', 'trend_visual_ichimoku_b',
'trend_psar_up_indicator', 'trend_psar_down_indicator', 'others_dr',
'others_cr']
パラメーターの詳細が気になる方は次のURLを参照してくださいませ。重要な指標は下で解説しながら話します。
https://github.com/bukosabino/ta/blob/84ced26e07cb676d1033703dfd81e1ee81285b07/ta/wrapper.py#L522
今回の調査対象ラベルは、1~5営業日後の日経平均株価の終値のリターンをそれぞれ見ていきます。具体的に言いますと、例えば、5営業日後であれば、本日が金曜日で、日経平均株価を引けで買って、月曜日(一日目)、火曜日(二日目)、水曜日(三日目)、木曜日(四日目)、金曜日(五日目)の引けに決済するといったイメージです。
では一営業日ずつ見ていきましょう!
一営業日
グラフの見方
一段目:特徴量の重要度
二段目:特徴量を少し変化させたときのインパクト
二段目のグラフ(Shap summary plot)見方を少し解説しますと
・y軸は、変数名を重要度の高い順に示します。それらの隣の値は平均SHAP値です。
・x軸にはSHAP値があります。対数の変化量を示します。この数値から、成功の確率を抽出できます。
・グラデーションの色は、その変数の元の値を示します。ブール値では、2色を使用しますが、数はスペクトル全体を含むことができます。
・各ポイントは、元のデータセットの行を表します。
つまり、一番上の段の青い色は、others_drの値がめちゃくちゃ低かった時にパターンが出やすかったということです。others_drは次に解説します。
一段目を見ますと、others_drとvolatility_kchがめちゃくちゃ効いているのが分かります。
others_drとはDailyReturnIndicatorということで、直近の終値ベースでの変化率です。これの具体的な定義は次を参照ください。
https://github.com/bukosabino/ta/blob/84ced26e07cb676d1033703dfd81e1ee81285b07/ta/others.py#L14
次に、volatility_kchとはkeltner_channel_hbandのことでボラティリティの指数移動平均線とATR(Average True Range)を組み合わせた上限値のことです。詳しくは下の解説リンクを見た方が分かりやすいかと思います。要するに、ボラティリティが大きくモメンタムを付けて動いた所ってことですね。
解説: https://www.investopedia.com/terms/k/keltnerchannel.asp
コード: https://github.com/bukosabino/ta/blob/84ced26e07cb676d1033703dfd81e1ee81285b07/ta/volatility.py#L262
では、どんどん行きましょう!次は、二営業日変化率です。
二営業日
二営業日後リターンでもdrが効いていますね!ここで、crとはCumulativeReturnIndicatorのことで累積リターンの変化率のことです。
コードが気になる方は次を参照してください。
https://github.com/bukosabino/ta/blob/84ced26e07cb676d1033703dfd81e1ee81285b07/ta/others.py#L72
三営業日
三営業日先リターンでもモメンタム系が強いですね。
四営業日
四営業日もやはり、価格のモメンタムとボラティリティのモメンタムが上位に来てます。
五営業日
基本的にリターン系とボラティリティ系が上位に来ていますね。
まとめ
この記事では日経平均株価に関して細かく見てきました。
結論としましては、年末は上がりやすいことと、短期の将来の株価は直近の株価のリターンやボラティリティのモメンタムから規則性が生まれやすいことが挙げられます。
あくまでも参考までにお願いします。では、投資家の皆さん、良いトレードを!
この記事が気に入ったらサポートをしてみませんか?