【実行編】為替レートをAPIで取得して売り買い注文をだすPythonコード

2018年6月27日

使っているFX会社はどこ?
自動売買用(1万円キャッシュバック中) → インヴァスト証券
Python API用(FX APIはここしかない) → OANDA ジャパン

みなさん、こんばんは。今日もしっかり7.8km走ってきてメンタル的にばっちしです。やっぱ人間、多少の運動は人生に必要ですね。

先週末に書いたOANDA API接続の練習用コードですが、マーケットが閉まっていたのですぐに試すことが出来ませんでした。ってことで、今日の記事は「続編」として、実際にコードを動かして行きます。

【人気記事】

私の機械学習の開発環境&トレード環境を解説

前回のおさらいと余談

詳細は前回の記事を読んでいただきたいのですが、やりたい事としては、API接続をして為替レートをストリーミングしながら、決めたトレードルールでAPI経由で注文を流してみたい。

トレードルールと仰々しく言いましたが、単純に5ティック流れてきたら、ランダムで売り買いを決めてデモ口座に注文を流すってだけです。

全然余談ですが、Twitterを見てたら「API接続して為替レートを取得して決めたオーダー戦略で注文をだすPythonコード!!今ならフォローワーさん限定500名に1万円でお譲りします!」と出てた。

特定の方を否定するわけではありませんが。アホかと。いえ、否定したい訳ではないんですが、マジでバカかと。なんか同等の似たことをやっている私までバカみたく思われるの嫌だな。

ではコードを実行してみましょう

まずは注文が本当に入っているのか確認するため、デモ口座へログイン。ご覧の通り注文は一切入っていません。

では、コードを動かして見ましょう。ドキドキ。コードを保存しているディレクトリにいって、trading.pyを実行しましょう。

おおおお!動いてる!!ちゃんとティックも読み込んで、しかも注文も出していますね!!なんかこれは嬉しい。(上画像、GIFアニメなんで、リロードすると動きます)

念のためOANDAのデモ口座画面の取引注文も確認してみましょう。上のGIFの画像が荒くて見えづらいですが、APIが注文を出した時にオーダーID「10963417444」が返ってきているのが確認できます。

管理画面で確認してみると、同じIDで下記のように注文が入っていました。(すぐに手動で決済してしまいましたが)

とりあえず、超絶頭の悪い超簡易型トレードシステムは動いたってことですね。これはこれで、嬉しい。まぁ動くように書いた訳なので、動かなかったら困る訳ですが笑。

次の改良プランと所管

とりあえず、目標としていたことはできました。APIで為替レートのストリーミングも出来ましたし、注文ルールを決めてAPIに注文を投げるってのも出来ました。

当然、次に改良すべきは注文のルールです。今回は「売り」「買い」の二択をランダムで選択するというものでしたので。

次回以降は下記の2つを進めていきたいです。

①システムトレードの定番を学ぶ
最終的な目標は当然、機械学習のモデルを構築してトレードをしたい訳ですが、その前に、まずは初歩的なシステムトレードの定番を学びたいと思います。昔、為替をやっていた時に色々と学んだのですが、すでに記憶の彼方ですし。ひとまずゴールデンクロスやら、定番のトレード手法について、改めて知識を入れ直したい。

②テクニカル指標をPythonで実装
そして、これも当然の流れだと思われますが、テクニカル指標をPythonを使って実装していきます。ボリンジャーバンドや移動平均などの初歩的な指標から初めて、EMV(Ease of Movement Value)など少しマニアックそうな奴もコードを買いてみようかと。

どのみち、特徴量エンジニアリングでこれらの指標と戦うことになりそうですし、どのような指標があって、どのような計算をしているのか理解する勉強にもなるかな。

まとめ

とりあえず、為替レートAPIの練習編はこれで終わりです!明日からは上に書いた通り、シストレとテクニカル指標について勉強していきます。

ブログを読んでいただいてありがとうございます!毎度ですが、Twitterでも絶賛配信しているので、フォローをお願いします!

使っているFX会社はどこ?
自動売買用(1万円キャッシュバック中) → インヴァスト証券
Python API用(FX APIはここしかない) → OANDA ジャパン

2018年6月27日FX トレード

Posted by algon