【Python】Pandasを使って日経平均株価を取得する

スポンサーリンク

今回はPythonで日経平均株価を取得します。環境はWin10・Ancondaを使用しています。

pandasとは?

pandasはJupyter Notebook上で作業するにおいて、データフレームの操作などに欠かせない便利パッケージの1つです。

pandasはデータの操作の他にもWeb上の様々なソースに簡単にアクセスし、pandasのDataFrameの形でデータを取得することもできます。

例としてpandasを使用するとセントルイス準備銀行やワールドバンク・Googleアナリティクスからデータを取得することができます。(2018年2月現在)

他にも色んなところのデータベースにアクセスできるのでPythonを用いて金融系の分析をしたいという方にも必須のライブラリです。

Pandasのインストール

pandasは、コマンドプロンプト(アナコンダプロンプト)で「pip install pandas」と入力するとインストールできます。

f:id:oruka199665:20180222032441j:plain

今まではこれでヤフーファイナンスみたいなデータベースからデータをダウンロードできたのですが、現在pandasのデータ収集部分の機能はpandas-datareaderとして独立しているので、pandasとは別にpandas-datareaderをPIPコマンドでインストールする必要があります。

pandasのバージョンが古いとpandas-datareaderがインストール出来ないことがあるらしいので、エラーが出た場合はpandasを最新版にアップデートしてみてください。

#pandas-datareaderをインストールする
pip install pandas-datareader

 日経平均株価を取得する

日経平均株価はヤフーファイナンスから取得することもできますが、ヤフーファイナンスはスクレイピング対策で仕様がしょっちゅう変わるので、個人的にはあまりおすすめしません。

なので、ここでは日経平均株価を取得する際には“FRED® (Federal Reserve Economic Data) =フレッド”を使います。

FREDとは米国に12ある連邦準備銀行のうちのひとつ=セントルイス連邦準備銀行が運営している経済統計データ集で、米国経済に関する21,937の時系列データを自由にダウンロードすることができ、このサイトで主要な経済統計の大部分を入手することが可能です。

それには日経平均だけではなく、ダウ平均やAppleやFacebookといったアメリカの大手企業の株価データも含まれています。

このFREDでは常にアップデートされた時系列データを入手することができますし、年々データ数が増えているだけでなく、ダウンロードの形式も自由に選択できるようになり、ますます使い勝手が良くなっているのでお勧めです。

#ライブラリのインストール
import pandas_datareader.data as web
import datetime

#日経平均株価を取得する
nikkei=web.DataReader("NIKKEI225","fred","1950/5/16")

すると↓のような感じでデータを取得できます.Jupyter Notebookは取得したデータフレームに色や線を付けてくれたり無機質ではないので個人的には好みですね。

コードの説明をすると、

#データを取得する関数
DataReader(name,source,start,end)

name : データセット名またはティッカーシンボル
source : 取得元のデータソース名
start : 取得してくる期間の始まり
end : 取得してくる期間の終わり

データソースはFRED以外にもいろいろありますが、基本的にFREDにほとんど揃っているので、StartとEndはdatetimeで”〇〇〇〇‐〇〇‐〇〇”という感じで指定していきます。endの方は今回のように特に指定しない場合は最新の日付になります。

nameに関してはFREDのサイトで直接検索して使える引数を見つけるといいと思います。→FRED公式サイト

人口やGDPのデータなどが揃っているので、株価だけではなくいろいろな分析ができます。

グラフを描写

データをグラフ化する方法はいくつかありますが、一番手っ取り早いのはmatplotlibです。

#nikkei内のデータをグラフとして描画する
%matplotlib inline
nikkei.plot()

これでデータ分析のネタになるデータは取得できました。次はこのデータを分析していきます。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする