バックテストにおける取引コスト:思っている以上に重要な理由
取引コストとは、取引のたびに発生する摩擦のことで、手数料、スプレッド、スリッページ、マーケットインパクト、ショートポジションの借株コストが含まれます。年間コスト負担はおおよそ往復取引回数に往復あたりコストを掛けたもので、10ベーシスポイントの往復取引を年200回行うと資本の約20%になります。
バックテストで良好だった戦略が実運用で失敗する最もよくある理由は、戦略のロジックではなく取引コストです。手数料、スプレッド、スリッページ、マーケットインパクトは、取引のたびに積み重なります。摩擦のないバックテストで年率15%のリターンを示す戦略も、現実的なコストを加えると簡単に純損失に転じます。これらのコストを理解しモデル化することは任意ではなく、必須です。
取引コストの種類
取引コストにはいくつかの形があり、ほとんどのトレーダーは最も目に見えるものしか考慮していません。
- 手数料:1取引または1株ごとに課される明示的な料金です。ディスカウントブローカーでは、ゼロ(Robinhood、Webull)から1株あたり $0.005(Interactive Brokers)まであります。先物では通常、1枚・片道あたり $0.50-$2.50 です。
- ビッド・アスク・スプレッド:最良の買値と売値の差です。SPY では通常 $0.01(約0.2ベーシスポイント)です。小型株では $0.05-$0.20(10-50ベーシスポイント)になることもあります。スプレッドの半分をエントリー時に、残り半分をエグジット時に支払います。
- スリッページ(slippage):期待した価格と実際に約定した価格の差です。注文処理の遅延、執行中の相場変動、部分約定によって生じます。流動性の高い市場での指値注文ならほぼゼロですが、ボラティリティが高い、あるいは流動性の低い状況での成行注文では大きくなります。
- マーケットインパクト(market impact):自分の注文によって生じる価格変動です。流動性の高い銘柄での個人投資家規模の注文なら無視できますが、大きなポジションでは重要になります。日次出来高 $5M の株に $500K の成行注文を出すと、価格は明らかに不利な方向へ動きます。
- 借株コスト:ショートポジションでは、株を借りるための料金を支払います。借りやすい大型株では年0.25%、借りにくい銘柄では年50%以上になります。多くのバックテストは借株コストを完全に無視しており、あらゆるショート戦略の見かけの収益性を水増ししています。
コストはどう積み重なるか
取引コストは加算的ではなく乗算的に効きます。年間200回の往復取引を行い、往復あたりの合計コストが10ベーシスポイント(スプレッド、スリッページ、手数料の合計)の戦略を考えてみましょう。これは 200 x 0.10% = 毎年資本の20%が摩擦で失われることを意味します。損益分岐点に達するだけでも、少なくとも20%の総リターンが必要です。
だからこそ、取引頻度はコストの影響を決める最大の要因です。1取引あたり同じ10ベーシスポイントでも、月次リバランス戦略がコストで失うのは年1.2%にすぎません。日次戦略は25%を失います。1日10回取引するデイトレード戦略は250%を失います。これは明らかにあり得ない数字であり、その頻度で成り立つには1取引あたりはるかに大きく稼ぐ必要があるということです。
資産クラス別の現実的な見積もり
バックテストに取引コストを加える際は、以下の現実的な往復コストの見積もりを使ってください。
- 米国大型株(S&P 100):合計3-8ベーシスポイント(スプレッド + スリッページ)。ディスカウントブローカーなら手数料はほぼゼロです。
- 米国中小型株:10-30ベーシスポイント。スプレッドが広く、スリッページも大きくなります。
- 主要 FX 通貨ペア(EUR/USD、GBP/USD):流動性の高い時間帯で1-3ベーシスポイント。ニュース発表時には10以上に広がることがあります。
- 主要暗号資産(BTC、ETH):主要取引所で取引所手数料込み10-20ベーシスポイント。アルトコイン:20-60ベーシスポイント。
- 米国株式オプション:1枚あたり5-15セントの手数料に加え、流動性の低い権利行使価格ではオプション価格の2-10%になり得るスプレッドコストがかかります。
- 先物(ES、NQ):1-2ベーシスポイントのスプレッド + 1枚・片道あたり $2-5 の手数料。大きな想定元本に対して非常に効率的です。
バックテストでコストをモデル化する方法
最もシンプルな方法は、1取引あたり固定の割合でコストを差し引くことです。半分をエントリー時、半分をエグジット時に適用するか、決済した各ポジションに往復コストの全額を適用します。精密ではありませんが、コストを完全に無視するよりはずっとましです。
より現実的な方法では、コストの各要素を個別にモデル化します。
- 1株または1取引あたりの固定手数料
- 約定コストとして平均ビッド・アスク・スプレッドの半分
- ボラティリティに比例するスリッページ係数(例:アベレージ・トゥルー・レンジの10%)
- ショート戦略では、年間の借株コストを日割りで控除
最も理想的なのは、ティックごとの板情報データを使って現実的な約定をシミュレーションすることです。ただしこれには専用のインフラが必要で、ほとんどの戦略開発には過剰です。資産クラスごとの現実的な見積もりで調整した固定割合の方法でも、コストに関する問題の大部分は把握できます。
戦略選択への影響
取引コストは、どの戦略が成り立つかを根本から変えます。1取引あたりの優位性が小さい高頻度戦略はコストに極めて敏感で、執行コストがわずか1ベーシスポイント違うだけで収益性が逆転することもあります。1取引あたりの期待変動が大きい低頻度戦略は、コストの前提に対してはるかに頑健です。
ここから実践的な優先順位が生まれます。機関投資家レベルの執行(コロケーション、スマート・オーダー・ルーティング、ダークプールへのアクセス)が得られないなら、取引頻度が低く、1取引あたりの期待利益が大きい戦略を優先すべきです。1取引あたり3%の期待利益を持つ月次リバランス戦略は、1取引あたり0.1%を見込む日次戦略よりも、執行の不完全さにはるかに寛容です。
手数料ゼロの神話
手数料ゼロのブローカーの台頭は、トレードは無料だという危険な誤解を生みました。無料ではありません。手数料ゼロのブローカーは、あなたの注文フローをマーケットメイカーに売るペイメント・フォー・オーダーフロー(PFOF)で収益を得ています。マーケットメイカーは、あなたの約定価格と真の市場価格との差から利益を得ます。
学術研究によると、PFOF は個人投資家に平均で1株あたり1-3セントのコストをもたらしており、これは従来の1株あたり手数料体系と同等かそれ以上です。$50 の株なら1株2セントは4ベーシスポイント、往復では8ベーシスポイントになります。たまにしか取引しない人にとっては取るに足りません。しかし年間200回以上取引する戦略にとっては無視できない負担となり、バックテストで考慮する必要があります。
試してみましょう
コストの影響を理解する最善の方法は、同じ戦略を取引コストありとなしで実行して比較することです。QuantPrompt はバックテストに取引コストのモデル化を組み込んでいるため、手数料やスリッページが戦略の純パフォーマンス、シャープレシオ、ドローダウンにどう影響するかを確認できます。戦略を説明し、バックテストを実行し、結果がさまざまなコスト前提にどれほど敏感かを調べてください。コストがわずかに増えただけで優位性が消えるなら、その戦略は実運用には脆すぎます。
よくある質問
参考文献
- Perold, A. F. (1988). The Implementation Shortfall: Paper versus Reality. The Journal of Portfolio Management.
- Almgren, R. & Chriss, N. (2001). Optimal Execution of Portfolio Transactions. The Journal of Risk.
- Frazzini, A., Israel, R. & Moskowitz, T. J. (2018). Trading Costs. SSRN.
- Novy-Marx, R. & Velikov, M. (2016). A Taxonomy of Anomalies and Their Trading Costs. The Review of Financial Studies.