損益レポートと、質問を1つ受け取りました。このサイズで通用するのか、という質問です。5分足の平均回帰、USDT建ての中型無期限先物が約30銘柄、バックテストでは毎回、名目額を一律$2,000に設定。アウトオブサンプルのSharpeは2弱、コスト控除前の往復取引あたりの平均グロスエッジは約22ベーシスポイント。これまでは小遣い程度の資金で運用してきて、今度は本格的に資金を投じたい — 1回あたり$50,000といったところでしょうか。
率直に言えば、キャパシティは誰かが教えてくれる単一の数字ではありません。曲線です。今週やるべきことは、その曲線を描くこと。でも、スプレッドシートがあればかなりのところまで計算できます。高い授業料を払って知る前に、ぜひ計算しておいてほしいです。
まずは、すでにデータがある比率から
インパクトモデルを使う前に、参加率を計算しましょう。klinesにあるquote volume列 — index 7、つまりバーのUSDT建て売買代金 — を使って、典型的なエントリーバー出来高のうち、注文が占める割合を求めます。
あなたのような銘柄群でのイメージを、5分足quote volumeの中央値で示します。
| 銘柄区分 | 5分足quote volumeの中央値 | $2,000の注文 | $50,000の注文 |
|---|---|---|---|
| BTCUSDT | $18,000,000 | 0.01% | 0.28% |
| SOLUSDT | $3,200,000 | 0.06% | 1.6% |
| LINKUSDT | $450,000 | 0.44% | 11% |
| ARBUSDT | $220,000 | 0.9% | 23% |
| ユニバースの下位銘柄 | $60,000 | 3.3% | 83% |
$2,000のときは、どの銘柄でも誤差の範囲でした。だからバックテストの約定前提が検証されずに済んでいたのです。$50,000になると、表の下半分の銘柄では、バー出来高そのものに匹敵します。5分足バーの83%を占める注文は、もはや通常の執行ではなく、相場を動かすイベントです。スプレッドを跨ぐコストについて約定モデルが何を示していても、それはもうあなたが離れた世界の話です。
最初の目安として、私が使うルールはこうです。バー出来高の10%を超えたら、その約定についてバックテストが示す内容は信用しない。1%から10%なら、インパクトを慎重にモデル化する。1%未満なら、スプレッドと手数料が支配的なので先へ進めます。
自分の銘柄で平方根則をおおまかに調整する
基本となるモデルは平方根インパクト則です。リターンに対するコストは、ボラティリティに、消費する1日出来高の割合の平方根を掛けた値に比例します。
impact ≈ Y × σ_daily × √(Q / V_daily)
Yはほとんどの推定で1に近い定数、σ_dailyは銘柄の日次リターンボラティリティ、Qは注文の名目額、V_dailyはその日の名目出来高です。表のARBに近い銘柄を見てみましょう。5分足turnoverの中央値が$220,000なら、1日あたり約$63Mです。日次ボラティリティを仮に4%とします。
往復取引で計算しましょう。$2,000の場合、インパクトは4.5 bps、5-and-5の手数料体系でtaker手数料は10 bpsなので、コストは約14.5 bps。グロスエッジ22 bpsに対して、ネットは7.5 bpsです。損益レポートに出ている値とおおむね一致します。よし。実際に検証したサイズでは、モデルとバックテストが一致しています。$50,000の場合、インパクトは22.6 bpsで、手数料は同じく10 bps。コストは32.6 bps、エッジは22 bps。取引するたびに、参加料として10ベーシスポイントを払うことになります。
ネットをゼロにしてQを解くと、その銘柄では約$14,000です。25倍ではありません。7倍です。その範囲の後半3分の1は、誤差を吸収する余地のない戦略です。平方根は平方根らしく振る舞います。サイズを25倍にすると、単位あたりコストは5倍になり、名目額が増えるのと同じ勢いで損失が膨らみます。
キャパシティは銘柄ごと、バーごとに決まり、口座資金のように単純に足し合わせることはできません。「この戦略のキャパシティは$2M」というのはポートフォリオについての話です。制約がかかるのは、個々の銘柄の個々の約定です。ユニバースの下位銘柄が先に限界に達し、主要銘柄はまだ余裕がある、ということになります。
中央値ではなく、実際に取引する局面の出来高を使う
Yの選び方以上に大切な調整があります。今は出来高の中央値を基準に参加率を計算しました。でも、中央値のバーでエントリーするわけではありません。シグナルが発生したときのVを計算し直しましょう。
5分足の平均回帰は通常、急激な値動きの後に発動します。つまり、エントリーするバーのturnoverは中央値の2倍、3倍になることがあります。これは大きな恩恵で、単純計算に比べて実際のキャパシティが倍になることもあります。モメンタムのブレイクアウトにも同じ恩恵があります。固定リバランスや時間帯フィルターなど、スケジュールに沿ってエントリーする戦略にはこの恩恵はありません。静かな値動きの中でエントリーする戦略では、中央値から想定するより板が薄い状況で取引することになります。
だから、実測しましょう。エントリー時刻でgroupbyを1回かければ分布が得られます。平均ではなく、20パーセンタイルを見てください。リスクを決めるのは悪い約定だからです。エントリーバー出来高の20パーセンタイルが中央値を下回るなら、単純なキャパシティ推定は楽観的でした。今のうちに把握しましょう。
アルトコイン中心の運用を拡大したとき、本当に痛手になるもの
中型無期限先物30銘柄は、バックテスト上では独立した30個の賭けに見えます。でも、月に2時間だけ訪れる重要な局面では、賭けは1つです。連鎖的な清算が起きれば、すべてがBTCと相関し、すべての板が同時に薄くなります。同時に抱える12個の$50,000ポジションは、四半期で最悪の流動性にぶつけて解消しなければならない、単一の$600,000の方向性エクスポージャーです。
中央値の環境で調整したインパクトモデルには、そんなことは分かりません。Sharpeも同じです。対策はシンプルです。出来高が5パーセンタイルの日を使って参加率を計算し直し、最大同時グロス建玉をそもそも解消できるか確認します。参加率の上限を10%として解消に90分かかる一方、エッジが15分で減衰するなら、もう5分足の平均回帰戦略ではありません。平均回帰という説明をつけた、動きの遅い方向性ポジションです。
キャパシティの話は、いずれ保有期間の話になります。インパクトはスピードの代償です。長く保有できれば大きく取引できます。そうできないなら、動かせる変数はサイズだけです。
$2,000から$50,000へ増やす間に表面化し、意外に思われる制約がもう1つあります。レバレッジの段階制限です。多くの取引所では、中型無期限先物のポジション名目額が増えるにつれて最大レバレッジが下がります。小型銘柄では、最上位のレバレッジ区分が目指しているサイズよりずっと手前で終わることもよくあります。バックテストで想定した$2,000時点の証拠金は、$50,000で必要な証拠金とは異なります。必要資金が線形に増えると決めつける前に、ユニバースの全銘柄についてリスクリミット表を確認してください。
私なら今週こう進めます
- 同じバックテストを6つのサイズ — $2k、$5k、$10k、$25k、$50k、$100k — で再実行し、注文サイズをそのバーのquote volumeで割った値に応じて変わるインパクトモデルを組み込みます。スリッページを固定値にするのはやめましょう。固定値だったからこそ、$50,000でもいけると思えたのです。
- サイズに対するネットSharpeをプロットします。最初は横ばいで、その後に頭打ちになり、さらに下がる曲線になります。キャパシティは、その曲線が許容できるSharpeを下回るところを基準に、十分な余裕を差し引いた位置です。どのインパクトモデルも、出来高の薄い局面では楽観的だからです。
- ユニバースを流動性の段階ごとに分け、全銘柄一律ではなく、銘柄ごとにサイズを決めます。30銘柄に一律のサイズを割り当てると、下位銘柄が主要銘柄をひそかに補助することになり、バーの80%を消費するのもその銘柄です。
- 曲線が示すサイズでペーパートレードし、約定ごとに実際のスリッページとモデル値を記録します。この比較こそが、Yを本当に調整する唯一の方法です。私の場合、板の薄いアルトコイン銘柄群では1.0より1.4に近い値になりました。
まだデータを見ていない段階での予想ですが、流動性の高いユニバース上位3分の2なら、1回あたり$8,000–$12,000あたりに答えが落ち着くと思います。下位3分の1は、得られる約定を受け入れるより、まるごと外すべきでしょう。今のサイズからすれば、それでも大きな倍率です。ただ25倍ではありません。そして、その答えをスプレッドシートから知るのに費用はかかりません。
サイズ曲線ができたら送ってください。どこで頭打ちになるのか気になります。
← 記事一覧

