シストレを行う上で避けて通れないのが、過剰最適化の問題です。多数のパラメータを用いて売買ルールを最適化し、バックテストの成績を過度に追求した結果、実運用ではまるで機能しなかったということがしばしばあります。
この問題を避けるベターな方法としてアウトオブサンプルテストがあります。これは売買ルールの構築に使ったデータとは別のデータを用いて検証を行う方法です。データの分割方法としては、以下の3種類が挙げられます。
- 銘柄を分割する
- 日時を分割する
- 1と2の両方
銘柄を分割する方法としては、証券番号や株価で順番に並べて、奇数・偶数で分割する、あるいは3で割った余りで分割する、などが考えられます。日時の分割については、2007年12月31日以前のデータと2008年1月1日以降のデータで分割する、などが考えられます。
データを分割したら、片方のデータを用いて売買ルールの構築・最適化を行います。次に、残ったもう片方のデータを用いて検証を行います。この手順によって、構築した売買ルールが実運用においても機能するのか、過度に最適化された問題のあるシステムなのか、をある程度判別することができます。