持ち株の決算予定日を知るためにpythonを使う

 決算発表シーズンも本格化しています。ウェブ系の証券会社を使っていると、決算の日程なんてペロペロっと出てくるのでしょうが、そういうところでないと決算いつだっけと企業のウェブページを調べないといけなくなります。10件ほどこれをやるのはめんどくさい。というわけで、日本取引所様にございますエクセルをpandasで読み込んで、自分の持っている企業の決算発表日をゲットしようというのが今回の目論見でございます。これまでは、エクセルでvlookup関数を使ってゴニョゴニョしていましたが、pythonだとどうなるでしょうか?

 日本取引所様のウェブは迷宮のようでございますので、まずは日程があるページを探すことにします。ホームから上場会社情報→決算発表・株主総会予定日→決算発表予定日に入ります。するとエクセルのファイルがありますので、欲しいやつのリンクをコピーします。

f:id:mazarimono:20170124180602p:plain

 あとはちょっと整形すればおしまいです。  銘柄をソートするところは、meigaraというところに自分の持ち株のコードを入れて、isin()を使ってます。あとこれを保存しておきたい場合、to_csv(‘kessann1701.csv’)で保存できますね。もしくは、スクリーンショットのほうが見やすいのでそちらが良いかもしれません。

import pandas as pd
df = pd.read_excel('http://www.jpx.co.jp/listing/event-schedules/financial-announcement/tvdivq0000001ofb-att/kessan12_0120.xls')
df.columns = ['date','code','name','end','sector','Q', 'market']
df = df.ix[2:,:]
df.index = df['date']
df = df[['code','name','end','sector','Q','market']]
df.head()
code name end sector Q market
date
2017-01-13 00:00:00 2408 KG情報 12月20日 サービス業 本決算 ジャスダック
2017-01-16 00:00:00 3593 ホギメディカル 3月31日 繊維製品 第3四半期 一部
2017-01-17 00:00:00 3091 ブロンコビリー 12月31日 小売業 本決算 一部
2017-01-19 00:00:00 2354 安川情報システム 3月20日 情報・通信業 第3四半期 二部
2017-01-19 00:00:00 5990 スーパーツール 3月15日 金属製品 第3四半期 ジャスダック
meigara = [3908, 6728,1775,6369,8377,4344, 6670,3291]
df[df['code'].isin(meigara)]
code name end sector Q market
date
2017-01-27 00:00:00 1775 富士古河E&C 3月31日 建設業 第3四半期 二部
2017-01-31 00:00:00 3908 コラボス 3月31日 情報・通信業 第3四半期 マザーズ
2017-02-01 00:00:00 8377 ほくほくフィナンシャルグループ 3月31日 銀行業 第3四半期 一部
2017-02-03 00:00:00 6670 MCJ 3月31日 電気機器 第3四半期 二部
2017-02-10 00:00:00 3291 飯田グループホールディングス 3月31日 不動産業 第3四半期 一部
2017-02-13 00:00:00 6728 アルバック 6月30日 電気機器 第2四半期 一部
2017-02-14 00:00:00 4344 ソースネクスト 3月31日 情報・通信業 第3四半期 一部
2017-02-14 00:00:00 6369 トーヨーカネツ 3月31日 機械 第3四半期 一部