TradingView + Zapier + API Gateway + Lambdaによる仮想通貨FX自動取引システムの開発
プライベートでの開発になりますが、
2018年に入り興味を持った仮想通貨取引の自動化についてです。
検索等でよく出てくるのは、pythonで過去の価格遷移、ライブラリを利用したエントリーポイントの判定ロジックの実装、注文等をすべて完結させて実装するものでした。
私はこれを使わず、非常に優秀で便利なWebサービスを敢えて組み合わせて実装する手法をとりました。
TradingViewは、トレーダー向けのグラフ表示、エントリー等を判定するストラテジーを独自の言語Pineで作成できるインジケーター機能、過去の実データを利用したバックテスト機能、メールアラートを行える機能を持った高機能なWebサービス。
ZapierはIFTTTのようなサービスで、受けたメール本文をパースして、別のWeb APIのPOSTに連携するために利用。
API Gateway + Lambdaは、取引所の公開するAPIをいくつか組み合わせて、注文、利益確定、損切を1回のPOSTで同時にリクエストできるカスタムAPIの実装に使用。
これらを組み合わせて、
TradingView ではエントリー条件をPineでガッツリ実装、エントリーのためのメールアラートを複数設定
Zapierはアラートを受けてAPI呼び出し
Lambdaでは受けたAPI呼び出しから実際の注文まで実行
ということを行っています。
本システムとは別ですが、React + Reduxで上記カスタムAPIたたくWeb UIも合わせて実装しています。
既存のWebサービスとLambdaで完結することで、サーバーレスで組めてしまうということが素晴らしいと考えており、これをさらにカスタマイズして提供することで、エンジニア以外の、自動取引の開発ノウハウがない方でもそのまま使える仕組みになると思います。
あまり綺麗なコードではないですが、Lambdaやフロントエンドの部分はgithubにコードは公開しています。