
予測力と執行戦略について
はじめに
こんにちは、Hohetoです。
スナフキンさんが余生を過ごしながら書かれているこちらの記事を拝読しました。
この記事の中で筆者のツイートが引用されておりましたので、本件について筆者の考えを簡単にまとめてみたいと思います。
ボット自体の収益力において重要なのは、戦場選び & 執行戦略 >>> 予測力 だと思っているので、本来リソースをかけるべきなのはMLではなく様々な市場へのアプローチや多様な執行戦略のトライ&エラーでは?とか思ってしまうわけです。
— Hoheto (@i_love_profit) September 24, 2020
結論から言うと、予測力も執行戦略も、どちらも重要です。
ただ、あえて序列をつけるのであれば、「収益の期待値と執行コストの期待値のバランス次第」ということです。
そしてそのバランスは、扱う時間軸によって大きく左右されます。
予測力について
短い時間軸は予測がしやすい
未来は予測不可能とよく言いますが、それは時間軸と程度の問題です。
極端な話をすると、5秒後の価格変化はかなり高い精度で予測可能ですし、一か月先の価格変化はほとんど予測が不可能でしょう。
ここで乱暴な例として5分足の価格予測の例を挙げます。
直前の5分間の価格変化がプラスであれば次の5分間は売り
直前の5分間の価格変化がマイナスであれば次の5分間は買い

