記事「制約付きCustom Maxを実装するための一般的な最適化定式化(GOF)」についてのディスカッション

 

新しい記事「制約付きCustom Maxを実装するための一般的な最適化定式化(GOF)」はパブリッシュされました:

この記事では、MetaTrader 5端末の設定タブでCustom Maxを選択する際に、複数の目的と制約条件を持つ最適化問題を実装する方法を紹介します。最適化問題の例は、ドローダウンが10%未満、連敗回数が5回未満、1週間の取引回数が5回以上となるように、プロフィットファクター、ネットプロフィット、リカバリーファクターを最大化するといったものです。

一般的に、最適化アルゴリズムには大きく分けて2つのタイプがあります。最初のタイプは、最適化問題に関与するすべての関数の勾配の計算に基づく、より古典的なものです(これはアイザックニュートンの時代にさかのぼる)。2つ目のタイプは、より最近のもの(~1970年代)で、勾配情報をまったく使用しません。その中間に、前述の2つのアプローチを組み合わせたアルゴリズムがあるかもしれませんが、ここで取り上げる必要はありません。MetaTrader 5の端末設定タブにある[高速遺伝的アルゴリズム]と呼ばれるアルゴリズムは、2番目のタイプに属します。これにより、目的関数と制約関数の勾配計算を省略することができます。さらに、MetaTrader 5アルゴリズムの勾配なしの性質のおかげで、勾配ベースのアルゴリズムでは適切でなかった制約関数を考慮することができました。これについては後述します。

1つ重要な点は、[完全アルゴリズム(遅い)]と呼ばれるMetaTrader 5のアルゴリズムは、実際には最適化アルゴリズムではなく、side constraintの範囲内で、すべての入力変数の値のすべての可能な組み合わせを総当たり的に評価するということです。

作者: better.trader every.day