今回はシステムの勝率別に起こりうる最大連敗数を求めてみたいと思います。
N回連続して負ける確率
勝率x%のシステムがN回連続して負ける確率は以下の様に求めることが出来ます。
N回連続して負ける確率 = ( 1 – 勝率x )^N回
この式を使って、勝率50%のシステムが5回連続して負ける確率を求めてみますと、
■5連敗する確率 = ( 1 – 50% )^5回 = 3.1% となります。
では10回連続して負ける確率も求めてみますと
■10回連敗する確率 = ( 1 – 50% )^10回 = 0.1% となります。
以上の事から勝率50%のシステムにおいては、5連敗する確率が3.1%で、10連敗する確率が0.1%という事が分かりました。
それでは今度は勝率x%のシステムにおいて、1%の確率で起こりうる連敗数Nを求めてみたいと思います。
起こりうる連敗数N
冒頭の計算式を展開して、N連敗する確率に1%を代入しますと以下の様になります
N連敗する確率 = ( 1 – 勝率x )^N回
連敗数N = LOG₍₁₋ₓ₎1% この式をエクセルのLOG関数を使うと以下の様になります。
※スマホでご覧の方へ⇒LOGの底に(1-x)と記載しております。
連敗数N = LOG( 1% , 1-勝率x )
この式から勝率50%のシステムにおいて1%の確率で起こりうる連敗数Nは、
■連敗数N = LOG ( 1% , 1-50% ) = 6.6回 となります。
以上の事から勝率50%のシステムにおいては最大6.6連敗する可能性が1%あるという事が分かりました。
1%の部分を危険率α(計算を間違える確率)と置き換えますと、最終的に以下の式になります。
連敗数N = LOG( 危険率α , 1-勝率x )
この計算式により、危険率αの場合に勝率x%のシステムで起こりうる連敗数Nを求める事が出来ます。
エクセルのLOG関数について
エクセルのLOG関数は、”=LOG(真数,底)”と入力するとその対数を返します。
対数とは、底を何乗したら真数になるかを表すものです。
ex.1 LOG₂4 = LOG(4,2) = 2 ※2(底)を2乗したら4(真数)になる。
ex.2 LOG₂256 = LOG(256,2) = 8 ※2(底)を8乗したら256(真数)になる。
勝率別に起こりうる最大連敗数一覧
以下の表がシステムの勝率別に起こりうる最大連敗数の一覧になります。
危険率1%と0.0001%の2パターンを求めています。
小数点は四捨五入、α=危険率、0.0001%=1ppm(100万分の1)
システム勝率 | 最大連敗数(α=1%) | 最大連敗数(α=0.0001%) |
---|---|---|
20% | 21 | 62 |
25% | 16 | 48 |
30% | 13 | 39 |
35% | 11 | 32 |
40% | 9 | 27 |
45% | 8 | 23 |
50% | 7 | 20 |
55% | 6 | 17 |
60% | 5 | 15 |
65% | 4 | 13 |
70% | 4 | 11 |
75% | 3 | 10 |
80% | 3 | 9 |
85% | 2 | 7 |
90% | 2 | 6 |
注意点(勝率の収束)
システムの勝率から最大連敗数を予測する上で非常に重要となるのが、そのシステムの勝率が収束しているかどうかです。取引回数が200回に満たない場合の勝率というのはシステム本来の勝率に収束していない可能性が高いので注意が必要です。
詳しくは下記記事の”確率の収束と大数の法則”をご参照下さい。
連敗数を予想してトレードにどう生かすか?
自分の運用しているシステムの勝率を確認して、最大何連敗する可能性があるのか理解する事によって、実際連敗が起こった時にパニックになって稼働を停止してしまわない様に心の準備ができます。
勝率が80%のシステムでも絶望的に運が悪ければ9連敗する事もありえるという事を知識として知っていれば、心を乱すことなくトレードを継続できます。