記事見出し画像

アービトラージのノウハウ


はじめに

仮想通貨が2017年の年末に
高騰しました。

当時のビットコインの
価格を覚えていますか?

約250万円という値段を
つけていました。

価格が高騰する何年も前から
BTCを保有して仮想通貨を購入して
億万長者になった人を
おくりびと呼びましたよね。

また、2018年は相場がしぼみ
おくりびとが戻り人になってしまった
という揶揄した言葉も生まれました。

確かにこれだけ価格が上下すると
仮想通貨=乱高下するもの
という捉え方が正解だとおもいます。

2021年は価格が600万円を超えました
これは1000g(1Kg)の金と1BTCが等価と
なった瞬間でした。

デジタル・ゴールドがいよいよ
市場に市民権獲得をすべく
100兆円以上の規模を狙って
快進撃をしてくることでしょう。

さて、こうした相場中に
トレードで稼ぐ人たちがいます。

仮想通貨の両替(もとい為替)をし
相場が上昇したら売り、下落したら買う
といったトレードをする人たちです。

2018年の年始は高騰していたので
そこから下落して、約1/6程度になろうとは
誰が予測できたでしょうか?
いや出来なかったでしょう。

2018年の1年間は大きな下落相場が
市場を覆っていました。

全体的に相場が右肩下がりで
あったため売りの圧力が
強かった訳です。

ですので2018年の年始からは
売りをすること

そして2019年を迎えて3800USDあたりで
BTCを購入するのが正解だった
というのが

結果論ではありますが、
3800USDあたりがBTCの底値で
あったように思います。

また、2021年の1月は
前回の250万円を軽く超えて
400万円あたりまで上昇しました。

つられてアルトコインも上昇し
以前、アービトラージをしていた相場に
戻ってきていたように思います。

さて、仮想通貨で利ざやを抜く
といったトレード手法の他に、
アービトラージという手法が
あるのをご存知でしょうか?

言葉は聞いたことがある
という方が大半だとおもいます。

言葉を知っている人に質問です
アービトラージとは
どんなトレード手法ですか?

わかりますか?わかりませんか?
ぼんやりとしかイメージが
出来ないというシロモノ
だとおもいます。

開発者として
アービトラージの手法を
開設しようとおもっています。

また、ソースコードなど
一部紹介する予定でして

開発者である私は
アービトラージソフトの
開発者本人として
本気でアービトラージの
仕組みについて
解説してやろうと
おもって、筆を取りました。

超大作になっていて
読むのにかなり時間が
かかるかとは思います。

アービトラージの手法を
ここまで細かく書いたものは
私は検索をしても
見つけられなかったので
この記事が、これから開発を
しようと考えている
開発者や組織の人に役に
たてばいいとおもっています。

開発者自身が執筆をしているので
ノンプログラマの方にも
できるだけ噛み砕いて解説をしていますが
表現が難しい時があるかも
しれませんので予めご了承ください。

さてこのnoteは無料セクションと
有料のセクションに分けるつもりです。

無料で読めるセクションでは
アービトラージのエッセンス
のようなTipsを記載して
おこうと思います。

有料セクションでは、
特別なツールのことを
話す予定です。

※特別なツールについて
2021年2月22日現在まだ執筆できてません。

アービトラージ

アービトラージというと
裁定取引という手法に分類され
投資の中でも極めて高度な手法として
位置づけられています。

利ざやを確保するという点においては
両替の手法の応用になりますが
原理原則は安く買って高く売るという
考え方になります。

ここでアービトラージを理解するために
トレードの基本的な考え方を
ご紹介させていただきますと

割安なレートで購入し
割高なレードで売却をすることで
販売利益を確保すること

これがトレードの基本的な考え方
となります。

したがって、利益を出すためには
購入するレートと販売するレートの
差が必要であるということです。

しかし利益を算出する考え方が
普通の為替トレードとは違います。
利益算出のアプローチを
少し学ばなくてはなりません。

アービトラージの定義は
買って→売ってという流れと
買いを入れたポジションを戻す
売ったポジションを戻す
という流れが存在します。

安いレートで仕入れて高いレートで売る
この売買は想像がつくと思います。

続いて、安く仕入れた通貨
例えばこの場合ETH/BTCとします。

この説明用アービトラージ手法では
ETHが増えるということを仮定した
アービトラージをお伝えします。

ETH/BTCが安いレートの時は
ETHを売ってBTCを買います。

低いレートの取引所で得たBTCの量を
ETH/BTCのレートが高い取引所で
売ってETHを買います。

そうすると安いレートで
仕入れたBTCの取引量と
高いレートで販売した
BTCの取引量は同じですが、
買い戻したETHは売った時の量より
多くなっています。

具体的な数値を出しますので
一緒に電卓を出して計算してください。

取引所Aでのレート 1 ETH/BTCとする
取引所Bでのレート 0.5 ETH/BTCとする

持っている通貨の残高
0.5ETH、0.5ETH分のBTCとする

取引所A:0.5ETH分のBTC
取引所B:0.5ETH

とする

STEP1:レートが安い取引所はどこか
→ 0.5ETH/BTCのほうが安いので取引所B

STEP2:取引所BでBTCを購入する
→ ETHを元金としてBTCを買います。
→ 0.5ETHを元手に1BTC購入しました

取引所A:動きなし
取引所B:0.5ETH→0ETHになり
0BTC→1BTCとなった

STEP3:取引所AではBTCを販売する
→ STEP2で消費しているのは0.5ETHです
→ 0.5ETHを手に入れるためには
0.5BTCが必要です
→ 0.5BTCを元手に0.5ETH購入します

取引所A:0.5BTC→0BTCになり
0ETH→0.5ETHとなった

取引所B:0.5ETH→0ETHになり
0BTC→1BTCとなった

STEP4:はじめの残高とイマの残高を比べてみる

『はじめの残高』
取引所A:0.5ETH分のBTC=0.5BTC
取引所B:0.5ETH

『イマの残高』
取引所A:0.5ETH
取引所B:1BTC

