少し前に mt4をいじってみたが、その先が取っ掛かりがつかめずにいた.

FXは自分は初心者なのだが、FX単体だと、飽きてしまった. 損してでもいいので、統計学とあわせて勉強できないかと道を探していた.

また、mt4のためのMQL言語は、C言語に近い言語で、拡張性がない. できればpythonを利用したいなーと思っていた.

Rest APIのことを調べていたら、Rest APIで 為替情報を取得できるという おもしろいAPIを OANDA 証券が提供しているのを見つけたので、試してみた.

やってみる

今回は、無料で即日利用できるデモ口座を開設して試す.

口座を開設

右上のデモ口座開設をクリックして、手順にしたがって口座開設.

デモ口座にログインして、APIアクセスの管理を選択し、 Personal Access Tokenを発行.

為替レートを取得

APIのドキュメントは以下にある. なんと日本語! 微妙な訳なので自動翻訳?!

Pythonで動かしてみよう. 為替レートを取得するサンプルは以下にある.

access_token, acount_idを自分のもので置き換えて実行.

[tsu-nera]% python2 streaming.py
{"tick":{"instrument":"EUR_USD","time":"2015-07-03T11:55:53.198067Z","bid":1.10999,"ask":1.11004}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:55:52.634607Z","bid":1.25685,"ask":1.25712}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:55:54.816590Z","bid":1.2569,"ask":1.25717}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:55:58.650057Z","bid":1.25691,"ask":1.25716}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:55:58.807926Z","bid":1.25688,"ask":1.25714}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:55:59.070828Z","bid":1.25686,"ask":1.25711}}
{"tick":{"instrument":"EUR_USD","time":"2015-07-03T11:55:59.338964Z","bid":1.10997,"ask":1.11002}}
{"tick":{"instrument":"USD_CAD","time":"2015-07-03T11:56:00.915263Z","bid":1.25685,"ask":1.25711}}

これはすごい…

API Wrapperもある

API Wrapperを利用すれば、rest の知識なしに 操作ができる.

Mastering Python for Financeという本に、 oandapyを利用したトレード方法が書いてある.

oandapyを利用した、為替レート取得.

import oandapy
import time

oanda = oandapy.API(environment="practice", access_token=ACCESS_TOKEN)

while(True):
    time.sleep(1)
    response = oanda.get_prices(instruments="EUR_USD")
    prices = response.get("prices")
    print(prices[0])

おわりに

まずは初めの一歩. 次はバックテストをやってみたいところだ.以下が参考になりそう.

また、このサイトの管理人さんは、OANDAを利用して実際にトレードしているようだ.

Metatrader は 古くからある売買方法だが、 OANDA APIを利用した方法を利用している人はほとんどいないので、 ブルーオーシャンかもしれない. しかし、情報がとても少ないというリスクがある.

この海に飛び込んだらPythonがつかえるというモチベーションの炎が消えて しまわないか心配だ.

Special Thanks

以上、Happy Hacking!!