売買回転率をコスト化する:バックテストの過剰売買を測る

予測精度が高いモデルでも、シグナル反転が多ければ売買コストによって期待値は失われます。バックテストで売買回転率とスプレッド、スリッページを結び付け、シグナル変更1回あたりのコスト感応度から過剰売買を検証する方法を整理します。

予測精度だけでは実運用の期待値を測れません

機械学習やルールベースのモデルでは、予測精度が改善してもシグナルが頻繁に反転すると、実運用の成績が悪化することがあります。ポジション変更のたびにスプレッドやスリッページなどの取引コストが発生するためです。バックテストではリターンだけでなく、どれだけ売買した結果なのかを同時に確認する必要があります。

売買回転率をコストへ変換します

測定には売買回転率を使えます。これは一定期間にポジションをどの程度入れ替えたかを表す指標です。各時点のポジション変化量を記録し、その変化量に想定コストを掛ければ、シグナル変更によるコストを損益へ反映できます。

重要なのはコストを1種類に固定しないことです。通常時、やや悪化した状態、さらに厳しい状態など複数のスプレッド・スリッページ前提を設定し、純損益がどこまで耐えられるかを比較します。これにより、バックテストの利益が小さなコスト変化で消える戦略かどうかを判定できます。

シグナルの価値を変更回数とセットで検証します

実務では、取引回数、売買回転率、グロス損益、取引コスト、ネット損益を同じ表で比較します。さらにシグナル反転1回あたりの平均グロス利益を計算し、実測したコスト分布の中央値や上位分位点と比較します。

予測精度が上がっていても、追加されたシグナル変更による利益より追加コストが大きければ、実装後の価値は低いと評価できます。バックテストではモデルの正解率だけを見るのではなく、予測をポジションへ変換する頻度まで含めて測ることが重要です。

ABOUTこの記事をかいた人

MetaTrader 5 向けの検証ツールを開発しています。個人開発です。 扱っているのは売買の方向を示すシグナルではありません。スプレッドや手数料といったコスト、スリッページを含む約定の実態、口座全体のエクスポージャー——損益の構造側を数値で可視化する道具です。 実運用の記録は GogoJungle の REAL TRADE で第三者計測・公開しています。 詳細は「このサイトについて」をご覧下さい。 ご要望はこちらで承ります。