ランダムなのに勝率90% -SL/(TP+SL)の話-

素朴な疑問

最近「販売EAのロジックを推測する」という遊びがマイブームです。
説明文や取引履歴からどういう手法を使っているのか想像してみたり、実際に作ってみて同じ動きをしているか観察したり。
「これはあのアノマリーを使ってるな」とか「影響の小さい方だけ出して、大きい方は自分だけが利用する気だな」など、パズルを解くみたいでなかなか面白いです。

さて、そうした情報商材を調べていくと時々「この手法は勝率90%です!」なんて煽り文句で販売しているものが見つかります。
前回、私は相場というのはギャンブルのようなもので値動きの予測はかなり困難であると書きました。
かの大賢者ですら「nが十分大きい試行において勝率は高くて60%、65%もあれば超一流」と言っている・・・と。

おかしいですよね、値動きがランダムなら勝率は50%になるはずです。
でも目の前には勝率90%を出している商材がごろごろ転がっている。これはいったいどういうことなんでしょうか?

今回はそんなシステムの勝率にまつわるお話です。
※本文が無駄に長いです。読むのが面倒な方は→まとめへ飛ぶ

損益比を変えていくと

むかしむかしのことです。
私は元々株式を中長期で運用するタイプの個人投資家だったのですが、ある本を読んだことがきっかけでシステムトレードの世界に入ってきました。

プログラミングを覚えバックテストができるようになったら、次にやることはみんな同じだと思います。
そうです、私もパラメータの最適化を行う旅に出ました

出発してしばらくはテクニカルの期間をひたすら変えていく日々を過ごしていました。

以下は前回例として出した12SMAと終値との順張りクロスEAで、TP(利確)=50pips、SL(損切)=50pipsというロジックなのですが

SMA_blog_201507

コストなしでPF1、勝率50%なのでこの手法に優位性はないですよというお話でした。

私が当時調べていたその他の手法もほとんどがこのような結果になりました。

せっかくプログラミングを勉強したのにどれだけ最適化しても優位性のあるシステムができない日々。
「結局どんなテクニカルを使っても値動きはランダム、そもそもトレードで利益を出すなんて無理なのかなぁ。だって何やっても勝率50%だし・・・」

・・・ん?勝率50%?
ちょっと待ってください!私はここで重大な事実に気づいてしまったのです。

「どんなテクニカルでも勝率は50%になる。これはつまり利益>損失になるようにTPSLを設定して取引すれば必ず勝てるってことじゃないか!!」 と。
だってそうですよね?

(+75pips \times50\%) + (-50pips \times50\%) = +25pips \times50\% = +12.5pips

取引を繰返せば繰返すほど雪だるま式に資産が増えていく!
まさに天啓だと思いました。
あまりに興奮してその足でコンビニへワインを買いに行き一人で輝かしい未来に乾杯しましたよ(実話です)

それでは神の声に従い、先ほどと同じロジックでTP=75pips、SL=50pipsに変えてバックテストしてみましょう。

SMA_blig_75-50_201507

・・・あれ?利益が出ない?
どういうことでしょうか、たまたまタイミングが悪かったのかな?

今度はTP=100pips SL=50pipsにしてみます。

SMA_blig_100-50_201507

・・・・・・・

・・・んでだょ・・・

・・・・・・なんで利益が出ねぇんだよっっっ!!!

一気に酔いが冷めて現実に引き戻されました。
システムトレーダーなら分かると思います、バックテストでとてつもない利益が出てやっと苦労が報われたと思ったらプログラムにミスがあった時のあの感覚です。
もうテンションがた落ち、今まで興奮していた自分の浮かれ具合が笑けてきます。そして「まぁこんなもんだろうな。そんなにうまくいくと逆に人生つまんないしな。また明日から頑張るかー」と自分を慰めます。

どうしてこんなことになったのでしょうか?私のどこが間違えていたんでしょうか?
これはですね、Tpを変化させていった時に勝率がどう変化していくかを見れば分かります。

TP(pips) SL(pips) PF 勝率(%) 取引回数
50 50 0.99 49.94 3306
75 50 1.01 40.53 2539
100 50 0.99 33.08 2065
150 50 0.97 24.47 1516

