今回は、バックテストの際に注意すべきことについて思いついたことを書いてみます。
多くの人は、トレードシステムを開発して、それで取引を始める際に、
まずトレードシステムのコードを書いて、
バックテストによるパラメータの最適化を行い
そのバックテストの結果により使えそうなシステムならばそのシステムで取引を行う
という手順を踏んでいることと思います。
しかし、バックテストによるパラメータの最適化を行いそのバックテストの結果により使えそうなシステムかどうか判断する際に気をつけなければならないことがいくつかあります。
まず第一に、上のようにして得られたバックテストの結果は、パラメータの最適化を行ったうえでの結果なので、カーブフィッティングが行われている可能性があるということです。
カーブフィッティングが過度に行われた結果であれば、実際に取引を行った際には、バックテストで得られたパフォーマンスから悪い方に大きく乖離したパフォーマンスになる可能性が高いです。
どのぐらい過度なカーブフィッティングになりやすいかは、最適化を行うパラメータの数、システムの性質、パラメータの最適化手法等によります。
このことはよく知られていることではありますが、トレードシステムを開発する際に、このことに関していくら注意深く慎重になってもなり過ぎることはないと思います。
このこと以外にも、あまり言われていないことですが注意しなければならないことがあります。
それについては、また次回。
0 件のコメント:
コメントを投稿