一口にトレーディングシステムの検証と言いましても、そのやり方には様々な方法があります。そして、その違いによって、得られたシステムの概念そのものが、異なってくる場合があるのかもしれません。

私の場合、解析的な検証方法を採っています。それは、検証しているロジックによって得られる出力(売買ポジション)を、評価ブロック(プログラム)に引き渡すことで、直接的にシステムの出力(資産推移や各種性能指標)を得るものです。

この方法の利点は、ロジック設計からシステム運用への移行が容易である、ということです。また、パラメータの調整が容易であるため、細かなチューニングがやり易くなります。
しかし、最大の利点は、「株価の予測」という行為を前提とすることなく、システムを構築できることではないかと考えます。

すなわち、何故システムが機能するかについては、ロジック設計時に定性的に考える程度とし、結果的に良好な性能が得られることを優先します。
そのため、当然のことながら常に過剰最適化(カーブフィッティング)の影が、付きまとってしまいます。

それについては、最適化方法の工夫などによって、ある程度は回避できると考えていますが、残念ながらまだ完全ではありません。
別途、信頼性評価試験などを行うことにより、少しでも長寿命なシステムを追及する必要があります。

また、この方法の場合、ロジック設計そのものが最大のネックとなります。ロジックを検証するためには、アイデアを具体的に売買ポジションとして出力する必要があり、その都度、新たなプログラムを作成する必要があります。

その部分を簡略化しようとすると、既存のテクニカルの組み合わせに特化したり、無茶な最適化に走ったりしがちになります。
また、ロジック設計そのものがシステム開発の最大の目的となってしまい、信頼性評価などへの対応が疎かになってしまうかもしれません。

他方、上述した方法以外では、例えば目的変数と説明変数の相関を調べる、という方法を採ることもあります(これについては私は専門外ですので、間違いがあるかもしれません)。
これは、例えば近々の株価推移を目的変数とし、直近の株価推移や他のテクニカル、あるいはファンダメンタルズ要因などを説明変数に設定します。

近々の株価推移と言いましても漠然としていますが、例えば翌日の日差、もしくは翌日~翌々日の始値差や終値差などを設定すればいいわけです。
そして、説明変数と目的変数の相関(相関図や相関係数)を求めてみます。なお、通常は説明変数の数は複数となりますので、その場合は、多変量解析を行なったりします。

ここでは簡単のため、説明変数は一つとして話を進めます。また、目的変数は翌日の日差ということにしておきます。
あるいは、それらを規格化して、それぞれ-1~+1の値を取るようにしておきます。

さて、当日を過去のある時点に設定し、その時の説明変数と目的変数の値をそれぞれ求めてみます。続いて、日にちを1日進めて、同様に求めます。
それらの作業を現在まで続けますと、説明変数と目的変数の組み合わせが出来上がります。あとは、その散布図を描いて、相関係数もしくは決定係数を求めれば良いわけです。

もしも、説明変数と目的変数との間に強い相関が見られれば、しめたものです。実際にシステムを組んで、例えば説明変数がプラスの時は、翌寄付きで買建てし引けで返済、マイナスの時はその逆にすれば良いことになります。

なお、目的変数と強い相関を持つ説明変数は一つとは限りません。その場合は、例えば説明変数を1次結合して用いることになります。
結合係数は、両者の相関の大きさによって決定することになるでしょう。

この方法の最大のメリットは、システムが機能することに対する説明力が高い、ということになるでしょう。また、全期間に渡って必然的に検証がなされる、というメリットもあります。
そのため、一般にはカーブフィッティングにはなり難い、と考えられるかもしれません。

更に、ロジックの機能性を探るために、相関という非常に原理的な道具を用いるだけですので、ロジック開発の効率が高いことが期待されます。
その一方、有効なロジックを見つけるためには、かなり大掛かりな検証(大量の説明変数を調べる)を行なう必要があるかもしれません。

また、この方法は、基本的に株価推移を予測する、という立場を採ることになります。そのため、前述した解析的な検証方法とは、心情的に相容れない場合が生じてしまいます。
両者の方法の違いによって、結果的に株価の予測性に関する結論が異なるという事実は、興味深くもあります。

ただし、これらのシステムは互いに相容れないといった類のものではなく、ロジック開発の部分を後者のシステムが、それ以降のシステム構築の部分を前者のシステムが、それぞれ担えばいいのではないかと思います。