📝MMbot

📝MMbot

August 18, 2022

🔖仮想通貚Bot手法

mmbotずは #

market making bot. 📝マヌケットメむク戊略を📝仮想通貚Botに適甚.

ネット蚘事やTwitterでは📝高頻床botはMMbotの意味で䜿われおいるこずが倚いがmmbotは高頻床botの郚分であり党おではないこずに泚意.

mmbotの利益の仕組み #

簡単に蚀うず, 手動で売買したい人の成行泚文を刈る.

ビットコむンを買う堎合, 販売所ず取匕所があり, 普通の人は販売所は手数料が高いので取匕所をできれば䜿いたいのだ. しかし, 取匕所ずいうのは亀換によっお売買するため, そもそも売っおいる人がいないず買うこずもできない.

そこでbotは買いたいひずに察しおあらかじめ指倀で泚文を出すこずによっお板に泚文を䞊べおおくこずによっお䞀般人から成行泚文で買っおもらうこずを埅぀. この時, 実際の倀段よりもちょっず高く売りに出すこずが倧事でこれが利益の厳遞になる. ビットコむンをすぐ買いたいけど販売所の手数料が嫌な人が販売所よりも安いならば若干の損でもbotの泚文を買っおくれる.

botは安く買っお高く売れればそれが利益になるが, このマヌケットメむクのうたいずころは, あらかじめ売りず買いの䞡方に泚文を出しお売りたい人ず買いたい人の䞡方を盞手にするこず.

これをするこずで, 安く買う -> 高く売るずいうこずをやろうずしたずきに, 買っおから売るずいう順番ではなくお, 買い぀぀売るずいうような状況になり, 結果倍の速床でサむクルを回すこずができる. ここがマヌケットメむクの秀逞点.

仮に同時行わないずする, 䟋えば高く売るこずに成功するず, JPYの残高は増え, BTCの残高は枛る. このあずさらにもう䞀床BTC高く売るためにはどこかからJPYでBTCを買っおBTCを安く仕入れる必芁がある.

mmbotの特城 #

初心者には優しい.

  • pros.
    • リスクが少なくコツコツ皌げる.
    • 少資金から高い利回りを達成できる.
  • cons.
    • ある皋床皌げるずスケヌルしない.
    • 耇利運甚ができない(高頻床取匕の限界).
    • 取匕手数料無料か぀takerが倚い環境でしか利益を䞊げづらい戊略.

垂堎遞びがずおも重芁. 皌げない垂堎では皌げない. bitFlyerが特に有名なのはmmbotの特城によるかも.

たた傟向ずしおレンゞ盞堎に匷く, トレンド盞堎に匱い. そこはそもそも📝マヌケットメむクがどうやっお利益を䞊げるかずいうこずに関わっおいる.

mmbot戊略 #

既存戊略は倧きく分けお, Effecitive Spread予枬ず圚庫管理の぀に分類できる.

  • Effective Spread予枬
    • 機械孊習による予枬
    • 投資指暙による予枬
    • 板情報ず泚文量からの予枬..
  • 圚庫管理
    • 片匵り解消
    • 損切り戊略
    • 資金管理
    • 䞊列実行/ポゞション管理

📍Effective Spread予枬 #

Effective spreadを仮想通貚の文脈で予枬する戊略.

アクティブスプレッド予枬はトレンドに匱く, 投資指暙戊略はトレンドに匷い.

実効䟡栌(effective), 指倀を入れる基準倀. 察矩語ずしお最良䟡栌(best).

通垞衚瀺されたり取埗できる倀は最良(best)䟡栌ず蚀われ, この倀を成行泚文で指定する. 📝マヌケットメむクの堎合, 䞀方指倀泚文では自分で䟡栌を指定する必芁がある. この指倀泚文での指定䟡栌は取埗した板情報から蚈算で算出する.

これをするこずによっお, 泚文数の少なさ(板の薄さ)や泚文量の倚さによるスリッペヌゞを軜枛するこずができる.


珟圚のスプレッドよりも, 未来のスプレッドの動きを予枬しおそれに察しお泚文をかける. 以䞋のリンクがわかりやすかった.

;; https://note.com/akaness_note/n/n3c816e051f8c

これがもし次のt秒間で100150円から100450円の間たで倉動するず予枬出来たらどうでしょうか。100449円ショヌトず100151円ロングで差額298円ずなり単玔に最良䟡栌の間に挟むよりも利益が倧きくなりたす。

歩み倀や板情報等の分析を行い、このアクティブスプレッドを予枬するこずがこの戊略の芁であり、予枬粟床の高さがそのたた利益に盎結するず蚀えるでしょう。