グラフは、上述のルールで売買したときの累積リターンです。
執行コストがゼロで理想的な価格で執行ができた場合、グラフはきれいな右肩上がりになります。
ただし、頻繁にポジションチェンジを繰り返すため、手数料やコストが少しでもかかれば、損益曲線はマイナスになってしまいます。
長い時間軸は予測が難しい
一方、より長い時間軸においては予測は難しくなります。
イーロンマスクがビットコインに対してポジティブなつぶやきをしたら価格上がるかもしれませんし、米SECが強烈な規制を発表したら価格は下がるかもしれません。
当然ですが、1時間先の価格帯を当てるよりも4時間先の価格帯を当てる方が難しいです。
また、1日先や1か月先というように長い時間軸になればなるほど予測が難しくなります。
「バタフライ・エフェクト」で有名なカオス理論のような学問も存在します。
執行戦略について
執行とはなにか
スナフキンさんの記事を引用します。
注文執行とは、文字通り注文を出して約定するまでのことを言います。
注文執行には色々な方法があり、例をあげると
・指値を出す
・成行注文を出す
というのも注文執行の方法になります。指値を出す場合には、指値をどこに出すのかというのが変数として含まれます。
一言で言えば「どう約定させるか?」なのですが、他にも以下のようなバリエーションが考えられます。
成行を使う、あるいは指値を使う
近くに指値を出す、あるいは遠くに指値を出す
すぐに注文を出す、あるいは見計らって注文を出す
一気に注文を出す、あるいは分割して注文を出す
指値で約定しない場合は放置する、あるいは指し直す
予測力の高さや市況に応じて上記を使い分ける
少し毛色が異なりますが、取引所の中には注文を板に乗せない方法を提供しているところもあります(手数料が余分にかかるケースが多いです)。
執行戦略とはなにか
執行にはコストがかかります。コストとは以下のようなものです。
取引手数料
取引所ごとに設定されている取引手数料です。成行と指値では異なる手数料が設定されているケースが多いです。
また取引所によっては、指値注文にマイナス手数料(リベート)を設定しているところもあります。
スリッページ
成行注文を発行したときの価格と実際に約定した価格との差。
スプレッド
最良買い価格と最良売り価格の差。成行注文をしたときは、スプレッド分不利な価格となります。
実運用下での劣化
・未約定コスト。約定させることができず、その分生じた機会損失。部分約定もこれに含まれます。
・約定価格のずれ。いくつか原因は考えられますが、例えば足確定後~指標計算が完了するまでのタイムラグによって生じるずれであったり、指値でなかなか約定せずに追いかけたときの価格のずれなど。
マイナスコスト(収益に上乗せされるもの)
・取引所が支払うマイナス手数料(上述)。
・指値で約定させたときのスプレッドや値幅など。
執行戦略とは、前節の様々な執行バリエーションを組み合わせて、執行コストをゼロ(あるいはマイナス)に近づけるための複雑な最適化問題です。
基本的には「良い執行戦略=コストが低い執行戦略」と考えてよいでしょう。
予測力と執行戦略のバランスについて
執行コストはどこまで許容されるのか
執行コストが大きくなると、予測力が十分大きくても収益を回収できなくなります。
執行コストの許容範囲は、1トレードにおける「収益の期待値」と「執行コストの期待値」のバランスで決まります。
例えば1トレードにおける執行コストの期待値が0.05%、つまり5bpであったとしましょう。
目安としてビットコイン価格を40,000ドルと仮定すると、執行コストの期待値は20ドル幅ということです。
例えば時間軸が長めのスイングトレードで1トレード当たりの収益の期待値が100ドル幅であれば、この戦略は成立します。
ですが、もっと短期&高頻度なトレードで収益の期待値が10ドル幅しかなければ、この戦略はシミュレーション上の空論となります(実運用に乗せたときに収益が回収できない)。
予測力が高くシュミレーション上で大きな収益を上げる戦略が、実は執行が難しく回収できないエッジだった・・・ということはよくあります。ボット作成者のほとんどが通る道なので、注意が必要です。
長い時間軸であれば、執行コストは影響は小さくなる
一般的に、短い時間軸の取引戦略は、
・収益の期待値が小さい
・執行回数が多い(=執行コストが大きい)
という特徴があります。つまり、執行コストの影響が大きくなりがちです。
反対に長い時間軸の取引戦略は、
・収益の期待値が大きい
・執行回数が少ない(=執行コストが小さい)
ため、執行コストの影響は小さくなりがちです。
ですので、ヤスさんがツイートされていますが、4時間足以上のスイングトレードであれば、成行1発で執行してしまっても影響は小さいです(証拠金が大きくならない限り)。
データサイエンティストが仮想通貨に参入するなら4時間足以上のスイング戦略をオススメするよ
— ヤス@日足教 (@yasu_smaholi) January 5, 2022
脳死で成行売買すればいいから執行戦略いらない
もちろん執行戦略もこだわったら成績上がるだろうけど
以下、こちらも乱暴な例ですが、日足の価格予測の例です。
直前の1日間の価格変化がプラスであれば次の1日間は売り
直前の1日間の価格変化がマイナスであれば次の1日間は買い

5分足の例とは異なりコスト10bp程度までかかってもある程度耐えている様子が分かります。
まとめると、一般的に以下が言えるでしょう。
短い時間軸では予測よりも執行の方が重要となる(=執行が難しい)。
長い時間軸では執行よりも予測の方が重要となる(=予測が難しい)。
筆者の所感
ではなぜ筆者は冒頭のツイートで「執行戦略>>>予測力」とつぶやいたのか?
それはやはり、今のbotter界隈では比較的短期の戦略が主流になっている(ように見受けられる)からです。筆者も多分に漏れません。
短期の戦略であれば取引回数を多く稼げます。収益のバラツキを均してドローダウンを小さくできますので、副業的に行うボット開発で好まれやすいのだと思います。改善のサイクルを回しやすいのもポイントです。
あと、そもそも予測が必要ない戦略(アビトラなど)もあるので、その場合は物理的なネットワークスピードなども含めた「執行の総合力」の勝負になるような戦いもあります。
まとめ
予測力と執行戦略の2点に絞って言えば、
予測力も執行戦略も、どちらも重要
あえて序列をつけるのであれば、「収益の期待値と執行コストの期待値のバランス次第」
今回の記事は以上です。それではよきbotterライフを!