30回トレードして18勝12敗。勝率は60%なので、負けるより勝つことが多い手法に見える。しかし次の30回でも同じ勝率になるとは限らない。180勝120敗の300取引も表示上は60%だが、推定の不確かさは同じではない。
「何回あれば信用できるか」を一つの件数で決める代わりに、勝率の推定幅と損益分岐の条件を並べてみる。この記事ではWilson信頼区間を使い、少ない標本でどこまで言えるかを整理する。計算例は架空で、取引が独立し、一定の勝つ確率を持つという単純なモデルを最初の前提とする。
観測勝率60%と、本当の勝つ確率は別
18÷30=60%は、既に観測した30取引について正確な割合だ。一方、知りたいのは同じルールを続けた場合の勝つ確率である。有限回の結果には偶然の偏りがあるため、観測勝率がその確率にぴったり一致するとは限らない。
同じ硬貨でも10回投げれば6回表が出ることがある。これだけで表が出る確率60%の硬貨だとは決められない。トレードは硬貨より複雑で、相場環境や売買コストが変わるが、まず標本のばらつきという基本問題を分けて理解するとよい。
30取引の60%は、およそ42〜75%の推定幅になる
18勝30取引に対して、連続性補正なしのWilson法で95%信頼区間を計算すると、約42.3〜75.4%になる。同じ観測勝率60%でも、180勝300取引なら約54.4〜65.4%へ狭くなる。件数が増えるほど幅は一般に小さくなるが、前提が同じであることが必要だ。

30取引では50%も区間内に含まれる。300取引では下端が50%を上回るが、だからといって利益が出る手法と証明されたわけではない。勝ちの大きさと負けの大きさ、費用、相場変化はこの区間に入っていないからだ。
「95%」を将来の保証と読み替えない
95%信頼区間は、同じ確率モデルの下で標本を取り直し、同じ方法で区間を作ると、長い目で見て真の確率をおおむね95%の割合で含む、という手続きの性質を表す。既に計算した区間に「真の勝率が95%の確率で入っている」と、そのまま言うものではない。
また「次の30取引の勝率が95%の確率で42〜75%に収まる」という意味でもない。次の標本の勝ち数には別のばらつきがあり、予測区間は異なる問題だ。さらに市場環境が変われば、一定の勝つ確率という前提自体が崩れる。区間は前提の範囲内での推定である。
Wilson区間はどう計算するのか
取引数をn、観測勝率をp、95%区間の係数をz=1.96とする。中心は(p+z²÷2n)÷(1+z²÷n)。半幅は、z×√[p×(1−p)÷n+z²÷4n²]÷(1+z²÷n)となる。中心から半幅を引いた値と足した値が区間の両端だ。
30取引、p=0.6なら、調整した中心は約0.589、半幅は約0.166となる。単純に60%の左右へ同じ幅を置く計算とは中心も少し違う。表計算や統計ソフトで計算する場合は、方法名と信頼水準、補正の有無を残すと、別のツールとの違いを追跡できる。
NISTの資料にも、比率の信頼区間としてWilson法などが説明されている。方法によって少数標本や勝率0%・100%付近の区間が違うため、ソフトが出した数字を比べるときは計算方法を合わせる。細かな小数点の違いより、区間の広さと前提の方が実務上は重要だ。
勝率60%でも期待値がマイナスになる例
1回の平均利益が800円、平均損失が1000円、1取引あたりの費用が100円とする。費用をまだ引いていない勝率60%を使えば、期待値は0.6×800−0.4×1000−100=−20円。勝つ回数が多くても、負けの方が大きく費用がかかれば赤字になる。
平均利益をW、平均損失の絶対値をL、毎回一定の費用をCとすると、損益分岐勝率は(L+C)÷(W+L)。この例では1100÷1800=約61.1%で、60%では足りない。もしWとLが既に費用控除後の値なら、Cをさらに引くと二重計上になる。

