この記事では、カーブフィットを除去したリスク評価について解説します。

 

前回の記事で、資金管理の考え方/評価方法について、解説しました。

その中の計算過程で、一つ問題がある事を指摘しました。

それが、バックテストの中にカーブフィットの影響が含まれている点です。

いくら正確にリスク評価を行っても、バックテストにカーブフィットの影響が含まれていると、リスク評価結果は信用できません。

どんなに、気を付けてシステムを構築しても、カーブフィットは含まれてしまいます。

リスク評価を行う前に、カーブフィットの影響を取り除くようにしましょう。

 

カーブフィットを除去したリスク評価

カーブフィットを取り除く評価方法を3つ紹介します。

(1)BRAC(Build Rebuild and Compare)<参考:トレードシステムの法則 : 検証での喜びが実際の運用で悲劇にならないための方法

(2)ウォークフォワード分析 <参考:システムトレード 検証と実践

(3)パラメータの組み替え <参考:伝説のトレーダー集団 タートル流投資の魔術

 

BRAC(Build Rebuild and Compare)

概要:全検証期間で最適化を行った結果と、1年だけ除いた期間で最適化を行ったパラメータで除いた1年を評価した結果を比較する。

   比較した1年の結果が同等であれば、カーブフィットの影響は小さいと判断する方法

 

計算例:下図の通り2005~2019年を検証期間とする。

①構築 :2005~2019年で最適化を行う。

②再構築:2005~2018年で最適化を行う。(1年間を取り除く)

③再構築:2019年を②のパラメータで評価する。

④比較 :①と③の2019年の結果を比較する。

⑤判定 :①と③の結果が同等であれば、カーブフィットの影響がほとんどないと評価できる。(書籍に判定基準の記載なし)

長所:計算が簡単

短所:評価結果が、カーブフィットの影響が『ある』か『ない』かの2つ。定量的な評価が難しい

   取り除く1年を少しずつズラせば、次に紹介するウォークフォワードのような評価ができるかも知れない。

 

ウォークフォワード分析

概要:適当に決めた期間で最適化し、その最適化パラメータで次の年を評価する。

   1年ずつズラす事で長期間のアウトオブサンプルテストができる。

 

計算例:下図の通り2005~2019年を検証期間とする。

①2005~2009年で最適化を行う。その最適化パラメータで2010年を計算する。

②2006~2010年で最適化を行う。その最適化パラメータで2011年を計算する。

・・・・

⑩2014~2018年で最適化を行う。その最適化パラメータで2019年を計算する。

⑪2010~2019年(黄色箇所)の最適化していないテスト結果(カーブフィットしていないテスト結果)が作れる。

長所:長期間のカーブフィットを除去したテスト結果を作ることが出来る。

短所

・全期間で検証する事が許されておらず、短期間で検証することになる。その為、検証のデータが少ない。

・様々なウォークフォワードテストのパターンがあり、難易度を自由に決められる。

 ・上記の緑色の期間/黄色の期間の長さを自由に変える事ができる。

 ・下図のように、少しづつ検証期間を長くすることもできる。

  (十分なデータを使う事ができるので、個人的にはこちらの方がいいと思う)

・ポイントは、緑の期間が評価に値するだけの十分なデータ量を有する事だと思う

 例えば、検証回数5000回以上必要と考えるのであれば、5000回となる期間(例えば下記④)から開始する。

 検証回数については、右の記事を参照 (FXの過去検証に必要な回数

 

パラメータの組換え

概要:カーブフィット対策の一つであるパラメータ低感度の検証を利用する。(記事:カーブフィットと対策(50冊の書籍から分析)

   パラメータを20~25%変化させて、その最適化カーブ下にあることが将来起こり得ると考える

 

計算例:下図の通り2005~2019年を検証期間とする。パラメータは2つ(A、B)とする。

① 全期間の検証でパラメータを決定する。(A=20、B=50)

② パラメータをランダムに±20%振ったケースを10個用意する。

③ 10ケースのバックテストを実施する。

④ 最大ドローダウン(DD)を基準に、順位付けする。

⑤ 例えば、9番目以下のドローダウンが発生する確率は20%と推定する事ができる。

  

長所:最大ドローダウンの発生確率の推定も同時に行う事ができる。(ケース数を増やせば、精度が高くなる)

短所

・ランダムに振るパーセントに正解がない。

・ケース数を増やす事で評価精度を高くする事ができるが、その分だけバックテストの回数を増やす必要がある。

 

3つのリスク評価のどれを選べばいい?

詳細評価が可能な、『ウォークフォワード分析』か『パラメータ組換え』の2択になるかと思います。

2つの手法を試してみて、しっくりくる方を選択するのが良いと思います。

 

個人的には、『パラメータ組換え』の一択でした。

ウォークフォワード分析』は、パラメータの最適化を必要とします。

私は、パラメータの最適化を行いません(相関を意識して開発をしています)。

システム間の相関を含めた最適化工程をウォークフォワード分析に入れると検証が膨大となってしまい、不採用としました。

 

市販のEAを運用する場合

市販のEAでは、パラメータ調整できない場合があります。

その場合、上記の3つの方法を使う事はできません。

代案としては、他の通貨ペアで評価すると良いと思います。

5通貨ペアでバックテストを行えば、5つの結果を得る事ができます。

当該通貨ペアはカーブフィットが含まれていると考え、残りの4通貨ペアの結果が将来発生しうると考えて評価する事も可能です。

 

まとめ

この記事では、カーブフィットを除去したリスク評価として、3つの方法を紹介しました。

(1)BRAC(Build Rebuild and Compare)<参考:トレードシステムの法則 : 検証での喜びが実際の運用で悲劇にならないための方法

(2)ウォークフォワード分析 <参考:システムトレード 検証と実践

(3)パラメータの組み替え <参考:伝説のトレーダー集団 タートル流投資の魔術

また、市販EAでパラメータ調整できない場合は、運用予定の通貨ペア以外の複数通貨ペアの結果をカーブフィット除去後のリスクとして評価する事ができます。

それぞれ特徴があり、自分に合う評価方法を採用してはどうでしょうか?

 

次の記事

 

目次