※これより先は取引回数が少ないので省略

利益:損失の比をリスクリワードレシオなんて呼んだりします。
上記の表ではそれが50:50だと勝率50%、75:50だと40%、100:50だと33%・・・になっています。
比率を上げていくと勝率がだんだん下がっていくんですね。

答えを先に言いますがTP:SLが分かっている時、勝率はSL/(TP+SL)になります。

【勝率とリスクリワードレシオの法則】
リスクリワードレシオ(利益:損失)を TP:SL に設定したとき
勝率は \cfrac{SL}{TP+SL} となる。

当時の私にはこの理由が全く分かりませんでした。
あれからずいぶん時間が経ちました。
今ではなぜそうなるのか少しだけ説明できます。

1.単純なモデルで考えてみよう

目の前の現象を理解するためのコツは、まずは単純なモデルに置き換えてみることです。

ここで「値動きがランダム、かつ一定時間に進む距離が利益方向・損失方向とも同じ」というモデルを仮定します。
十分な試行回数で平均してやれば、50%の確率&一定の値幅で上昇下落を繰返すというのはそこまで乱暴な仮定ではないでしょう。

図0_1

オプション価格を計算する時の2項モデルと似てますね。
tは経過時間を表します。
tが1進むと \cfrac{1}{2} の確率で+1(利益)、 \cfrac{1}{2} の確率で-1(損失)になります。

t=1の時の期待値は (+1 \times\cfrac{1}{2}) + (-1 \times\cfrac{1}{2}) = 0
つまり利益も損失も出ません。

t=2の時を見てみます。

図1_1

+2, \pm 0 , -2の3パターンに分かれましたが考え方は一緒です。
ここでも期待値は (+2 \times\cfrac{1}{4}) + (0 \times\cfrac{2}{4}) + (-2 \times\cfrac{1}{4}) = 0
利益も損失も出ません。

このモデルでは上昇下落とも\cfrac{1}{2} の確率で等速度に進んでいくため、どのt時点においてもその期待値は0になると分かります。
そしてt時点での確率の和は必ず1になります(場合分けしてるだけなので当たり前)

ここまではいいですね。

さて、それではTP=2、SL=1とした場合にはどうなるでしょうか?

図2_1

tが1増えるごとに進む距離は上昇・下落ともに同じでした。
なので+2になるために必要な時間は-1に比べて2倍なくてはいけません。

これは+2になる確率は-1になる確率より2倍起こりにくいと言い換えることができます。

TP:SLが2:1であれば、利益になる確率は損失になる確率の \cfrac{1}{2} = \cfrac{SL}{TP} ということになります。
このモデルにおいてはそれぞれの確率をTPSLの比で表せるんですね。

ここで損失の確率をAとおきましょう。すると利益が出る確率は \cfrac{1}{2}A です。
利益・損失の確率の和は1なので \cfrac{1}{2}A + A = \cfrac{3}{2}A = 1
A = \cfrac{2}{3} = 66\%

よって利益になる確率は 1 - \cfrac{2}{3} = \cfrac{1}{3} = 33\% となります。

一般化しましょう。


上記で仮定したモデルにおいて利益確率をAと置いた場合、損失確率は \cfrac{TP}{SL}\times A で表すことができる。

利益確率+損失確率=1であるため、 A+\cfrac{TP}{SL}A = 1

A+\cfrac{TP}{SL}A

= A(1+\cfrac{TP}{SL})

= A(\cfrac{SL+TP}{SL})

A(\cfrac{SL+TP}{SL}) = 1 より勝率 A = \cfrac{SL}{TP+SL}


こうして先述の公式が導かれました。

えっ、説明が雑で納得いかない?なんか騙されてる気がする?
数学の知識が高校(それも特に優秀でない)で止まっている人間の説明力なんてまぁこんなもんですよ(泣)

2.樹形図を書いてみよう

法則通りになることをもう少し感覚的に分かるよう確かめてみます。

確率問題で解き方が分からないときみなさんはどうしていましたか?
とりあえず樹形図を書いてたという人は結構多いんじゃないでしょうか(たいていそれは茨の道になるのですが)

