エンジニアの備忘録

学んだ事をアウトプットしていきます

EAを停止させる為の判断条件は数値に頼った方が良い

前置き

いくつかシステムの動きを見ていて気付いた事は、全ての相場状況に適したシステムは存在しないという事。

一般的に相場は大きく分けるとレンジ相場とトレンド相場に分類されるといわれている。

レンジでは損を受け入れる代わりに、トレンド相場で利益を取るトレンドフォロー型のシステムで全てのトレンド相場で利益を取れる方法は存在するが、そこは複雑な兼ね合いがまた必要になってくる。

その2つに分類された相場の中にも、異なるレンジとトレンドの形があるから。

f:id:pmpmcherry:20211118164828p:plain

4つの相場

基本的に相場はこの4つのタイプに当てはまる。

乱高下といわれるのは①に近いし、もっとも手を出したくない相場は②で、皆が望む理想のトレンドは④。

こういうサイクルをずっと繰り返してきているのが為替相場

システムトレードとは相場に合わせてシステムを使い分ける作業なのではないかと思う。

その為には「このシステムは最近調子が悪くなってきたな」という危険シグナルをいち早く察知して、システムを停止させる明確な基準が必要。

最近までは底が2度割れたら一旦様子見というシンプルな方法しかないと思っていたが、確率統計によってそれをいち早く明確に、数値で基準化できる方法があるらしい。

数値という根拠で基準化できるメリットは計り知れない。

いい加減なルールではいざというとき破る可能性がある。

実際に相場に身を置いて危機的状況に陥ったら「Xが発生したらYをする」というルールを持っていたとしても、心が弱ったときには合理的にルール通り動けない人の方が多いから。

これは身を持って分かっているので「このシステムはもう駄目だ」という判断をするときは積極的に活用していきたい。

参考にした本はパンローリング社出版の売買システム判別法。

T検定

異なる2種類の母集団の平均値を比較して変調を検出すること。

A「直近10トレードの結果から推定される母集団の平均値」とB「それ以前の結果から推定される母集団の平均値」という風に比較する。

Aのサンプル数が多いと、より精度の高い母集団の平均値が推定できる。

Aのサンプル数が多いほど統計的推定の精度は上がるが、変調に気付く検出スピードが落ちる。

 

=TTEST(P47:P225,P227:P245,2,3) 

#P値 

左2つに過去トレードの結果が入ったセルを指定。

右2つに直近10トレードの結果が入ったセルを指定。

P値が0.05(危険率5%の判定をする場合)よりも小さくなったとき、システムに変調があったと判断する。

※母集団が正規分布と仮定しているので、損失がSL指定により一定値に集中する場合は、発生頻度がそこに集中するため正規分布との乖離が大きくなる

 

二項分布

システムの直近トレード数の勝率だけを使い変調を検出する。

f:id:pmpmcherry:20211118210741p:plain

計算式=BINOMDIST(勝ち数,サンプル数,勝率,TRUE)

勝率90%~40%のシステムが10回中、勝ち数がN回の発生確率をグラフにした。

(ある勝ち数以下の発生する確率)

勝率50%のシステムで10回中に勝ち数5回以下の確率は62%、

勝率80%のシステムで10回中に勝ち数5回以下の確率は15%、

サンプル数を増やせば精度はあがるが(ry

変調と判断する基準値は次のようになる。

勝率 50% 60% 70% 80% 90%
基準値 1 2 4 5 6
  危険率1%        
勝率 50% 60% 70% 80% 90%
基準値 0 1 2 4 5