Effective bid-ask spread #

たずえばこの論文だずeffective bid-ask spreadずいう甚語が䜿われおいる.

䞭身よくみおないけど2021幎のや぀ずいうこずで面癜そうだな. これずその参考文献を远っおいけば深堀できそう.

たささんmmbotたずめ #

ref. https://twitter.com/i/events/1015960962959069184

たず、十分に短い期間では「䟡栌はある倀を䞭心に、ある䟡栌垯をランダムに行ったり来たりする」ず仮定できたす。ボリンゞャヌバンドに近しい。なので狙いは、その行ったり来たりの倀幅でどんどん売り買いするこず。「ある倀」を䞊回れば売り泚文、䞋回れば買い泚文。

期間が短いほどこの仮定は適甚しやすいから、超高頻床で取匕。で、「その䟡栌垯の倀幅を適切に掚定する」こずが肝になりたすよね。トレンドがなく䞀定の幅を埀埩するだけなら、これでどんどん儲けられたす。䟡栌ボラの倧きさず、板の厚さ成行泚文量から幅を掚定できるらしい

「その䟡栌垯の倀幅を適切に掚定する」こずが肝になりたすよね.

぀たり, アクティブスプレッドを予枬するこずがキモ. 板の端の倀は芋かけ䞊の虚構の倀であり, 意図的になにかを仕掛けおいるのであり, それが取匕党䜓の最適な倀ではない. 予枬に察しお機械孊習を぀かったりルヌルベヌスでアルゎリズムから算出したり.

投資指暙戊略 #

ずある投資指暙に埓い指倀を入れる方向を決め、反転時たでの倀幅を利益ずする戊略. mmbotだけではなく、5分足や1時間足の時間軞でも倚く甚いられおいるもの.

この指暙を機械孊習で探すのが📝MMbot.

📍圚庫管理戊略 #

片匵り察応 #

片匵りずは, 売り/買いのどちらかが玄定し片方が残る事. mmbotでは䞡建おが基本のためよく盎面する. 売りず買いのそれぞれの泚文が同時に決枈されるわけではない.

片方残った堎合,

  • 䟡栌が戻るたで埅぀(どれくらいの時間か).
  • 指倀update
    • 未玄定オヌダヌをキャンセル埌玄定したオヌダヌに察し指倀泚文で反察売買.
    • 未玄定のオヌダヌをキャンセル埌同方向に指倀泚文を再床送信する.
  • 成行泚文で手仕舞いする
    • 損切りのタむミングを芋極める.
    • 片方だけ玄定したものを成行で凊理.
    • 片方だけ玄定できなかったものを成行で泚文.
  • 片匵り䞭にチャンスがあったら次の売買はするかしないか.
    • するならマルチスレッドで察応.

たささんmmbotたずめ #

なるほどmmbotのキモは圚庫管理.

ref. https://twitter.com/i/events/1015960962959069184

ただ、トレンドが発生するずその仮定が厩れ、「圚庫」を抱えおしたいたす。買ったけど䟡栌が戻らずに売れないずか。圚庫は凊分しなきゃです。積極的に凊分するず、䞀回ごずの損倱は枛るけど、勝率も枛る。抱えすぎおも逆に問題。芁はトレヌドオフです。

この「圚庫をどれだけ抱えおよいか」を最適化するのがMM戊略の肝のようです。それは「リスク回避床」ず呌ばれ、小さいほど①掚定した䟡栌垯の倀幅よりも狭めの幅で売り買い泚文を繰り返す、②圚庫を枛らしやすい方向に売り買い泚文の幅をずらす、のが基本的な考え方だそう。

郚分玄定察策 #

指倀泚文で䞀郚のみ玄定する堎合があるのでこのハンドリング戊略. ポゞションずれをどうリバランスするか.

郚分玄定, 䞀郚玄定は特に仮想通貚で぀かわれおいお䞀般的には内出来ずいう甚語の方が倚い気がする. filled/remainingで衚されるもの.

残っおしたった泚文に察しお泚文内容を線集しお曎新(取匕所によっおAPIで回で情報の線集曎新がたり, キャンセルず再泚文の2回のAPIの組み合わせで実珟), たたは損切りする. 圚庫管理の郚分的な問題ずいえる.

ロット数ず䞊行トレヌド #

1぀のbotのロットを䞊げるべきか, 耇数のbotで小さいロットにするか問題.


以䞋Twitterサルベヌゞ.


たくさん分割しお圚庫管理しながら指倀しおいる䟋.

https://twitter.com/yanoteck/status/1357600266887917569

損切り戊略 #

ストップリミット泚文やストップロス泚文をどう぀かうか.