ここでTP=2、SL=1の図に再度登場してもらいます。

図2_1

+2になれば利益確定、-1になれば損失確定です。

t=2の時点において、この図では \cfrac{1}{4} の確率で起こる \pm 0の状況が残ったままになっています。
ここから樹形図を広げていきましょう。

図3

真ん中の緑○が \pm 0の状況でした。
図を見れば分かるように、この地点から右の状況は左の緑○と同じです。

-1だけに着目すると、真ん中の緑○になる確率が \cfrac{1}{4} なので、その後に-1となる地点(t=3)の確率は
\cfrac{1}{4}\times\cfrac{1}{2} = \cfrac{1}{8} です。

このように、-1になる確率は \cfrac{1}{2}\,,\cfrac{1}{4}\times\cfrac{1}{2}\,,{(\cfrac{1}{4})}^2\times\cfrac{1}{2}\,,{(\cfrac{1}{4})}^3\times\cfrac{1}{2}\,,\dots,{(\cfrac{1}{4})}^{n-1}\times\cfrac{1}{2} と続いていきます。

これは初項 a_1 = \cfrac{1}{2} 、公比 r = \cfrac{1}{4} の等比数列です。

-1になる確率は全地点での確率を足し合わせたものになるので
S_n = \cfrac{1}{2} + \cfrac{1}{4}\times\cfrac{1}{2} + {(\cfrac{1}{4})}^2\times\cfrac{1}{2} + {(\cfrac{1}{4})}^3\times\cfrac{1}{2} + \dots\ + {(\cfrac{1}{4})}^{n-1}\times\cfrac{1}{2}

無限回分岐を繰返したとすると S_n|r|<1無限等比級数ですので
S_n = \cfrac{a_1}{1-r} = \cfrac{1}{2}\div(1-\cfrac{1}{4}) = \cfrac{2}{3} = 66\% となります。

緑○の部分は樹形図を無限に広げていくと \cfrac{1}{4}\,,\cfrac{1}{16}\,,\cfrac{1}{64}\,,\dotsc となり最終的に0に収束します。

+2になる確率は同様の計算をするか、余事象なので1-\cfrac{2}{3} = \cfrac{1}{3} =33\%となります。

リスクリワードレシオを上げていった場合も同じです。

TP=3、SL=1の場合を見てみましょう。

図4_2

緑○以降の-1に着目すると、それぞれの確率は
\cfrac{1}{8}\,,\cfrac{2}{32}\,,\cfrac{4}{64}\,,\dots,{(\cfrac{2}{4})}^{n-1}\times\cfrac{1}{8}

これは初項 a_1 = \cfrac{1}{8}、公比r = \cfrac{2}{4}の等比数列なので、その無限等比級数は
S_n = \cfrac{a_1}{1-r} = \cfrac{1}{8}\div(1-\cfrac{2}{4}) = \cfrac{1}{4} = 25\%

-1になる確率は緑○以前の \cfrac{1}{2} を足して \cfrac{1}{2} + \cfrac{1}{4} = \cfrac{3}{4} = 75\% となります。

+3になる確率は同様に25%となります。

やはり勝率は \cfrac{SL}{TP+SL} = \cfrac{1}{3+1} = \cfrac{1}{4} = 25\% になっています。

単純な点数問題ならこんな樹形図を書く必要はないのですが、-1になった時点で終了する部分がこのゲームをややこしくしている気がします。
これ以上は図がとんでもないことになるのでやめておきますが、比率を上げていっても同じように考えられるはずです。

こうしてリスクリワードレシオがTP:SLなら勝率はSL/(TP+SL)に収束するということが感覚的に理解できたと思います(できたよね?)

私の経験上、優位性がほとんどないシステムで十分な試行回数を確保すれば勝率は必ずこの法則通りの結果になります(コスト0の場合)。
これは「一定時間ごとにエントリーする」「ロングだけエントリーする」といった偏りを持つシステムでも同じです。

そしてこのことは現実世界の値動きが最初に仮定したモデルと同じであることの裏返しと言えます。
やはり「相場の値動きはほぼランダム」という前提で我々は勝負するべきなんです。

