第12話:守るために作った防御を、なぜ外したのか?
前回、
2年1か月では完成していたACEを、
約8年半の相場へ連れていきました。
しかし、
完成したはずのACEはゼロカ。
防御を加えて、
もう一度挑戦。
それでも、
2回目のゼロカ。
さらに原因を調べ、
防御を見直し、
3回目のバックテストで、
ACEはようやく8年半を完走しました。
長かった。
今度こそ完成。
そう思ってもおかしくありません。
ところが私は、
ここで逆のことを始めました。
せっかく作った防御を、外してみたのです。
生き残るために作ったものを疑う
2回もゼロカしたACEを、
8年半完走まで持っていった防御です。
普通に考えれば、
外す理由はありません。
でも、
完走できるようになったからこそ、
別の疑問が出てきました。
この防御、本当に全部必要なのか?
防御は、
悪いトレードだけを止めてくれるわけではありません。
条件を厳しくすれば、
危険なエントリーは減ります。
でも同時に、
その条件に引っかかった
未来の大勝ちポジション
まで止めてしまう可能性があります。
ACEを守るための防御が、
ACE本来の利益まで削っているとしたら?
そこで今度は、
足してきた機能を
外して比較する検証
を始めました。
足す検証から、削る検証へ
こうした検証を、
アブレーション
と呼びます。
考え方は単純です。
防御をONにしたACEと、
OFFにしたACEを、
同じ条件で走らせる。
外して大きく悪化するなら、
その防御は必要だった。
外しても変わらないなら、
本当に必要なのか疑う余地がある。
そして、
もし――
外した方が良くなったら?
その防御は、
ACEを守る一方で、
ACEの強さまで抑えていた可能性があります。
苦労して作った防御を、
今度は自分の手で外していく。
完成直前になって、
ACEをもう一度分解するような検証が始まりました。
防御を外したら、成績が上がった
結果は、
予想とは逆でした。
防御を多く残したACE。
そして、
追加防御の一部を外したACE。
比較すると、
外したACEの方が良かったのです。
純利益は、
+2,136,214円 → +2,612,522円。
差は、
+476,308円。
PFは、
1.40 → 1.49。
RFは、
2.16 → 2.64。
さらに取引数は、
2,359回 → 2,220回。
防御を減らしたのに、
無謀なトレードが増えたわけでもない。
むしろ取引数は減り、
最終的な利益とPF、RFは上がりました。
守るために作ったものを外したら、ACEは強くなった。
これは、
かなり意外な結果でした。
「守る」と「強くする」は同じではなかった
ここで、
第7話で投げかけた疑問に戻ります。
EAは、守れば守るほど安全になるのか?
ACEが出した答えは、
単純なYESではありませんでした。
協力な防御には、
損失を防ぐ力があります。
でも同時に、
利益の芽も摘んでしまいます。
危険なエントリーを止める。
その判断自体は正しい。
でも条件を重ねすぎれば、
未来に大きく育つはずだったエントリーまで、
同じ門で止めてしまう。
守備力を上げることと、
EAそのものを強くすることは、
同じではありませんでした。
必要なものだけを残す
だからといって、
防御を全部外したわけではありません。
2度のゼロカで見つけた弱点まで、
なかったことにはできない。
必要な防御は残す。
一方で、
守りすぎてACE本来の力まで抑えているものは外す。
足すのではなく、選ぶ。
ACEの開発は、
ここで少し変わりました。
問題を見つけるたびに機能を追加するのではなく、
本当に必要なものだけを残す。
そうして、
ACEはもう一度8年半を走りました。
そして、
これまでで最も完成に近いところまで来ました。
今度こそ、
完成。
――そう思いました。
でも、
まだ終わりませんでした。
調べれば、
弱点はまだ見つかります。
改善できそうな場所もあります。
新しいルールを追加すれば、
過去のバックテストは、
さらに良くできるかもしれません。
では、
見つけたものを全部ACEに入れるのか。
それとも、
あえて入れないのか。
最後に残ったのは、
プログラムの問題ではありませんでした。
どこで開発を止めるのか。
その判断でした。
次回予告
まだ改善できるのに、なぜACEを完成としたのか?
防御を削り、
ACEは8年半を走り切りました。
でも、
調べれば弱点はまだ見つかる。
新しいルールを加えれば、
バックテストの数字をさらに良くできるかもしれない。
それでも私は、
すべてをACEには入れませんでした。
次回、第13話。
「もっと良くする」と「過去に合わせすぎる」の境界線。
そして、
ACE GOLD EA Ver.1 — GENESIS —
現在のACEが、ようやく確定します。