BTC無期限先物戦略を再実行したところ、手数料控除後のSharpeが3分の1低下したとします。シグナルは同じ。約定も同じ。変えたのは1つだけです。手数料体系が口座の直近30日間の取引量に基づくものになり、テスト開始時の口座ランクが本番運用で到達したランクを下回っています。
シグナルを書き直す前に、2つの問いを切り分けましょう。この戦略は固定手数料ならいくら払ったのか。そして、この口座は時点ごとに実際いくらの手数料率が適用されたのか。これは別々の実験です。混同すると、割引を得るほど取引したために戦略が良く見え、その割引を無料で得られるかのように扱ってしまいます。
単一の料率ではなく、手数料体系から始める
取引所の手数料ページには通常、ランクごとのmaker・taker手数料率をまとめた表があります。現物とデリバティブでルールが分かれている場合もあります。バックテストに必要なのは、適用される手数料体系とランクの決定ルールです。取引量は30日間で集計されますか?暦月単位ですか?現物と先物は合算されますか?トークン保有による割引は取引量ランクの割引に上乗せされますか?
こうしたルールを、日付付きの入力条件として記録しましょう。単純化した例として、ある取引所が直近30日間の先物約定取引量に基づいて翌日の料率を決めるとします:
| 直近30日間の取引量 | Maker手数料 | Taker手数料 |
|---|---|---|
| $1 million未満 | 0.020% | 0.050% |
| $1 millionから$10 million | 0.016% | 0.040% |
| $10 million超 | 0.012% | 0.035% |
数値は説明用です。取引所の手数料体系や適用条件は変わります。重要なのは適用タイミングです。前日の約定は翌日の手数料に影響しますが、当日の約定で当日分の割引をさかのぼって受けることはできません。
バックテスト口座にも取引量の履歴が必要
戦略が1日あたり$80,000をすべてtakerで取引するとします。最下位ランクでは、$100,000の往復取引にかかる手数料は約$50です。これはエントリーと決済で取引する名目金額$100,000に0.050%を掛けた額です。中位ランクなら$40です。この$10の差は小さく見えますが、往復取引を800回行えば、テスト期間中に$8,000の差になります。そして、その取引自体が取引量を生み、手数料ランクを変えた可能性があります。
この相互作用は実際に起こりますが、モデル上の落とし穴にもなります。バックテストの終了時に中位ランクへ到達したからといって、戦略を中位ランクで開始すると、未来の口座取引を過去に持ち込むことになります。事前の取引量を明示して開始し、対象となる約定のたびに直近期間の取引量を更新し、取引所のルールに定められたタイミングでのみランク変更を適用しましょう。
次の3つの数値は分けて管理しましょう:戦略が取引した名目金額、ランク計算の対象となる口座取引量、そして各約定で実際に請求された手数料です。取引所が一部の商品を対象外にしたり、特定の取引では片側だけを集計したり、モデルに含めていない残高に応じた割引を適用したりする場合、これらの数値は一致しません。
固定料率のテストも並行して実行する
確認すべき結果は2つです。まず、戦略全体を保守的な固定taker料率で再実行します。これにより、取引回転率が基準を動かすことなく、アイデアが執行コストにどれほど左右されるかがわかります。次に、開始時の残高と取引量履歴を記録したうえで、口座状況を反映した手数料体系で実行します。これは、明示したルールのもとで、この口座がたどった可能性のある経路を推定します。
そのうえで、手数料総額、取引回転率、手数料控除後のP&L、ドローダウンを比較します。口座状況を反映した実行だけが改善するなら、妥当なランク移行による効果と、開始時の履歴、商品をまたいだ取引量、あるいは口座が適用対象にならない可能性のある割引に依存する効果を見極めましょう。どちらの実行でも優位性が失われるなら、手数料ランクは主な問題ではなかった可能性があります。
また、約定モデルがすべての指値注文に約定機会があったかのように仮定しているのに、maker約定には最も有利な料率を適用するのは避けましょう。手数料体系が正確でも、約定の仮定が現実離れしていることはあります。それぞれ分けて検証しましょう。
結果を再現できるようにする
手数料体系のバージョン、ランク判定期間、切り替えのタイミング、対象商品、開始時の取引量をバックテストと一緒に保存しましょう。日次の簡単な台帳も記録します。直近期間の開始時取引量、追加された約定、適用ランク、請求手数料です。取引所が料率を改定して結果が変わったとき、戦略が変わったのか、口座の推移が変わったのか、前提条件が変わったのかを把握できます。
答えたいのは、範囲を絞った実用的な問いです。実際に説明できる手数料体系と口座履歴のもとで、この戦略はいくら払ったのか。特定の日のランクを再現できなければ、バックテストの手数料控除後の結果が何を意味するのか、まだわかっていません。
← 記事一覧