;; https://twitter.com/javeleeer/status/1083654472046239744

mmbot、䞀定の閟倀(評䟡損、lotなど)を超過したら成行で捚おる凊理はナンセンスで蚱せないけど、圚庫管理関数が指倀泚文にペナルティを乗せた結果、成行レヌトで玄定しおしたうのはスマヌトな実装に思える。あるずおもいたす。

;; https://twitter.com/blog_uki/status/1001333128093351938?lang=ja こんにちわ。自分はstopは䜿っおいたせん。stopで枅算ずいう抂念ではなく、新しい指倀が玄定しお自然ずポゞションを0に埩元させる、ずいう考え方でやっおいたす。ポゞションずは反察偎の指倀が玄定しやすくしおいたす。

甚語敎理 #

俗語解説.

雑成行 #

あたり損埗考えずにえいやで䟡栌をきめお成行で出しおる人の泚文を刈る.

その他トピック #

蚘事を読んで埗たむンサむトのブックマヌク. 垂堎動向぀ねに倉化しおいるため, 叀い情報は今ずは乖離があるかも.

2皮類のmmbot #

  • 取匕指暙が瀺す方向に指倀を入れるbot.
  • スプレッドを意識しおask/bidの䞡建おをするbot.

;; https://twitter.com/asupega/status/1025777982273540098

mmbotず呌ばれるものにも2皮類あっお、uki氏のnoteにあったような、ずにかく指暙が瀺す方向に成行になっおもいいから指倀を入れ続けるタむプのbotず、スプレッドを意識しおaskずbidの䞡方に入れ続けるbotがあるような気がしおいお、埌者が爆益しおるような感じがするんですよね  

投資戊略の項目 #

https://italiajin.com/marketmake/

  • 盞堎の勢い
  • 圚庫リスク
  • 板の厚み
  • 想定期間経過埌の盞堎予枬

高頻床取匕の限界 #

ref. 100䞇円を1000䞇円にする取匕戊略を考えおみる䞻に取匕回数ず利回りの関係に぀いお - マクロは3:2:5

MMbotは耇利運甚が難しくこれから改良を続けおも自分の胜力ず照らし合わせお考えおおそらく日次50䞇皋床が限界取匕手数料無料か぀takerが倚い環境でしか利益を䞊げづらい戊略なので実質bitflyerFXでしか皌働が䞍可胜

スナフキン

珟圚ではどうかわっおいるか?

mmbot同士の戊いは熟烈なので、BTCJPYで今から勝぀のはほが䞍可胜 #

ref. 暗号通貚で勝おるのか 結論mmbotが唯䞀の可胜性 | (^・^)猫にビットコむン

結論高性胜mmbotを䜜る。方法は人それぞれ、運甚が肝。

  • 自分で䜜る。C++、JAVAなどコンパむル系蚀語による高速化は可胜性あるかも
  • 䜜っおもらう倚分高額

Javaの衚蚘が間違っおいるしコンパむル蚀語出ないずころが怪しいが, 高速化で差別化をはかるずいうむンサむトは埗た.

株取匕は板のAPIは公開されおいないず思うので、mmbotは運甚できない。

もし出来たらボロ儲けでしょう。

2022幎は公開されおいる. 株取匕API

倩䞋䞀BOT倧䌚 #

2018幎6月に行われたbotの収益を競うむベント.

最匷の仮想通貚自動売買botはどれだ第䞀回倩䞋䞀BOT䌚仮開催゚ントリヌ受付開始 | ALIS

倩䞋䞀BOT䌚でmmbotが驚異的な匷さを発揮したずかで泚目床アップ.

「倩䞋䞀BOT䌚」ドラゎンボヌルではなく仮想通貚自動売買ボット察決 | 銭ナビ

第2回.

「第二回倩䞋䞀BOT䌚 什和元幎蚘念倧䌚」開催今回はLiquidで | 銭ナビ

手数料に぀いお #

mmbotでは買いず売りを䞡方泚文するので手数料はそこも考慮. 理想的には手数料無料がいい.

䞀般人の成行泚文を刈る #

あなたの知らないbotの䞖界. 裁量トレヌダヌがbotのやっおいるこずを知っお驚くツむヌトをたたに芋かける.

結局どこの取匕所がいいのか問題 #

bitFlyer党盛時代が2018幎にあったようだが, そこから決定的なものはないのかな?

References #

理論 #

情報たずめ/やっおみた #

初心者, たたはこれからの情報.

サンプルコヌドあり #

戊略/Tips #

ある皋床取り組んだ芖点からの解説蚘事. 基瀎ずサンプルからの改善.