Pythonで使えるpandas-datareaderモジュールを使えば、オンラインにある株価や指数などを取得できます。
データを取得してくるところ、データソースにはYahooやGoogleなどいくつかあるみたいですが、今回はFREDというデータソースを使ってみることにします。
pandas-datareaderの導入方法はこちらの記事が参考になります。
追記(2018/01/29) : 確認したところ、リンク切れになっていました。現在は記事にアクセスできないようです…
アメリカのセントルイスFED(連邦準備銀行)が提供しているオンラインのデータベースのようです。Pythonを使ってこちらから色々なデータを取得できます。
手順
最初に必要なモジュールをインポートしておきます
1 2 | import pandas_datareader.data as web import datetime as datetime |
- モジュール名はpandas-datareaderですが、インポートするときは-じゃなくて_です。
- datetimeは取得するデータの期間を指定するのに必要です。
実際の取得はDataReader()を使って次のようにして取得できるようです。
1 2 3 4 | djia = web.DataReader('DJIA', 'fred', start=datetime.datetime(2017,6,1), end=datetime.datetime(2017,7,1)) |
書式は
1 2 3 4 5 6 | DataReader(name,source,start,end) #name : データセット名またはティッカーシンボル #source : 取得元のデータソース名 #start : 取得してくる期間の始まり #end : 取得してくる期間の終わり |
データセットにはダウ平均が欲しいので今回は”DJIA”を、またデータソースにはFREDを利用するので’fred’を指定します。
リクエストしたデータはPandasのDataFrameとして返されるので、head()を使えばリクエストしたデータが格納されていることが確認できます。
1 2 3 4 5 6 7 8 9 10 | djia.head() #OUTPUT # DJIA #DATE #2017-06-01 21144.18 #2017-06-02 21206.29 #2017-06-05 21184.04 #2017-06-06 21136.23 #2017-06-07 21173.69 |
データセット名、ティッカーシンボルの検索
ところでこのデータセット名とかティッカーシンボルですが、FREDのウェブサイトのトップに検索ボックスがあるのでそこを使って検索すれば分かるみたいです。
引用 : Federal Reserve Economic Data | FRED | St.Louis Fed
ダウ平均の場合はページ上部に書いてあるデータセット名(Dow Jones Industrial Average)のすぐ隣の()に書いてある”DJIA”をデータセット名に指定すればオッケーです。
引用 : Dow Jones Industrial Average | FRED | St.Louis Fed
<
p style=”text-align: left;”>Federal Reserve Economic Data | FRED | St.Louis Fed