見出し画像

Twitterで出てくる知見は本当か自分で調べてみよう。6 時間帯における投資行動の違い

ーーーーーーーーーーー2021/08/02 追記ーーーーーーーーーーー

今後こちらに移行します。

ーーーーーーーーーーー2021/08/02 追記ーーーーーーーーーーー

以下のようなコメントいただきましたので、続編書いてみようと思います。

けだまさん、コメント大変ありがとうございます。励みになります。
ただし、期待値は低めでお願いします。 <(_ _)>


あまり、複雑でないながら、キャッチーな話題を見つけるのはそれはそれで難しいのですが、程よいものを見つけました。


有名なアノーマリーではありますが、いまだに効きますので、改めて検証してみたいと思います。

日本株での土屋先生の「真夜中は別の顔」という(現在は削除されていますが)コラムをもしご存知の方がいらっしゃったら、以下は読む必要はありません。


まずは、SPYがこの一年でどのようなパフォーマンスか最初に確認します。

https://stockcharts.com/  でSPYの一年間を%でのパフォーマンスチャートを表示します。

画像1

1年2カ月で約62%の上昇のようです。上記Tweetでは2020/3/23からなので、ざっくり正しい感じです。詳細は分かりませんが、有名なBESPOKEのヘッダーに見えますので、データ自体は正しいように感じています。

https://www.bespokepremium.com/interactive/research/think-big-blog/

注目点は
日中(Open->Close)
GAP (Close->Open)
の時間帯において、値動きの癖が違うという事です。


それでは実際にGoogle Colaboratoryを使ってのPythonコードで確認します。

使用する環境

今回もGoogle Colaboratoryのpythonを使うことにします。使い方などにつていはこちらを参考にしてください。

実際のコードとやっていること

コードは以下の通りです。

import pandas as pd

import datetime
import matplotlib.dates as mdates
import fix_yahoo_finance as yf
import matplotlib.pyplot as plt
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
start = datetime.date(2020,3,23)
end = datetime.date.today()
codelist = ["SPY"]

data2 = yf.download(codelist, start=start, end=end)
display(data2.head(2).append(data2.tail(2)))

analyze=data2.copy()
analyze["cc"]=100*(analyze["Close"]-analyze["Close"].shift())/analyze["Close"].shift()
analyze["oo"]=100*(analyze["Open"]-analyze["Open"].shift())/analyze["Open"].shift()
analyze["intra"]=100*(analyze["Close"]-analyze["Open"])/analyze["Open"]
analyze["gap"]=100*(analyze["Open"]-analyze["Close"].shift())/analyze["Close"].shift()
display(analyze.head(3).append(analyze.tail(3)))

df_all=analyze[["cc","oo","intra","gap"]].copy()
display(df_all.head(2).append(df_all.tail(2)))


df_all.cumsum().plot(figsize=(8,5),fontsize=18)
plt.legend(loc='center left', bbox_to_anchor=(1, 0.5), fontsize=18)       
plt.axhline(y=0, linewidth=4, color='r')
plt.grid()


データの取得

いつも通りYahoo USでS&P500連動のETF SPYのデータをダウンロードします。

画像2

今回は修正済みの引けだけではなく、Open-High-Low-Closeの四本値を取得します。


時間帯での特性抽出

今回は以下の四つの時間軸で特性を調べます。
1.前日引値ー当日引値 (通常の前日比)
2.前日始値ー当日始値
3.当日始値ー当日引値 (寄り付きで買ってその日の引けで売る)
4.前日引値ー当日始値 (前日の引値で買って、翌朝の寄り付きで売る)

となります。


可視化

実際のパフォーマンスは以下の通りです。

画像3

チャートの線の色は違いますが、同じような結果が見て取れると思います。


ただ、上記チャート見るとわかりますが、

毎日売ったり買ったりするよりもベタにHOLDしていればいいのでは、、、

という感想を持つのも事実です。実際売り買いを行うと、手数料もかかりますし、、250営業日毎日往復手手数料払うとなると、結構パフォーマンスにネガティブなインパクトを与えるのは想像に難くないです。


20行とはいきませんでしたが、簡単なコードで確認することができました。

おまけとして、2000年からの期間では以下のようになります。
どのように思うかは皆さんの考え方次第、お任せします。


夜間買い、日中売りなんてどうですかね、、終了フラグ、、
自身で確認してみてください。

画像4

-------------------------------------------------------------------------------------

これ以外にも以下のような記事を書いています。









サポートしていただき大変ありがとうございます。 励みになります。