【初心者向け】Zaif API×Pythonでプチフィンテック1 仮想通貨自動取引botの作成

ここ数年、「フィンテック(FinTech)」というキーワードが急速に聞かれるようになってきました。

フィンテックとは、金融(Finance)と技術(Technology)からの造語であり、ITを活用して、より利便性の高い金融サービスを提供する取り組みを指しますが、この言葉を聞くと、金融機関やいわゆるベンチャー企業が提供しているFinTechサービスの利用のみを意識することが多い思います。

しかしながら、金融機関等が提供している「API (Application Programming Interface) 」という、外部のプログラムから各社のサービスにアクセスできる仕組みを使うことで、個人レベルでも簡単なフィンテックサービスであれば比較的容易に作成することができます

今回から数回に分けて、このAPIを利用したサービス作成の一例として、Zaifという仮想通貨取引所が提供しているAPIを利用した自動取引botの作成方法を紹介していきます。

<スポンサーリンク>

自動取引botの概要

早速ですが、今回作成する自動取引botの概要について説明します。

このbotは、Zaifで取り扱われているビットコインやイーサリアムなどのうち指定した仮想通貨に対して、安値で買って高値で売るという動作を、複数オーダー同時並行的に繰り返し行います。

いわゆる、レンジ相場の時に効果を発揮する取引方法です。

取引対象とする通貨、取引の価格上限/下限、注文価格の間隔、利幅、数量は、任意のものを設定します。

以下の設定例では、ビットコインを対象通貨として、価格帯\1,600,000~\1,800,000までの間において\5,000間隔で注文を入れます。1注文当たりの利幅(いくら価格が上がった時に売るか)と数量はそれぞれ、\10,000と0.0001通貨単位です。

注文は、その時点の対象通貨の価格と執行待ちの注文状況を踏まえて、自動的に行われます。処理はZaifサーバへの負荷と適時に注文を出せないことによる機会損失を鑑み、60秒間隔で行われます。また、処理の状況は、botを起動したコンソール中に表示されます。

botによる買い注文は、当然ながらZaifの注文一覧に反映されます。また、注文時にはリミット(決済価格)を設定しますので、買い注文が執行されると、自動的に設定した利幅を踏まえた売り注文がzaif上で行われます。

なお、実行中にZaifサーバに接続できない等のエラーが発生した場合、それをコンソールに表示の上、60秒間の待機後に処理を再実行します。

取引の実行や価格等の各種情報照会は、Zaifが提供するAPI経由で行います。なお、基本的にこれらAPIは、Zaifに口座を開設していなければ使えませんのでご注意下さい。

そして、本シリーズではこのbotを、Windows10上でPythonというプログラミング言語を使って実装していきます。

終わりに

今回は、今後作成していく仮想通貨取引botの概要を紹介しました。次回以降の記事で、開発を行うための環境準備を行い、その後実際に開発を行っていきます。

また、本シリーズは仮想通貨の取引に特化した内容になっていますが、様々な金融機関が、各社サービスを利用するためのAPIを提供しています。ですので、本シリーズでAPIの使い方を理解すれば、様々なサービスの開発に着手できるようになることと思います。

なお、言わずもがなかもしれませんが、紹介する方法を用いて実取引を行った結果として生じる損失に対し、本ブログは一切の責任を負いません。実取引を行う場合には、自己責任でお願いできればと思います。

カテゴリ:フィンテック
<スポンサーリンク>

シェアする

フォローする