STEP5:ポジションを戻す
取引所AははじめBTCを持っていたので
BTCへ両替
取引所BははじめETHを持っていたので
ETHへ両替をします

取引所Aの0.5ETHをBTCに戻す→0.5BTC
取引所Bの1BTCをETHに戻す→1BTC ÷ 0.5(ETH/BTC) =2ETH

さて、はじめの残高の基準に戻しました。
するとどうでしょう。

取引所BのほうがETHが増えていますね。

上記のステップ処理が
アービトラージには必要です
この処理が出来ないと実は利益が取れません。

ただ、現実問題として各取引所では
時々刻々とレートが変動するため
根本的なこのロジックをどういう風に
適応していくかを
有料のセクションでは紹介をしています。

利益を確保できるロジックがわかったので
次はどの様に運用するかについて話します。

開発者自身、24ヶ月に渡って
開発をしてきたので
仮想通貨の下落相場・上昇相場を
経験しているからわかることなのですが
資産価値は相場の影響を直接受けます。

相場が大きく変動する際の
資産のポートフォリオというものも
重要になってきておりアービトラージ1本で
爆益が取れるかといいますと
相場の下落比率と上昇比率を
きちんと計算しないことには
利益がどれくらいで推移するかという事は
把握出来ないというのも事実です。

こうした利益を出すまでのロジックを理解して
アービトラージという手法に
挑戦いただきたいと
私は切実に感じています。

ここまで読まれて
あなたが感じていることは
「アービトラージは難しい」
というのが第一印象では
ないかと私は感じています。

そうです。はじめにお伝えしておくことは
「アービトラージ」は考え方が複雑なんです。

しかし、複雑な考え方を
噛み砕いて解説している&運用している人は
日本中にどれくらい居るでしょうか?

私を含め数人の開発者しか知らないので
とてもとても少数になっているはずです。

そもそも2つの取引所を利用して
アービトラージを推奨していたのは
実は中国ですでにアービトラージの
ノウハウを2016年末に持っていたS氏が
日本でアービトラージのソフトウェアを
作れないか?という提案を
近畿に在住するとあるSEに頼んだから
なんです(諸説ありますが)

そういった背景があるのを知っていて
アービトラージのツール開発をしているか
していないかでロジックに対する
考え方の深さが変わってくるかと思います。

もちろんアービトラージの手法を用いたら
利益が出てくるのは確かです。

しかし仮想通貨を取り扱う人は
その利益を日本円なり
USD換算で計算をするという
利益算出方法しか知らないので、

ここがアービトラージの考えの
難解さになっています。

ただ、1つ1つ理論を紐解いていき
体系的に利益計算を算出する方法を
学びアービトラージに取り組めば
定量的にアービトラージで
利益をあげることが出来てきます。

そしてこの考え方をプログラムに
落とし込みエントリーチャンスを
逃さないようにすれば
きちんと発注が入り

その発注が自動的に約定されることで
正確に利益を残して行けるという
スキームが完成するのです。

自動システムを構築するためには
専門的なプログラムの知識が必要なので
ノンプログラマの方にはハードルが
高いかと思います。

後半はプログラマ向けの
設計アプローチについての手法に触れています。

構成を考えてみると
価値提供ができる部分は
「ノウハウの開示」と
「プログラムの設計のアウトライン」を
示すという部分が価値が高いなと
私は考えています。

約2年半の年月をかけて編み出した
ロジックですし、
しかも、市場で実際に取引をしているため
取引所の挙動に対してもどう対処するのかという事を
きちんと把握しており
そこからのフィードバックの割合も大きいです。

さて、私の取り組みの姿勢を
ご理解頂いた上で

このノウハウを手に入れて
何が得になるのかという事を
ご説明させていただきます。

ずばりそれは
「裁量であってもアービトラージは可能」
ということです。

重複してお伝えしますが、
私はシステム開発の観点から
アービトラージの自動化システムを構築し
トレーダーの視点から
この自動化システムの改良に着手
そして運用をしていた実績を引き下げて
このノートに思いの丈を書こうと
考えています。

しかしロジックが原理原則を外れなければ
自動売買プログラムを組まずとも、
裁量トレードでアービトラージが取れるのは事実。

しかし自動売買のツールは
正確なソフトウェアが出回っていないのも事実です。

ツールを購入して欲しいのは本音ですが
ツールユーザーが利益が取れる状況が
それで完璧か?と言われると、それは違います。

相場が大きく乱高下するので
乱高下する相場ではアービトラージのトレードが
適していない場面も存在するからです。

あくまでアービトラージは
普段の相場変動の歪みを検知して
その歪みの中で自動売買をする事になるので
ツールの運用は慎重に行うのが無難です。

とはいえ、自動売買のツールの組み方次第では
乱高下する際のオーダーもうまく捉えることが
実は可能になるのです。

これは開発の設計アプローチが
きちんとロジカルに出来ていることが前提なので
システムが正確に稼働するという条件が必要です。

さて話題が変わりますが
なぜ、私がこうしたノートに自分のノウハウを
書こうと思ったか?という目的をお教えします。

それは私の

「考え方を広く伝える目的」

「仮想通貨の市場におけるノウハウの共有」

「今後の仮想通貨もとい暗号資産を世の中に普及していく
アプローチだ」

と考えているからです。

さて、オリエンテーションも最後になりました。

各章ではノウハウとそれに至ったアプローチを記載しており
アービトラージ手法の公開とシステムの構築ノウハウを
お伝えするので

a:開発者でなくともロジックの理解ができる
b:開発者であれば開発のアプローチがわかる

といった2種類の読者様視点で詳細を書いております。

a:b = 80 %:20% という割合で
ロジックの理解に関しての説明を厚くしています。

以上になります。
よろしくお願いいたします。

お伝えするノウハウは下記の通りです

01_ アービトラージの基礎知識
02_ アービトラージを手計算する方法
03_ アービトラージのポジションについて
04_ 取引所間でアービトラージを検知する仕組み
05_ 取引所を2つ使ってアービトラージをする方法
06_ 発注のロジックと約定後のロジック
07_ 自動売買システムを構築するノウハウ
08_ アービトラージの配信システム構築ノウハウ
09_ 自動化システムの構築のノウハウ
10_ 自動売買を継続的に運営するための公式集


