OANDA APIを使えば、オーダーブックのデータを簡単に取得できます。
今回はそのオーダーブックの取得の仕方を紹介します。
前提
環境
まず、私の環境は
- python 3.8
- oandapyV20 : 0.6.3
です。
OANDA APIを使うための環境構築
今回はOANDA APIを使います。
OANDA APIを使うためにデモ、もしくは本番口座を作成して、アクセストークンを取得しておく必要があります。以下の記事を参考にしてください。
また、oandapyV20をpipでインストールしておく必要があります。pipで簡単にインストールできます。
pip install oandapyV20
サンプルコード
では、早速オーダーブックを取得してみます。
まず、今回使うモジュールをimportします。
import pandas as pd
from oandapyV20 import API
import oandapyV20.endpoints.instruments as instruments
oanda apiへ接続します。
api = API(
access_token="*****************", # あなたのアクセストークン
environment="practice")
access_tokenはあなたのアクセストークンに変更してください。
environmentはデモ口座ならpractice、本番口座ならliveにしてください。
次にオーダーブックを取得します。
instruments.InstrumentsOrderBookを用います。
r = instruments.InstrumentsOrderBook(instrument="USD_JPY")
api.request(r)
instrumentに通貨ペアを設定します。今回はドル円のオーダーブックを取得したいので、USD_JPYとします。
あとはrequestを送ります。
受け取った結果r.responseの中のorderbookのbucketsの中にオーダーブックの情報が格納されています。
df = pd.DataFrame(r.response["orderBook"]["buckets"])
df.head()
ここまでのコードを書いて実行すると以下のように出力されると思います。
price longCountPercent shortCountPercent
0 0.000 0.6436 0.0265
1 0.050 0.0133 0.0133
2 0.100 0.0265 0.0332
3 0.150 0.0133 0.0000
4 0.200 0.0464 0.0133
priceが価格、longCountPercentはロングポジションのパーセント、shortCountPercentはショートポジションのパーセントです。
ちょっと今は上から適当にデータを取得しているので、現在の価格からかなり異なる値となっていますが、もっと下を見ていくと今の価格が見つかります。
最後に全コードを以下に示します。
import pandas as pd
from oandapyV20 import API
import oandapyV20.endpoints.instruments as instruments
api = API(
access_token="**************************************",
environment="practice")
r = instruments.InstrumentsOrderBook(instrument="USD_JPY")
api.request(r)
df = pd.DataFrame(r.response["orderBook"]["buckets"])
print(df.head())
終わりに
今回はOANDA APIをPythonから使って、オーダーブックを取得する方法を紹介しました。
相変わらずOANDA APIは便利で助かります。
OANDAさんには感謝しかありません。
ちなみに本サイトでは、ニューラルネットワークで為替データの予測するプログラムの作成方法などをも紹介していますので、ぜひ見てみてください