記事「最適化アルゴリズムを使用してEAパラメータをオンザフライで設定する」についてのディスカッション

 

新しい記事「最適化アルゴリズムを使用してEAパラメータをオンザフライで設定する」はパブリッシュされました:

この記事では、最適化アルゴリズムを使用して最適なEAパラメータをオンザフライで見つけることや、取引操作とEAロジックの仮想化について、実践的な側面から論じています。この記事は、最適化アルゴリズムをEAに実装するためのインストラクションとして使用できます。

EAや戦略全般を扱う際に、最適化アルゴリズムの適用方法についてよく質問を受けます。この記事では、最適化アルゴリズムの実用的な側面について見ていきたいと思います。

ミリ秒単位で大きな違いが生じる今日の金融界では、アルゴリズム取引がますます必要になってきています。最適化アルゴリズムは、効率的な取引戦略を構築する上で重要な役割を果たします。おそらく、最適化アルゴリズムと取引には共通点がないと懐疑的に考える方もいらっしゃるでしょう。ただし、この記事では、この2つの分野がどのように相互作用し、そこからどのようなメリットが得られるかを紹介します。

初心者トレーダーにとって、最適化アルゴリズムの基本原理を理解することは、収益性の高い取引を見つけ、リスクを最小限に抑えるための強力なツールとなります。熟練したプロフェッショナルにとって、この分野の深い知識は新たな地平を切り開き、期待を上回る洗練された取引戦略の構築に役立ちます。

EAの自己最適化とは、過去のデータと現在の市場状況に基づいて、EAがより良いパフォーマンスを達成するために取引戦略のパラメータを適応させるプロセスです。このプロセスには以下のような側面があります。

作者: Andrey Dik

 
すごいですね。このようなアルゴリズムはPythonで可能なのでしょうか?
 

input string   InpKPeriod_P        = "18|9|3|24";  //STO K period:      it is necessary to optimize
input string   InpUpperLevel_P  = "96|88|2|98"; //STO upper level: it is necessary to optimize

パラメータは文字列型で宣言され、パラメータは複合型で、デフォルト 値、 最適化の 開始 値、ステップ 最適化の 終了値を 含むことに注意してください。

このような文字列にはMQフォーマットを使用することをお勧めする。
input string   InpKPeriod_P     = "18||9||3||24||N";  //STOのK期間:最適化が必要
input string   InpUpperLevel_P  = "96||88||2||98||Y"; //STO上位レベル:最適化が必要
 
Yevgeniy Koshtenko #:
すごいね。教えてください、このアルゴリズムはPythonで可能ですか?
はい、もちろんです。
 
fxsaber #:
そのような文字列にはMQフォーマットを使用することをお勧めします。
パラメータ文字列のレコードにフラグのチェックを追加するだけです。
 

実環境と仮想環境で2つの異なるトレードの実装があるのは間違っているようです。理想的には、実環境ではOnTickから直接呼び出されるメソッド、仮想環境ではオプティマイザーから呼び出されるメソッドが同じであるべきです。

また、最適化の並列性も まだ欠けている。それぞれのgroup/roy/and-other-analogous-independent-agentsを Expert Advisorの別のコピー、つまり専用のスレッド(例えば)で実行するのが論理的です。

 
Stanislav Korotky #:

実環境と仮想環境という2つの異なる取引の実装があるのは間違っているように思える。理想的には、実環境ではOnTickから直接、仮想環境ではオプティマイザーから同じメソッドが呼び出されるべきです。

そして、最適化の並列性は まだ欠けている。各グループ/roy/その他のアナログ独立エージェントを Expert Advisorの別コピー、つまり専用スレッド(例えば)で実行するのが論理的です。

もちろん、すべてに同意します。

しかし、このタスクは、プログラミングに精通していないユーザーを含む幅広いユーザーが利用できる、本当に非常にシンプルな例を示すことでした。

そしてもちろん、理想的には仮想と現実の完全な同一性が必要で、すべてのロジックを仮想に置けば、すべてを簡単に並列化できる。

 

最後に、最適化に関するあなたの記事の良い応用例を紹介します。

ありがとう。

 
Aleksandr Slavskii #:

さて、最後に、あなたの最適化記事の良い応用例を紹介しよう。

ありがとう。

私の記事に注目していただき、ありがとうございます。
 
設計を正しくすることは、人工知能(EAとは何の関係もないが、それはニューラルネットワークでも 自己学習でもないからだ)が論理的な戦略をもって進むべき道を示すための素晴らしい出発点であり、これに自己最適化を加えることは実に有益である。
 

興味深い記事で、あなたの連載記事への関心が高まるでしょう!

もちろん、提案された実装の欠点は、アプローチの普遍性の欠如です。つまり、既存のExpert Advisorを完全に書き直し、多くの機能を持つ仮想テスターを導入する必要があります。もちろん、このアプローチの利点は、仮想インジケータによる許容可能な作業速度です。

最適化のために、チャートの範囲ではなく、各インジケーター/プレディクターに対して以前に選択された設定のセットを使用してみましたか?このアプローチは検索範囲を大幅に縮小しますが、パラメータからパラメータへのスムーズな変更がないため、すべてのアルゴリズムが適切に機能するわけではないと理解しています。

この記事で概説されているような、アルゴリズム応用の他の可能性に関する記事の予定はありますか?

  • ポートフォリオ管理。 最適化アルゴリズムは、与えられた目的を達成するために、ポートフォリオにおける最適な資産配分を決定するのに役立ちます。例えば、平均分散最適化(Mean-Variance Matrix)のような最適化技法は、期待リターンとリスクが与えられた場合に最も効率的な資産セットを見つけるために使用することができます。これには、株式、債券、その他の資産の最適な組み合わせを決定することや、ポジション・サイズやポートフォリオの分散を最適化することが含まれる。
  • 最適な取引手法の選択 最適化アルゴリズムは、取引に最適な取引手段や資産の選択に役立ちます。例えば、最適化アルゴリズムは、リターン、ボラティリティ、流動性などの様々な基準に基づいて資産をランク付けするために使用することができます。