記事"強化学習におけるモンテカルロ法の応用"についてのディスカッション

 

新しい記事 強化学習におけるモンテカルロ法の応用 はパブリッシュされました:

自己学習を行うEAを作成するためのReinforcement learningの適用。前回の記事では、Random Decision Forestアルゴリズムを学び、Reinforcement learning(強化学習)に基づく簡単な自己学習EAを作成しました。このアプローチの主な利点は、取引アルゴリズムを書くことの単純さと『学習」の高速性でした。強化学習(以下、単にRL)は、どのEAにも簡単に組み込むことができ、最適化のスピードを上げられます。

最適化を停止したら、シングルテストモードをオンにします(最良のモデルがファイルに書き込まれ、それだけがロードされるため)。


2か月前の履歴をスクロールして、モデルが4か月全体にわたってどのように機能するかを見てみましょう。

結果として得られたモデルは、8月に故障し、もう1か月(ほぼ9月全体)続いたことがわかります。

作者: Maxim Dmitrievsky

 

観察に貢献したい:

このバージョンの利点

*************************************

1.以前のバージョンとは異なり、このバージョンは常に取引するわけではありません。シグナルが良い時に選択的に取引します。これは、あなたのニーズを満たすための大きな利点です。それ以外は良いことです。)))..

2.素早く簡単に最適化できる。

3.トレーナーモデルのサイズが小さいので、大きなデータをトレーニングできる。

このバージョンの欠点

*******************************************

1.多くの場合、将来のパスに多くの時間がかかるため、最適化プロセスを手動で停止しなければなりません。

2.いくつかの理由により、テストを実行するのはそれほど簡単ではありません。MT5ターミナルを再起動しなければならず、それでもうまくいかないことがある。


私の改善提案

*************************************

1.open、close、high、lowなど、少なくとも4~5つの入力関数をトレーニングに使用してみてください。

2.取引シグナルの取得を最適化する際に、「MathMoments()」関数を 適切に使用するようにしてください:

https:// www.mql5.com/en/docs/standardlibrary/mathematics/stat/mathsubfunctions/statmathmoments

3.日または週単位で反復トレーニングコースを実施してみる。

これはランダム化された結果である。

4.複数の期間を試す。

私はこれをしなければならない。どうしたらもっとうまくできるだろうか :))))

Documentation on MQL5: Standard Library / Mathematics / Statistics / Subfunctions / MathMoments
Documentation on MQL5: Standard Library / Mathematics / Statistics / Subfunctions / MathMoments
  • www.mql5.com
Standard Library / Mathematics / Statistics / Subfunctions / MathMoments - Reference on algorithmic/automated trading language for MetaTrader 5
 

モンテカルロ 法は確かにランダム・プロセスを研究するのに有効な方法である。しかし、この手法の適用には(他の手法と同様に)プロセスの性質(私たちにとっては金融市場)を考慮に入れる 必要がある

現代分析の問題点は、これまでのところ、伝統的なTAも他の手法も、市場の値動きの基本的な構造(物理学における原子のようなもの)を明らかにできていないこと、また、利用可能な構造(TAパターン、エリオット波動など )は 、分析に連続的でない(曖昧に現れたり、稀に現れたりする)ため、基本的でないことである。したがって、最新の手法を使うことは、いわゆる「最良のモデル」をブルートフォース法(この場合はモンテカルロ法)で盲目的に探すことに近い。

しかし、これはアナリティクス業界全体の問題である。そして著者は、手法の枠組みの中で、 独創的な 解決策を示してくれた!

 

このトピックの他の参加者や運営側のズグンダーが秘密裏にマウスをいじっているにもかかわらず、MOへのオープンで建設的なアプローチに対して、また興味深い記事を書いてくれた著者に敬意を表します:)

ジグザグの頂点や同じリターンの値によって、ターゲットはほぼ明確に決定論的であり、桁違いに速く見つけることができるからです。

IMHOは、予測変数の選択と順位付けのような、はるかに不確実で多次元的な問題にこの方法を適用する方が合理的であると考える。理想的には、この問題を解決するとき、予測変数は複合体で評価されるべきであり、記事で説明されている各個別の検索と代替トレーニングは、1つの未知数を持つ方程式系のように見える。

 
Ivan Negreshniy:

このトピックの他の参加者や管理側のズグンダーが秘密裏にマウスをいじっているにもかかわらず、MOへのオープンで建設的なアプローチに対して、また興味深い記事を書いてくれた著者に敬意を表します:)

ジグザグの頂点や同じリターンの値に従って、ほぼ明確に決定論的であり、桁違いに速く見つけることができるからです。

IMHOは、予測変数の選択とランキングのような、より不確実で多次元的な問題にこの方法を適用する方がより合理的であると考える。理想的には、この問題を解くとき、予測変数は複合的に評価されるべきであり、記事で説明されている各々別々に検索し交互にトレーニングすることは、1つの未知数で連立方程式を構成しているように見えます。

こんにちは、モンテカルロを通して、RLのすべての公準に従って、ランダムにターゲットを総当たりで探索する方法があります。つまり、多くの戦略(ステップ)があり、エージェントはOOSの最小誤差を通して最適なものを探索する。新しい特徴の構築は、MSUAを介してライブラリの1つに実装されている(コードベース参照)。本稿では、新しいフィーチャを構築することなく、既存のフィーチャを総当たりで探索する。再帰的消去法を参照。つまり、フィッシュとターゲットの両方が再帰的に消去される。後で、私は他のバリエーションを提案することができる。しかし、比較テストには多くの時間がかかる。
 