01_ アービトラージの基礎知識

これからアービトラージについて
基礎的な知識とその手法を応用した
投資手法をお伝えしていくのですが
お断りをしておく項目があります。
下記の注意点をご一読下さい

1:アービトラージの手法はトレードの一種である
2:アービトラージの手法で爆益は上がらない
3:暗号資産に応用するとボラティリティが高い
4:暗号資産では価格の下落・上昇に影響を受ける

こういった点が注意点になります。
もっとも、暗号資産(仮想通貨)取引所で
アービトラージができるため、
トレードの一環として活用することは可能です。

手入力で数値を入れ
各取引所で約定すれば
それは利益として計上できる
トレードになります。

注意点を踏まえた上で、
アービトラージの基礎知識をお伝えしてまいります。

【アービトラージのコトバの定義】

2016年頃からアービトラージというコトバが
インターネットのブログ記事などで取り上げられるようになり
KrakenやPoloniexなどを用いたアービトラージの
ソフトウェア等を販売する業者が増えてました。

都市圏の暗号通貨(昔の呼び名)情報発信者は
アービトラージのソフトウェアを販売して
アービトラージの利益について語り草になっていました。

いまでもアービトラージの手法をソフトウェアで実現する
BTC自動収集機といった商材名でソフトウェアが
販売されていますが、アービトラージは暗号資産のトレードで
枯れない手法として市民権を得るようになりました。

なぜなら、為替の両替手法の考え方の一種なので
暗号資産以外にも外国為替証拠金取引(FX)などでも
応用されているからです。
かつてFXの業界でアービトラージが出来ました。
しかし今は各取引所の為替レートがほぼ同じなので
(インターバンクが為替レートを標準化している)
アービトラージが取れなくなっています。

さて、アービトラージのコトバの定義を見ていきましょう。
「日本語訳:裁定取引」と言われる手法で
割安のレートで通貨を買い、割高な方でもう一方の通貨を売る、割安レートと割高レートの価格の開きがなくなってきた段階で、割安なレート買った通貨売り、割高な方で売った通貨を買い戻すという取引をすることで、もともと持っていた通貨の保有量が増える、というトレード手法がアービトラージです。

取引所をまたいで割安なレート、割高なレートを同じ通貨ペアで見つけ、それぞれ売り買いをし、レートの歪みが小さいときに、反対売買を実施する手法、とでもいいましょうか。

この手法の原理原則は高いところで売る、安いところで買うという原則です。

アービトラージをする際には、この考え方が根本にあるので、レート監視と各取引所で通貨ペアの指値注文を実施すると、利益が取れるという結論となるのです。

ただし、暗号資産の取引所や、FXの取引所では手数料とスプレッドという2つの要素が通貨ペアのレートに影響を及ぼすので、レート以外の要素を加味した上で利益が取れる売りのレートと買いのレートを見つけなくてはなりません。

こうしたトレードに関連する要素を正確に理解しないままアービトラージのトレードに挑戦するというのは、ある意味でリスクを負うことになります。

また、取引量をきちんと確保してアービトラージの取引をどのくらいの期間続けるのかという判断も同時に考慮しなくてはならないため少し複雑な判断が必要になります。


【アービトラージの手法】

アービトラージの基礎は割高レートで売り、割安レートで買う。そしてレートの歪みがなくなったときに売った方では買い戻し、買ったほうでは売るという事をするとお伝えしました。

割高レートで売り、割安レートで買うという部分はご理解が出来たかと思います。
続いて、レートの歪みをご説明差し上げます。その後、歪みが戻った状態で買い戻し&売るという手順をお教えします。

そして手法を具体的な例を用いてお教えします。
では、レートの歪みからご説明していきます。

割高なレートと割安なレートがあるという前提で、暗号資産のレートを用いようと思います。

通貨ペアをETH/BTCとして設定します。

割高なレートは
ETH/BTCで0.05 ETH/BTCとし

割安なレートは
ETH/BTCで0.045 ETH/BTCとします。

純粋にレートの差を計算します

0.05-0.045=0.005 ETH/BTC

この差をアービトラージの手法では歪みと呼んでいます。

レートの差が生まれる大きな理由は取引所が違うからです。
この歪みが大きいか小さいかということを把握してアービトラージの取引をすることになります。

さて、では割高なレートに対して、割安なレートは何%差があるのかを計算してみましょう。基準は割安なレートで考えてみます。

0.005 ÷ 0.045 × 100 = 11 %

11%の差があるという計算結果になりました。

レートに割高なレート、割安なレートがあるということ自体はじめて知った方もおられるかとおもいます。この割高>割安というレートが続くうちは、取引で売買することで利益を出すことができます。

アービトラージの歪みは上述の通り、割安なレートに対しての差を割り算してやることで歪みの率がわかります。

この歪み率を計算することで、トレードができるかどうかを判断することができます。

割高レートで売って、割安レートで買うというトレードをすることで11%の利益を取ることができるため、この取引はやってOKという判断になります。

では、具体的にレートと取引量を設定して増えるかを考えてみましょう。

(間違った取引例)

割高なレート:0.050 ETH/BTC
割安なレート:0.045 ETH/BTC

取引所1にはBTCが1BTC、ETHが0ETHあるとする
取引所2にはBTCが0BTC、22.22ETH(1BTC分のETH)があるとする

取引所1は割高なレート0.050ETH/BTC
取引所2は割安なレート0.045ETH/BTC

ステップ1:

取引所1にて0.050ETH/BTCで1BTCを売ります。
手に入るETHは 1 [BTC]÷0.050[ETH/BTC]=20 [ETH]

取引所2にて0.045ETH/BTCでETHの取引量は20[ETH]

ステップ2:

取引所1はBTCが0BTC、20ETHになりました。
取引所2はBTCが1BTC、0ETHになりました。

ステップ3:

