なにを学ぶか
- mmbotの損失の原因を明らかにする.
- 仮説を立てて検証をするコツを身につける.
- 難しいことをしない, 頑張らないでエッジを探すスキルを身につける.
イシューアナリシス
📍なぜmmbotの収益が5ヶ月連続マイナスなのか?
必ず損失を出す構造を明らかにしたい. 必ずというからには, そこには必然性があるはずだ. 利益と損失の頻度や額を比率を算出することでもう少し損失の解像度を上げる. 負けるにしても, その理屈がわかればメンタルへのダメージも少ない. トレードに対する知識が足りない気がする.
損をする理屈がわかれば, 仮に利益が全くでなくても損失額を30% 改善するという, より具体的なイシューを設定することが可能になる. 改善の糸口がみえる. とにかく解像度をあげていこう.
- なぜ損切りが多いのか?
- 損切りの原因を明確にする.
- ゆるいトレンド
- ヒゲの誤捉(ミスプライス)
- イナゴ暴落に巻き込まれる
- 損切りの局面を明確にする.
- トレンド
- レンジ
- 手仕舞いにおける損切りの割合を明確にする.
- 指値 close
- take profit(成行)
- stop loss(成行)
- 損切りの原因を明確にする.
💡損切りによる手仕舞いが多い
なぜ損切りが多いのか? 主観的観察では, とにかく損切りを連発してすぐにマイナスになる.
暴落ではない気がするんだよな. そもそも暴落は頻発しない. なので, イシューをゆるいトレンド対策にするのか, ヒゲ対策(できればそのままヒゲキャッチ)にするかを見極めたい.
🔍イナゴとヒゲキャッチの違いは?
ヒゲ及びヒゲキャッチについていろいろ調べた. たぶん損切りラインを超えるちょっとしたヒゲに食いついて損切りをだすことがいけない.
ヒゲ取りbotの文脈でいうところのヒゲは, けっこう大きめのヒゲを狙っているようで, これとは少し違うこともわかった.
ヒゲ発生は大口成行注文トリガーなので, 予測してすぐ回避は難しい. そのため, 現在の損切りラインを修正刷るのがいい気がする.
大口注文の話題は, マーケットメイクを調べたときにも脇にあったような気がするな. あれはなんだったか, ちょっと覗いてみる.
-
🔍イナゴトレードとは
イナゴは群集心理によって群がりが生じる現象. すこし勘違いをしていた.
高頻度というよりは, 中長期の戦略に近い. mmbot的にはイナゴ野郎たちに巻き込まれることを防ぐことがイシューとなる. 暴落回避 & イナゴエントリーは優先度を下げる.
以前のメモはいまいちピンとこなかったけど, たしかに普段死んだように誰も取引してなくても, 油断しているといきなり取引が増えることがある.
仮想通貨は株式や為替に比べると取引量が少ない反面, 一度に大量の取引が行われると大きく価格変動を起こすという特性がある. そして大きな価格変動が起こる際に出来高が急増する傾向もある. この特性によって出来高の急増を捕まえてシグナルにする戦略.
今も雑なロジックで取引量の集計はしているが, 改善の余地はたくさんありそうなものの, ちょっと優先度下げたいな.
-
TODO ⚖ストップロスのトリガーはヒゲかトレンドかイナゴか?
おそらく, イナゴではなく, ヒゲかトレンド. たぶんヒゲによる損切り.
この仮定の元, 背後の調査を飛ばしてさきに進める.
-
TODO 🔬ストップロスのパターンを調べる
どうも瞬間的なヒゲに即時反応して不利な損切りをしている気がしている.
- 市場急変によるヒゲによって損切り発動
- 緩やかなトレンドによる損切り発動
- イナゴタワー暴落による損切り発動
-> 3つのMECEなイシューにした.
-
-
🔍大口注文とヒゲの関係について論文から情報収集
あまり時間をかけずに手早く. どちらかというと好奇心で調べる. ヒゲやミスプライスの話題への理解を深めたい.
-
TODO エントリからエグジットの時間によるトレンドと暴騰暴落の判定
エントリからエグジットの時間の分布をみる.
💡損切りラインの2ATRが不適切
現在, あまり何も考えずにドンチアンの指標に従って損切りをしているがこれが不適切の可能性がある.
またATRを基準にするにしても, どの時間足が適切かも考える.
- 📍ATRは損切り指標として適切か?
- 📍2ATRは損切りラインとして適切か?
- 📍ATRを算出するためのローソク足の時間は適切か?
💡複数在庫に対応していない
マーケットメイクの本来の姿は多重でエントリをしていくのだが, わたしの資金の関係で多重の在庫管理をするようなマーケットメイクをしていない.
そのため, マーケットメイクのサイクルを回すためには, どうしてもある程度のしきい値で損切りをしている. この戦略がそもそも悪い方向にいっているのだろうか?
この制限厳しいな… Avellaneda Market Makingのキモの半分なのに. そもそもこれのせいですぐに損切りが必要となるから負ける.
-
📍いくら資金があると複数在庫対応が可能になるのか?
仮に在庫管理を真面目になるならば, せめて3多重, 理想は5多重までの資金を用意する必要があるが, 今の資産からそれを出せない.
-
試算結果
BTC/JPY=2500000, lot=0.01における必要なお金.
(0.01 x (多重数) x 2 + 0.01(部分約定用)) * BTC/JPY / 2(レバレッジ)
- 1: (/ (* (+ (* 0.01 1 2) 0.01) 2500000) 2) => 37500 - 2: (/ (* (+ (* 0.01 2 2) 0.01) 2500000) 2) => 62500 - 3: (/ (* (+ (* 0.01 3 2) 0.01) 2500000) 2) => 87500 - 4: (/ (* (+ (* 0.01 4 2) 0.01) 2500000) 2) => 112500 - 5: (/ (* (+ (* 0.01 5 2) 0.01) 2500000) 2) => 137500
-
✅利確は廃止
薄いスプレットの利益をとっていくmmbotにとって, タイムアウトで指値をずらして約定しやすくする戦略はあまり効果がない気かしたので廃止してみる.
実装をシンプルにする. makerのtake profitも今は検討しない.
💡緩やかなトレンドで負ける
瞬間的なヒゲでも突発的なイナゴでもなく, ブレイクアウトの緩やかな上昇で負ける.
レンジでは勝てるがトレンドで負けるか?
損失リスクは2つに分解できる.
- 逆選択リスク
- 在庫リスク
分解というよりは, 逆選択による在庫が従属にあるので, 要はトレンドによって損失が膨らむことになる. 要はトレンドなんだ.
データ分析から明らかにしたいことは, 市場の局面において勝てる市場と負ける市場があるのかどうか. そしてトレンドで仮に負けているがレンジでは勝てているという仮説が真ならば, 次のイシューはトレンド予測となる.
できれば, トレンドならばbotを動かさないでレンジだけ動かしたい. トレンドの利益を取りに行くのはレンジ対応のあとにして優先度を下げたい.
レンジ局面とトレンド局面の勝率を調べる
これは優先度を下げてもいいかも.
結構明確にトレンドではまけていてレンジでは負けないので.
ただ, レンジ + ヒゲ でも負けている気がするな…
トレンドの局面をMECEに分解する
トレンドにもいろいろと種類がある気がするのでトレンドに取り組むというイシューを細かく砕く. ざっと思いつく限りだと,
- イナゴタワーによる暴落
- 瞬間的なヒゲ(ミスプライス)
- ブレイクアウトによる持続的な緩やかトレンド
思いつくだけでも3種類ある. さらにネットで検索すると種類はあるかもしれない. このへんは裁量トレーダーのほうが圧倒的に知識がありそうだ. botではなくそっちを中心に見てみる.
💡mmbotが攻撃されている
このmmbotダマシのTopicについて再調査してみる. もしかして意図的に狙われている?
検証が面倒そうなのでこのイシューは深堀しない.
💡速度足らなかったりネットワーク遅延によるドローダウン
高負荷でなければ, たぶんこれはない.
websocketには対応したし, サーバのロケーションもチューニングした.
プログラム処理も非同期対応済み.
ストーリーライン
こうだったらという仮説を元にストーリーをつくってそれを検証していく. もちろんあたりが外れることもある.
📍原因: 損切り多発によりmmbotは負ける
損切りのトリガーは3つに分解できた.
- ヒゲ
- バンプ/ダンプ
- トレンド
📍原因1: ヒゲ
大口注文と損切りによる瞬間的な価格変動で負ける.
📍原因2: バンブ/ダンプ
📍原因3: トレンド
⚖暴落とトレンドの全体の損失に対する割合を算出して比較
ヒゲについてはもうデータ分析前に対策を入れてそれなりの効果があった.
損失金額との損失パターンの頻度を調査した結果, トレンドによる損失よりも暴騰/暴落による損失が多いことが判明した.
(ここに棒グラフなり円グラフなり).
✅対策1: 損切りを現在価格ではなくSMA/EMAによる丸めで切る
大口注文を予測することはできないので, 急激なヒゲに反応しない.
現在価格がxに達したら, でトリガーを出すと瞬間的な価格で損切りを出してしまうので, SMAなりEMAなりで, 平均をとった指標で切り捨てる.
✅対策2: 暴騰/暴落を回避する
ズルズルあがっていくのではなく, 突然やってくる暴騰/暴落で損をする.