図 1.取引戦略アルゴリズムの多次元空間の最適化。
取引戦略の最適化
アルゴリズム取引のプロセスでは、取引戦略のアルゴリズムのパラメーターを常に構成する必要があります。 すべての可能なパラメーターの組み合わせは、戦略オプションの大きな多次元空間に変わります。 最も収益性の高い安定した戦略を得るには、このスペースを探索し、取引に最適なパラメーターを選択する必要があります。
任意のセットを探索する最良の方法は、 ブルートフォースのすべての要素を完全に列挙することです。 ただし、最適化中に直面しなければならない膨大な量のデータを考えると、原則として、徹底的な検索によってそのような調査を行うことはまったく不可能であることがわかります。 極値を検索するプロセスで実際の研究量を減らすことができるさまざまな分析アルゴリズムを適用する必要があります。
これらのアルゴリズムのほとんどはよく知られています: モンテカルロ 法 、 勾配降下 法 、 アニーリングシミュレーション法 、 進化アルゴリズムなど。 さらに、これらの最適化アルゴリズムにはさまざまな変更が加えられています。 アルゴリズム取引では、原則として、遺伝的アルゴリズムとモンテカルロの実装があります。 いずれにしても、これらのアルゴリズムはすべて「乱数マジック」または科学的に言えば非線形確率的最適化を使用します。
確率的最適化アルゴリズムの古典的な問題は、少量の実際の研究と少量のサンプルでは、それらが代表的でないことです。 たとえば、モンテカルロは多極空間では効果的ではありません。グローバル極値に関する研究に焦点を当てており、ローカルの見落としがありますが、それほど興味深いものではありません。 アルゴリズムは、そのようなタスクを設定するのではなく、最も収益性の高い戦略を見つける必要があるだけです。 遺伝的アルゴリズムは、誤った変異の分岐に行き、 いくつかの極値などで停止することもあります。
これは、初期段階では、これらの最適化アルゴリズムはまだ研究されていない空間内の限られた量のデータについて決定を下す必要があり、重要な領域は研究から容易に外れることがあるからです。 これを回避するには、データサンプルと学習時間を増やす必要があります。この場合、時間は金の重さに見合うだけです。 最小限の時間で可能な限り徹底的に宇宙の極値を調査する必要があります。 さらに、為替取引の急速に変化する状況では、収益性だけでなく、取引戦略の安定したパラメーターにも注意を払うことが重要です。 安定とは、同様の結果を持つクラスターを形成するパラメーターを意味します。 クラスタ外の収益性の高い戦略は不安定で、深刻な損失につながる可能性があります。 同様に、クラスター戦略は市場の変化の影響を受けにくい。
確率的クラスター最適化手法
交換戦略の最適化の特性を考慮して、ハイブリッドアルゴリズムが開発され( 前の記事を参照 )、これにより1つの快適な副作用が判明しました。クラスターの分離と調査に成功しました。 結果のアルゴリズムに名前を付けました-「確率的クラスター最適化の方法」。
そのため、調査プロセスは2段階でアルゴリズムを通過します。
- 採算の取れないリスクのあるエリアを排除した戦略空間の探索
- 極値と宇宙クラスターの詳細な研究
ステージ1.採算の取れないリスクのあるエリアの除去を伴う戦略スペースの調査。
研究の初期段階でデータが不足している場合の不確実性を取り除くために、アルゴリズムは収益性の高い戦略を検索するタスクを設定せず、むしろ最も収益性の低い戦略を検索し、損失の可能性が高い可能性があるそれらに隣接する領域とともにそれらをスペースから削除します。
作業は次の順序で実行されます。
- 多次元空間は、取引戦略のすべての可能なパラメーターから形成されます。
- 戦略は空間からランダムに選択され、指定されたパラメーターを使用して履歴データでテストされます。
- 最も収益性の低い戦略に関するテストの結果によると、境界の微小領域は削除されます。 したがって、調査スペースは縮小され、さらなる反復でより収益性が高く安定した領域に重点が置かれます。
- テストの反復は、戦略のスペースが必要な程度に探索されるまで実行されます。
図 図2は、研究がどのように極端な方向に移行するかを示していますが、良好で安定したパラメーターを備えた小さなクラスターが欠落するリスクは最小限です。
図 2.確率的クラスター最適化アルゴリズムの最初の段階は、戦略空間の研究です。
ステージ2。クラスターと極値の詳細な研究。
研究の最初の段階の後、極端な極値は良くなります。 ただし、アルゴリズムの特性(多くの微小領域が切り取られる)により、スペースは「引き裂かれ」、極値は詳細に研究されない場合があります。 すべての興味深いクラスターを完全に探索するために、最適化アルゴリズムはまったく逆の研究プロセスを開始します。 このために、すべての最良の戦略が選択され、それらの周りに微小領域が追加で割り当てられます。 これらの分野で未開拓の戦略が見つかった場合、それらはさらにテストされます(図3を参照)。
図 3.確率的クラスター最適化アルゴリズムの第2段階は、極値の詳細な研究です。
その結果、アルゴリズムの操作後、私たちにとって関心のある空間のすべての領域が調査され、有益な戦略を持つクラスターが詳細にテストされます。 さらに、実際の研究量は、原則として、戦略オプションのスペースの総量の25〜50%以下です(図4を参照)。
ウォークフォワード最適化
パラメータが最適化され、取引を開始できるようです。 しかし、研究プロセスはそこで終わりません。 最適化プロセスは、プロセスで使用される履歴データのパラメーターを「適合」または再最適化するリスクがあるため、結果をさらに確認する必要があります。 これを行うには、 Walk Forwardメソッドを使用します。 この方法の本質は、戦略のパラメーターが、最適化プロセスで使用されるもの以外の履歴データでテストされることです。
これを行うために、履歴データの範囲全体がセットで構成されるサンプルに分割されます。
- IS(「サンプル内」) -最適化に使用されるサンプル
- OOS(「Out Of Sample」) -最適化結果のテストに使用されるサンプル
さらに、サンプルの範囲は、OOSデータが次々と連続するように形成されます(図5を参照)。
図 5.スキームウォークフォワード最適化。
結果を確認する段階で調査の量を減らすために、最適化後、パフォーマンスの低い戦略をすぐに除外して、総テスト時間を短縮できます。 このようなチェックの結果として、再最適化から保護されている取引戦略の客観的なパラメーターを取得します(図6および図7を参照)。
図 6.「サンプル」データの最適化結果。
図 7.「Out Of Sample」データの最適化結果の検証。
結果分析
原則として、ウォークフォワードメソッドを使用してテストした後、ほとんどの取引戦略は最適化後ほど魅力的に見えません。 理想的には、戦略は統計指標を確認し、極値とクラスターは空間内の形状と位置を維持する必要があります。
結果を快適に分析するために、ヒートマップ形式で各パラメーターの戦略の多次元空間を視覚化しました( 図8を参照)。 クラスターの形状とサイズ、極値の位置はマップ上で視覚的に評価され、戦略の有効性に対するパラメーターの影響が確認され、再最適化の確認後の変更などが行われます。
図 8.最適化されたパラメーターと目的関数による空間のセクションの例。
Walk Forward最適化の結果を包括的に評価するために、フィルタリングに合格したすべてのステップとパラメーターでマトリックスが構築されます。 緑色は、パラメータがパフォーマンスを確認したステップを示し、確認されていない場合は赤色をマークします。 多数のステップで優れていることが証明されたパラメーターは、取引に適していると考えることができます(図9を参照)。
図 9. OOSデータの検証のすべての結果を含む順方向マトリックス。
必要に応じて、結果をサードパーティの分析システムにエクスポートして、より詳細な調査を行うことができます。 たとえば、R、Excel、Mathlabでは(図10を参照)。
図 10.最適化結果をExcelにエクスポートします。
選択したパラメーターの正確性を最終的に検証するために、戦略の詳細なテストが実行され、イールドカーブの滑らかさが評価され、チャートの注文が表示され、取引トランザクションのログが調査されます(図11を参照)。
図 11.取引戦略のパラメーターの詳細な分析。
おわりに
最適化とすべてのチェックの後、Exchangeでの実際の取引に適した戦略が可能になります。
最後に、私たちはすべてダブルチェックしました。おそらくすでに取引を開始できますか? 実際、私たちはまだ途中であり、取引アルゴリズムを戦闘に送るには早すぎます。 さらに:
- Exchangeからのライブデータの戦略をチェックして、テスト中に取得したインジケーターを確認します。
- リスクを分散するための取引戦略のポートフォリオを形成する。 ところで、それも最適化する必要があります。
- 実際の取引のプロセスでは、定期的に結果をテスト結果と組み合わせて、オプティマイザーテスターの設定を調整します。
しかし、これについては、おそらく別の時間です。
すべてに良い取引!