EAの最大の敵は、『カーブフィット』です。
関連書籍から共通する考え方をまとめ、『カーブフィット対策』を作り上げました。
これから、3つの記事に分けて、『カーブフィット対策』についての考え方を紹介します。
この記事は『カーブフィット対策』の1つである『シンプルな手法』についてご紹介します。
カーブフィットとは
カーブフィットとは、『過去のチャートに合うように、パラメータやフィルタを調節して、綺麗な資産曲線を作ること』です。
カーブフィットされたバックテストは、EAの実力を示しておらず、実際に運用すると悪い方に外れる可能性が高くなります。
例えば、パラメータやフィルターを頑張って調整して、左図から右図にした場合、将来の結果は左図に近く可能性が高くなります。
私のイメージする『カーブフィット』は、以下の通りです。
左下図が『カーブフィットされたEA』、右下図が『カーブフィットの影響が小さいEA』です。
青線がパラメータ調整前のバックデータで、赤線がパラメータ調整後のバックデータと考えてください。
カーブフィットされたEA(左下図)は、パラメータを調整してバックデータの資産曲線を右肩上がりにしています。
しかし、パラメータの値を少し変えると、その結果が大きく変化してしまいます。
つまり、カーブフィットされたEAは、将来の不確実性に弱いEAと言えます。
一方、カーブフィットの影響が小さいEA(右下図)は、多少パラメータを変化させても、バックデータが大きく変化しません。
つまり、カーブフィットの影響が小さいEAは、将来の不確実性に強いEAと言えます。
では、どのようにすれば、カーブフィットの影響が小さいEAを見分ける事ができるでしょうか?
カーブフィット対策
私が提案している『カーブフィット対策』は以下の通りです。
- シンプルな手法
- 低いパラメータ感度
- 検証期間と検証回数
- 複数の通貨ペアで機能
- 複数の時間軸で機能
この記事では、『シンプルな手法』について、ご紹介します。
シンプルな手法とは
シンプルな手法が、カーブフィット対策に有効と言われています。
単純な手法ほど、誤魔化し難く、カーブフィットさせ難くなります。
シンプルな手法は、さらに3つに分解できると考えています。
① 明確な収益ドライバ
② 少数パラメータ
③ フィルタレス
それぞれについて、ご紹介します。
明確な収益ドライバ
収益ドライバとは、収益を上げる動力源のことです。
堅牢なシステムを作るには、収益ドライバを把握している必要があります。
勝てる理由(収益ドライバ)がない場合は、いくらバックテストで好成績でも偶然の可能性が高くなります。
例: 低気圧が接近してきたので(ドライバ) ⇒ 雨が降るだろう
下駄が裏になったので(カーブフィット) ⇒ 雨が降るだろう
カーブフィットさせたシステムは、移動平均線、RSIなど、指標を多く寄せ集めて、MA20、RSI70、・・・などパラメータ調整して資産曲線を綺麗にしています。
その指標の組み合わせに意味があれば、収益ドライバと言えますが、単なる組み合わせの場合は、カーブフィットの可能性が高くなります。
<参考:マーケットの魔術師 システムトレーダー編>
『収益ドライバを突き止める。基本コンセプトが理解できて、変数を大きく動かして、堅牢である事を確かめる』
『相場の仕組みを理解し、仮説を立てて、検証する。逆の手順では、堅牢システムは作れない』
収益ドライバのクリア条件は、『なぜそのシステムで、収益が出るのかを人に説明できる』ことです。
EA購入する場合は、『確かに、そのロジックであれば収益がでそう』と納得できる事が重要と考えます。
ただ、ロジックはEAの命ですので、ブラックボックスの場合も多く、紹介されていないケースもあります。
少数パラメータ
パラメータの数を増やすと、その分だけ過去チャートにフィットさせやすく、バックテスト上で容易に高収益なEAを作ることが可能になります。
つまり、パラメータを増やすことが、カーブフィットの要因となります。
例: ①低気圧が接近(1つ) ⇒ 雨が降るだろう
②低気圧が接近+6月+水曜日+前日の湿度+下駄が裏(5つ) ⇒ 雨が降るだろう
過去検証では、パラメータが多い②の方が雨の確率は高いかもしれません。
しかし、パラメータを増やすと意味のない指標も増え、偶然として過去検証での確率が上がった可能性が高くなります。
その場合、将来の結果は、このカーブフィットにより裏切られる可能性が高くなります。
無駄なパラメータをそぎ落とした、収益ドライバだけで勝負しないと、そのシステムの実力が見えてきません。
<参考:トレーディングシステム入門>
『カーブフィッティングとは、トレードルール、パラメータ、フィルター、損切を使いすぎること。』
<参考:システムトレード基本と原則>
『調整可能なパラメータの数を最小にすれば、カーブフィッティングのリスクは減る』
FXで判断が必要となるのは、エントリ、決済(利確、損切)、ロット計算くらいです。
それに、パラメータを10個も20個も使うと、カーブフィットの要因になります。
フィルタレス
フィルタは、過去データの収益性の悪い部分をカットするために使われることがあります。
フィルタを用いれば、資産曲線をよく見せることはできますが、カーブフィットの要因となります。
パラメータが増えるとカーブフィットの可能性が高くなる事と理由は同じです。
<参考:トレーディングシステム入門>
『カーブフィッティングとは、トレードルール、パラメータ、フィルター、損切を使いすぎること。』
<参考:マーケットの魔術師 システムトレーダー編>
フィルターは使わないのがBestです。
まとめ
カーブフィット対策の中の『シンプルな手法』について、開発者の目線で紹介しました。
① 明確な収益ドライバ :『なぜそのシステムで、収益が出るのかを人に説明できる』こと。
② 少数パラメータ : パラメータを少なくする。パラメータを増やすことが、カーブフィットの要因となる。
③ フィルタレス : フィルタを用いない。フィルタを用いれば、カーブフィットの要因となる。
続きのカーブフィット対策②も、是非参考にしてみて下さい。