V20用の記事は以下になります。
oanda apiをpythonから利用できるようにしたライブラリoandapyを 用いて為替データを取得します。
OANDAとは
OANDAはアメリカのfx会社です。
OANDA Japan
pythonから使えるapiを提供しているので、
pythonでfx関連のことをしようとする人はよく使うと思います。
今回はoandaからデータを取得して、ローソク足チャートをプロットするので
oandaの口座を持っている人前提の記事になります。
apiを使うためにはoandaで口座を作る必要があります。
口座を作るだけなら無料できます。以下のリンクからoandaのページにいき口座を作成してから以下をお読みください。
oandapyとは
oandapyはOANDA APIをpythonから簡単に利用できるようにしたライブラリです。
https://github.com/oanda/oandapy
本記事ではoandapyを使って実装していきます。
インストール方法はシンプルで
pip install git+https://github.com/oanda/oandapy.git
とりあえずデータを取得してみる
日足のドル円のデータを取得してみます。
以下のコードでドル円の日足の情報を1つ取得できます。
import oandapy oa = oandapy.API(environment="live",access_token="<>") data = oa.get_history(instrument="USD_JPY",granularity="D",count=1)
dataの中身を見てみます。
dict形式で結果が返ってきて、基本的にはcandlesの中身が日足データになります。
print(data) # => {'candles': [{'closeAsk': 110.003, 'closeBid': 109.903, 'complete': True, 'highAsk': 110.056, 'highBid': 110.044, 'lowAsk': 109.497, 'lowBid': 109.449, 'openAsk': 109.81, 'openBid': 109.728, 'time': '2019-05-09T21:00:00.000000Z', 'volume': 105440}], 'granularity': 'D', 'instrument': 'USD_JPY'}
candlesの中に、為替データの基本的な値が入っています。
各要素は単語を見ればわかると思うので省略します。
終値とか保存してあります。
get_historyメソッドの主な引数についての補足説明
先程為替データを取得するときに用いたget_historyメソッドについて補足の説明をします。
instrument
instrumentでみたいレートの種類を選択できます。
米ドルならUSD_JPY、
ユーロドルならEUR_USDのように記述します。
以下のサイトから、レートの種類を確認できます。
https://www1.oanda.com/lang/ja/forex-trading/markets/live
granularity
分足、日足などの設定ができます。
1分足ならM1、日足ならDのように設定できます。
http://developer.oanda.com/rest-live/rates/
count
取得するデータの個数を設定できます
endtime
endtimeで設定した時刻からさかのぼって、データを取得できます。
ちょっと試してみます。
米ドルの分足で2019-05-09T21:00:00から2個のデータを取得します。
data = oa.get_history(instrument="USD_JPY",granularity="M1",count=2,endtime="2019-05-09T21:00:00.000000Z") print(data) # => 以下出力 {'candles': [{'closeAsk': 109.996, 'closeBid': 109.929, 'complete': True, 'highAsk': 109.999, 'highBid': 109.954, 'lowAsk': 109.993, 'lowBid': 109.929, 'openAsk': 109.999, 'openBid': 109.944, 'time': '2019-05-10T20:58:00.000000Z', 'volume': 5}, {'closeAsk': 110.003, 'closeBid': 109.903, 'complete': True, 'highAsk': 110.003, 'highBid': 109.922, 'lowAsk': 109.988, 'lowBid': 109.898, 'openAsk': 109.995, 'openBid': 109.922, 'time': '2019-05-10T20:59:00.000000Z', 'volume': 7}], 'granularity': 'M1', 'instrument': 'USD_JPY'}
candlesに2019-05-09T21:00:00から2分間分遡ったデータが取得できていることがわかります。
コメント