決算発表シーズンも本格化しています。ウェブ系の証券会社を使っていると、決算の日程なんてペロペロっと出てくるのでしょうが、そういうところでないと決算いつだっけと企業のウェブページを調べないといけなくなります。10件ほどこれをやるのはめんどくさい。というわけで、日本取引所様にございますエクセルをpandasで読み込んで、自分の持っている企業の決算発表日をゲットしようというのが今回の目論見でございます。これまでは、エクセルでvlookup関数を使ってゴニョゴニョしていましたが、pythonだとどうなるでしょうか?
日本取引所様のウェブは迷宮のようでございますので、まずは日程があるページを探すことにします。ホームから上場会社情報→決算発表・株主総会予定日→決算発表予定日に入ります。するとエクセルのファイルがありますので、欲しいやつのリンクをコピーします。
あとはちょっと整形すればおしまいです。 銘柄をソートするところは、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四半期 | 一部 |