各種金融・経済データを取得する

Quandl で提供されている、各種金融・経済データを取得して利用できます。

取得できるデータの例

以下のようなデータを取得できます。 (これらはすべて無料で利用できます。)
他にもさまざまなデータが有償/無償で提供されているので、気になるデータがある場合は、Quandl のサイトで検索してみてください。

各国通貨の実効為替レート

quandlコード 名前
BIS/EERBR_RBJP 実質実効為替レート - 日本
BIS/EERBN_NBJP 名目実効為替レート - 日本
BIS/EERBR_RBUS 実質実効為替レート - 米国
BIS/EERBN_NBUS 名目実効為替レート - 米国

国際収支統計

  • 国やそれに準ずる地域の対外(居住者と非居住者との間の)経済取引(財とサービスおよび所得の取引・対外資産・負債の増減に関する取引・移転取引)の統計。( Wikipedia より)
  • Bank of Japan データベース から各項目のデータが取得できます。
quandlコード 名前
BOJ/BPBPBP6JYNCB 経常収支
BOJ/BPBPBP6JYNCAN 資本移転等収支
BOJ/BPBPBP6JYNFB 金融収支

対内外直接投資

  • 日本企業による海外の企業に対する直接投資を対外直接投資、海外の企業による日本企業に対する直接投資を対内直接投資という ( Wikipedia より)
  • Bank of Japan データベースから各項目のデータが取得できます。
quandlコード 名前
BOJ/BPBPBP6H2 対外直接投資 - 実行
BOJ/BPBPBP6H1 対外直接投資 - 回収
BOJ/BPBPBP6H 対外直接投資 - ネット
BOJ/BPBPBP6I1 対内直接投資 - 実行
BOJ/BPBPBP6I2 対内直接投資 - 回収
BOJ/BPBPBP6I 対内直接投資 - ネット

対内外証券投資

quandlコード 名前
BOJ/BPBPPI6D1N5 対外証券投資 - 合計
BOJ/BPBPBP6JYNFL2 対内証券投資 - 合計

CFTC建玉明細

quandlコード 名前
CFTC/TIFF_CME_JY_ALL CFTC建玉明細 - USD/JPY
CFTC/TIFF_CME_EC_ALL CFTC建玉明細 - USD/EUR

OECD景気先行指数

  • OECD(経済協力開発機構)が作成しているしている景気の先行きを示す指標。
  • OECDデータベースから取得できます。
quandlコード 名前
OECD/MEI_CLI_LOLITOAA_JPN_M OECD景気先行指数 - 日本
OECD/MEI_CLI_LOLITOAA_USA_M OECD景気先行指数 - 米国
OECD/MEI_CLI_LOLITOAA_EA19_M OECD景気先行指数 - ユーロエリア19ヵ国

日経平均株価, JASDAQ平均

  • 日経データベース から取得できます。
  • 取得できるのは前日の日足までです。リアルタイムなデータではないのでご注意ください。
quandlコード 名前
NIKKEI/INDEX 日経平均株価
NIKKEI/JASDAQ JASDAQ平均

日本の個別株データ

quandlコード 名前
TSE/7203 トヨタ自動車
TSE/8411 みずほフィナンシャルグループ
TSE/9984 ソフトバンクグループ
TSE/1343 NEXT FUNDS 東証REIT指数連動型上場投信

データの取得方法

Quandlの公式Rubyクライアントライブラリを利用します。

Quandlのアカウントを作る

利用の前に、Quandlのアカウント作成をお勧めします。

  • アカウントなしで利用することも可能ですが、API呼び出し回数の上限が少なめです。
  • アカウントを作成し、APIキーを設定して利用することで、制限が大幅に緩和されます。
    • 制限の詳細はこちらをご覧ください。
  • アカウント作成は無料です。
  1. Quandl のサイトにアクセスし、右上の SIGN UP をクリックします。 手順1

  2. 必要事項を入力して、SIGN UP FREE をクリックします。(GitHubやGoogleのアカウントでログインすることも可能です。) 手順2

  3. ログインしたら、右上のメニューから ACOUNT SETTINGS をクリックします。 手順3

  4. 左のメニューの API KEY をクリックすると、API KEYAPIバージョンが取得できるので、メモしておきます。 手順4

データを取得する

以下のコードでデータを取得できます。

  • Dataset.get() の引数で、取得したいデータのquandlコードを指定します。
  • data(options) で、データを取得できます。オプションでパラメータを指定することもできます。
    • 指定可能なパラメータの詳細は、こちらを参照ください。
    • バックテストでデータを取得する場合は、end_dateを指定して、テスト時点のデータを取得して利用してください。
# エージェントコードの先頭で、ライブラリの読み込みとAPIキー/APIバージョンの設定を行います。
require 'quandl'

Quandl::ApiConfig.api_key = '<APIキー>'
Quandl::ApiConfig.api_version = '<APIバージョン>'

...(

# 最新のデータを取得
data = Quandl::Dataset.get('TSE/9984').data( params: {limit:1})
logger.info data.first # => {"date"=>Thu, 03 Mar 2016, "open"=>5700.0, "high"=>5872.0, "low"=>5677.0, "close"=>5859.0, "volume"=>9218500.0}

# 2016-3-1 時点のデータを取得
data = Quandl::Dataset.get('TSE/9984').data( params: {limit:1, end_date: '2016-03-01'})
logger.info data.first # => {"date"=>Tue, 01 Mar 2016, "open"=>5574.0, "high"=>5640.0, "low"=>5562.0, "close"=>5621.0, "volume"=>9706500.0}
※通信を伴うため、データ取得にはやや時間がかかります。next_tick(tick) などで毎回呼び出していると、バックテストの実行が完了しなくなるのでご注意ください。 データの更新頻度に合わせて、取得タイミングの調整やキャッシングを行ってください。