【Python】ビットコインのアービトラージ(裁定取引)の実装方法|仮想通貨自動売買ツール作成支援
1つ目の方法は「各取引所に余力ある資金を保持しておく」方法です。これにより、例えば「取引所の残高が10万円以下になるまでは仮想通貨購入・売却に対応し、10万円を下回ると売却のみ取引する」というように、注文条件を細かくプログラムできるようになります。仮想通貨の売買タイミングに残高情報を考慮したプログラミングを適用することで、通貨送金機能なしのシステムが作成できるのです。ただし、この方法は取引資金を多く準備しなければならないという考慮も必要です。少額でアービトラージを始めたい方には推奨できない方法かもしれません。
2つ目の方法は「レバレッジ取引を活用する方法」です。1つ目の方法と同じ仕組みですが、こちらの場合は少額から取引が開始できるというメリットがあります。ただし、レバレッジ取引を活用する場合、建玉保有手数料やレバレッジ取引手数料などの別の手数料が別途かかることに注意が必要です。
【事前準備】暗号資産(仮想通貨)取引所APIの取得・Python開発環境構築
- 暗号資産(仮想通貨)取引所の口座開設
- アービトラージ取引に必要なPythonライブラリをインストール
暗号資産(仮想通貨)取引所の口座開設
自動売買ツールの作成には取引所のAPIを用いる必要があり、APIを使うには取引所の口座開設が必須です。
そのため、口座開設が未済の方は事前に開設手続きを行いましょう。口座開設はスマホと本人確認書類さえあれば10分以内に手続き完了でき、即日口座開設および暗号資産取引が可能です。
今回ご紹介するシステムでは、 GMOコイン・Coincheck・Huobi Japan の取引所APIを利用します。
これら3つの取引所を利用すれば後続で紹介するプログラミングコードはコピペで動作するよう設計しています。まずはアービトラージの取引を体験したい方は同じ取引所を使うことを推奨します。筆者おすすめの優良取引所でもあるため、使い勝手も良いこと間違いなしです。
インストール方法
minTargetProfitPercent: 0.ビットコインのアービトラージ(裁定取引)の実装方法 1%
ベストアスク: 800,000円, 0.3 BTC
ベストビッド: 801,000円, 0.2 BTC
-> MID: 800,500円, 目標数量0.2BTC,期待収益200円となり、収益の割合は 200 / (800500 * ビットコインのアービトラージ(裁定取引)の実装方法 0.2) = 0.0012、つまり0.12%。
この値はminTargetProfitPercentである0.1%を上回っているので、取引を送信します。
maxNetExposureの例
ここでのネットエクスポージャーとは、各取引所のポジションを合計した"BTC数量"です。一般にはエクスポージャーには数量ではなく割合を指しますが、簡略化のため数量としています。例えば、Bitflyerで0.1 BTC, Quoineで0.1 BTC, Coincheckでマイナス0.1 BTC(空売り)のとき、ネットエクスポージャーは ビットコインのアービトラージ(裁定取引)の実装方法 0.1 + 0.1 - 0.1 = 0.1 BTCとなります。仮にMaxNetExposure=0.05と設定されていた場合、0.1 > 0.05のため取引は送信しません。
取引所設定
Name | Values | ビットコインのアービトラージ(裁定取引)の実装方法Description |
---|---|---|
broker | Bitflyer, Quoine or Coincheck | 取引所名 |
enabled | true or false | 裁定取引の対象とするかどうかの設定 |
key | string | ビットコインのアービトラージ(裁定取引)の実装方法取引所APIのキーもしくはトークン |
secret | string | 取引所APIのシークレット |
maxLongPosition | number | 最大ロングポジション |
maxShortPosition | number | 最大ショートポジション |
cashMarginType | Cash, MarginOpen or NetOut | オーダータイプ。現金取引、証拠金取引オープン、ネットアウトのどれか。取引所ごとにサポートしているタイプは異なる。下記テーブルを参照。 |
commissionPercent | number | 取引手数料割合。裁定プロセスが予想利益を計算する際、取引手数料(目標価格 * 目標数量 * (commissionPercent / 100))を期待収益から差し引いた上で、取引を送信するか判断する。 |
noTradePeriods | ["開始時間", "終了時間"]のリスト | CONFIG_JP.mdを参照 |
cashMarginType詳細
取引所 | サポートされるcashMarginType |
---|---|
Bitflyer | Cash |
Quoine | Cash, NetOut |
Coincheck | Cash, MarginOpen, NetOut* |
bitbank.cc | Cash |
BTCBox | Cash |
*Coincheckのネットアウトは、取引所APIに存在しない取引タイプのため、アプリケーション内部でどのポジションをクローズするか判断しています。(Quoine APIはネットアウトをネイティブでサポートしています)
CoincheckのcashMarginTypeをNetOutに設定すると、裁定プロセスはオーダーを送信する前に現在のオープンポジションをチェックします。もしほとんど同じサイズのポジションが見つかれば、そのうち最も古いものに対しクローズオーダーを送信します。(FIFO)
ここで「ほとんど同じ」とは、1%以内の差異としています。コインチェックは、0.ビットコインのアービトラージ(裁定取引)の実装方法 01 BTCの売注文を出すと、発生するポジションの数量が0.010005 BTCなど微妙に違う値になります。この違いを吸収するために1%の差異を許容しています。
ログ通知設定 (Slack, LINE通知)
出力されるログの内容に応じて、Slack, LINEに通知を送ることができます。 keywords で指定された複数キーワードのうち一つが含まれると通知します。
詳細はCONFIG_JP.mdを参照ください。
補助スクリプト
R2の裁定プロセスとは別で、単体で動作する補助スクリプトをいくつか用意しています。
config.jsonのキー、シークレットを読み取り取引所APIを実行します。
ソースはtoolsディレクトリ下です。
ビットコインの24時間自動売買システム「ビットアーツ」発売 取引所間の価格差を利用した取引手法「アービトラージ」を採用
仮想通貨初心者から中上級者まで利用できる多彩な機能を搭載~2022年3月末日まで初期費用無料キャンペーン実施中~
- 投資家に代わって6つの仮想通貨取引所の売買価格を24時間注視し、価格差発生時に売買
なお取引所には、「価格差が発生しやすい」「取引量がある程度多い」「しっかりと約定できる」という観点から、現在最もパフォーマンスが高くなると思われる取引所として、「Liquid by Quoine」「bitFlyer」「bitbank」「GMOコイン」「Coincheck」「BTCBOX」を選定しております。
<ビットアーツの機能・特徴>
・取引所ON/OFF機能
6取引所のうち使用したい取引所のみ稼働可能。口座開設状況、資金量に応じて柔軟に対応。
・リアルタイムレート表示
6つの取引所の買い価格、売り価格をリアルタイム表示
・残高表示
各取引所の日本円、BTC資産残高を表示。取引所にログインせずに資産状況を確認できます。
・デモモード搭載
価格差設定条件における取引チャンスをデモンストレーション可能。
・簡易設定機能
初級者向けに、ターゲットとする価格差を設定するだけで稼働可能。
・全30パターンの価格差個別設定
中上級者向けに、市場動向や取引所の傾向に応じて取引所ごとの細かな設定が可能。
・取引通知機能
取引発生時にはメールによる通知を行います。
・自動停止&自動復帰機能
取引エラー等の場合エラーメール送信とともに安全のため該当取引所を停止。一定時間後自動復帰。
- アービトラージのメリットとは?
- 簡易設定機能を搭載しているので、仮想通貨&投資初心者も安心!
- 自動売買システムによりチャートに張り付く必要なし!
- hana株式会社について
ビットコインのアービトラージ(裁定取引)の実装方法
社名:hana株式会社
所在地:大阪府大阪市中央区本町4-8-1 SD本町ビル702
代表取締役:谷口 摂
設立:2020年1月
事業内容:ITシステムの設計・開発・運用
仮想通貨のアービトラージは儲からない?儲かるアービトラージ(裁定取引)のやり方やおすすめ取引所を紹介
仮想通貨が塩漬け状態で困っています……。 塩漬けは早めに打破しないと、機会損失につながるよ。 仮想通貨を購入したものの、売りたくても売れない状況に陥ってしまうこともあるでしょう。塩漬け状態を単に放置しているだけでは、状況は悪化する一方です。 今回は、仮想通貨の塩漬けの意味や対処法をお伝えします.
仮想通貨で暴落時も利益が期待できる投資戦略は「ガチホ(長期保有)」です。何があっても損切りせずに、仮想通貨の未来を信じましょう。 仮想通貨の社会的地位は年々増しており、5年後10年後の価値は今と比べ物にならないと多くの敏腕投資家達が予想しています。 確かに現在は価格の上下が激しい投資商品ですが「あの.
買った仮想通貨が暴落しました……。全部売ろうと思います……。 ビットコインのアービトラージ(裁定取引)の実装方法 ちょっと待った!狼狽売りは止めた方がいいよ。 購入した仮想通貨が下落し、パニックに陥る方は大変多いです。しかし、焦って投げ売りするのは得策ではありません。 今回は、初心者がやりがちな「仮想通貨の狼狽売り」について解説します。下落相場に動.
当サイトで提供する商品の情報にあたっては、十分な注意を払って提供しておりますが、情報の正確性その他一切の事項についてを保証をするものではありません。 お申込みにあたっては、提携事業者のサイトや、利用規約をご確認の上、ご自身でご判断ください。 当社では各商品のサービス内容及びキャンペーン等に関するご質問にはお答えできかねます。提携事業者に直接お問い合わせください。 本ページのいかなる情報により生じた損失に対しても当社は責任を負いません。また『お金の知恵袋』に掲載されている情報は、投資判断の参考として投資一般に関する情報提供を目的とするものであり、投資の勧誘を目的とするものではありません。海外サービスは日本居住者を対象としておらず『お金の知恵袋』は利用を推奨しておりません。
【Python】仮想通貨の自動アービトラージ(裁定取引)プログラム【ロジックと構築方法】
当ブログで公開している"自動トレードプログラムの構築方法"では、アービトラージ (裁定取引)と呼ばれる投資方法を採用しています。アービトラージ とはどのようなものなのかを見てみましょう。仮想通貨を買うときや売るときには、取引所という売りと買いをマッチングさせる場所を使います。仮想通貨取引所は、国内外にたくさんあり、それぞれで買いと売りをマッチングさせているので、日足や週足などで見ると取引所ごとに差がありませんが、5分足や15分足では、価格の剥離が起こります。
実際のアービトラージ
本来のアービトラージでは、剥離が起きた時に安い取引所で買い、安い取引所に送金をし、その後に売りますが、ビットコインの価格変動は激しいので、送金中に損失が出てしまうレートに変動するかもしれません。そこで使うのが、クロス取引と呼ばれるものです。これは、送金する手間をなくすために、もともと、全ての取引所にJPYとBTCを入金しておいて、価格剥離時に同時に売り買いをするという投資手法です。次に、実際にアービトラージを行うときの手順をみてみましょう。以下の図をみてください。
【レート2のときに取引所BでBTCを買いAでBTCを売る(口座残高を均等にするための逆取引)】
次に、図の中の清算をします。1つ前の取引では利益を出すことができましたが、口座残高がAとBの取引所で、BTCのみJPYのみと、別れてしまいました。これでは次の取引ができないので、価格剥離が無くなった時に、先ほどとは逆の取引を行います。
以下の図のように利益分をのぞいて、口座残高が元に戻ったことが確認できます。
利益の確認
1〜4のレートでアービトラージ(クロストレード)をし終わりました。この時の口座残高を初めの口座残高と比べてみると、日本円で40万円の利益が出ていることが確認できました。
3.自動トレードプログラムの概要
私が家で動作を確認した環境
Macbook pro 2016 メモリ16GB core i7
私が連続稼働させている環境
さくらのVPS デュアルコア メモリ1GB
トレードプログラムの投資手法
アービトラージ(クロス取引)
取引環境(使用取引所) ビットコインのアービトラージ(裁定取引)の実装方法
Liquid
4.過去の運用実績
投資には複利という考え方があります。もし毎月5.1%の利益をアービトラージの取引に再投資すると、次の月から元手+先月の利益を運用することになります。
複利による利益は"元手円(1+月率/100)^運用月 - 元手円"より下記になります。
200000(1+0.051)^12 - 200000 = 163297.649円
上記より、複利による理論上の年率は、(163297.649/200000)ビットコインのアービトラージ(裁定取引)の実装方法 100 = 81.64%になります
5.注意事項、免責事項
・自動トレードプログラムによる利益を保証するものではなく、考え方や理論を説明、私が開発し使用しているプログラムのコード公開と解説を目的としたものです。
・公開しているプログラムコード、考え方、ロジックは、あくまで私が行なっている投資方法の情報提供という形であり、プログラムの稼働による利益を保証するものではございません。プログラムに対する苦情とご指摘、動かすためのサポート、利用による損失や被害のについて一切の責任を追うことはできません。
・実績は将来的に失われる可能性がございます。
・プログラムを動かすためのサーポートはできかねます。
・私のプログラムを使用する場合は Liquid、coincheckの取引口座が必要です。
禁止事項
・許可なく公開、転送することはお控えください。
コメント