パラメータ最適化の3つの罠:前視偏差,過大最適化,曲線適合

作者: リン・ハーン小さな夢作成日:2017年11月24日 14:11:14 更新日:

多くの量化トレーダーがパラメータを初期に最適化する際には,前向き偏差,過度に最適化,曲線適合という3つの種類の誤りが容易か少なくなることが多い.これらの3つの罠は,戦略開発とパラメータ最適化過程で1つだけ発生する限り,破滅的な結果をもたらし,これらの誤りは量化トレーダーの目の前にある地雷であり,少しも不注意で爆発しやすい.

まず,前視偏差とは,戦略の開発において,現実盤操作では基本的には実現不可能である将来の情報を考慮したものである.前視偏差は主に2つの側面で表される.

  • 未来関数

    未来関数を例に挙げると,ある均線戦略のルールは,が現在の価格で均線を横切る時に開口価格で走勢を走行させる場合である. 易見のために,この戦略に名前を与え,未来Aと呼びます. 未来A戦略は,将来関数を使用した典型的な戦略です. 取引開始時に,このK線が最終的に均線を突破し,開口信号を発信するかどうかわからないので, 取引開始時に,このK線が最終的に均線を突破し, 取引開始時に, 取引開始時に, A未来Aは前回の買取を決定するために将来の価格を使用します.

  • 窃盗

    また,盗難価格と呼ばれる場合もあります. これは実際に将来関数にも属します. 例えば,ある高い周波数戦略を,我々は一時的に神盗 A と名付けます. 神盗 A 戦略のルールは,価格が当日の最高価格を突破したとき,当日の最高価格で取引を開くことです. 神盗 A は,問題がないように見えるが,突破は,より高いことを意味することを注意してください.

    この1つのティックの誤りを軽視しないでください.例えば螺紋鋼で,年に250日取引が,取引日ごとに1回取引が実行されると仮定すると,全年は500ティックで,500ティックのスライドポイントコストはあなたの資本を上回ります.現実には,あなたが1つのティックの価格を下回る取引を行うことは不可能であるだけでなく,より多くのケースは1つまたは複数のティックの価格よりも高い取引です.理由は簡単です.ほとんどのトレンドトレーダーの信号はほぼ同じです.

  • 信号が点滅する

    次に,シグナルフラッシングについて話をします.もし別の均線戦略のルールが次のようであるならば: 円盤の閉盤価格が均線より高い場合,破盤価格で破盤を始める.我々はそれでもその名前を取ります. この戦略を"円盤Bフラッシング"と呼びましょう. 円盤Bフラッシングは,シグナルフラッシングが存在する戦略です.

    未来関数とシグナルフラッシュは,前視偏差と呼ばれる.フラッシュ B とフラッシュ A には共通点があります. それは,将来の価格で前の買取と売却を決定することです. これは私たちが避けたい間違いです.

  • オーバーオプティマイズとカーブフィット

    過剰最適化や曲線適合については,過剰最適化は,戦略のいくつかのパラメータを繰り返し最適化して,そこから得られる最適なパラメータに基づいて戦略とリスクを制御することを意味する.明らかに,暴力による最適化によって,利益を得られない戦略でさえ,個々のパラメータが利益を得ることができるが,この結果が将来の実戦で使用される場合,利益を得ることは困難である.

    過剰最適化を避ける効果的な方法は2つあります. (1) 参数が少なく,最適化できる項目が少なく,自然過剰最適化の事態はよく避けられます.そして,参数構造が少なくなる戦略は,時効性やロボ性に関係なく,多くの複雑な戦略を上回る傾向があります.

    過最適化を避けるための2つ目の方法は,ある戦略のデフォルトパラメータで過去テストを行うか,またはランダムなパラメータの複数のセットで戦略をテストする,もしその戦略がデフォルトパラメータとランダムなパラメータの両方で利益を得ることができれば,その戦略はさらに開発されるべきである.逆に,もしある戦略がわずか数パラメータで利益を得ることができれば,その戦略を断固として放棄することをお勧めします.また,あなたが実行可能だと考える戦略を複数の品種にテストすべきであり,ある戦略が特定の品種にのみ適用される場合,その戦略を実行しないことを強くお勧めします.

    曲線適合と過剰最適化とは,歴史データに適合するために不必要なルールを追加することを比較して比較する.例えば,ある株式戦略,簡略にC適合と呼ぶ.この戦略は,波動取引をするのに3年,トレンド取引をするのに3年時間を設定している.C適合戦略は,2010年1月から2012年12月まで波動規則をテストし,2013年1月から2015年12月までトレンド規則をテストし,2016年1月まで波動規則をテストしている.明らかに,C適合戦略のテスト結果は非常に優れているが,3年間のサイクルをむというルールは実際には意味がない.これは,歴史上の状況に基づいて追加されたルールであり,あなたは今日から3年間のサイクルを保持している株式市場を判断することはできません.C代替戦略は,非常に優れているトレード戦略であり,実際には使用できません.

    曲線適合を避ける方法と過度に最適化する方法は,できるだけ少ないルールで取引システムを構築することです. 数学的な常識のある人は,2回関数で1回転市場を適合させ,7回関数で6回転市場を適合させ,追加の規則を追加すると1回転市場を適合させることができます.

    前向きの偏差,過剰な最適化,曲線を合わせた戦略を使用する戦略には,共通点があります. それは,戦略が回転時に非常に優れたパフォーマンスを発揮しているが,実物に入力することはまったくできないことです. これは自欺の行為です. しかし,より多くのケースでは,多くのトレーダーは戦略の開発で無意識にこれらの間違いを犯し,いくつかの間違った論理と公式を使用して回転し,回転結果を直接自分の予想された利益とリスク管理の基礎として使用します.

    だから,他の人の戦略のコードを見ない限り,その戦略の優劣を判断するのは簡単ではない. なぜなら,オンラインで購入する戦略の多くは,これらの問題を持つ戦略であり,これらの問題は,量化取引の扉に入らない限り,ほとんど誰も発見することはない.

Pythonの量化取引コミュニティから転送


もっと