結果から考えていく
もともと取引所1はBTCが1BTC、0ETHだった。
取引所1のレートは0.05[ETH/BTC]である。
このレートのままでは換算率が一緒なので
20ETHを1BTC以上にするためのレートの計算をすると

20ETH × ??? [ETH/BTC] =1BTCより大きい

20ETHを1.05BTCに両替できるとするならばレートは0.0525[ETH/BTC]で発注をかけることができれば、1.05BTCとなる。

そうすると0.05ETH/BTCよりも高いレートで発注をするというのが正解になります。

つまり、割高なほうは価格が上昇したかを判断し買い戻すというのが暗号資産を増やす時には必要な考え方となります。

ステップ4:

続いて取引所2を見ていきましょう。
取引所2はBTCが1BTC、0ETHになりました。
現在のレートは0.045[ETH/BTC]です。

もともと22.222 [ETH] がありました。
ポジションを戻す時に1BTCを22.222以上に戻すことは可能かという
ではどのようなレートになるかを考えてみます。
1BTC÷ ??? [ ETH/BTC ] = 22.22ETHより大きい

1BTC÷ ??? [ ETH/BTC ] = 23ETH とすると
0.04347 [ ETH/BTC ] となります。

つまり、割安なほうは更に割安なレートで注文をするということが正解です。
アービトラージは各取引所のレートを取得して、価格の歪みを捉えて条件をクリアする価格の時に発注を出すというアプローチをするのが、アービトラージの取引になります。

このアプローチの難解さがアービトラージが難しいトレードたる所以です。

【アービトラージを使った投資手法の応用先】

さて、アービトラージの手法の概略はなんとかご理解いただけたかと思います。価格の歪みを捉えて、元あったポジションに戻すことで、取引レートに応じて残高が増える。このロジックが手数料を加味したレートにも絡み合っているので、正確なレート計算をしづらくしています。

さて、上述したアービトラージの投資手法ですがその応用を、私が知っている中でご紹介しようと思います。

(a)スワップアービトラージ手法

これはFXの証券会社が、自社が提携する取引先の銀行間のレート差を用いたアービトラージになります。こちらは法定通貨に関連するアービトラージで、海外の投資案件を紹介されて存在を知りました。ロジックは明快で、価格差があれば現物で取引を実施し、差益がそのまま利益として自分の口座に反映されるというものでした。

MT4ベースで内容を閲覧できていたので、証券会社が取引履歴だけを公開して投資家に見れるようにしている案件でした。いまでも海外ではこの案件は活発に生きているようで、月利2%程度で運用できるとのこ話を耳にしています。

(b)暗号資産ー取引所間アービトラージ手法

暗号資産もとい仮想通貨の取引所で通貨を売買することでアービトラージの利益を取ることができます。利益を出すためには上述した取引のレート計算とそれを根気よく続ける繰り返しの発注などが必要になる手法です。法定通貨にくらべると価格の乱高下が大きいのである程度なら発注を約定させることができます。FXと違ってインターバンクがないため、各取引所毎のレートがあるのみで、現在は発注をしやすい環境ではあります。

大きく分けて2つ紹介しましたが、法定通貨でのアービトラージ・暗号資産でのアービトラージというものがあります。両方ともシステム化と発注環境が整っていさえすれば資産を運用することができるでしょう。

【暗号資産取引のアービトラージ】

さて暗号資産についてのアービトラージに焦点を当てて解説を進めたいと思います。

暗号資産はもともと暗号通貨・仮想通貨と表現されており、新しく興った経済圏です。中央集権的に通貨を発行しないため、完全に管理者不在の通貨という位置づけで世界には受け入れられています。発行元が国に依存しない通貨なのでビットコインなどはみんなに信用されているから価格がある程度安定(この乱高下を安定と言っていいのか疑問だが)した状態で売り買いをされています。

では暗号資産はどこで購入するか。それはいわずもがな、取引所というところです。取引所では法定通貨を暗号資産(BTCやETHやXRPやADAなど)に両替できます。

そして、取引所というのは民間企業なので、民間企業が取引所にユーザーを集めて、ユーザーが取引所内で売買を活発化することによってBTCの値段やETHの値段などがきまっていっています。

一民間企業が取引所をつくっているので、運営する企業がことなれば取引所の方針なども変わるのは明らかで、取引所で価格レートが違うのもこれが理由だからです。

さて、暗号資産の取引やトレードにおいてアービトラージを活用していくと、一民間企業の取引所毎にレートが違うという特長を知っていれば、実は(a)で紹介したアービトラージよりも多様性に富むということが言えます。

そうすると、暗号資産の取引所間でアービトラージの発生があればあとは、検知して対象の取引所で売買取引をすれば利益が取れてきます。

法定通貨に比べて暗号資産の取引所のほうがレートが乱立しているため意外と価格差を取ることが可能となっています。

開発者視点でいくと、暗号資産の取引所の価格が安定してしまうと、アービトラージは取れなくなるという見解をもっていますが、開発を始めてからはずっと価格の歪みは起こり続けているという印象です。

【資産が減るリスク】

さて、暗号資産によるアービトラージにフォーカスを当てて喋っているため、暗号資産の場合には注意しておきたい事柄があります。

それは、暗号資産と法定通貨のレートが違う問題が挙げられます。

BTCとETHでもレートがあるように、BTCとJPY間でもレートが存在しています。

対JPYでBTCの価格が下がっていると、保有しているBTCの暗号資産の価値は下がっているという判断ができます。

ここが素人さんが間違えるポイントです。

アービトラージの手法で利用している通貨の単位にはJPYが含まれていないので
BTCとJPYのレートの関係がそのもの利益と安直に考えがちという状況が起こります。

ですので、アービトラージは日本円で換算するもんじゃない。暗号資産ベースで考えなくてはならないのだ。という考え方を知らないときのリスクが存在します。

02_アービトラージを手計算する方法