私としてはこれで納得できているのですが、残念ながら上記のやり方はあくまでもそうなることを確認しただけであって、何かしらの証明をしたわけではありません。
もし数学に強い方がいればぜひご教授いただきたいです。

損少利大とリスクリワードレシオは別次元の話

厳密に証明はできなくても、明らかな法則がそこにあるなら利用しましょう。

ここまでの説明で、値動きがランダムな状況下ではTP:SLの変化に合わせて確率も変化するため、結局期待値は0になることが分かりました。

よく「利益:損失は3:1くらいがちょうどいい」だとか「投資は損少利大でなければいけない。だから必ず利確>損切となるようにTPSLを設定するべき」などと言っている人がいますがそれは本質ではありません。
なぜならシステムに優位性がなければ、TPSLをいくら変えても確率が変化するだけで期待値は0のままだからです。
一時的に利益が出たとしても、長期的には \pm 0です。

損少利大であることと、リスクリワードレシオ(TPSL)を設定することは別問題なのです。

この記事を書くためにリスクリワードレシオについてちゃんと説明しているところはないか色々と探しましたが、こういうことを書いている人っていないんですよね(私が見つけられなかっただけかもしれませんが)
海外のフォーラムでも結構勘違いしている人が多かったです。

トレーダーならいつか気づくことなのであえて書かないだけかもしれませんが、初心者の段階からこのことは知っておくべきだと思います。
「最適なリスクリワードレシオは何か」なんて議論に参加するべきではないのです。

法則をどう活用するか

さて、ここまでのお話で出てきた公式をもう一度見てみましょう。

【勝率とリスクリワードレシオの法則】
リスクリワードレシオ(利益:損失)を TP:SL に設定したとき
勝率は \cfrac{SL}{TP+SL} となる。

これはシステムが最低限担保してくれる勝率を表しています。便宜上これをエッジ抜き確率と呼ぶことにします。
もしそのロジックに優位性(エッジ)があればその分が上乗せされ、コストによって押し下げられた数値と合わせて最終的な勝率が出ます。

システムの勝率 = エッジ抜き確率 + エッジ分の勝率 – コスト分の勝率

ここで架空の販売EA「Trend_MAXIMUM」を例に出して活用の仕方を説明しましょう。

トレンドを根こそぎ奪うその名もTrend_MAXIMUM!「Trend Detection Indexフィルター」と「Distance Coefficientシグナル」の合わせ技で勝率80%を実現しました!取引回数は過去2年で1200回!最適化により利確はSTARC Bands(375)×0.17、損切はSTARC Bands(375)×0.68で設定しています。限定50本、今月末までは特別価格29,800円!

どうでしょう?よく分からない用語が散りばめられてそれっぽい感じで言われると「ひょっとしてすごいEAなんじゃないか」なんて思っちゃいませんか?
「利確と損切の比率が2:8です」と言われると、何となく勝率は80%くらいになるのかな・・・なんて想像しやすいのですが、こうしたセコイ手を使われるとなかなかマジックに気づきにくいと思います。

上記の文章からTP:SLは17:68になっていることが分かりますので、このシステムのエッジ抜き確率は
\cfrac{68}{17+68} = 80\% です。

エッジ抜き確率が説明文の勝率と一致する。つまりこのシステムに優位性なんかないということです(コスト分くらいはあるかもしれませんけどね)。
1200回も試行すればほぼ計算式に収束しますので自ら「優位性はありませんよ」と墓穴を掘っているんです。

このことを知らないと「このロジックの勝率は90%だ」などという謳い文句に簡単に騙されてしまいます。
勝率90%なんて楽勝です、TP:SLを1:9にすればいいだけですから。

利確と損切の比率を書いているEAがあれば、購入を考える前に一度エッジ抜き確率を出してみることをおすすめします。
そして説明文の勝率からエッジ抜き確率を引けばそのシステムの優位性がどれくらいあるのか分かります。

ちなみに上記のTrend Detection IndexやらDistance Coefficientがどういうテクニカルなのかは使ったことがないので分かりません(笑)
EXCELでテクニカル計算というサイトに載っていました。可能性を感じた方はここを見てください。

使用上の注意とTPSLが有効な時

