はじめに
次の二つの運用成績を考えます。
| 成績 | 勝率 |
|---|---|
| 10回取引して9勝1敗 | 90% |
| 100回取引して90勝10敗 | 90% |
表示される勝率は同じです。それでも、後者の90%を見たときの方が「何度も取引したうえで出た数字だ」と感じるのではないでしょうか。
この違いは、勝率を単なる計算結果ではなく、未知の勝ちやすさを推定した値として見ると整理できます。この記事では、9勝1敗と90勝10敗の違いを、二項分布と信頼区間を使って考えます。
勝率は一つの推定値である
勝った回数を \(k\)、取引回数を \(n\) とすると、観測された勝率は次の式で計算できます。
\(\displaystyle \hat{p}=\frac{k}{n}\)
9勝1敗なら \(9/10=0.9\)、90勝10敗なら \(90/100=0.9\) です。この計算だけなら、二つの成績に違いはありません。
ただし、ここで得られた \(\hat{p}\) は、観測されたデータから計算した値です。運用戦略に「将来も変わらない真の勝率」があると仮定して、それを \(p\) と書くと、\(\hat{p}\) は未知の \(p\) に対する推定値になります。
10回だけ取引した場合、たまたま勝ちが多く並ぶことがあります。取引回数が増えると、そのような偶然の偏りは平均化されやすくなります。同じ90%でも受ける印象が違うのは、点として表示された勝率の背後にある不確実性が違うからです。
0と1の和として考える
1回ごとの取引結果を、勝ちなら1、負けなら0として表します。
\(\displaystyle X_i=\begin{cases}1 & \text{勝ち} \\ 0 & \text{負け}\end{cases}\)
各取引が互いに独立で、同じ確率 \(p\) で勝つと仮定すると、\(X_i\) はベルヌーイ分布に従います。勝った回数 \(K\) は、取引結果をすべて足したものです。
\(\displaystyle K=X_1+X_2+\cdots+X_n\)
したがって、\(K\) は二項分布に従います。
\(\displaystyle K\sim\mathrm{Bin}(n,p)\)
この表現にすると、取引回数の役割が見えてきます。標本勝率 \(\hat{p}=K/n\) の分散は、二項モデルのもとで次のようになります。
\(\displaystyle \operatorname{Var}(\hat{p})=\frac{p(1-p)}{n}\)
標準偏差に相当する標準誤差は、
\(\displaystyle \mathrm{SE}(\hat{p})=\sqrt{\frac{p(1-p)}{n}}\)
です。分母に \(\sqrt{n}\) があるため、取引回数が増えるほど推定値のばらつきは小さくなります。取引回数を10倍にしても誤差が10分の1になるわけではなく、おおよそ \(1/\sqrt{10}\) になります。
同じ90%を区間で表す
点推定だけでは見えない不確実性を表す方法の一つが、信頼区間です。
ここでは二項比率の区間推定としてWilson区間を使います。95% Wilson信頼区間を計算すると、結果は次のようになります。
| 観測結果 | 点推定 | 95% Wilson信頼区間 |
|---|---|---|
| 9勝1敗 | 90.0% | 59.6%〜98.2% |
| 90勝10敗 | 90.0% | 82.6%〜94.5% |
9勝1敗では、観測された90%の周囲にかなり広い不確実性が残ります。一方、90勝10敗では区間が狭くなり、少なくとも二項モデルのもとでは、勝率の推定精度が上がっています。
ただし、95%信頼区間を「真の勝率が95%の確率でこの範囲にある」と解釈するのは正確ではありません。同じ手順で標本抽出と区間計算を繰り返したとき、作られた区間のおよそ95%が真の \(p\) を含む、というのが頻度論的な意味です。
単純な正規近似では何が起きるか
比率の信頼区間として、次の形を見たことがあるかもしれません。
\(\displaystyle \hat{p}\pm1.96\sqrt{\frac{\hat{p}(1-\hat{p})}{n}}\)
これは標本勝率を正規分布で近似して作る、いわゆるWald区間です。9勝1敗を代入すると、
\(\displaystyle 0.9\pm1.96\sqrt{\frac{0.9\times0.1}{10}}\approx[0.714,\,1.086]\)
となり、上限が100%を超えてしまいます。勝率は0%から100%の間にあるため、この結果は扱いにくいものです。
標本数が小さい場合や、観測された比率が0%または100%に近い場合、単純なWald区間は実際の被覆率が名目値から外れやすいことが知られています。Wilson区間は、同じ二項比率の問題に対して、区間を0%から100%の範囲に収めながら推定します。
Wilson区間の式は次の通りです。ここで \(z\) は標準正規分布の分位点で、95%区間では約1.96です。
\(\displaystyle \frac{\hat{p}+\frac{z^2}{2n}\ \pm\ z\sqrt{\frac{\hat{p}(1-\hat{p})}{n}+\frac{z^2}{4n^2}}}{1+\frac{z^2}{n}}\)
Wilson区間では、取引回数 \(n\) が式の補正項と分散の両方に入ります。そのため、観測勝率が同じ90%でも、取引回数に応じて異なる幅を持つ区間として表せます。
実際の取引は二項分布より複雑である
ここまでの計算では、各取引が互いに独立で、勝つ確率 \(p\) が常に同じだと仮定しました。現実の取引では、この仮定がそのまま成立するとは限りません。
相場環境が変われば、戦略の勝ちやすさも変わります。同じシグナルから発生した複数のポジションは、ほぼ同時に勝ったり負けたりすることがあります。連勝や連敗に依存関係があれば、100回の取引が100個の独立した情報を与えているとは言えません。
したがって、二項分布による信頼区間は、勝率の不確実性を考えるための最初のモデルです。取引回数が多いというだけで、バックテストの信頼性が自動的に保証されるわけではありません。期間の偏り、取引間の依存、相場環境の変化も別に確認する必要があります。
勝率を見る順序
勝率を見るときは、少なくとも次の三段階を分けると整理しやすくなります。
- 計算値を見る: 何勝何敗で、観測勝率はいくつか
- 推定誤差を見る: 取引回数は何回で、どの程度の幅が残るか
- モデルの外を見る: 取引は独立か、期間によって勝率が変わっていないか
さらに、勝率が高くても平均損失が平均利益を大きく上回れば、収支はマイナスになり得ます。勝率の推定精度と、戦略の収益性は別の問題です。前者には取引回数と区間推定が関係し、後者には平均利益・平均損失や取引コストが関係します。
まとめ
9勝1敗と90勝10敗は、どちらも計算上の勝率は90%です。しかし、90%という点だけを表示すると、推定に使われた情報量の違いが消えてしまいます。
勝率を未知の確率に対する推定値として見ると、取引回数が少ないほど広い不確実性が残ることが分かります。同時に、実際の取引では独立性や一定の勝率という仮定も疑う必要があります。
勝率を見るときに確認したいのは、90%という数字だけではありません。その分子が何勝で、分母が何回なのか。まずそこまで戻ることで、同じ90%でも意味が違って見えてきます。
関連記事
- 二項分布を正規分布で近似できるのはなぜか: 勝敗を0と1で表し、その和に中心極限定理を使える理由を説明しています。
- 勝率90%のEAは優秀か?勝率と平均損益をセットで見る理由: 勝率と平均利益・平均損失の関係を扱います。
- FX自動売買のバックテスト成績の見方: 勝率以外も含めて、バックテストで確認したい項目を整理しています。
参考文献
- Wilson, E. B. (1927), Probable Inference, the Law of Succession, and Statistical Inference, Journal of the American Statistical Association, 22(158), 209–212.
- Brown, L. D., Cai, T. T. and DasGupta, A. (2001), Interval Estimation for a Binomial Proportion, Statistical Science, 16(2), 101–133.
- NIST/SEMATECH, e-Handbook of Statistical Methods: Confidence intervals.
※本記事の取引例は、統計的な考え方を説明するための架空例です。特定の運用戦略や商品の評価を示すものではありません。

コメント