Ivan Negreshniy:

このトピックの他の参加者や管理側のズグンダーが秘密裏にマウスをいじっているにもかかわらず、MOへのオープンで建設的なアプローチに対して、また興味深い記事を書いてくれた著者に敬意を表します:)

ジグザグの頂点や同じリターンの値に従って、ほぼ明確に決定論的であり、桁違いに速く見つけることができるからです。

IMHOは、予測変数の選択とランキングのような、より不確実で多次元的な問題にこの方法を適用する方がより合理的であると考える。理想的には、この問題を解くとき、予測変数は複合的に評価されるべきであり、記事で説明されているような、それぞれ別々に検索し、交互にトレーニングすることは、1つの未知数で連立方程式を構成しているように見える。

TAの数値や「リターン」は分析する上で非常に曖昧で信頼できないものだからだ。

したがって、著者はそれらを使わず、モンテカルロ法で実験している。

 

こんにちは、マキシム。

一つ質問があります。

"shift_probab "と "regularisation" 使用されている値は、最適化のためだけであり、ライブ取引の コースではありません。正しいですか?

それとも、最適化されたshift_probabとregularisationの値は、ライブ取引のために最適化が完了した後にチャート上に設定する必要がありますか?

ありがとうございます。

 
Maxim Dmitrievsky:
こんにちは、モンテカルロ法では、RLのすべての規範に従って、ターゲットのランダムな列挙が行われます。つまり、多くの戦略(ステップ)があり、エージェントはOOSの最小誤差を通して最適なものを探索します。新しい特徴の構築は、MSUAを介してライブラリの1つに実装されている(コードベース参照)。本稿では、新しいフィーチャを構築することなく、既存のフィーチャを総当たりで探索する。再帰的消去法を参照。つまり、フィッシュとターゲットの両方が再帰的に消去される。後で、私は他のバリエーションを提案することができる。しかし、比較テストには多くの時間がかかる。

もちろん、行動のランダム選択はRLの規範であり、さらに、エージェントの異なる行動が環境を変化させ、無限大に近い数の変種を生成する可能性があるため、それは必要かもしれない。

しかし、我々の場合、環境 - 市場相場 - はエージェントの行動には依存しません。特に、考慮されている実装では、過去の既知のデータが使用されます。

P.S. 例えば、https://www.mql5.com/ja/code/9234 の相場によって、可能な限り利益が最大となる目標取引順序を見つけることが可能です

ReverseSystem
ReverseSystem
  • www.mql5.com
Простая и короткая система, работающая неплохо в тестере на любых парах и таймфрэймах. Можно видеть закономерность: чем меньше таймфрэйм - тем выше прибыль. ReverseSystem можно запускать, как по ценам открытия, так и по всем тикам. ReverseSystemBEST (работает только на модели: Все тики) показывает максимальную прибыль, которую можно было...
 
FxTrader562 :

こんにちは、マキシム。

一つ質問があります。

"shift_probab "と "regularisation" 使用されている値は、最適化のためだけであり、ライブ取引の コースではありません。正しいですか?

それとも、最適化されたshift_probabとregularisationの値は、ライブ取引のために最適化が完了した後にチャート上に設定する必要がありますか?

ありがとうございます。

はい、そうです。最適化のみで、テストやライブ取引のテストではファイルから読み込まれる別のモデルがあります。
 
Ivan Negreshniy:

もちろん、アクションのランダムな選択はRLの規範であり、さらに、エージェントの異なるアクションが環境を変化させる可能性があるため、それは必要かもしれません、それは無限大のオプションの数を生成し、もちろんモンテカルロは、そのようなアクションのシーケンスを最適化するために適用されるかもしれません。

しかし、我々の場合、環境 - 市場相場 - はエージェントの行動には依存しません。特に、検討した実装では、過去の既知のデータが使用されます。したがって、エージェントの一連の行動(取引)の選択は、確率的手法なしで行うことができます。

P.S. 例えば、https://www.mql5.com/ja/code/9234。

しかし、OOBの誤差は非常に均一で、最適化グラフの散らばりを見ることができます。そして、我々は、テストサブセットである外部基準に従って最適なモデルを探しています。誤差は0.3以上に跳ね上がり、異なるモデル間の差は非常に大きくなります。 個々のパスの速度をかなり速くすることは可能で、すでに実装されていますが、完成させる必要があります。 そして何百ものパスを何分もかけて行うことになります。少なくとも、エージェントを細かくする他の方法はまだ考えていません。fxsaberの例について - 電話ではよく理解できなかった。これは基本的に同じことをします - ランダムな取引を開き、その後、TDを介してすべての負けた取引を修正 - 時間差。言い換えれば、あなたはトレイニーで、すべてのバーでほぼ完璧な取引を得ることができます。1 < shift_prob >=0.5とすれば十分です。ティックでは、私はまだ足場を危険にさらすことはありません、モデルは非常に重くなります。
 
Aleksandr Masterskikh:

TAの数字や "リターン "は非常に曖昧で、分析するには信頼できないものだからだ。

したがって、著者はそれらを使わず、モンテカルロ法で実験している。

一般に、このバージョンでは、リターンはそのまま入力されている :) が、これは基本的な例として行ったものであり、気分によって変更することができる。