boothアルバム通販サイトへのLinkです

ビットコイン自動裁定取引システムをデモ稼働してみた

ビットコイン自動裁定取引システム

こちらのQiitaで紹介されている、Node.js(JavaScript)で動作するプログラムをデモ稼働してみました。

ビットコイン自動裁定取引システムを開発・トレードした結果 on @Qiita https://qiita.com/bitrinjani/items/3ed756da9baf7d171306

実行環境の用意

AWS(Amazon Web Services)のEC2インスタンスより、Amazon Linux環境で実行してみました。

自分のPCでもいいんですが、真面目に使い始めた時に、裏で実行し続けないといけないので

再起動とかしたり、意図しないタイミングで止まってしまうと困りますからね。

クラウド環境で用意しました。

https://aws.amazon.com/jp/

EC2のt2.microインスタンスは1年間の無料期間が付与されるので

新たにアカウントを発行して使います。

固定IP(Elastic IP)の付与

本プラグラムはNode.js向けということもあり、AWS Lambdaで実行も可能ですが、

どちらかというと、取引所のAPIを使う上で接続元IPを固定して制限する方がセキュリティ的に安全だからです。

Node.jsのインストール

こちら等を参考に、Node.jsのバージョン管理ツールであるnvmをインストールします。

nvmでnode.jsの環境をつくる。 on @Qiita https://qiita.com/544/items/7237a32c68619236f446

nvmを入れ終わったら、Node.jsのv8.5をインストールします。

#nvm install v8.5

gitのインストール

gitよりcloneしてソースコードを落とす必要がありますが

gitは入っていないので、

yum install git

でインストールしておきます

ソースコードのclone

本家さんの手順通り

git clone https://github.com/bitrinjani/r2.git

cd r2

npm install

でcloneとライブラリインストールし、実行できるようにします。

config.jsonでコンフィグファイルを設定

r2/src配下にconfig_default.jsonファイルがありますので

これをコピーしてconfig.jsonを用意します。

cp config_default.json config.json

config.jsonファイルを編集します。

基本的にはデフォルト設定値が入ってますが、

各取引所(Coincheck, Bitflyer, Quoine)のkeyとsecretを設定します。

実行してみる

QuoineとCoincheckの価格差を見て、0.01BTCを取引しようとしてるのがわかりますね。

Bitflyerは現物だからかわかりませんが、売り試行がNGになってますね。

触ってみてわかったこと

この時点だと4万円くらいの差があるのがわかります。

売り買いの注文はそれぞれの取引所でポジションを持つ形で行われます。

作者も書いていますが、自動なのはオーダーのみで、ポジションは持ったままになります。

手動の操作も必要で、買った方の取引所から売った方の取引所にビットコインを送金し、

ビットコインを売って、ビットコインを買いなおすという操作が必要です。

放置して取引所間の価格が逆転すると、勝手にポジションは解消されるみたいですが

基本的にはなかなかそういう状態にはならない気がします。

取引所毎のスプレッドもかなり重要で、例えばBitflyerは買値と売値の差が10%以上離れているので

裁定取引が上手くいっても、スプレッドで損をしないように考えないといけません。

今回はデモ稼働でしたが、実運用はまた別のこと新しいことを考える必要がありそうです。

実はまだ取引所が開通していないので、試すことが出来たらまた結果を書いてみます。

Add a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA