minisoba blog

プログラミングと株式投資

株価時系列データをダウンロードする

本ブログのテーマでもある「プログラミングと株価投資」、テクニカル分析をするにもプログラムを書いてシステマチックに検証(バックテスト)するにも時系列データは必須です。今回は、株価時系列データの自動取得する方法を紹介します。

管理人は、Unicorn Data Service社が提供している「EOD Historical Data API」サービスを利用しています。2022年6月現在、世界中70+取引所の過去30年分の時系列データがAPI経由で提供されています。API(Application Programming Interface)とは、クライアントからのリクエストに対し、あらかじめ規定されたデータを返すプロトコル(通信規約)です。なので、プログラムからAPI経由で直接データ呼び出すことも、今回のようにローカルPCにダウンロードしてデータベースを自動的に構築することもできます。

以下、管理人が作成したPythonフレームワークCoco Quant SDKをもとに、時系列データリポジトリ(ticker plant)を構築していきたいと思います。

2020年6月現在、日本の取引所データはサポートされていません。

eodhistoricaldata.com

EOD Historical Data APIでは、様々なプログラミング言語に対応したダウンロード方法が紹介されていますが、管理人の用途を満たすものがなかったので、自前で準備することにしました。開発言語は、Python(3.10.4, Ubuntu 22.04LTS)です。

github.com

このライブラリを利用することにより、数行のコードで上場銘柄すべてのEOD時系列データを一括ダウンロードすることができます。もちろん、個別銘柄のダウンロードも可能ですし、時系列データ以外にもファンダメンタルデータやマクロ指標データなど様々なデータも同様にダウンロードすることができます。

gist.github.com

今回は、PythonでのEOD時系列データリポジトリの構築方法を紹介しました。ここで紹介したEOD Historical Data APIでは、20 APIコールまで無料で利用できるので、特定の銘柄やFXなどの分析をする際には、かなりハイクオリティーなデータベースを構築できます。GitHubのREADMEでも幾つかサンプルコードを掲載していますので、是非この機会に試してみてはいかがでしょうか?