趣旨として暗号資産を活用し、アービトラージを取る方法を更に深めてお教えしていこうとおもいます。アービトラージは特殊なトレードであるということから、利益計算に至るまでの道のりがやはり遠いと感じるのは確かです。理論上のトレードを実際に試してみると、各取引所の手数料に泣かされたり、取引所トークンの存在を考えなくてはならなかったりと開発者泣かせなトレード手法ではあったのですが、手計算でアービトラージが取れるという事が分かれば、あとはどのようなときにエントリーをするかというタイミングを待つのみです。

さて、手計算でアービトラージを取るということでタイトルからはハードルが高そうだと感じるかもしれません。

しかし、アービトラージの基礎知識の章でお伝えしたレートの歪みの計算はすでにご理解出来ているかと思います。

それを元に、取引所のレートを観察して、レートをピックアップしていきます。
レートを紙にメモをしていき、レートの価格の差を求め、買いレートを分母にして、歪みの割合を計算していきます。

各取引所ではBid(売りレート)・Ask(買いレート)にはスプレッドがありますので、各取引所のBid・Askを記録するのも忘れないでください。

そして取引所毎に違うのが手数料です。
買った時・売った時に取引所に徴収される手数料になります。これの記録も忘れないでいただきたい。

【アービトラージが取れるかを判断する】

各取引所のレートを記録していく訳ですが、取引所には、通貨ペア、レートを確認する取引所の画面が存在します。

大きく分類していきますと

取引所
└通貨ペアの画面
 └BidとAskのレートの画面

という階層になっています。
ほとんどの取引所が上記の階層になっているので、通貨ペアを選択してから取引所画面に移動することで、レートが取得できると思います。

Bid・・・売りのレート
Ask・・・買いのレート

を意味します。専門用語になりますので、Bid・Askは覚えておいてください。

さて、各取引所でBidとAskは取得できましたでしょうか?

基礎知識セクションでお伝えしたように、レートの大小の比較を行います。

(1)各取引所のBidとAskを記録する
(2)取引所1のBidと取引所2のBidを比較する
(3)「(2)」の結果Bidが高い方が割高なレート
※取引所1のBidのほうが高かったとする
(4)取引所1ではBTCを売り、取引所2ではBTCを買う
(5)取引所1ではBTCは売りレート、Bidで取引を予定する
(6)取引所2ではBTCは買うレート、Askで取引を予定する
(7)(Bid-Ask)÷Ask×100をして、アービトラージの割合を計算する
(8)「(7)」で計算した割合に取引所手数料を加味する判断する
(9)「(Bid-Ask)÷Ask×100」>(取引所A+取引所B)の取引手数料を判断
(10)「(9)」で「(Bid-Ask)÷Ask×100」の方が大きかったら取引実行
(11)ポジションを戻す発注をレート計算して発注

という手順がアービトラージを実施する手順になります。

【手数料を交えた発注】

さて、ざっと(1)~(11)までの要点を記載しましたが、実際に取引をするときには、取引所手数料というものが必要になります。アービトラージを実施する際にはこの取引所手数料というのが、合計で4回かかってきます。つまり、0.1%の取引手数料だとすると、0.4%の手数料が取られてしまう計算になります。

しかし、アービトラージの取引では手数料は2回の0.2% 、ポジションを戻す時の0.2%と2度のトレードを合計して0.4%といっています。

ですので、場合分けをして考えたら良いので、アービトラージの計算をして、手数料を上回っているかの判定は0.2%(売りの取引所と買いの取引所の手数料)を上回っているかどうかを判定すればOKということです。

取引手数料を差し引いて、アービトラージのトレードを実施しなくてはならないのですが手数料というのが実は結構厄介な問題でして、アービトラージが取れそうだなと思っているレートでも、手数料を加味した正味の取引で厳密に計算すると、アービトラージの取引をした時点で利益が出るどころか損益になってしまったりします。

取引所トークンなどが存在する取引所だと、少しは割引される仕掛けになっていますが、純粋なアービトラージのトレードに着目すると、手数料はかなりの出費になっています。
手数料というものには、注意を払うのが良いでしょう。

「(9)」の項目に記載した手数料の判断を一度実施してみることをおすすめします。

紙に書き出した各取引所の手数料があるはずですので、その数値を計算して、不等式で判断をするのが良いでしょう。

【ポジションを戻す時に必要な考え方】

さて、取引手数料の問題をクリア出来た状態で、続いてはポジションを戻すというときに必要な考え方・注意点をお伝えしようと思います。

アービトラージの定義を再度確認すると、アービトラージは価格の歪みを利用したトレード手法の1つで、割高なレートの方で売り、割安なレートの方で買う。そして価格の歪みが小さくなったところで元のポジションに戻すという事を実施するトレード、という定義になります。

後半の価格の歪みが小さくなったところで元のポジションに戻すという行為が実はここでは利益を確定するポイントであったりします。

なぜなら、売買を確定させてから初め持っていた残高に戻す行為は1つの取引所単位でみると

アービトラージ→売りか買い
資金を戻す→売りか買い

という取引になります。売買が一対だという商売の基本から考えると、アービトラージで売りエントリーをしていたらそれの対をなすのは買いのエントリーという訳です。

逆のエントリーもそうですね、アービトラージで買いエントリーだったらその対は売りのエントリー。

売買をすることで利益をだすという考え方です。

これこそが、アービトラージをする上での利益の出し方となります。

しかし、これはある意味トレードとも判断できるのです。

なぜならアービトラージが大量に発生する地点というのは相場のレンジかサポート付近になるからです。

【相場は生き物】

さて、アービトラージが大量に発生する傾向が相場のレンジか、サポートにあるという話は聞いたことがありますでしょうか?いいえ、みなさんはブログ記事などでも見つけられなかったことでしょう。私が集計と経験から導いたアービトラージのサインというのは、実は相場の節目にアービトラージが発生しているという発見を見出しました。

私自身の経験則がここから話の背景になってくるのですが、相場とは生き物であり、ただし相場が変化するときには特徴的に動く相場の動きがあるものです。俗に言うテクニカル分析というもので、相場の表情をいろいろと切り取って判断ができるようになります。

