システムトレード(EA)のパラメーターやバックテスト期間をどうする?その考え方

バックテスト期間は長ければ長いほど良い?


バックテスト期間は一般的に長ければ長いほど良いとされています。
確かにそれはそのとおりで、普遍的なロジックは投資対象の金融商品が変わっても(個別株・225先物・FX・商品など)時代が変わっても通用するのかもしれません。
しかしそういう優れたロジックでも、同じ比率のパラメーターであれば、期待値がプラスであっても実際のトレードに耐えうる程パフォーマンスが上がらないと思います。
(長い目で見ると利益は上がるが、ドローダウンが大きい・長いなど。)

 

パラメーターのチューニングとカーブフィッティング


実際のトレードに使えるシステム(EA)を作るなら、メインロジックは同じでもパラメーターを変えてチューニングしなければなりません。
しかし、このチューニングをやりすぎると、今度はカーブフィッティングしてしまうという別の問題が出てきます。
カーブフィッティングをさせたくないのでチューニングをしたくないが、しなければ使い物にならないと言う状況になってしまいます。
この点がシステムトレードを製作する或いは運用する時に非常に難しい問題となります。

明確な答えがある訳ではないため、各個人のバランス感覚になるのだと思います。

 

ではバックテスト期間をどう考える?


同じように考えてみると、バックテスト期間はどうでしょう。
一昔前は例えば株式を買おうと思えば、証券会社に電話で注文をしていました。
私が投資を始めた2001年頃は、やっとネット証券が普及し始めたかという時代です。
実際私の場合、商品先物取引において電話で注文をしていました。
私→取引会社の窓口→市場 と全て電話でやりとりするのです。
市場では、立会人が売値や買値を大声で叫び合い、売買を約定させていました。
電話注文は今と比べると、とにかく約定が遅い。
現在価格も電話で聞かないとわからない。
その中で幾らで指値だとか成行だとかの注文をしていたのです。
バックテストをするにあたり、その頃のデータを基にしたシステムが有効である必要があるのでしょうか。

投資の世界ではそれから急速にネットが普及し、2010年になるとHFT(高頻度取引)やアルゴリズム取引が出来高の多くを占めるようになりました。
それから市場価格は一方向に走り易くなり、異常値を付ける事も多くなったように思います。
時代と共に市場参加者やその形態は変化しているのです。

またFXの世界では、スプレッドの違いがあります。
今ならTradeviewの場合、スプレッドがだいたい0.1~0.3PIPSで手数料500円(0.45PIPSぐらい)なので実質0.6~0.7PIPS位です。
10年前ならドル円のスプレッドは3銭(3.0PIPS)が普通だったと記憶しています。
スプレッドが3.0PIPSの時代のデータをバックテストでは0.7PIPSと当てはめて検証するのも違和感があります。
スプレッドが0.7PIPSなら、少しの値幅で利益を確保することが出来ますが、3.0PIPSなら狙う値幅も大きくなり、それに伴って保有期間も長くなります。
つまり、スプレッドなどのコストが変化すれば、取引手法も変化して当たり前だと考えられます。

以上の事から、私はバックテスト期間を5年から長くても7年としています。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする