少し前に 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])
おわりに
まずは初めの一歩. 次はバックテストをやってみたいところだ.以下が参考になりそう.
- Forex Trading Diary #1 - Automated Forex Trading with the OANDA API - QuantStart
- https://github.com/mhallsmoore/qsforex
また、このサイトの管理人さんは、OANDAを利用して実際にトレードしているようだ.
Metatrader は 古くからある売買方法だが、 OANDA APIを利用した方法を利用している人はほとんどいないので、 ブルーオーシャンかもしれない. しかし、情報がとても少ないというリスクがある.
この海に飛び込んだらPythonがつかえるというモチベーションの炎が消えて しまわないか心配だ.
Special Thanks
- OANDA fx Trade API を使って、リアルタイムな為替レートを取得してみる - うなの日記
- OANDAの REST APIを使ってphpから口座情報にアクセス | The Coherence World
- Scala - リアルタイム為替レートをとってみた - Qiita
以上、Happy Hacking!!