日経平均のアノマリーについて検証

Python

はじめに

アノマリーとはなぜそうなるか因果関係がはっきりとはわからないがそうなる傾向があるという事象のことです。

よく言われているのは大統領選挙のアノマリーで変わったところではジブリの放送される日には株価が下がるという何も根拠がなさそうなアノマリーも存在します。有名なところでいうとSell in May(5月に売れ)があります。

Sell in Mayは正確には’Sell in May and go away, and come on back on St. Leger’s Day’(5月に売って9月の第二土曜日まで戻ってくるな)と続きます。この期間は夏枯れ相場といって出来高も少なくなり株価が下がりやすいというものです。

sell in Mayについては海外の機関投資家が夏の休暇に入るためであったり税制の話であったりと様々な説があります。

日経平均を対象に実際にアノマリーについて検証します。

1.曜日による変化率の差異

夏枯れ相場を調べる前に曜日による差異がないかを調べます。日経平均の終値の変化率を1971年1月7日~2020年6月22日の期間でプロットします。

これをみると月曜日は下がりやすいですが水曜日が上がりやすいということが言えそうです。

2.月毎の変化率の差異

続いて月毎の変化率です。

たしかにこれをみると明らかに5-10月がパフォーマンスが悪いことがみてとれます。5-10月の平均の変化率は-0.0047%である一方で11-4月は0.059%上昇していることがわかります。ここまではっきりと傾向が表れることから子のアノマリーは過去の傾向から信頼性があるといえそうです。

3.日毎の変化率の差異

最後に日毎の変化率です。

25日~2日までは上がることが多い傾向にあることがわかります。25日~というと会社員が給料日なので上がりやすいという理由が考えられそうですが一説には機関投資家が8割株を保有しているとも言われているので個人投資家の影響力はそこまでないので別の理由がありそうです。

4.おわりに

パンローリングのアノマリーという本では米国株の話が中心ですが様々なアノマリーについて検証されているので日々のニュースの因果関係を探す癖がつくので一読を勧めます。


アノマリー投資 ――市場のサイクルは永遠なり (ウィザードブックシリーズ)

Pythonのコードは以下になります。月、日を見る場合はdf[‘Days of week’]~の行を変更すればできます。

import pandas as pd
import pandas_datareader.data as web
import matplotlib.pyplot as plt
import numpy as np
import datetime

#銘柄
ticker='^N225'

#期間
start='1970/01/07'
end='2020/06/22'

df = web.DataReader(ticker, 'yahoo', start, end)
df['PCT(%)']=df['Close'].pct_change()*100
df['Days of week']=df.index.strftime('%a')
group=df.groupby('Days of week')
group['PCT(%)'].mean().plot.bar(figsize=(9,6),grid=True)
plt.xlabel('Days of week')
plt.ylabel('Rate of change(%)')
plt.title('^N225 pct_change/week',fontsize=20)

コメント

タイトルとURLをコピーしました