Quandlで米個別株の株価データを取得する
【2017/9/22更新】Yahoo FinanceのDBが消えた?ので、別のDBから取れるように修正しました。
世界中の経済データを簡単なAPIで取得できるQuandlで、網羅的にアメリカの個別株のデータをどうにか取りたい
日本の証券会社だと口座開いてもなかなかアメリカの個別株データが取れない…海外サイトを漁るのも面倒…ということでQuandlというサービスを使ってみた。
Quandlとは
早速重要な告知になるが、Quandlはアメリカのサイトである。「海外サイト漁るの面倒ってさっき言ったばかりだろ」という指摘は甘んじて受けよう。
RやPtyhon、Excelへの組込関数等で簡単にデータ取得が可能となるサービスで、有料データさえ使わなければ、利用自体は無料というのもメリット。ユーザー登録するとAPI Keyが発行され、これを使わないと一日の利用制限がある模様。なので、ユーザー登録後に忘れずに取っておく。
また、肝心のデータは日足以上しか無い。そして銘柄によってはデータの取得可能期間が妙に短い、等問題もゼロではないが、まあタダで使えるのだから…
とりあえず使ってみる
今回もPythonでのデータ取得を試みる。まずは関数をインストールする必要があるのが、pipで一瞬でインストール可能。以下をコマンドプロンプトに入力。
>python -m pip install quandl
関数はかなり簡単に利用が可能。
import quandl
quandl.ApiConfig.api_key = “<ここのAPI Keyを入力>”
mydata = quandl.get(“WIKI/C”)
銘柄は基本的に「データ配信元/ティッカー」という構成で定義されている。上記はWIKIと呼ばれる無料DBからCiti groupの株価を取得する方法。
※最初にこの記事を書いた時点ではYahoo FinanceやGoogleの無料DBが存在していたが、ほぼ被っていたこともあってか、現在はWIKIと呼ばれるDBに集約されている模様。
import quandl
import numpymydata = quandl.get(“WIKI/C”, returns=”numpy”)
numpyの配列への入力も可能。
どんなデータがあるのか
お目当てのアメリカの個別株はWIKI EOD StockというDBから取れる。
分かり難いがひっそりと東証も無料でデータを出している。ただ、期間が短いのが難点。
東証に関しては、「DOCUMENTATION」というタブに移動すると、取得可能な銘柄の一覧がダウンロードできる(流石に関数では取れない模様)。
セクター情報を含んだ上場銘柄一覧を取りたい
流石のQuandlも業種セクター情報を含んだ上場銘柄一覧を取得することはできないようなので(実はあったら教えて下さい)、別途方法を考える。
実はNasdaqのサイトで、NYSEとAMEX含め3取引所の上場銘柄一覧をcsvで公開していた…!
何故だか他の取引所の分まで取れてしまうNasdaqの寛容さに感謝しつつ、データを見るときちんとセクター情報も含んでいる。ただ、何故かどの取引所を選んでもcsvファイルの名前は同じなので注意。