とわいえ、生き物という表現はたとえ話であるのですが、アービトラージが発生する時間帯の定期的なサイクルというのは、FXで言うところのボリンジャーバンドに足がタッチして藩閥するというようなサインのように見えてならないのです。

アービトラージが連続して発生している時間の大小を計測していくと、10分継続するようなときもあれば3分以下の継続もあり、発生する時間帯もアメリカ時間・ヨーロッパ時間でFXや株式が開場する時間帯にかかることが多いように感じます。

おそらく、海外の人は日本人と同じで日中にトレードが集中するのだろうなぁという推測をたてています。

なので相場の値動きは突発的な動きをみせることもあれば動きが機械的な時もあります。
このような特長をつかみつつ、アービトラージの発生原因を探っていく思考の試作は頭のトレーニングに打って付けだとおもいます。

そして、アービトラージの発生する時の傾向にレンジとサポートの付近。特に売り圧力が強いときは良くアービトラージがとえたりする傾向にあります。

【ボラティリティという名前の悪魔】

暗号資産の売買のボリューム(取引量)の多さ・少なさのさることながら、価格の乱高下というのが特徴的な市場なのが暗号資産取引所の板です。さて、こうした価格の乱高下に関しては専門用語でボラティリティが高い・低いという表現をすることがあります。ボラティリティが高い時は価格の変動が激しい傾向にあり、ボラティリティが低いときは価格の変動が穏やかという傾向がある、という理解がボラティリティの定義です。

FXの場合はボラティリティが安定している通貨ペアもあれば、安定していない通貨ペアもあるため通貨ペアを選べば、ボラティリティの影響を受けずに済みますが、暗号資産ではそうはいきません。

取引所自体のボラティリティの影響と、全世界的に流通量が少ない市場であるため、大きな買いや売りの影響力を受けて通貨自体のボラティリティが高い傾向があります。

時期的なことから、ボラティリティが安定することも多少はあるのですが、暗号資産の価格変動はやはり乱高下して、振れ幅が大きいように感じます。

そこで、指標になるのが24時間での変動率や、USDTなどのステーラブルな通貨ペアを組み合わせた通貨ペアの選択がアービトラージを実施する際のボラティリティの影響力を受けないアプローチになります。

ただし、冒険をしたいトレーダーも中には居るので、ボラティリティの高い通貨ペアを狙い、そこでアービトラージ発生を待ってトレードするという方も居ます。

まとめると、アービトラージを取りたければボラティリティの高い通貨ペアをチョイスするほうがいいが、価格の乱高下は瞬間的に起こるため、その発生する瞬間を捉えることさえできたら冒険はOK。しかし実際に目で見て手動で発注する場合はボラティリティの比較的安定したものをチョイスしないことには、発注が間に合わないという問題がついてくる。

こうしたメリットとデメリットも判断材料の1つとなります。
しかし開発を経ていろいろなトレードをしてきた結果、ボラティリティの激しいものはプログラムでしか対応できないという一定の結論が私の中で出ています。

人間のスピードで対応ができるのはボラティリティが比較的穏やかなタイミングか、そもそもが穏やかなボラティリティの通貨ペアになります。

プログラム優位ということは主張しませんが、プログラムの自動売買時にもそれなりにデメリットが生じるので一長一短があるというのは事実です。

【取引所ごとに違うAPIルール】

さて、話題は自動売買を想定した各取引所のAPIというものに話題をシフトしたいのですが、ノンプログラマでもAPIという単語を聞いたことがあるという前提で話していきます。
ただ、簡単にAPIの事に触れると、ブラウザでログインIDとパスワードがあるように、プログラムが取引所にログインする際に利用されるのがAPIというものです。(英: Application Programming Interface)プログラムで取引所にログインするためのプログラムのためのIDとパスワードとおぼえてください。

さて、このAPIというものは、自動売買をさせるためのキーなのですが暗号資産を取り扱う取引所毎にAPIのプログラム仕様が異なっています。それは、統一フォーマットではないので、BinanceのAPIの仕様、PoloniexのAPIの仕様と様々です。
金融の場合だとFIXプロトコルという仕様が国際的に決まっているので、その仕様に則ってプログラムを書いていけばいいのですが、暗号資産は新興の経済圏なので、ルールの制定がまだまだ整っていない状況です。

さて、こうした背景を暗号資産の取引所では抱えているわけですが、このAPIのフォーマットを統一してくれる便利なライブラリがあります。

ちょっとプログラマ視点で書いていくので読み飛ばしてもらってOKです。

プログラマならぜひ取り入れたライブラリ「CCXT」このライブラリは

https://github.com/ccxt/ccxt.git

こちらにアクセスをすることで、ソースコードを利用することができます。
このライブラリを利用することで、各取引所のAPIフォーマットを統一したフォーマットとして取り扱えるため、注文を入れる・オーダー状況を確認する・残高照会をするといった事がスムーズに行えるようになります。

取引所ごとに違うAPIのルールはCCXTを使えば殆ど解決することができます。
またこのコミュニティはとても活発に開発を続けているので、高頻度でライブラリのバグ修正・新機能の実装をしていってくれます。

非常に使いやすい&保守しやすいライブラリなので、ぜひ活用を検討してください。

【暗号資産を裁量で増やす手法の1つ=アービトラージ】

さて、ノンプログラマさんにはちょっと専門的な話をAPIのセクションでは行いましたが、概要はご理解できたかと思います。
アービトラージを手計算する方法をざっと流れを組んでみてきましたが、暗号資産市場でアービトラージを取るのはボラティリティの高さからプログラムの方が優位という状況を感じたはずです。
確かに、暗号資産もとい暗号通貨の原点はAIが完全に支配する共産主義の思想の元にブロックチェーン技術は発展を続けるのですから、機械で取引をするのが妥当なのです。

ただ、世界中の通貨不安を抱える現代ではそろそろ米ドルのペトロリサイクルの終盤にさしかかっており石油に依存した経済圏の切り替え時期となっているのは明らかです。