これまで長々とお話してきましたが、最後にこの法則についての注意事項を書いて終わりにしたいと思います。

さきほどTP:SLが分かっていればシステムのエッジ抜き確率が計算できると私は言いました。
そして実際の勝率から引くことでそのシステムに優位性があるか否かが分かると。

でも実はですね、これには条件があるんです。

利確:損切がはっきり分からないシステムには公式を使うことはできないんですね。
シグナルを目安にしていたり、利確と損切に使う基準がバラバラだったり、あえてタイミングをずらしているような場合は計算できません。

さらにやっかいなことに、たとえリスクリワードレシオがはっきり分かっている場合でも、あるべき勝率に収束するには時間がかかるという問題もあります。
本来なら50%の勝率だが、1年目60%2年目40%といった場合、長期的に見ればちゃんと50%になるのですが単年度では優位性があるように見えてしまうんです。

データがある程度長期で試行回数が十分多くないと正当な評価は難しいということです。

いずれにせよ、優位性がなければ儲からないのは同じなので勝率やPFなどの指標を目安にするよりも、
その手法が何をエッジにしているのか知ることがシステム評価への正しいアプローチなのかな・・・なんて思います。
まぁそれができれば苦労しないし、そもそも自分でEA作るって話なんですが。

そしてこれまで利確・損切の目安を設定することを批判するような感じで書いてきましたが、
全く意味がないというわけではない(日本語ムズカシイ)こともお話しておきます。

ちょっと抽象的になりますが、ここで相場というものを寄せては返す波だとしましょう。

エッジとは、小石がその水面に落ちるのを捉えるようなものです。
落ちた瞬間大きく水面は波打ちますが、それは時間の経過と共に大きな波の一部になりやがて消えていきます。

何が言いたいかというと、エッジの効果には寿命があるということです。
相場の歪みにはそれぞれ有効期限があります。その範囲において最大効率で利益を得るためにTPSLを設定することは利にかなっています。

この条件下であれば利確・損切の目安を設定することには意味があると言えるでしょう。
しかし勘違いしてはいけないのは、利益の源泉はあくまでもシステムの持つ優位性(エッジ)にあり、決して利確幅・損切幅をあれこれ弄り回すことで生まれるわけではないということです。

まとめ

・SL/(TP+SL)という式を使えばエッジ抜き確率(リスクリワードレシオによって操作されている勝率)が逆算できる

・(提示されたシステムの勝率 – エッジ抜き確率)で優位性がどれくらいあるか分かる

・バックテストの結果が法則通りになるということは、現実世界の値動きがランダムであることの裏返しと言える

・エッジには有効期限があるので、最大効率でそれを利用するために利確・損切目標を設定するのは意味がある

・図を一から作ったりたくさん文章を書いてめちゃくちゃ疲れた。途中でブラウザがフリーズして書いてたものが全部消えた時は本当に涙が出た。今回だけは記事が役に立たなくても記事トップのTweetボタンを押して労ってほしい

書評
わが子と考えるオンリーワン投資術 (ウィザードブックシリーズ)
Amazonで詳細を見る
わが子と考えるオンリーワン投資法
ジョン・モールディン(著),関本博英(訳)
★★★☆☆(3/5)
見た目に反して(?)なかなか面白かったです。
10人の金融関係者が自身の専門分野について自由に語るというインタビュー集のような内容となっています。
トレーディングにおいて守るべきルールを語る人、「○○という指数を使えば優位性がいかに上がるか」を資料を交えて説明する人、学術的な観点から投資に役立つ現実的なアドバイスをしてくれる人などそれぞれのテーマは多岐にわたります。
個人的には、国債先物のトレードでもレバレッジをかけることで大きな利益を上げられるが、それをパーティで話しても周りは株の話じゃないので食いつかなかった(アメリカ人は債券より株が好き)というエピソードが印象に残りました。
この本の内容が直接利益に結びつくことはないでしょうが、軽い読み物としては楽しめるんじゃないかと思います。

コメントをどうぞ

メールアドレスが公開されることはありません。

   
ランダムなのに勝率90% -SL/(TP+SL)の話-
ページ先頭へ