このページではAlpha Vantageのデータを取得する方法として、pythonのpandas-datareaderを利用する方法とWeb APIを利用する方法を紹介します。
データソースの概要
Alpha Vantageでは、FXや株価データ等を取得できます。ただし、Alpha Vantageを利用にはAPIキーが必要のようです。
APIキーは、Alpha Vantageの公式ページから取得ができ、利用可能期間は1日となっています。
各種データは、API、Excel、Google Sheetsから取得することができます。本記事では、APIによる取得にだけ焦点を当てます。ExcelやGoogle Sheetはこちらから取得できます。
Alpha Vantageでは、 Alpha Academyと呼ばれるクオンツ運用に関するナレッジ共有ページが用意されてます。『ディープラーニングによる株価の予測』や『Python Djangoによる可視化』について細かく紹介されております。今回の記事では詳細に触れませんが、勉強になりそうなので近々整理してみようと思います。
APIキーの取得手順
API認証キーの取得手順は以下の通りです。
[GET YOUR API KEY TODAY]を選択します。
利用者タイプ、組織、Emailを入力し、[GET FREE API KEY]からAPIキーを取得できます。
「Welcome to Aplpha~」の中にAPIキーが表示されるのでこれを利用します。
pandas-datareaderによるデータ取得
pandas-datareaderには、AlphaVantageからデータを取得するモジュールとして以下の4つが用意されています。
pandas_datareader.av.forex.AVForexReader
-
pandas_datareader.av.time_series.AVTimeSeriesReader
pandas_datareader.av.sector.AVSectorPerformanceReader
pandas_datareader.av.quotes.AVQuotesReader
pandas_datareader.av.forex.AVForexReader
FXの直近データを取得することができます。引数のsymbolsには通貨ペアを入力します。
通貨コードは、こちらのcsvファイルで定義されております。
pandas_datareader.av.time_series.AVTimeSeriesReader
株式に関する時系列データを取得できますが、利用するにはプレミアムアカウントが必要のようです。
プレミアムAPIキーに関する詳細はこちらをご確認ください。
最安で月額50$で1分あたり75リクエストができるようですが、個人としてはなかなか手が出ない価格に感じます。
pandas_datareader.av.sector.AVSectorPerformanceReader
Alpha Vantageのセクターにおけるパフォーマンスデータを表示することができます。使うことはなさそうに思えます。
pandas_datareader.av.quotes.AVQuotesReader
ImmediateDeprecationError:
AVQuotesReader has been immediately deprecated due to large breaks in the API without the
introduction of a stable replacement. Pull Requests to re-enable these data
connectors are welcome.
上記のエラーが出て、利用することができませんでした。どうやら、このメソッドは廃止されてしまったようです。
pandas-datareaderによる取得のまとめ
4つのメソッドを利用してみましたが、FXの直近情報が利用できる以外は使い道が無さそうに感じました。AlphaVantageの公式サイトでは、様々なデータを取得するためのAPIが紹介されていたので、手軽にデータを利用したい場合を除き、pandas-datareaderは使わなくても良いのかもしれないです。
WebAPIによるデータ取得
Web APIを利用すると株式、ニュースセンチメント、ファンダメンタルデータ、FX、暗号通貨、コモディティ、経済指標、テクニカル指標のデータを取得することができます。一部のデータはプレミアムアカウントが必要ですが、多くのアカウントはフリーアカウントでもデータを取得することができます。
試しに今回は、株式とニュースセンチメントデータを取得してみました。取得の際に利用したノートブックを掲載しておきます。他のデータに関しては、APIのドキュメントをご確認ください。
コメント