信頼区間の下端を期待値に入れれば安全なのか
慎重に評価するため、勝率の下端を期待値へ代入する方法は感度分析として使える。例えば300取引の下端約54.4%を使えば、前の損益条件では0.544×800−0.456×1000−100=約−121円になる。少し低い勝率でも利益が残るかを見る目的には役立つ。
ただし、これが期待値そのものの95%下限になるわけではない。平均利益800円、平均損失1000円にも推定誤差があり、勝率と損益の大きさが関連することもある。期待値の不確実性を評価するには、勝ち負けの符号だけでなく、費用控除後の取引損益分布全体を使う必要がある。
300件が30日の同じ材料から生まれていたら
一つの銘柄を同じ日に10回売買し、それを30日繰り返せば300取引になる。しかし同じ日の相場環境が10取引に共通していれば、全て独立した試行とは考えにくい。強い上昇日にはまとめて勝ち、急落日にはまとめて負ける可能性がある。
単純な二項モデルへ300を入れると、独立性が強すぎる仮定になる場合がある。日単位の成績も確認する、同じイベントの取引をまとめる、まとまりごとに再標本化する、といった方法を検討する。件数が多く表示されていても、異なる相場経験が十分あるとは限らない。
部分約定を別取引と数えることにも注意する。1000株の一つの売買判断が100株ずつ10回約定しても、独立した10個の判断ではない。勝率の分母は約定件数ではなく、自分のルールで定義したトレードの単位にそろえる。
手法を100種類試して最もよい勝率を選んだ場合
一つの手法を事前に固定して30件を見る場合と、100種類のパラメータを試して最良の18勝12敗を選ぶ場合では、同じ勝率でも意味が違う。多数の候補の中から選べば、偶然よく見えるものが見つかりやすい。選択した後の勝率へ通常の区間を付けただけでは、この探索の影響を解消できない。
パラメータ調整に使った期間と、最後の評価に使う未使用期間を分ける。最終評価期間を見て再びルールを変えたら、その期間は既に調整に使ったことになる。試した候補数と変更履歴を残し、結果のよかった試行だけを提示しない。
勝つまで集計を延長すると見え方が変わる
最初の30件で勝率が低かったので続け、60%を超えた瞬間だけ結果を報告する。このような停止ルールでは、あらかじめ30件と決めた分析と同じ扱いはできない。途中で何度も確認し、条件を満たしたときだけ採用すると、通常の区間が想定した手続きから外れる。
検証開始前に、集計する期間または件数と、途中で止める条件を決めておく。安全のための損失停止と、統計的によく見える瞬間を選ぶ停止は分けて記録する。逐次的に評価したい場合は、それに対応した方法が必要で、普通の固定標本の95%区間を無制限に繰り返すだけでは足りない。
相場が変われば、古い1000件が邪魔になることもある
長い履歴は推定幅を狭くしやすいが、古い環境と現在の環境が同じとは限らない。売買コストの増加、呼値の変更、取引時間の変化、流動性の減少があれば、以前の勝率をそのまま現在へ移せない。全期間をまとめた精密な数字が、現在の判断に適切とは限らない。
全期間の成績に加え、期間ごと、時間帯ごと、主要な相場条件ごとの成績を見る。ただし分割しすぎると各標本が小さくなる。都合のよい小区分を探すためでなく、事前に想定した条件で安定性を調べることが大切だ。
幅を半分にするには、おおむね四倍の件数が必要
独立性と一定確率が成り立ち、標本が十分大きい近似では、推定誤差は取引数の平方根に反比例する。件数を二倍にしても区間の幅は半分にはならず、およそ0.71倍にしか縮まらない。幅を半分にしたければ、おおむね四倍の件数が必要になる。
この関係は、あと10回売買すれば不確実性が一気に消えるという期待を抑えるのに役立つ。ただし、件数を稼ぐために条件を緩めれば元の手法と別物になる。取引頻度を増やして標本を集めることと、同じルールの観測を積み上げることを区別したい。
引き分けと費用の定義を先に固定する
建値で決済した取引を勝ちに含めるか、引き分けとして除外するかでも表示勝率は変わる。手数料前なら収支ゼロでも、費用後には負けになることがある。勝率の分子と分母、利益の判定を費用前にするか費用後にするかを事前に定義する。
例えば全30取引のうち18勝、10敗、2引き分けなら、全取引を分母にする勝率は60%だが、引き分けを除いた勝率は18÷28で約64.3%になる。どちらの定義も表示は可能だが、同じ60%の例と混ぜて比較できない。期待値の計算には引き分け取引の費用も含める必要がある。
また、勝率を一定数量の取引で集計しているのに、大きな数量を張った負けが損失の大半を占めていることもある。勝ち負けの件数とは別に、一取引あたりの損益、投入資金、許容損失に対する損益倍率も残す。高い勝率を持つことと、資金が安定して増えることは一致しない。
何回から資金を増やすかを決める材料
必要なのは件数だけでなく、区間の幅、費用後期待値、平均損失と大きな損失、取引の独立性、未使用期間の結果である。例えば30件は記録の不備を発見するには役立つが、大きな資金を投入する統計的な裏付けとして十分とは限らない。
まず小さく実行して、注文と約定、費用の想定が合っているかを確かめる。その後、異なる期間の結果が積み上がるにつれて評価を更新する。勝率60%という一つの数字ではなく、「何件から推定し、どれくらい幅があり、利益の出る条件を超えているか」を説明できる状態にしたい。
参考:NISTの比率の信頼区間解説。本文ではWilson法、95%、連続性補正なしで独自計算している。


コメント