[OANDA API, Python]Pythonから経済指標を取得する

どうも、トウヤマ(@tnkicom)です。
経済指標をどうにかデータとして入手したい場合があると思います。

OANDA APIを使えば簡単に取得することができます。

OANDA JAPANで本番口座、デモ口座のどちらかを作成して、以下の記事でアクセストークンを取得してからこれから先をお読みください。

前提

まず、私の環境ですが、

  • python 3.8

になります。

サンプルコード

早速、サンプルコードを見ていこうと思います。

import pandas as pd
import oandapyV20
import oandapyV20.endpoints.forexlabs as labs

access_token = "**********************************" あなたのアクセストークン
client = oandapyV20.API(access_token=access_token)

params = {
    "instrument": "USD_JPY",
    "period": 86400
}

r = labs.Calendar(params=params)
client.request(r)

data = pd.DataFrame(r.response)

access_tokenはご自身のアクセストークンを設定してください。

paramsでパラメータを設定しています。
instrument で通貨ペアを指定します。。例えば、USD_JPYとすれば、アメリカと日本の経済指標を取得します。
periodで期間を指定します。単位は秒なので、

  • 3600:1時間
  • 86400:1日
  • 604800:1週間

になります。

実行結果

pandasに変換しているので以下のように表示されると思います。

    market   actual    region currency forecast previous       unit   timestamp                 title  impact
0    5.410    4.700  americas      USD      5.5    4.720         mn  1598018400   Existing Home Sales       2
1       93   91.700  americas      USD      NaN   92.600      index  1598364000   Consumer Confidence       2
2      790      791  americas      USD      770      776          k  1598364000        New Home Sales       2
3    4.700    7.700  americas      USD      4.3    7.600      % m/m  1598445000  Durable Goods Orders       2
4     1000     1104  americas      USD     1060     1106          k  1598531400        Initial Claims       2
5  -32.500  -31.700  americas      USD    -32.6  -32.900  % q/q ann  1598531400        GDP Annualized       2
6        2   15.800  americas      USD      NaN   16.600      % m/m  1598536800    Pending Home Sales       2

各カラム(主なものだけ)は

  • market: 予測値
  • actual: 実際の値
  • previous: 前回の値
  • title: タイトル
  • timestamp: 時間
  • currency: 対象通貨

になります。

終わりに

今回はOANDA APIとPythonを使って経済指標を取得する方法を紹介しました。

プログラム1つで経済指標データが取得できるのはとても便利です。

OANDAさんには感謝しかありません。

ちなみに本サイトでは、ニューラルネットワークで為替データの予測するプログラムの作成方法などをも紹介していますので、ぜひ見てみてください

タイトルとURLをコピーしました