Python
株価

pythonで東証から株価をAPI取得して、データをChartに表示させる

はじめに

めざせ不労所得!目指せ億り人!目指せ、現代のゴールドラッシュ!
という前置きはさておき、普段はPythonでプログラムを書いています。

株価を取得して、機械学習して、株価予測のプログラムなり、Webサービスってできないかな?
と業務中に思い立ちました(パチパチ)

さらっと調べて、とりあえず株価をAPIでとってグラフ表示するまではできたので、
メモ程度にQiitaに置いときます。

今後は機械学習ライブラリと組み合わせてデータを予測対象とする予定。
webアプリ化なども検討か。。?

まずはグラフ表示

こんな感じ

persol_stock_ave.png

ソースコード

以下で動きます。

chart.py
import quandl
import pandas as pd
import  matplotlib.pyplot as plt

quandl_data = quandl.get("TSE/2181")
quandl_data.to_csv('Persol Data.csv')

stock = pd.read_csv('Persol Data.csv')

stock['100MA'] = stock['Close'].rolling(window = 100, min_periods=0).mean()
stock['200MA'] = stock['Close'].rolling(window = 200, min_periods=0).mean()

fig = plt.figure()

axes = fig.add_axes([0.1, 0.1, 0.8, 0.8])

axes.plot(stock['Close'][-365:], 'black', lw = 1)
axes.plot(stock['100MA'][-365:])
axes.plot(stock['200MA'][-365:])
axes.set_xlabel('Time')
axes.set_ylabel('Price')
axes.set_title('Persol Holdings(2181) 1 Year')
axes.legend()

plt.show()

ライブラリについて

  • API取得先:quandl
  • データ保存・整形:pandas
  • データ表示:matplotlib

Quandlについて

Quandlは、世界の金融情報や統計情報をまとめているサイトです。
大きな特徴として、各種情報を取得するためのPythonやRubyのAPIを提供しており、しかもかなりの部分を無料で使用することができます。
日本の金融関係のサービスではAPIを提供しているものは少なく、あったとしても有料であることがほとんどです。

Quandlで取得できる情報の大部分は外国株式や海外の統計情報ですが、実は日本株も取得する事ができます。
東証がデータを提供していて、API経由で東証のデータ(日経平均や各種日本株式)を取得できます。

QuandlからAPI経由でデータを取得する前準備として、APIキーを発行する必要があります。Quandlのサイトで無料会員登録を行い、事前にAPIキーを入手してください。