仮想通貨のボラティリティの高さが今後は安定傾向に進む状況ではあるでしょうが、それは劇的に変わらず、徐々に進んでいきます、なので手計算でもアービトラージの手法は使えるのです。

そして、手計算をして手動で値を入力して売買を実施させるのは、あるいみ合理的なトレードであると私は考えています。
なぜなら、自分で電卓をはじいて計算して、利益が取れると自分でロジカルに結論を導いたのですから。利益が取れていない場合はどこかで間違い(値の入力間違いなど)をおこした結果だと思います。そこさえミスをなくせば、アービトラージで利益を残すことができます。

03_アービトラージのポジションについて

アービトラージにポジションはあるのか。とても難しい疑問だとおもいますが、私の答えはNo。なぜなら、現物取引をしているからです。
暗号資産の場合は、便宜的にBTCとETHを例に説明しますが、BTCを買いETHを売る、一方の取引所ではBTCを売りETHを買うという取引をします。
たいていの取引所では暗号資産の取引にレバレッジはないため、ポジションを持つという判断はできないという考え方からそう結論を出しています。

アービトラージを取るために、レバレッジがある取引所と現物の取引の取引所ではそもそもアービトラージが通用しませんので、組み合わせとしてもないというのが正解でしょう。

さて、こうした細かな部分の理解であったり、トレードからアービトラージの取引を理解しようとすると、これまでのトレード習慣・視点に引っ張られて結論を導くのが難しいこともあります。

この章ではポジションという言葉を売り・買いという売買の種別とオーダーが約定される前の未約定期間について売りor買いの未約定状態のポジションがあるという表現で統一して解説を進めていきたいとおもいます。

【取引所の指値注文について】

暗号資産を扱う取引所は原則として現物取引を主軸として両替手数料を顧客から徴収して利益を上げている。そんな背景があるのが前提で、取引所ではどんな両替があるのかという事を解説する。

さて、暗号資産の取引所をお持ちの方で、BTCを買ったり売ったりされたことは殆どだとおもいますが、売ったり買ったりする際に指値注文をする方法だったり成り行き注文をする方法をいまいち理解していない方がたくさん居られます。

言葉の定義だけを少し書いておくと、指値注文というのは、○○○のレートで☓☓☓BTC分を購入する予約をお願いします、という注文。
一方で成行注文は、今のジャストレートで即時購入をします、という注文になります。この違いは、今後のトレード生活でも必要な知識になってくるので、必ず覚えるようにしてください。

また指値注文の取引手数料と成行注文の取引手数料が異なることもあります。原則として成行注文の取引手数料の方が高い取引所が存在しています。大手の取引所では成行注文と指値注文の手数料が同じで設定している取引所もあるので、手数料貧乏にならないためにもチェックをしてください。

【指値注文実行時のOpenOrderという存在について】

さて、注文の種別を把握できたかとおもいますが、今度は指値注文について深めていこうとおもいます。指値注文は、取引所に対して、指定した価格で取引量をトレーダーが定め予約注文を出すという発注方法になるということを前段でもお伝えしました。指定した価格でのトレードになるため、その値にならない限り発注が実行されないという事も意味していますので、指値注文は約定されなければずっと注文が残る発注方法という事になります。

それはつまり、レートからかけ離れた発注をするとずっと約定されないまま予約が残ってしまうということです。

さて、この予約が残ってしまう発注のことを取引所の表現でOpen Orderという表現をします。海外の取引所での表現ですが、Open Order=開いているオーダー≒指値注文でレートが指値に触れておらず、残っているオーダーという意味合いになります。

またOpen Orderは現在持っている自分の暗号資産の取引可能量から差し引かれて、一時的にロックされる状態になりますので、Open Orderがあまりにも多いと取引可能量が0になり、次の発注が打てないということがしばしばあります。

また暗号資産の素人トレーダーにありがちな話は、Open Orderの意味がわからず現在の自分のOrderがどれくらいあるか把握出来ない状態で、残高はあるのに発注ができないのはなぜなのか?という質問をされたり、取引所によって残高の表示が変わるのですが、Open Orderで発注されている取引量が差し引かれて表示されていて自分の資産が減ったと勘違いする人が実に多い。

このような状況はちょっと改善して知識をつけること、経験を積むことで回避ができるので、知っている人は他の方に教えて差し上げるほうが良いように私は思います。

いずれにせよ、取引所に慣れていただくことが肝心であるなと私は思います。

04_取引所間でアービトラージを検知する仕組み

さてここから、アービトラージの本質的なロジックについて詳細に解説していきます。
アービトラージは割高なレートでは売り注文を入れ、割安なレートでは買い注文を入れるという事を解説し、その上で各取引所の手数料を加味して利益を計算しなくてはならないとお伝えしました。

さて、アービトラージの検知に関してはどういった仕組みで検知をしていくかというロジック部分に光をあてて深めていこうと思います。

基本的な考え方は下記のとおりです。

①各取引所のレート売りのをピックアップする
②「①」でピックアップしたレートより低い買いのレートを探す
③「①」より低い買いのレートの歪みを計算する
④レートの歪みの値が利益が取れるかを手数料を加味して判断する
⑤取引を実行する

といった手順が基本的な考え方になります。

この基礎を押さえたあと、今度は取引所間での差額が発生して、その取引量や残高の計算に対しての考え方をお伝えします。

①~⑤まででお伝えした仕組みについては、レートを取得し条件に合ったとき発注するという事を説明した仕組みでした。

つぎは自分の資産の分配を取引所を交えてお伝えしていきます。

まず、私がお伝えしているこの仕組は取引所が最低2つ必要です。2つの取引所をそれぞれ取引所1、取引所2と便宜的に表現します。トレードを開始するときには取引所1・2共に暗号資産を配置しなくてはなりません。

この暗号資産の配置は下記の通りにします。

例えば4ETH持っていたとする。
取引所1には2ETHを配置する。
取引所2には2ETHを配置する。

そして、取引所1の2ETHを半分BTCとする
→ 取引所1には1ETH分のBTCと1ETHが存在する

