Binanceでは誠実に見える1分足のBTCモメンタム戦略があった。テイカー手数料、ファンディング、すでに少し厳しすぎるくらいにしておいた平方根インパクト項。恥ずかしくないウォークフォワード。ペーパー口座はBybitにあった。キーがそこにあったからだ。BTCはBTCだと自分に言い聞かせた。金曜までには、埋められないリードラグを取引していた戦略と、口座を持っていない取引所に属するSharpeが手元に残っていた。
月曜:きれいなBinanceバックテスト
エージェントが吐き出したのは、ほとんど退屈なくらいのものだった。15バーリターンと遅い平均の比較、次バーの始値でロングまたはショート、ストップか12分後にフラット。これをBinance USD-M BTCUSDT、2023年から2026年初頭までにあてはめ、コスト控除前の数字は一切見ないことにした。
4.0 bpsのテイカー、毎時ファンディング、インパクトのあと、ウォークフォワードSharpeは1.6に落ち着いた。1約定あたりの平均ネットエッジは3.4 bps。トレード数は十分多く、ブートストラップをいじるのはやめた。自前スタック用にすでに入れているレイテンシパッド(シグナルから注文まで、調子のいい日で40ミリ秒)ではほとんど動かなかった。もっと脆くないことに、かすかに苛立ったのを覚えている。
火曜:ペーパー口座が「スリッページ」しはじめる
ペーパーは09:12 UTCに稼働した。同じコード、同じパラメータ、同じ「次の始値」ルールを、Bybitのlinear BTCUSDTに向けた。最初の午後は不運の連続に見えた。同じ分のBinanceリプレイより2–8 bps悪く約定し、しかも常にトレードの方向に偏っていた。ブロッターはスリッページと言っていた。その外れが、Binanceがすでに動き出していた分に集中するまで、私はブロッターを信じていた。
一晩たっても、ギャップはノイズの多い約定モデルが平均回帰するようには平均回帰しなかった。そこに居座った。Bybitでの買いが、Binanceが1拍前に見せていた価格でプリントされ、それからBybitが到着し、それから私たちがそれを払った。そして戦略が欲しがった分は、2つのテープが食い違っていた分だった。静かな分では、終値は重なり合い、戦略は関心を持たなかった。ダイバージェンスを選び取り、それをアルファと呼んでいたのだ。
水曜:2つのテープ、1つの時計
両方の最終約定フィードを引き、取引所タイムスタンプで揃え、失礼な質問をした。BTCが少なくとも2ティック動いたとき、どちらが先にプリントしたか?穏やかな時間帯では、そうしたバーストの約3分の2でBinanceがBybitをリードし、リードの中央値はおよそ40ミリ秒。これは「レイテンシを足した」会話の多くに収まり、1分バーの外にある。火曜のCPI発表ではリードは数百ミリ秒まで伸び、醜い数秒間、2つの最終価格は$80離れていた。私は両方のラダーを開いたまま座り、Binanceがすでに上映し終えた映画をBybitが追いかけるのを見ていた。
それがその週の味わいであり、Sharpeには入っていない。暗号資産の最終価格が取引所ローカルだということは、頭では分かる。同じコインを2つのウィンドウで見て、片方は過去に生きていると気づくのは、別の話だ。
それから、月曜に要求しておくべきだったテストをした。Binanceのシグナルはそのまま。約定はBybitの次の始値。流動性の高いテープを覗いて別の場所で取引する場合、それがペーパー口座の実際の情報集合であり、サイズでは絶対に手に入らない先読みの一種でもある。執行取引所がまだプリントしていない価格を使っているのだ。エッジは0.6 bpsになった。逆にすると(Bybitシグナル、Binance約定)、ファンタジーが出来上がる。同一取引所のBinanceは3.4のままだった。「戦略」の大半は、より速い板にいることだった。
取引した分の1分終値ギャップの中央値は4.1 bpsだった。無条件に、すべての分を通すと、およそ1.5。当然だ。シグナルは、誰かがすでに動き始めているときに発火する。私たちは選択されたサンプルでエッジを測っていた。取引所間の食い違いがまさにそこに住んでいる。
以前は、最悪の取引所バグはシンボルマッピングだと思っていた。BTCUSDT対BTC-PERP、静かにポジションを二重化する結合。それは帳簿処理だ。これはCPI中に2つの板を見て、自分が取引していない市場をリサーチしていたと気づくことだった。
木曜:ファンディング、マーク、手数料も同じ市場ではなかった
最終価格が違うと認めれば、市場データ契約の残りも違うと認めざるを得ない。私たちはBinanceの手数料表をBybitのペーパー口座にコピーして、コスト行がずれる理由を不思議がっていた。
| 入力 | Binanceバックテスト | Bybitペーパー、その週 |
|---|---|---|
| 最終価格 | Binance USD-M | Bybit linear |
| テイカー手数料 | 4.0 bps | 5.5 bps |
| ファンディング間隔 | 毎時 | 00 / 08 / 16 UTC |
| マーク / 指数 | Binanceバスケット | Bybitバスケット |
| 最小数量 / ティック | 0.001 / 0.10 | 0.001 / 0.10 |
| 清算計算 | 未到達、BTC | マークは違う、それでも未到達 |
ティックとロットはBTCではたまたま一致していた。それを一般化するつもりはない。木曜の夜に覗いたSOLの板では、ティックサイズも最小想定元本も両方違い、取引した分の終値ギャップは11 bpsだった。ファンディングはより遅い漏れだった。Binanceは毎時払っていた。Bybitのそのlinearはまだ8時間時計だった。01:00 UTCをまたいだポジションは、リサーチ台帳ではBinanceの課金を受け、ペーパーでは沈黙し、それから08:00に一括が来た。バックテストはそれをすでに点滴していた。キャリーは1週間では一致し、午後のあいだでは食い違った。まさにこの戦略が生きていた時間軸だ。
手数料はほとんど退屈なくらいで、それでも3.4 bpsの話から1.5 bpsを食った。人は4.0対5.5を脚注扱いする。2%の日次変動の隣では小さく見えるからだ。3.4 bpsのエッジの隣では小さくない。それはすでに知っていた。知識を、間違った取引所の料率表に当てはめていただけだった。
金曜:Bybitネイティブでの再実行
全体をBybitのOHLCV、Bybitのファンディング時刻、Bybitの5.5 bpsで作り直す。同じコードパス、同じウォークフォワードの切れ目、同じインパクト関数。Sharpe 0.4。平均ネットエッジは0.9 bps。Binanceの先見をプレゼントするのをやめれば、1分足テイカー戦略のノイズの内側に収まる。
ノイズが多い市場ではなく、別の市場だった。ペーパーがバックテストを棄却したのは、ペーパーが抽象的に「より現実的」だからではない。ペーパーは、リサーチが見たことのない板で執行していた。1.6は内部的には一貫していた。間違った取引所について一貫していたのだ。
Binance版はアーカイブに残し、レポートにメモを付けた。この口座をこのテープに対してペーパーするな。走り続けてよいのはBybit版で、誰もスレッドを書かない数字だ。それが正しい結末だ。今でも1.6が少し惜しい。それが、稼いでいない仕事をしていた証拠だ。
次回スキップすること
近道は社会学的なものだった。Binanceは、どのベンダーも、どのリサーチノートブックも、どのエージェントのデフォルトも手渡したがるテープだ。口座は、実際に開けた場所にある。その2つの事実はオペレーションの細部に感じられる。それがバックテストだ。
- 執行取引所を先に選べ。リサーチテープはその取引所の最終価格、ファンディング時刻、マーク、ティック、手数料ティアから作れ。ベンダーのデフォルトがBinanceなら、それはデフォルトではない。別の戦略だ。
- ペーパーする取引所の履歴が取れないなら、先行するテープで代用してギャップをスリッページと呼ぶな。待つか、他所のテープを遅延シグナルとして扱い、執行側の板で見えたはずの時点までラグを入れろ。
- ペーパーとバックテストを比較するときは、ドリフトを分解しろ。取引した分の最終価格ギャップ、手数料行、ファンディングのタイムスタンプ、ストップに使ったマーク。火曜のブロッターは4つすべてを混ぜてスリッページとラベルしていた。
- 交差テストは意図的にやれ。Aでシグナル、Bで約定。エッジの全部がそこに住んでいるなら、戦略など持っていない。サイズでは埋められないリードラグを持っているだけだ。
Bybitで取引しているときに、それでもBinanceを覗くだろうか?裁量のサニティチェックなら、もちろん。約定のためなら、いいえ。ペーパー口座は、その覗きがどれだけの価値かをすでに教えてくれた。隣の部屋が先にプリントした4.1 bpsの価値であり、私たちにはそれは入らない。
← 記事一覧


