CEX仮想通貨bot戦略.

🗺CEXbot戦略マップ

このツイートかっこいい.

https://twitter.com/Ros_1224/status/1356615335604981760

アルゴリズム系

一定のルールに従い注文をする. 価格の上昇を下降を予測しない系.

株取引だとマーケットメイクとアービトラージが古典にして王道. アカデミックな情報も多いがブログ記事は少なめ.

ディレクショナル系

価格の上昇/下降を予測する系. テクニカル指標もつかう. 裁量トレードの自動化なので, 裁量トレーダーのブログ記事やら知見や分析も活かせるかも.

イベント系

ドッカンバトル.

積立系

魔界系

AI系

  • 🤖MLbot: 機械学習をつかっているbot.
  • 🤖RLbot: 強化学習をつかっているbot.
  • 🤖GPTbot: ChatGPTに投資判断をさせるbot

その他

よくわからない(理解してない)やつ.

頻度による分類

  • 📝高頻度bot: 取引を頻繁に繰り返すbot, HFT. スキャルピング自動化.
  • 📝スイングbot: 数日から数週間程度の長さでポジションを持つbot.

取引所による分類

  • CEX Bot: CEXを相手にするbot. さらに国内, 海外の分類がある.
  • 📝Dex Bot: DEXを相手にするbot.

収益源による分類

エッジを軸にして整理.

📍損切り戦略

📍損切りパターンまとめ

📍遅延/スリッページ対策

スリッページの課題を技術的に克服するノウハウ. 主にネットワーク遅延やサーバ負荷のハンドリングノウハウ.

  • ネットワーク遅延
    • 通信負荷
    • 通信エラー
  • サーバ負荷
    • 注文の集中
    • サーバの内部エラー

🔖指値テイク

テイク指値, take指値, 指値テイクなどなど. 名称はいろいろ.

遅延やスリッページを考慮して, 指したい価格に対してマージをとって指値をいれる方法. 注文オプションに, IOCFOKを設定する. このことによって, 指定した価格より不利な価格で約定することを防ぐ.

とくに市場急変時は, 板がスカスカになったところに遅れて損切の成行を出すと, スカスカに注文を突っ込んでとんでもないことになるケースがある.


bitFlyer遅延問題

このイシューに関してはとくにネットワーク遅延やサーバ負荷によるbitFlyerサーバに関わる情報がとてもおおいのでこのTopicはbitFlyerのメモにまとめる.

✅bitFlyer遅延問題と対策

板情報を自炊してローカルメモリ同期

websocketから流れてくるtickからWeb画面で見られるような板情報を自作する. そうすると売り買いのマッチングである約定判断やポジション管理もできるようになる.

これができるようになると情報取得コストを削減できるし, たまに発生する通信遅延や失敗を回避できる.

板情報キャッシュにSortedDictをつかう

SortedDictは追加した要素が自動的にkeyの値で昇順にソートされるシーケンス型です。要素の追加・削除は計算量O(log(n))であるため、O(1)の組み込みのdictに比べると若干遅いですが、板情報を現在価格から近い順に参照したい場合、追加のsort(通常計算量がO(n log(n))以上)が必要ないため、結果的に高速に動作します。

追加するたびにソートではなく, 使うときだけソートという戦略もある.

;; https://mobile.twitter.com/arms22/status/1354972612875542531

sorteddict なんていらんかったんや。使う直前にsort一回すればええんやで。

板情報の更新にsorteddictつかったんだけど更新のたびにソートが走るので僕の用途にはあわないなぁと思った次第。

約定履歴検索に二分探索をつかう

idが時系列の数字であることに注目.

[二分探索]少ないAPIリクエストで効率的にbitFlyer約定履歴を検索する|Nagi|note

ポジションずれ問題

取引所からポジションのデータがエラーで取得できなかったりといった理由で遅延して送られてくること.

仮想通貨bot手法/戦略Topics

手法各論ではなく, 手法同士の比較や一般論をまとめ.

📍戦略イシュー

戦略の抽象化.

ref. 脱初心者。BOTで利益を上げるための読み物|kapipara|note

  • セットアップ
  • 売買シグナル
  • プロテクティブストップ
  • ポジションサイジング
  • 手仕舞い

参考になった. いろいろな人がそれぞれの用語でこれらのイシューのどれかもしくは組み合わせをかたっている. 多かれ少なかれこの5ステップで分解して取り組むことになるのでは?

🆚高頻度(HFT)botとスイングbot比較

  • 取引頻度
    • HFTは多い. 手数料はスイングよりかさむ.
    • スイングは少ない.
  • 利確の回数
    • HFTは多い. スイングは少ない. これは取引頻度の差.
  • 1回の利益
    • HFTは小さな利益を積み重ねる.
    • スイングは大きいトレンドを狙い大きな利益を取りに行く.
  • 開発難易度
    • スイングはHFTに比べて取引回数が少ないという点では容易.

💡予測より執行

予測と執行どっちが大事か, という議論.

予測の議論は📝仮想通貨bot: 仮説検証でするとして, ここでは執行における有意性の情報をまとめる.

;; https://twitter.com/Ros_1224/status/1310462781661917184?s=20

何が難しいって執行戦略>>予測力 はそうなんですがそれ以前に執行する対象がないんですよねようは約定がないんですwww 対象銘柄の選定方法を見直すべきか?

;; https://twitter.com/i_love_profit/status/1309272693594681346?s=20

ボット自体の収益力において重要なのは、戦場選び & 執行戦略 >>> 予測力 だと思っているので、本来リソースをかけるべきなのはMLではなく様々な市場へのアプローチや多様な執行戦略のトライ&エラーでは?とか思ってしまうわけです。

💡論文から投資戦略のアイディアを探す

筆者がこれを感じたのが、マーケットメイク(高頻度取引)に関わる戦略でした。2018年頃の話ですが、株式戦略で体系の出来上がってきた板取引戦略の論文を活用することで、ボットの収益性を向上することができました。

Insights

✨市場を動かす主要経済指標発表時は仮想通貨Botは止めたほうがいい

米CPIでビットコイン価格が暴騰したのを目撃したことによるインサイト. このようなイベント系による暴騰暴落にBotは特に弱いので対策をしないならば止めたほうが無難. なぜならば不確実性が高い. 専門家も予想を外す?

仮想通貨はより一層市場の急変が他の商品をより大きい. むしろ暴騰暴落を確認してからリバージョンを狙うBotをつくったほうがいいかもしれないし, イベントチェックと合わせてマニュアルトレードでもいいかも.

とりあえず研究するかどうかはおいといて🤖ファンダBotと名付けた. これは🤖イナゴbotのサブBotに位置づけた.

🔗References

up: