仮想通貨でアービトラージはじめました。

仮想通貨を使ったアービトラージ(裁定取引)にゼロから挑戦するブログです。2019年3月からミニマリスト生活はじめました。

【随時更新】アービトラージ自動実行プログラムを作っていく上でつまづいた箇所を紹介します。

この記事ではアービトラージ自動実行プログラムを作っていく上でつまづいたポイントを随時更新しています。私はアービトラージ自動実行プログラムをpython3を使って作成していますので、その環境下でつまづいた箇所の紹介になります。

また、プログラム以外の部分でつまづいた箇所に関しては別記事でまとめています。

arbitrage.hatenablog.com

 

 

取引に失敗する。取引量の最低単位は0.005BTC

取引量の最低取引単位は0.005BTCです。そのため、テストだからといって、闇雲に小さな取引量でプログラムを走らせてしまうとエラーが発生してしまいます。私自身は少しマージンを持たせて取引量を0.006BTCとしてテストを行なっていました。

 

Zaifの罠?AskとBidが通常と逆?

zaifAPIにはzaifの罠とも呼べるような癖があります。

その癖とは、通常、AskとBidがあった場合、「買い」がAskであり、「売り」がBidになると思っていたのですが、ZaifApiで取引する場合、その「買い」と「売り」が逆になっているというものです。

f:id:higox:20171001202143j:plain

※zaifAPI公式ドキュメントより

 

やっぱり公式ドキュメントをしっかり読まないと痛い目にあいますね。

 

Zaifでの成行注文の仕方がわからない。

Zaifの取引APIは基本的に指値注文することしかできません。しかし、今回作成しているアービトラージ自動実行プログラムでは取引を成行注文で行う必要があり、つまづきました。

しかしこれは以下の方法で解決することができます。

・買い注文のときは、取引所の買値より高い値段で指値注文する。

・売り注文のときは、取引所の売値よりも安い値段で指値注文する。

 

このとき、成行注文で売買される価格と指値の価格差をzaifが持っていくということはないようです。また、買い注文のとき、取引量×指値の値が、zaifの口座にある日本円よりも大きくなってしまうと不足金が発生しているというエラーとなりますので、闇雲に指値を大きくすることはできないようです。さらに、指定する金額は5円で丸めた整数である必要があるようです。私自身はどうせ成行注文ですので、10で丸めるようにしています。

 

Coincheckの  の成行注文は取引量を日本円で指定する必要がある。

Coincheckの の成行注文は取引量を日本円で指定する必要があります。今回作成しているアービトラージ自動実行プログラムでは、Coincheckの 成行注文以外は全ての取引が取引量をBTCで指定しますのでつまづいてしまいました。

f:id:higox:20171001202652j:plain

※CoincheckAPI公式ドキュメントより

 

これもやはり。公式ドキュメントをしっかり読んでいれば防げたミスですね。

 

今回のおすすめ

今回の記事に関連するおすすめの本が「個人投資家のためのFinTechプログラミング」です。タイトルにこそ仮想通貨やビットコインというワードは出てきませんが、この本の内容のほとんどはPythonでビットコインを売買するということに充てられています。ビットコイン(仮想通貨)の自動売買を行うためのプログラミングを行う上で、非常に役立ちます。

また、この本に関しては以下の記事でも紹介しています。

 

arbitrage.hatenablog.com

 

以上、higoxでした!

twitterもやっています!よかったらフォローお願いします!

twitter.com