こんばんは!shinです!
バックテストを取っていると、移動平均線や平均勝率、平均利益や平均獲得pipsなど様々なタイミングで平均を使います。
そもそも何故平均を取るのでしょうか?
それはだいたい真ん中ぐらいの数値を知りたいからですよね?
しかし、平均というのはそんなに万能ではありません。
むしろ、弱点を知っていないと痛い目を見ることになります。
今日はそんなお話をしていきたいと思います。
まず、BADsignalの説明動画でもお話した部分なのですが、10年間で平均勝率が60%だったとしても偏りがある場合は、シグナルとしては使いにくいという点。
1年目:70勝30敗:勝率70%
2年目:70勝30敗:勝率70%
3年目:70勝30敗:勝率70%
4年目:70勝30敗:勝率70%
5年目:50勝50敗:勝率50%
6年目:50勝50敗:勝率50%
7年目:50勝50敗:勝率50%
8年目:50勝50敗:勝率50%
9年目:50勝50敗:勝率50%
10年目:70勝30敗:勝率70%
こんなシグナルだと使いにくいよね~ってお話をしました。
このことからも分かるように、平均というのは偏りがあった場合は実態が見えにくいというのがあります。
もっと言えば外れ値(対象の中でずば抜けている数値)があるとあてにならなくなってしまいます。
例えば、極端な話で言うと…
1年目:0勝100敗:勝率0%
2年目:0勝100敗:勝率0%
3年目:0勝100敗:勝率0%
4年目:50勝50敗:勝率50%
5年目:50勝50敗:勝率50%
6年目:100勝0敗:勝率100%
7年目:100勝0敗:勝率100%
8年目:100勝0敗:勝率100%
9年目:100勝0敗:勝率100%
10年目:100勝0敗:勝率100%
これでも平均勝率は60%ですよね。
でも、実態としてはこれを勝率60%ととして利用したくはないですよね。
同じように平均獲得pipsについて考えてみます。
仮に勝ちだけを計算するとします。
1戦目:0.5pips勝ち
2戦目:0.5pips勝ち
3戦目:0.5pips勝ち
4戦目:0.5pips勝ち
5戦目:0.5pips勝ち
6戦目:0.5pips勝ち
7戦目:0.5pips勝ち
8戦目:0.5pips勝ち
9戦目:0.5pips勝ち
10戦目:5pips勝ち
この戦績だと平均獲得pipsは0.95pipsとなります。
しかし、仮にスプレッドが0.5pipsが出たとすれば、1勝9敗に成り下がります。
ここまで極端では無いものの、相場には指標や要人発言により価格がぶっ飛ぶ時がありますよね?
先ほど説明したように、ずば抜けた数字が入ってしまうと本来の目的であるだいたい真ん中ぐらいの数値が分からなくなってしまうのです。
特にバイナリーとFXは別物です。
FXであれば上記のような勝ち方でも獲得pips=利益になるので問題はありません。
しかし、バイナリーにおいては違いますよね。
先ほどの例で言うなら…
1戦目:0.6pips勝ち
2戦目:0.6pips勝ち
3戦目:0.6pips勝ち
4戦目:0.6pips勝ち
5戦目:0.6pips勝ち
6戦目:0.6pips勝ち
7戦目:0.6pips勝ち
8戦目:0.6pips勝ち
9戦目:0.6pips勝ち
10戦目:0.6pips勝ち
こちらは平均獲得pipsで言うと、0.6pipsで先ほどより少ないです。
しかし、バイナリーにおいては0.1pipsでも勝てば利益に繋がります。
スプレッドが0.5pips出ていても、こちらは全勝となる訳です。
もちろん基本的には平均獲得pipsが大きいほど、スプレッドには強くなるのですが指標に絡む時間にエントリーしている場合などは、一部の外れ値によって平均が引き上げられている可能性を考えないといけません。
つまり、バイナリーにおいては平均獲得pipsで目安を知るのは良いものの、本当にスプレッドに強いかどうかは実際にスプレッドを加味してバックテストを取ってみないと分かりません。
だから、僕は平均獲得pipsにはこだわらず、そもそも最初からスプレッドを加味する方法でバックテストを取っています。
もっと細かく言えば、どのぐらいのスプレッドを想定するかでパラメーターも変わります。
例えばシグナルに3パターンの制御をつけます。
エントリー回数は全て同じとします。
Aパターン
スプレッドを0.5pipsと想定した時:勝率60%、最大ドローダウン-20000円
スプレッドを0.8pipsと想定した時:勝率58%、最大ドローダウン-30000円
Bパターン
スプレッドを0.5pipsと想定した時:勝率61%、最大ドローダウン-16000円
スプレッドを0.8pipsと想定した時:勝率57%、最大ドローダウン-36000円
Cパターン
スプレッドを0.5pipsと想定した時:勝率59%、最大ドローダウン-19000円
スプレッドを0.8pipsと想定した時:勝率58%、最大ドローダウン-32000円
その結果、こんな風なバックテストデータになる場合があります。
どれが一番優秀でしょうか?
どれが一番スプレッドに強いと言えますか?
スプレッドを0.5pipsと想定するのであればBパターンですよね。
しかし、Bパターンは想定以上のスプレッドや約定拒否による不利なポジションになれば一番勝率も最大ドローダウンも悪くなります。
この場合にどれを選ぶかはどこまで不利な状態を考えるかで変わってくるということです。
これは実際にBADsignalを作成中に何度も悩んだ部分です。
単純にスプレッド0.5pipsに強いからといって、0.8pipsでも強いとは限らないのです。
もちろんどんな制御をかけているかにもよりますが、そんなに簡単に万能なものは作れないです。
判定時間や制御の仕方によって得意なスプレッドのpipsがあります。
もちろんスプレッド1.0pipsでも強いシグナルが良いのは当たり前ですが、それだと今度はエントリー回数が少なくなって、トータルの利益は大きく差が出てしまいます。
あっちを立てればこっちが立たずの状態です。
BADsignalはそのバランスをすごく考えて作りました。
そして、今回のパターンのパターンで言うとだいたいAパターンの制御を採用してます。
もし仮に想定以上の状況になっても、ダメージが少ないからです。
そういうバランスを考えているからこそ、ウォークフォワード分析でも圧倒的なバランスの高さを実現したのだと思っています。
その他、BADsignalのバックテストデータには平均利益や平均回数なども記載しています。
ただ、2020年の3月のようにずば抜けた月間成績を残していると、平均を引き上げてしまうことになるため、実態からずれてしまいます。
日本人の50代の平均貯蓄額は1194万円だそうなんですけど…
え、50代でみんなそんなに持ってるの?!
って、思うのですが、これも同じことが起きてます。
一部の超お金持ちたちが平均を大幅に引き上げていることで、実態とは異なる値となってしまいます。
そこで使われているのが中央値というもの。
平均値は全体の数値を足して、データの数で割って出します。
こちらは、対象が全体になっているがゆえに一部の超お金持ちが入ってくることで実態にそぐわない数値になってしまいます。
しかし、中央値は関係してくるのはデータの数のみです。
全てのデータのちょうど真ん中の人の数値のみを表しています。
これにより、どれだけ貯金が無い人もどれだけ貯金が多い人がいても影響がありません。
ちなみに日本人の50代の平均貯蓄額の中央値は600万円だそうです。
これなら、まぁ確かにそんなもんかって思いませんか?
おそらくこちらの方がより実態に近いと考えられます。
しかし、そんな中央値にも弱点があります。
それはデータに偏りがあった場合です。
データ数が少ない場合には特に起こりやすいです。
例えば9人の平均貯蓄額について3つのパターンを考えます。
1人目:貯蓄額10万円
2人目:貯蓄額20万円
3人目:貯蓄額30万円
4人目:貯蓄額40万円
5人目:貯蓄額50万円
6人目:貯蓄額60万円
7人目:貯蓄額70万円
8人目:貯蓄額80万円
9人目:貯蓄額90万円
貯蓄額の平均値は50万円。
貯蓄額の中央値も50万円。
この場合は平均でも中央値でも同じ結果ということですね。
では次のパターン。
1人目:貯蓄額0万円
2人目:貯蓄額5万円
3人目:貯蓄額10万円
4人目:貯蓄額15万円
5人目:貯蓄額20万円
6人目:貯蓄額50万円
7人目:貯蓄額100万円
8人目:貯蓄額100万円
9人目:貯蓄額150万円
貯蓄額の平均値は50万円。
貯蓄額の中央値は20万円。
この場合は中央値で見ると実態とは離れた値になるため、どちらかと言えば平均値の方が適していると言えます。
そして、最後のパターン。
1人目:貯蓄額5万円
2人目:貯蓄額5万円
3人目:貯蓄額5万円
4人目:貯蓄額5万円
5人目:貯蓄額5万円
6人目:貯蓄額5万円
7人目:貯蓄額5万円
8人目:貯蓄額5万円
M澤社長:貯蓄額410万円
貯蓄額の平均値は50万円。
貯蓄額の中央値は5万円。
この場合は平均値で見ると実態とは離れた値になるため、中央値の方が適していると言えます。
このように平均値も中央値も万能ということはありません。
データがどのようなバランスで分布しているかによって、どちらがより実態に近いかが変わります。
その為、BADsignalの各バックテストデータは平均値、中央値の両方を記載しています。
特に平均利益や平均回数などはバラつきがあり、外れ値となっている場合もあるため中央値で見た方が実態に近いのかなと思っています。
もちろん、月間のデータを見ながら総合的に判断する必要はあると思います。
むしろ総合的に判断したいからこそ、全てのデータを取りました。
そんな感じで平均値だけに踊らされるのではなく、中央値も意識してしっかりデータを活用して頂ければなと思います!
今日はそんな感じで終わります!
それでは!

コメント