しばらく、ブログを更新できませんでした。
トレードも、ここ2週間弱、お休みしています。
今まで、過去のデータからルールを作って、それを使っていました。
過去何年分もの、大量のデータをエクセルで解析するので、ルールを作るのにものすごく時間がかかります。
そして、ずーっと、見ないようにしていた問題があります。
それは、「来年はどうするのか?」という問題です。
例えば、2005~2023のデータで、ルールを作って、今年はトレードしていましたが、さて、来年は、このルールをそのまま使うのか?
それとも、改めて、2005~2024のデータをもとに、ルールを作り直すのか?
仮に、作り直すとしても、1月は今のルールを使いつつ、ルールを作り直して、それが出来次第、新しいルールに移行する、ということになるのかなぁと、漠然と思っていました。
これだけ長期間のデータなので、1年分、データが足されても、大して影響はないだろうと、根拠もなく思ってみたり、逆にそれでルールが変わってしまうのなら、古い方からデータを捨てて、毎年「〇年分」を使ってルールを作るべきなのか、などと、色々考えていると、どれひとつ、答えは不明なので、今は考えるのをやめて、まずは今年、勝ってから考えよう、とずっと、考えないようにしていました。
でも、幸か不幸か、エクセルの技術、というか、マクロの技術だけ、アホみたいに上がってしまった関係で、今まで2カ月くらいかかっていた作業が、クリック一つで、一晩で結果を出せるようになりました。
となると、逃げないで、「来年はどうするのか問題」にも答えを出さなければいけません。
少し前からやっていた、2023年までのデータで作ったルールで、2024年は勝てているのか、2022年までのルールで作ったルールで、2023年は勝てていたのか、というのを、重い腰を上げて、範囲を広げ、全部調べてみることにしました。
2005~2024 に対して、1年~9年の期間でルールを作り、その翌年、そのルールでどれくらいの損益になるのか、というのを、虱潰しに調べています。
例えば、「1年分」なら、
2005年のデータでルールを作り、2006年でテスト
2006年のデータでルールを作り、2007年でテスト
:
2023年のデータでルールを作り、2024年でテスト
という感じで、検証しています。
「2年分」なら、
2005~2006年の2年分のデータでルールを作り2007年でテスト
:
2022~2023年の2年分のデータでルールを作り2024年でテスト
これを1年~9年ですので、最後は「9年分」で、
2005~2013年の9年分のデータでルールを作り2014年でテスト
:
2015~2023年の9年分のデータでルールを作り2024年でテスト
という感じで、途方もない作業をやっています。
(やろうと思えば10年分、11年分……と、さらに検証することは可能ですが、それをすると、今度はテストできる年数が少なくなってしまいます。たとえば、19年分のテストをしたくても、2005~2023年の19年分でルールを作って、2024年でテストすることしかできず、たった1年では、それが偶然なのか、傾向なのかの判断ができません。
また、事前の予備テストで、あまり年数が長すぎても短すぎても結果が良くないことがわかったので、9年までとしました)
ひとつの「〇年分」を終わらせるのに、マクロを流しっぱなしで丸2日間くらいかかるため、自宅の2台のパソコンと、事務所の2台のパソコンを、動かし続けています。
で、出来たところから解析しているのですが、今まで、何の根拠もなく、2005~2023年のデータでルールを作っていたものは、「19年分」で、1回分のテストをしたに過ぎず、仮にそれでいい結果になったところで、来年、「20年分」にしろ、「19年分」にしろ、それでルールを作り直して同じような結果になる保証はどこにもないことが判りました。
なぜなら、「〇年分」で検証した結果、平均で年3000pipsくらいとれていたとしても、普通に負けている年があるからです。
2024年に関しては、過去何年で検証しても、7月までの年間収支は、すべてプラスになっていたので、適当な年数のルールでトレードを続行しても良いような気もします。
ただ、検証結果を見ると、プラスで終っている年でも、6カ月連続で負け、とかあるので、不確かなルールを使うのはやめようと思いました。
今はまだ、ひたすらデータをマクロで加工している段階で、全部が出揃ったら、過去何年分でルールを作るのが最適なのか、どんな選び方をすれば、負ける月を少なく出来るのか、アルゴリズムを考えたいと思います。
勝率がいいものを選ぶべきか、合計の大きいものを選ぶべきか、月の負け数が少ないものを選ぶべきか、など、選び方ひとつで、トータルの結果が大きく変わってきます。
ルールの選び方を決めれば、結果も、マクロを流せば自動で出せます。
例えば「勝率が高いものを選んだらどうなるか」を、過去〇年分の、各年に対して、一斉に流して、自動でシートに落とせますが、大量のテスト結果に対して流すので、それだけで1時間くらいかかります。
「負け数が〇以下で、勝率が〇以上のものに対して、合計の大きいものを選ぶ」みたいな複合技もできるため、まだまだ、時間はかかりそうです。