TL;DR
- gross PnL の Sharpe 1.5 が、commission + slippage で net Sharpe ゼロまで下がるのは普通
- 取引コストは 3 成分: spread (bid/ask)、commission (broker)、slippage (market impact)
- 月 X 回 trade × round-trip Y% で年率 X×Y×12% の drag
- 高頻度ほど cost に殺される、低頻度ほど統計検定力が落ちる trade-off
Hook
「Sharpe 1.5 の戦略は、月 10 回 trade 時にゼロまで落ちる」
retail backtest の最大の落とし穴は「コストを甘く見積もる」こと。spread 0.05%、commission 0、slippage 0 と仮定すれば gross が綺麗な右肩上がり。net 計算した瞬間、edge が消える。
Background
Transaction Cost Analysis (TCA) は機関 trader の必須技能。Kissell (2013) “The Science of Algorithmic Trading” は TCA を体系化、retail にも応用可能なフレームワークを提示している。
LSE / NYSE が公開する TCA レポートでは、機関 trader の平均 round-trip cost が 5-15bp 程度。retail はそれより悪い (broker spread + commission の重なり)。
Theory — 3成分分解
取引コスト = Spread + Commission + Slippage
1. Spread (Bid/Ask)
bid/ask の中間で取引したいが、market order なら bid (買い) または ask (売り) を喰らう。
- 流動性高い ETF (SPY): 0.5-1bp
- 中流動性 ETF (sector ETF): 5-15bp
- 個別株 (大型): 1-3bp
- 個別株 (中小型): 10-50bp
- option: 5-30bp (delta 依存)
2. Commission
broker が課す手数料。近年 retail は無料化進展。
- US: 0 (Schwab, Fidelity, Robinhood) – 0.1% (older brokers)
- UK: £0-£12 / trade (interactive investor £4.99 など)
- option: 0-$0.65 / contract
3. Slippage / Market Impact
注文サイズが流動性を消費する量。retail サイズなら通常無視できるが、薄い market では発生。
- 大型 ETF + retail size: ~0
- 中流動性 ETF + 大きな注文: 5-30bp
- 個別株 + サイズ大: order size の 10-50%
Concrete example
教科書的な計算。月 10 回 entry/exit で年 240 trades (round-trip)。各 trade の round-trip cost:
| 想定 | spread | commission | slippage | round-trip total |
|---|---|---|---|---|
| 楽観 (大型 ETF, retail) | 1bp | 0 | 0 | 1bp |
| 標準 (中流動性 ETF) | 10bp | 0 | 5bp | 15bp |
| 悲観 (中小型株 + サイズ大) | 30bp | 5bp | 50bp | 85bp |
年間 drag = 240 × round-trip cost: – 楽観: 2.4% – 標準: 36% – 悲観: 200%+ (運用不可能)
つまり中流動性 ETF で月 10 回 trade なら、年 36% の cost drag。gross Sharpe 1.5 (= 年 15% / std 10%) なら、net は -21% / std 10% で 完全に負の戦略。
Limitation / Counter-argument
1. ETF spread は時間帯で変動
朝の open / 終了直前は spread が広がる。day 中の安定時間帯で trade すれば spread が縮む。retail backtest が time-of-day を考慮するかが重要。
2. Limit order で spread を回避
market でなく limit で出せば、spread を払わずに済む可能性がある。ただし約定確率が落ちる (Quant 連載記事 8 で扱ったとおり)。約定確率込みの effective edge を見る必要がある。
3. 機関 vs retail の cost ギャップ
機関は dark pool、internalization、smart routing で round-trip 5bp 以下の世界。retail は同じ商品でも 10-20bp 喰らう。「機関で機能する戦略」を retail で再現すると、cost 差で edge が消える。
4. tax drag を含めると更に悪化
短期 capital gain は税率高め (US 39.6%, UK 20% basic + dividend tax)。月 10 回 trade なら 100% 短期。長期 capital gain と差は数 % 以上ある。
5. Leverage コスト
margin で leverage する場合、IBKR で年 5-7% (USD)、retail broker は更に高い。leverage 2x で機械的に年 5-7% の drag が加わる。
Practical takeaway
retail で取引コストを正しく扱う規律:
- gross と net の両方を保存: backtest output は常に「pre-cost」と「post-cost」を並記
- frequency × round-trip cost で drag を直計算: 戦略採用前にこの数字を見る
- liquidity-adjusted Sharpe を使う: cost を引いた net Sharpe で判断
- trade frequency を意識的に下げる: 戦略 redesign で月 10 → 月 3 に減らせると drag が大幅減
- spread / commission の安い broker を選ぶ: IBKR、Schwab、Fidelity (US)、interactive investor (UK)
ただし net コスト計算は historical の見積もりであり、実際の slippage は将来の市場環境次第。OOS 検証が future performance を保証するわけではない。
まとめ
retail backtest の Sharpe inflation は年率化バグ + 取引コスト軽視の合わせ技。gross Sharpe 1.5 が net で 0 になるのは普通。
「frequency × round-trip cost = annual drag」を機械的に計算する習慣がつくと、戦略開発の判断軸が変わる。「edge の magnitude」より「edge – cost」が question。低頻度戦略の方が long-run で勝ちやすい構造。
参考文献
- Kissell, R. (2013). The Science of Algorithmic Trading and Portfolio Management. Academic Press.
- Almgren, R., Chriss, N. (2001). Optimal Execution of Portfolio Transactions. Journal of Risk, 3(2), 5-39.
- Frazzini, A., Israel, R., Moskowitz, T.J. (2018). Trading Costs. AQR Working Paper.
- LSE / NYSE Public TCA Reports.
- Harris, L. (2003). Trading and Exchanges: Market Microstructure for Practitioners. Oxford University Press.