いとーちゃんはおとーちゃん

電機メーカーでエンジニアとして働く技術系おとーちゃんのブログ。技術ネタ、子育て、株のことを備忘録程度に書き留めています。

(MT4ソース公開)自作EA σの歪(シグマノユガミ)※ご利用は自己責任で

実は私、株やNumeraiだけでなく、FXもやっています。
ただし、やっているといっても自分で作った自作EAを使ったシステムトレード専門です。

今回は私の自作EAの中でも正統派なアルゴリズムのEAを紹介したいと思います。
なぜわざわざ公開するのかというと、私の場合、このEAよりも他や個別株の取引の方が利益が出るので最近はあまり活躍していないためです。

せっかくなら公開して参考にして、私以外のもとで活躍してもらおうという魂胆です。
あと、何か良いアイデアがあれば是非頂きたい。。。

ということで、自作EA σの歪(シグマノユガミ)を公開します。
※ご利用は自己責任でお願いいたします。

経緯

自分で言うのもお恥ずかしいですが、私は落ちるナイフを掴む系のスタイルです。(笑)
すなわち、大きく下げた時/大きく上げた時に反転を狙って売り買いをするのです。

FXにおいて、このスタイルは正しいのか。
これを検証したのが本EA自作のきっかけでした。

事前検証

値動きの分布調査

とりあえずUSD/JPYの2018.4~2020.4までの1分足データをデューカスコピーからとってきてEXCELでこねこねしてみました。

まず、前知識としてですが、「株価」自体には統計的な傾向は少なく、基本的にランダムに動きます。 一方で、株価の単位時間あたりの変動量である「値動き」は実は正規分布っぽくなります。
(正確には べき分布の中のコーシー分布なんだと思いますが、プログラムが実装できなくなるので正規分布と見なします。(笑))

以下の青い線が20分間での株価の値動きについてのヒストグラムです。 そしてその値動きを正規分布で近似したものがオレンジの線です。

f:id:itochan_otochan:20210507160512p:plain

大きな値動き後の傾向

「大きく上げた/大きく下げた」の基準ですが、以下としました。

今の値動きが過去の値動きのヒストグラムから得られた正規分布曲線の±2σ区域(99.7%)から外れた場合。

上記が成立した時のその後の値動きのヒストグラムを見てみるとこうなります。
(以下は大きく下げた(-2σから外れた)場合のヒストグラム

f:id:itochan_otochan:20210507162319p:plain

赤が中心線でなのですが、全体的に右に寄っていることがわかると思います。 数字でみると、プラスが約53%、マイナスが約47%。

この結果から、大きく下げた/上げた後は反転しやすいと言えます。

なお、±3σ以外や20分間以外のパラメータでも検証してみましたが、±2σの20分間の値動きが一番バランスが良くなります。

成績

上記分析結果をもとに、大きく値動きしたら買って、トレーリングストップしながら利ザヤを稼ぐプログラムを作りました。
実装してバックテストしてみるとこんな感じになります。
上記確率に収束するよう、バシバシ取引するため、とても滑らかな右肩上がりになります。 一発当てた時の気持ちよさはありませんが、堅実にコツコツ頑張ってくれます。
良かったら可愛がって育ててやってください。(くれぐれも自己責任でお願いします。)

f:id:itochan_otochan:20210507163316p:plain

ソースコード

ソースコードGitHubにて公開中。 くれぐれも自己責任でお願いします。

github.com