こんにちは、ミナピピン(@python_mllover)です。今回は投資格言で有名なものの1つである
「5月に売ってハロウィン(10月)の頃に新たに買え」という西洋の投資格言が本当かをPythonで検証してみました。
リーマンショックで構造変化が起こったと推察される2009年からだけを集計したところ以下のようになりました。
<ソースコード>
# 日経平均の曜日別変化率を調べる
import pandas_datareader.data as web
import pandas as pd
import datetime
# 日経平均株価を取得する
nikkei = web.DataReader("NIKKEI225", "fred", "1950/5/16")
# 9月最終営業日に買って翌年の4月最終営業日に売る
return_ = []
for i in range(1989, 2020, 1):
year = str(i)
next_year = str(i+1)
buy = nikkei[str(i) + '-9'].dropna().iloc[-1][0]
sell = nikkei[str(i+1) + '-4'].dropna().iloc[-1][0]
year_return = sell - buy
year_return_avg = (sell - buy) / buy
return_.append([year, year_return, year_return_avg])
return_data = pd.DataFrame(return_, columns=['year', 'diff_price', 'change'])
cum_ret_d = (1+return_data['change']).cumprod()
return_data['total_return'] = cum_ret_d
return_data
| year | diff_price | change | total_return |
| 2009 | 924.17 | 0.091202 | 1.091202 |
| 2010 | 480.39 | 0.051273 | 1.147151 |
| 2011 | 820.6 | 0.094319 | 1.255348 |
| 2012 | 4990.7 | 0.562639 | 1.961657 |
| 2013 | -151.69 | -0.01049 | 1.941072 |
| 2014 | 3346.49 | 0.206912 | 2.342703 |
| 2015 | -722.1 | -0.04153 | 2.245414 |
| 2016 | 2746.9 | 0.166986 | 2.620368 |
| 2017 | 2111.59 | 0.103732 | 2.892183 |
| 2018 | -1861.31 | -0.07717 | 2.668997 |
| 2019 | -1562.15 | -0.0718 | 2.477353 |
結論として、2009年からこの格言通りに取引すれば347%のリターンで悪くはないリターンですが、底値ホールドしていた場合のリターン(23000-8000/8000+1=290%)と比較して税金面を考慮してきわめて優位性があるとかいうとそういうわけではなさそうです。
ただまあ底値ピンポイントで掴むことはほぼ不可能なので、定期的に売買タイミングという意味では9月末に買って翌年5月頭に売る戦略は一定の有効性があると思います。
やはり「夏枯れ相場」という言葉があるように7,8,9月のリターンは悪い傾向にあるのは直感的にもデータ的にも当たっているように見えるので、この時期に売買はしないもしくはここで狼狽売りは悪手だということはほぼ間違いないでしょう。


コメント