見出し画像

【Python】アノマリーをチャートで確認!

無料で読めます。

セルインメイとか、大統領就任後のハネムーンとか、確定申告の納税売りとか、景気が良いとスカートの丈が短くなるとか、いろいろ、アノマリー的な事が言われたりするけれど・・・

自分の目で確かめたい!
もっと、前後を確かめたい!視覚的に確認したいのだ!

と思い、Pythonで作りました!

このプログラムでできる事
年始からチャートを、同じ日付で縦に並べることができます。
従って、
季節性やアノマリーが横断的に、視覚的に確認できます。
確認箇所の前後の推移も同時に確認できます。
従って、
前年からの文脈を考える事ができます。
(例:株価が高かった翌年の確定申告売りはどうなのか?)

これ良くないですか?

実行結果は下記のような感じです。

画像4

0.事前準備

事前準備はこちら。5分もあればできると思います。

では、コードを紹介します。

1.コード

下記のコードをコピペしてライブラリをインストール。

pip install yfinance

次に、入力するサンプルコードは下記の通り。これをコピペしてください。
下記の項目を必要に応じて変更してみてください。
#表示期間
#表示対象

import numpy as np
import pandas as pd
import calendar
import datetime
import yfinance as yf
import matplotlib.pyplot as plt
%matplotlib inline

#表示期間
start = datetime.date(2010,1,1)
end = datetime.date.today()

#表示対象
codelist = ["^GSPC"]#S&P500
# codelist = ["^IXIC"]#NASDAQコメントアウト

data = yf.download(codelist, start=start, end=end)["Adj Close"]
df = pd.DataFrame(data)

#カラム名変更
df.rename(columns={'Adj Close':'S&P500'},inplace=True)

#年ごとにデータをカテゴリわけ
df['Year'] = df.index.year.values
df['Year'] = df['Year'].astype(str)

#年初からの経過日の取得
df['Day'] = df.index.dayofyear

#日付をインデックスに、年をカラムに設定
piv = pd.pivot_table(df.dropna(), index=['Day'],columns=['Year'], values=['S&P500'])

piv.plot(figsize=(9,16),fontsize=10,linewidth=2,alpha=0.9,subplots=True,grid=True)


2.実行結果

実行すると、下記の様なチャートが表示されます。

画像2

せっかくなので、少しアノマリーについて見てみましょう。

3.アノマリーについて解説

見方が間違っている可能性もありますが、少し解説します。

まずは、「パフォーマンスが良い年の翌年は確定申告の納税売りが発生するのか?」を見てみよう。

やったこと
1986年以降のチャートを36年分用意
年末の株価が高いところをチェック。
翌年の確定申告の時期(4月15日近辺)をチェック。
(2020年と2021年は時期が延長されています。)
株価が下がっているところに「☆」チェック。

結果は、下記のような感じです。

画像3

前年の株価が高かった21回中、10回が下落しているように見えます。半分強ぐらいの確率なので、アノマリーの有効性については、微妙な感じがします。しかし、株価の横這いを含めると、アノマリーは有効なのかもしれません。

次に、「大統領就任後 100日間のハネムーン期間とその後の株価」の動きを見てみよう。

やったこと
1986年以降のチャートを36年分用意
大統領選挙の翌年に大統領の名前を記載
(再選の場合、名前の横に2期目と記載。)
共和党を赤民主党を青とした。
年初からの株価の動きをチェック。

結果は、下記のような感じです。

画像4

ブッシュ子のITバブル崩壊と、オバマのリーマンショックを例外とするならば、そこそこ堅調に株価が推移している事が多いように見えます。

サンプル数が少ないですが、2期目を見ると、100日後から株価が復調する事が多いようにも見えます。

4.さいごに

縦にチャートが並んでいると、アノマリー、季節性が見やすくなったように思います。

アノマリー的に動く個別株等があれば、今回のコードを利用して調べてみるのも良いかも知れませんね。

今回作ったコードが
気なるアノマリーを調べる時に、役に立てれば幸いです。

では!

おつかれさん、の意味を込めて、
缶コーヒー一杯ぐらい、ご馳走してあげよう」という
太っ腹な方がいれば、よろしくお願いします!
(本編はココまで、課金しても雑談しかありません。)
課金しなくても、参考になったら、「ハートボタン」をクリックしたり、「リツイート」してくれると読まれる可能性があがるので嬉しいです。やる気が出ます。

おまけ 
有料特典として、上記で使った36年分のチャート(未加工)を付けておきます。(プログラムを実行すれば取得できますが・・・)

ここから先は

49字 / 4画像

¥ 100

この記事が気に入ったらサポートをしてみませんか?