パラメータ探索の心得


トレーディングロジックの性格は、パラメータにより大きく変わる。
利大損小か、高勝率か、ただ、それだけでなく、
トレーディングロジックの頑健性もパラメータにより左右される。

トレーディングロジックとパラメータの相性も重要である。
利大損小に適したトレーディングロジックに、高勝率を期待するパラメータを設定することは無意味である。

開発者は、トレーディングロジックの性格を見極め、後述する正しい手法によりパラメータ設定をしなければならない。
なお、高いパフォーマンスが期待できるパラメータを高い頑健性をもって得られるトレーディングロジックは極めて稀である。
基本的には、開発者が思いつくトレーディングロジックのほとんどにおいて、長期的に勝てるパラメータセットは存在しないと思った方が良い。

開発者は皆、勝てるトレーディングロジックを搭載したEAを売り出したい。
しかし、勝てるトレーディングロジックは簡単には見つからない。
このジレンマは必ず存在する。
トレーディングロジックを勝てるように演出する一番安易な方法は、パラメータを不適切に調整することである。
そのような演出は、開発者に対して販売収益という一時的な収入をもたらすため、広く横行していると筆者は推測する。
例えば、直近の相場に合わせたパラメータを設定すると、超近未来では収益を上げられるかもしれない。
長い目で見ると、それが無意味な一時的な結果であるにも関わらず。

パラメータを設定する際の正しい手法とはどのようなものか。

答えは、カーブフィッティングを完全に排除した探索手法である。
しかし、採用した探索手法がカーブフィッティングを完全に排除するものかどうかの判断が不可能に近いことは、ほとんどのEA開発者が理解していることと推測する。

開発者が出来ることは、カーブフィッティングであると断定できるパラメータ探索手法を排除することのみである。
筆者の経験上、不適切なカーブフィッティングと断定できるパラメータ探索手法がある。

例えば、バックテスト後、MT4のOpen Chartをクリックし、トレード状況を確認する開発者は多い。
この作業は、トレーディングロジックが設計どおり走っているかどうかを確認するために必須の作業であることは間違いない。

しかし、この作業中に開発者にとって不都合な負けトレードを目撃することは多い。
そして、この不都合な負けトレードを排除するために、パラメータの微調整をする開発者も多い。
この微調整は確実にNGである。

また、この作業中にトレードして欲しいシーンを目撃することも多い。
そして、そのシーンでトレードするように、パラメータを微調整する開発者も多い。
この微調整も確実にNGである。

これらのパラメータの微調整は、まさにチャートのカーブにフィットさせる行為であり、カーブフィッティングの典型例である。

カーブフィッティングを極力排除した正しいパラメータの探索手法のうち我々が利用できる原理は多くない。
例えば、グリッド探索法、優先的段階探索法、山登り法、多点山登り法のような基本的な方法から、
やきなまし法、遺伝的アルゴリズム法、粒子群最適化法のような高度な方法がある。

筆者は、最も単純で精度の高いグリッド探索法によりパラメータを決定する。
資金力のある大手機関投資家であれば、より複雑で高度な手法を用いることも可能であるが、普通のEA開発者には現実的でない。

以下、グリッド探索法について、簡単に紹介する。
グリッド探索法は総当り的に片っ端からパラメータをテストする力技であるため、非効率なのは間違いない。
しかし、EAにはお金を預けるわけで、筆者は効率よりも安心を重要視したいため、グリッド探索法を用いる。

グリッド探索法では、お互いに影響しあうパラメータ数は2以下である必要がある。

互いに影響しあうパラメータが2以上あるトレーディングロジックは複雑すぎる可能性が高く、未来の相場において壊れやすいかもしれない。
機械は複雑になればなるほど、壊れやすくなるものである。

参考記事;お金を汲み上げる仕組み

パラメータ数が1の場合は、X軸にパラメータを、Y軸に損益関数をプロットする。
パラメータ数が2の場合は、X軸にパラメータ1を、Y軸にパラメータ2を、Z軸に損益関数をプロットする。

ここで、損益関数とは、損益を評価するための指標であり、損益額、プロフィットファクター、Return/DD ratio などを用いる。
損益関数は複数用いて評価することで、最適パラメータの決定における精度を上げることが出来る。

筆者は、単純な損益額とReturn/DD ratioの2つを使うことが多い。

グリッド探索法という地道な作業により、以下に示す最適化空間が出来上がる。
最適化空間には、パラメータ決定に必要なOptimization Hill(OH)が描画される。
OHはトレーディングロジックの頑健性を予測するために極めて重要な絵である。

OHはエアーズロックのように、なだらかな丘の方が良い(A)。
なぜなら、幅広いパラメータで収益が期待できるからである。

逆にキリマンジャロのように、尖がったOHは点でしか勝てないことを意味する(B)。
このようなトレーディングロジックは小さい相場の変化にも着いて行けず、未来に通用しない可能性が高い。

Optimization FX

パラメータの選び方次第で、見せ掛けの好成績を演出することは簡単である。
EAを開発したことがある者ならば、皆、知っている。
好成績を演出することにより、開発者は得をするかもしれない。
投資家の損と引き換えに。

しかし、正しい手法を用いて、高い頑健性で好成績を期待できるパラメータを見つけることは容易ではない。
EA開発者には、妥協することなくパラメータを探索できる執念が必要である。

世の中には勝てることを謳うEAが氾濫している。
しかし、パラメータの小細工なしに勝てるEAを作ることは容易ではない。
では、なぜ、コレほどまでに勝てることを謳うEAが氾濫するのだろうか。
答えは明白である。

EA開発者は、常に細心の注意を払い、パラメータを決定せねばならない。
目先の利益に惑わされてはいけない。
我が国の投資家に如何に利益をもたらすかを第一に考えなければならない。
それが遥か先にある国益につながり、周りまわってEA開発者に返ってくるのである。
 
FX自動売買EA勝てる