同様に取引所2の2ETHを半分BTCとする
→ 取引所2には1ETH分のBTCと1ETHが存在する

取引所1の資金比率
1ETH分のBTC:1ETH = 50%:50%

取引所2の資金比率
1ETH分のBTC:1ETH = 50%:50%

といった状態にすることでアービトラージのトレードを始めることができる。
逆を言うと、このような状態をスタートラインとしなければアービトラージを始めては行けないです。なぜなら、利益計算をする時のスタート時点の残高基準がバラバラな状態だと、発注をする際にばらつきを生じさせるからです。

同じ資金量でスタートするのが肝心です。

では各取引所に資産が均等に分配されたところで、結論を申し上げます。
利益計算をする方法として、各取引所単位でBTC・ETHの集計をせず、取引所1のBTCの残高と取引所2のBTCの残高を合計して、自分の暗号資産としてください。同様にETHも合算して考えてください。

なぜ合算をするかというと、取引所に入れている資産はアナタの資産だからで、取引所を個別の財布だと例えると、家計を調べるときは合算して調べるということをするように、暗号資産の取引所の場合も合算して減ったか・増えたかを判断する必要があるという背景があるからです。

ここの視点がいまいちピンとこない方が多くて、ちょっとコンセンサスのレベルを上げてほしいとおもうのですが、なぜこういった指摘をして、取引所をまたいで合算で計算するかということを強調するのかというと、アービトラージが起こる根本原因が取引所にあるからなんです。

それは、取引所1と取引所2を比べたときの利用者数が、取引所同士の購買力の強さに読み替えることができて、例えば取引所1が取引所2よりも利用者数が多かった場合、前者のほうが取引の頻度や量が多いということが言えます。

逆は、取引所2は取引所1よりも取引の頻度や量が少ないということが言えます。

では、こうした利用者数の違いがどこに現れてくるかといいますと、ずばり暗号資産のレートに影響を与えます。なぜなら、取引量が多い取引所では暗号資産のレートが高くなる傾向が強まるからです。それはユーザーが暗号資産を買いたがると値段が上がるから。そして同時にレートが安くなる傾向も強まります。一方で、ユーザーが少ない取引所では、価格変動はそれほど起こらず、価格が一定になるという特長もあり、レートだけを見るとアービトラージがとても取りやすいという印象を持ちます。
ですが、取引量という観点をここにいれてくると取引所2は取引量が多くないため、なかなか約定されないという事実も出てきますので、一概に取引量も無視できないのです。

取引所の組み合わせを見るときは、取引量およびボラティリティを観察して選定する必要があります。

またまた根深い背景のことを紹介しましたが、取引所の特長が約定されるかされないかに影響を与えることがあり、取引所1+取引所2の暗号資産を合算しなさいという手法には、ユーザー数の多寡により買いだけが入りやすい取引所になったり、売りだけが入りやすい取引所になったりすることがあるため、個別で残高を計算しても一方では減って、一方では増えてという現象が起こってくることから、すべての資産は合算して集計を取るというのがアービトラージというトレードをするためには必須な考え方になります。

ここまで説明してきましたが、FXのトレードや株のトレードよりも利益計算が複雑だという印象がありませんか?これを説明しないまま、アービトラージは優秀だ、爆益が出るといったことを言うのはいささか誇大広告すぎるかなァと私は感じています。

それに対して、情報のフィルターが無い方はある意味、情報弱者という知識・判断不足から衝動買いをするといった傾向が強いです。

【取引所をまたいでレートを取得する方法】

さて、アービトラージが発生しているかどうかという点は、前項で公式をお伝えしましたが、取引所をまたいでレートを取得するにはいったいどういう事をしたらいいか?

答えはとても簡単。

例えば、ブラウザを2枚開いて、1つはバイナンス、もう1つはYobitという取引所の同じ通貨ペアを表示させてレートの変化を追ってやればいいです。
ただし、リアルタイムで目視をしている中では結構な頻度でレートは動きますので、1分毎に変化するレートをエクセルで記録することでアービトラージの変化率がわかります。

アービトラージが取れているかを調べるためには

売りレート÷買いレート > 1+(取引所Aの手数料+取引所Bの手数料)

という公式で判断していきます。
このように算出していくことで時間経過とともにレートが変化するので2取引所間の価格の歪み具合が波を打って変化することがわかるとおもいます。

機械的に取引所をまたいでレートを取得したいばあいはCCXTというプログラムのライブラリを利用することでもレート取得ができます。

<?php
$root = dirname (dirname (dirname (__FILE__)));
include $root . '/ccxt.php';
date_default_timezone_set ('UTC');
$exchange = new \ccxt\binance (array (
'verbose' => true,
'timeout' => 30000,
));

$exchange2 = new \ccxt\yobit (array (
'verbose' => true,
'timeout' => 30000,
));

try {
$symbol = 'ETH/BTC'; <ー通貨ペア絵選ぶ
$result = $exchange->fetch_ticker ($symbol); <ーバイナンスのTicker取得
$result2 = $exchange2->fetch_ticker ($symbol); <ーバイナンスのTicker取得
var_dump ($result);
var_dump ($result2);

// ここにアービトラージを検知するプログラムを書く

} catch (\ccxt\NetworkError $e) {
echo '[Network Error] ' . $e->getMessage () . "\n";
} catch (\ccxt\ExchangeError $e) {
echo '[Exchange Error] ' . $e->getMessage () . "\n";
} catch (Exception $e) {
echo '[Error] ' . $e->getMessage () . "\n";
}
?>

PHP言語ですがもうちょっとスマートも書けるかとはおもいます。

【取引所ごとに違う取引量の桁数】

さて、手動でレートをエクセルで取得している時に注意したいのが、小数点問題。
各取引所では、最低取引額面という額面が設定されています。有効桁数というもので、Binanceで0.0001BTCから取引OKだけど、Yobitでは0.001BTCからしか取引ができないといった制限があります。この取引量の桁数は注意深く見ておいたほうがいいです。


追記履歴
2021年1月31日
2021年2月22日

この記事が気に入ったらサポートをしてみませんか?