Nasdaq Data Linkとは
Nasdaq Data Linkは金融関連の様々なデータを提供しているプラットフォームです。
以前はQuandlとして使われていたものを含んでいるようです。
pandas_datareaderにはquandlからのデータ取得がありますが、Nasdaq-data-linkのAPIを使うことで、現在も一部数値のデータ取得が可能です。ただし、直近の値は入っておらず2018年頃で更新は止まっているようなので、の取得は注意が必要です。
Quandl以外のデータソースもNasdaq-data-linkには多数存在しているので、ほしいデータが見つかる可能性は高いです。
その他のデータソースと比較して、かなりオルタネイティブデータに力を入れていることがうかがえます。
少し残念な点としては、現在はあまり無料で利用できるものが少ないことです。多くはプレミアムになっており、別途支払いが必要です。
Nasdaqが提供するデータは、Pythonだけでなく、Rやエクセルなど、様々な方法で取得可能です。
今回はPythonでの取得方法を紹介していきますが、他の方法で取得したい場合は、公式ドキュメントを参考にしてください。
APIの取得
Nasdaqからのデータの取得にはAPIが必要になります。そのために、登録を行います。
まずは、トップページからSign upを選びます。
すると、名前や目的を入力する画面になります。
メールアドレスなどを入力します。
認証と、規約への同意を行います。
完了すると、APIキーが表示されるので、メモしておいてください。
ライブラリのインストール
以下コマンドで、データをダウンロードするためのライブラリをインストールします。
pip install nasdaq-data-link
importとAPIキーの設定は次のようになります。
import nasdaqdatalink
nasdaqdatalink.ApiConfig.api_key = api_key
データの取得
APPLの株価取得です。ただし、2018年ごろまでしか取れません。
df = nasdaqdatalink.get("WIKI/AAPL")
df
以下は、財務データを取得する例です。ただし、このDBは有料のため、サンプルデータのみ取得が可能です。
nasdaqdatalink.get_table('MER/F1', compnumber="39102", paginate=True)
データベースの探し方
基本的にNasdaq-data-linkのデータはnasdaqdatalink.get_table
に'MER/F1'
のようなデータベースのDB名と銘柄名にあたるものを組み合わせて取得できます。
データベースはこちらの検索画面から検索できます。
データを選択すると詳細ページに移動します。
スクロールしていくとドキュメントがあるので、その部分を参考にしてもよいですが、必要なデータソース情報は、赤で囲んだ部分に記載されていることが多いです。
以下は、無料で使えるデータソース名のリストです
- IMF Cross Country Macroeconomic Statistics
- Commodity Futures Trading Commission Reports
- Organization of the Petroleum Exporting Countries
- JODI Oil World Database
- Bitfinex Crypto Coins Exchange Rate
- Bitcoin Data Insights
- Metal Stocks Breakdown Report
- Zillow Real Estate Data
- World Agricultural Supply and Demand Estimates
- World Bank Data
変わったオルタナティブデータも利用できそうです。
pandas_datareaderでQuandlデータを取得
最後にpandas_datareaderでquandlからデータを取得する方法も紹介しておきます。
symbolはDB名と銘柄名の2つの部分から構成されます。
銘柄名はDB名によって異なりますが、WIKI(米国の株式)の場合は一般的なティッカーシンボルを使用できます。
サンプルコード:
import pandas_datareader.data as web
# 株価データ
symbol = 'WIKI/AAPL'
df = web.DataReader(symbol, 'quandl', '2015-01-01', '2021-03-05', api_key=api_key)
df
Nasdaq Data LinkでAPIを取得すれば上記のようにしてデータの取得は可能ですが、2018年頃までしかデータが取れません.
今回のコードはこちらのGoogleColabで確認できます。