平均勝ち負け(Average Win Loss)を責任ある形でバックテストするには?
平均勝ち負け(Average Win Loss)を測定可能な概念として定義する
平均勝ち負け(Average Win Loss)は、過去のトレード結果を用いて、「勝ち(wins)」がどれくらいの大きさになりやすいか、そして「負け(losses)」がどれくらいの大きさになりやすいかを要約する方法である。責任あるバックテストでは、最初に測定する正確な量を定義する必要がある。なぜなら「勝ち」と「負け」は複数の方法で計算できるからだ。
よくある構成は次のとおり:
- トレード結果として何を数えるかについて一貫したルールを選ぶ(たとえば、完了した各トレードの最終的な損益)。
- 結果を比較可能な単位に変換する(たとえば、口座通貨のP&L、または価格変動の用語)。
- 「勝ちトレード」を正の結果のトレードとして、「負けトレード」を負の結果のトレードとして定義する(あるいは絶対値を使ってもよいが、その場合は明確に述べる)。
- 平均を計算する:平均勝ちサイズ(average win)と平均負けサイズ(average loss)。
比(たとえば、平均勝ちを平均負けで割る)を使う場合は、符号(sign)の取り決めを定義する。バックテストで起きる多くの誤りは、「符号付きの平均」と「絶対値の平均」を混ぜてしまうことから生じる。
メカニズム:入力、前提、そしてコストの役割
慎重な平均勝ち負け(Average Win Loss)のバックテストは、選ぶデータモデルに依存する。最低限、次が必要だ:
- 時系列順のトレード記録のリスト(エントリー/エグジットの時刻と、実現した結果)。
- 例外ケースの扱いに関するルール(部分決済、ブレークイーブンのトレード、キャンセル、完了しないトレード)。
- 執行の現実性に関する明示的な前提。
重要な「costs-features」の原則はこうだ:あなたの過去の結果は、評価したい同じ経済的前提に基づいていなければならない。コストや摩擦(frictions)には、スプレッド、コミッション、スリッページなどが含まれる。将来の正確なコストが分からなくても、責任あるテストは次のようにして行える:
- 価格変動をトレードP&Lへ変換するために使ったすべての前提を保存する。
- 感度分析を行う(たとえば、あり得る範囲の中で仮定するスリッページやコスト水準を変えてみる)ことで、結論が1つの楽観的な設定に依存していないかを確認する。
証拠と例示計算(前提つき)
完了したトレードのデータセットがあるとしよう。あなたは次を決める:
- 勝ちは、実現したP&L > 0 のトレード。
- 負けは、実現したP&L < 0 のトレード。
- 各グループについて、実現P&Lの平均を使う。
- ブレークイーブンのトレードは両方の平均から除外する(またはゼロとして含める—どちらかを明記する)。
例(あくまで説明用):
- 平均勝ち = (正のP&Lの合計) / (勝ちトレード数)。
- 平均負け = (負のP&Lの合計) / (負けトレード数)。後で「絶対平均負け(absolute average loss)」を取るなら、その大きさ(magnitude)を使う。
バックテストを検証するには、保存されたトレードP&Lリストからこれらの値を直接再計算する。計算した平均が一致しないなら、市場のパフォーマンスではなく、定義またはデータの扱いに問題がある。
テストすべき制限と失敗パターン
平均勝ち負け(Average Win Loss)は記述的であり、予測的ではない。責任あるバックテストでは、これを「歴史的な要約」として扱い、その安定性は、市場環境、執行の質、意思決定のタイミングが変わると失われる可能性がある。
少なくとも1つの重要な制限は必須だ:
- レジーム・シフト(Regime shift): ある市場環境では、平均勝ちと平均負けの間に特定の関係が見えても、その後に変わることがある。
- コストの不一致: 過去の結果がスプレッド/コミッションを無視していたり、スリッページを過小評価していたりすると、「平均勝ち」と「平均負け」の比較が歪む可能性がある。
- 選択とサバイバーシップ・バイアス: データセットがレビュー過程を「生き残った」トレードだけを含んでいる場合、または利益と相関する形で結果を意図せずフィルタリングしてしまった場合、平均はバイアスを受けうる。
- 定義への過剰適合: 勝ち/負けとみなすもののバリエーションを多数試す、エントリー/エグジットのタイミングをどうするかを変える、結果の測り方を変えるといったことは、頑健性(robustness)についての誤った感覚を生みうる。
バイアス制御とアウト・オブ・サンプル検証
これらのリスクを減らすために、測定した関係が一般化するかどうかを検証する手順を使う:
- 期間を通じた一貫した定義: すべての期間で、勝ち/負けのルール、ブレークイーブンの扱い、P&L計算を同じにする。
- 時間ベースの分割: 測定アプローチをより早い期間で推定し、その後の期間で評価する(定義を洗練するために使わなかった期間)。
- アウト・オブ・サンプル報告: イン・サンプルとアウト・オブ・サンプルの間で、平均勝ちと平均負け(および任意の比)を比較する。
- 感度分析: 異なる妥当なコスト/執行の前提のもとで指標を再計算し、結論が単一の楽観的シナリオに依存していないかを確認する。
DOCUMENT END