多くの量化トレーダーがパラメータを初期に最適化する際には,前向き偏差,過度に最適化,曲線適合という3つの種類の誤りが容易か少なくなることが多い.これらの3つの罠は,戦略開発とパラメータ最適化過程で1つだけ発生する限り,破滅的な結果をもたらし,これらの誤りは量化トレーダーの目の前にある地雷であり,少しも不注意で爆発しやすい.
まず,前視偏差とは,戦略の開発において,現実盤操作では基本的には実現不可能である将来の情報を考慮したものである.前視偏差は主に2つの側面で表される.
未来関数を例に挙げると,ある均線戦略のルールは,
また,盗難価格と呼ばれる場合もあります. これは実際に将来関数にも属します. 例えば,ある高い周波数戦略を,我々は一時的に
この1つのティックの誤りを軽視しないでください.例えば螺紋鋼で,年に250日取引が,取引日ごとに1回取引が実行されると仮定すると,全年は500ティックで,500ティックのスライドポイントコストはあなたの資本を上回ります.現実には,あなたが1つのティックの価格を下回る取引を行うことは不可能であるだけでなく,より多くのケースは1つまたは複数のティックの価格よりも高い取引です.理由は簡単です.ほとんどのトレンドトレーダーの信号はほぼ同じです.
次に,シグナルフラッシングについて話をします.もし別の均線戦略のルールが次のようであるならば: 円盤の閉盤価格が均線より高い場合,破盤価格で破盤を始める.我々はそれでもその名前を取ります. この戦略を"円盤Bフラッシング"と呼びましょう. 円盤Bフラッシングは,シグナルフラッシングが存在する戦略です.
未来関数とシグナルフラッシュは,前視偏差と呼ばれる.フラッシュ B
過剰最適化や曲線適合については,過剰最適化は,戦略のいくつかのパラメータを繰り返し最適化して,そこから得られる最適なパラメータに基づいて戦略とリスクを制御することを意味する.明らかに,暴力による最適化によって,利益を得られない戦略でさえ,個々のパラメータが利益を得ることができるが,この結果が将来の実戦で使用される場合,利益を得ることは困難である.
過剰最適化を避ける効果的な方法は2つあります. (1) 参数が少なく,最適化できる項目が少なく,自然過剰最適化の事態はよく避けられます.そして,参数構造が少なくなる戦略は,時効性やロボ性に関係なく,多くの複雑な戦略を上回る傾向があります.
過最適化を避けるための2つ目の方法は,ある戦略のデフォルトパラメータで過去テストを行うか,またはランダムなパラメータの複数のセットで戦略をテストする,もしその戦略がデフォルトパラメータとランダムなパラメータの両方で利益を得ることができれば,その戦略はさらに開発されるべきである.逆に,もしある戦略がわずか数パラメータで利益を得ることができれば,その戦略を断固として放棄することをお勧めします.また,あなたが実行可能だと考える戦略を複数の品種にテストすべきであり,ある戦略が特定の品種にのみ適用される場合,その戦略を実行しないことを強くお勧めします.
曲線適合と過剰最適化とは,歴史データに適合するために不必要なルールを追加することを比較して比較する.例えば,ある株式戦略,簡略にC
曲線適合を避ける方法と過度に最適化する方法は,できるだけ少ないルールで取引システムを構築することです. 数学的な常識のある人は,2回関数で1回転市場を適合させ,7回関数で6回転市場を適合させ,追加の規則を追加すると1回転市場を適合させることができます.
前向きの偏差,過剰な最適化,曲線を合わせた戦略を使用する戦略には,共通点があります. それは,戦略が回転時に非常に優れたパフォーマンスを発揮しているが,実物に入力することはまったくできないことです. これは自欺の行為です. しかし,より多くのケースでは,多くのトレーダーは戦略の開発で無意識にこれらの間違いを犯し,いくつかの間違った論理と公式を使用して回転し,回転結果を直接自分の予想された利益とリスク管理の基礎として使用します.
だから,他の人の戦略のコードを見ない限り,その戦略の優劣を判断するのは簡単ではない. なぜなら,オンラインで購入する戦略の多くは,これらの問題を持つ戦略であり,これらの問題は,量化取引の扉に入らない限り,ほとんど誰も発見することはない.
Pythonの量化取引コミュニティから転送