トレーディングにおけるニューラルネットワークの活用

 

トレーダーの皆様へ最近、ニューラルネットワークの 利用が盛んになっています。

金融市場における予測試してみたものの、直面したときに、視聴者が分かれると思うのです。

質問して、がっかりされた方(手を使う方が楽)、一時的に引退された方、ある程度の(もしかしたらとても良い)結果を出している方。

その結果、黙々と作業を続け、システムを改善している...。しかし、新たな悩みを持つ人が出現し

成功したい、質問したいすでに多くのことが語られていますが、もしかしたら、経験豊富なニューロトレーダーが

新しい考え?

最近ノングローブに興味があり、いくつか疑問が溜まっています。上手な人の意見を聞いてみたいです。

トレーディングでニューラルネットワークを使う場合、多くのディテールが重要であることは理解していますが......。順番に

1.NSに設定するタスクは何ですか?私は、分類(=市場モーメントのクラスへの分割)の問題については

"買い"、"売り"、"市場に出ない")は、取引で良い結果を得るという点では最も有望です。

2.この課題をどう具体化するか。私は2つの方法を考えています。

а.1つ目は、ネットワークが独立して最も好ましいと思われる

利益取引ができる可能性が最も高いときに市場に参入する。

この場合、ネットワークは常に市場を分析し(例えば、新しいバーの開店時など)、以下を決定します。

では、トレーニングサンプルはどうすればいいのか。明らかに含まれているはずです。

入力値 (価格または指標値)サンプルの各バーから

を入力すると、希望の出力値が得られます。どのように?これは質問の質問です!そこで、STATISTICAのNeural Networks 4プログラムでは、次のようなことが望まれます。

各バーには、どのクラスに属するかを示す1つの固定値が与えられるべきであると......。

を、ある特定のクラス...たとえば1、0、-1...に変換します。あるいは、テキストで「売り」「市場外」「買い」。

一方、学習サンプルの出力値は不連続であってはいけないと書かれているのを読んだことがあります

で、(例えば)100%売りを意味する-1から100%買いを意味する1までの範囲に分布している必要があり、0はその場合

"知らない "または "市場から消えている"。つまり、各バーは、入力と出力値(例えば0.8745)のセットを持つ必要があります。

ということは、100回中87回が購入のチャンスということになります。

もちろん、そのような出力値をどのように見つけるか?Zig-Zagを使うか?そして、ジグザグの峰の間には

は、その "可能性 "を計算するのでしょうか?

б.第二の方法は、何らかのシステムの信号をフィルターにかけることです。

とニューロニクスのみで取引することを「許可」するかしないか。

...この場合、学習サンプルはシステムが売買のシグナルを出したバーだけでいいのか...それともすべてのバーでいいのか...?

また、出力(disaer)は離散的であるべきなのか、中間値を持つべきなのか。

3.入力値です。指標値をそのまま受け取らない方がいいということです。これは誤解だと思うんです。

指標は、それぞれの深さと角度で歴史を「見て」、それに基づいて、次のようなものを与えます。

指標値のセットを取れば、入ってくるベクトルは市場のある種の「バーコード」を連想させる

と、NSはこのバーコードを使って市場の状況を認識し、まとめます。を異形とすることが提案されている。

インジケータ値(価格の動きの方向に関する情報をネットワークに提供するため)。 他にどのようなバリエーションがありますか?

なにをもってよしとするか複素数のPhi角(Phi角は幾何学的な角度)を取ってみた。

Clothによる複素数の解釈)と比較したところ、NeuroSolutionの実験では、この複素数の解釈の方が優れていることが分かりました。

の指標値は、もっと悪い結果になりました。専門家集団はどのような意見を持っているのでしょうか?;-)

4.入力値の正規化。手順の意味は明確ですが、それをどのように実行するかが不明です。説明しよう。ノーマライゼーション

は、値を1つの範囲にまとめています。そのためには、サンプルの中の最大値と最小値を見つけなければならない。

それでいいんです。どこまで探せばいいのか?サンプルに100個の指標値があるとすると、正規化する必要があります。

75番目の値。最小と最大はどこを探せばいいのだろう。74の時? あるいは50の時? あるいは100の時(例)。

分類では、各バーは独立して計算されるため、確実性が要求されます。

でないと意味がない...。過去からの価値観のみに基づき、取るべきと考えます。

過去の値のみを与え、厳密に定義された単一の深さ(例えば常に100本前とか500本とか、トレーニングサンプルの値とか)を取ることが必要だと思います。

5.入力されたサンプルのランダム再サンプリング。ビー・オア・ノット・トゥ・ビー!意見が分かれるところですが...。の場合、その理論では

の分類が有効である。しかし、現実にはどうなのでしょうか?試したことがある人はいますか?何かご意見はありますか?

6.そして、最後にネットワーク・トレーニングについて質問します。C.V.を使っている人はいますか?(クロスバリデーション)サンプリング?

必要なのか?本当にネットワークのオーバートレーニング防止になるのでしょうか?また、一般的には、どのように対処しているのでしょうか

sneaky overtraining?すべてを台無しにする!トレーニング用サンプルと同様、すべてが美しいそして、Out of

サンプル - 戯言です。

個人的には、NeuroSolution 5 DEを使って、トレードにおけるNSの有用性を研究しています。柔軟性のある良いプログラムだと思います。

これにより、 、結果をDLLとして生成することができます。

かなり賢い。(しかし、学習と最適化の後、入力選択からどの値が有用で、どの値が除外されるかを見つける方法は明確ではありません。

私が知りたいのは、どの値が有用で、どの値が有害または不要としてプログラムによって除外されるかということだけです。

通り過ぎないようにお願いします。批評、提案感想をお聞かせください

 
もちろんちんぷんかんぷんですが、せめて投稿の下のリンクくらいは見てください、結局新しい話題ではないのですから。
 
читайте================================>хайкина=========================> :О)
 
PraVedNiK >> :
читайте================================>хайкина=========================> :О)

もう見つけた!?必ず読みます。

 
sayfuji >> :
もちろん文字数は多いけど、せめて投稿の下のリンクくらいは見てね、結局は新しい話題じゃないんだから。

言葉が多くて困ることはない。全部だ...全部だ...もう終わったと思ってるんだろう?

 

полагаете что тема исчерпана полность?

まさかね。逆に、掘って掘って、大きなシャベルと袋の時間。


 
alexish писал(а)>>

4.入力値を正規化する。手順の意味は明確です。明確でないのは、それを正しく実装する方法です。説明しよう。ノーマライゼーション

は、値を1つの範囲にまとめています。そのためには、サンプル中の最大値と最小値を求める必要があります。

それでいいんです。どこまで探せばいいのか?サンプルに100個の指標値があるとすると、正規化する必要があります。

75番目の値。最小と最大はどこを探せばいいのだろう。74の時? あるいは50の時? あるいは100の時(例)。

分類では、各バーは独立して計算されるため、確実性が要求されます。

でないと意味がない...。過去からの価値観のみに基づき、取るべきと考えます。

過去の値だけを使い、同じ深さ(例えば常に100本前とか500本とか、トレーニングサンプルと同じ値)を取るべきだと思います。- 普遍的な方法を探したり、ニューラルネットワークの専門サイトの記事を読んだりする。

5.入荷したサンプルをランダムに再ソートする。- not an essential point

6.そして、最後にネットワーク・トレーニングについての質問です。C.V.を使っている人はいますか?(クロスバリデーション)サンプリング?

本当に必要なのか?ネットワークのオーバートレーニング防止に本当に効果があるのでしょうか?また、一般的には、どのように対処しているのでしょうか

sneaky overtraining?すべてを台無しにする!トレーニング用サンプルと同様、すべてが美しいそして、Out of

サンプル - 無意味な...- いずれにせよ、テストサンプルですべてが決まります。

OOSの無意味な点:1.代表的なサンプルではない 2.定常的なデータではない 3.前処理が正しくないと思われる。

個人的には、NeuroSolution 5 DEを使って、トレードにおけるNSの有用性を研究しています。柔軟性のある良いプログラムだと思います。

結果をDLLとして生成することが可能です( )。

かなり賢い。(しかし、学習と最適化の後、入力選択からどの値が有用で、どの値が除外されるかを見つける方法は明確ではありません。

ただ、どの値が有用で、どの値が有害または不要としてプログラムによって除外されるかを調べたいのです)。

通り過ぎないようにお願いします。批評、提案アイデアを共有しよう

いい意味で、少なくとも何がなぜ起こるのかをよりよく理解するためには、自分ですべてを書かなければならないだろう......。

 
alexish писал(а)>>

1.NSの仕事は何ですか?私は、分類という作業(=市場のモーメントをクラスに分けること)は

"買い"、"売り"、"市場に手を出さない")が、良い取引結果を得るという点では最も有望である。

はい、そうです。そして、原則として「市場の外」の状態は、スプレッド拡大、他のすべてのNSトレースと接続されており、その利点に悪用する必要があります。そのため、NSでは「買い」「売り」だけの分類が重要であり、TS自体には証券会社の手数料の現在値によって取引の「許容・禁止」を設定している。

2.この課題をどう具体化するか。私は2つの方法を考えています。

а.1つ目は、ネットワークに市場の最も収益性の高い瞬間を判断することを教えることです。

б.第二の方法 - 理論的には、トレーニングサンプルは、システムから取引するための信号があるバーでのみ描画されるべきです... またはとにかくすべてのバーで?

また、出力サンプル(disaer)は離散的であるべきなのか、それとも中間値を持つべきなのか?

そうですね、NSが解決すべき課題を最大限容易にするためには、(特定の条件下での)最適なTSを独自に決定し、すでに分解された時系列を入力データとして与え、つまり、各バーではなく、キーポイントになりそうなものを与え、その後に初めてNSが適切に出入りすることを期待できるのでしょう。そして、あなたが提案したクリティカルポイントがそうであるかどうかを判断します。

NSの出力値の離散性についての質問に対する答えは、明白ではなく、まず、NSの入力信号によって「スライス」された商の増分の分布の法則に依存する。分布が対称に近ければ、離散的な出力の±1(買い/売り)に限定できるが、分布が対称でない場合は、符号に加えてその振幅(確率)も考えなければならない。

3.入力値です。

上で回答しています。

4.入力値の正規化。

NSが正常に動作するためには、ノーマライゼーションが必要です。

この手順を実行する正しい方法は、NSの入力/入力における受信値の全範囲を+/-1の領域で一様(中空)な分布でマッピングすることを実現することである。これは、入力ベクトルに双曲線タンジェントを作用させ、何らかの手段で分布を平滑化することで実現できる(オプション)。

5.入荷したサンプルのランダムリゾートを行う。ビ・オア・ト・トゥ・ビ!意見が分かれるところです。

手順が無駄!

ポイントは、逆誤差伝播法では、学習サンプル全体の誤差を合計するため、個々の異常値をどの順番で合計しても、音節の位置を入れ替えても、合計値は変わらないということです。

6.そして、とにかくこのずるずるしたオーバートレーニングにどう対処するか?

学習サンプルの最小長 P、NSの重みの数W、入力の次元dの 間には、次のような明確な関係がある:P>4*(W^2)/d

この条件を満たせば、明らかにオーバートレーニングは起こりません。学習誤差を特徴付けるパラメータが漸近的になった時点で、学習処理を停止しなければならない。

個人的には、NeuroSolution 5 DEを使って、トレードにおけるNSの有用性を研究しています。柔軟性のある良いプログラムだと思います。

かなりトリッキーです。

残念!

NSのコードは直接MQLで書いた方がいい。これが、落とし穴の海を避け、時間と労力を節約する唯一の方法なのです。

 
Neutron >> :


1.

NSができるだけ簡単に問題を解決できるようにすることです。そのためには、(特定の条件下での)最適なTSを自分で決定し、入力データとしてすでに分解された時系列、つまりすべてのバーではなく、重要なポイントであろうものを送る必要があり、その後に初めて、NSから市場からの参入・退出の適切な解決策を期待できるのです。ご指摘のようなクリティカルポイントがあるかないかを判断するのです。


2.

悪い!

NSのコードはMQLで直接書いた方がいい。これが、落とし穴の海を避け、時間と労力を節約する唯一の方法なのです。


1.簡単にすることで、データを失わないようにする。最も重要なことは、ネットワークに本質的に同じデータを供給しないことです。何が価格に影響を与えるのか、それをニューラルネットワークのデータとしてどう表現するのか、既成概念にとらわれずに考えることが大切です。


2.MQLのNS コードは書かないでください。多くの時間と神経を費やし、すべてが非常にゆっくりと機能することになります。MT4とDLLを接続し、FANNパッケージを使用してCで独自のニューラルネットワークを作成する方法を学ぶことができます。これにより、新しいMQL5ターミナルへのコードの移植を含め、多くの問題を回避することができます。

 
Neutron писал(а)>>

正しくは、NSの入出力値の全範囲が一様(中空)な分布で±1領域に現れるようにすることである。これは、入力ベクトルに双曲線タンジェントを作用させ、その分布を何らかの方法で平滑化する(オプション)ことで実現できる。

最小学習サンプル長 P、NSで調整可能な重みの数W、入力の次元dの 間には明確な関係がある:P>4*(W^2)/d

この条件を満たせば、明らかにオーバートレーニングは起こりません。学習誤差を特徴付けるパラメータが漸近的になった時点で、学習プロセスを停止しなければならない。

悪い!

MQLのNSコードを一気に書き上げる必要があるのです。これが、落とし穴の海を避け、時間と労力を節約する唯一の方法なのです。

シグモイド関数単体では分布が均等にならない...。私見ですが、前処理でデータの定常性の問題を解決することの方が重要だと思います。

ところで、引用した式で、W=420, d=14となるので、P>50400となりますが、ちょっとサンプルが大きすぎるような気がしませんか?

私の経験では、サンプルのサンプル数は提案内容によって変わることはないのですが...。

 
alexish писал(а)>> 私自身はNeuroSolution 5 DEを使って、トレードにおけるNSの有用性を研究しています。

一般的に言って、このような特殊でかなり複雑なプログラムを適用する前に、この分野、すなわち金融市場での使用の妥当性について、このソフトウェアの開発者に相談することが望ましいと思います。ですから、もし相談したとしても、「ニューロソリューションは金融市場での使用を目的としていない」と言われ、他のプログラムを勧められるでしょう。NeuroSolutionは一般的な問題を解決するために設計されていますが、金融市場におけるニューラルネットワークの使用は、このソフトウェアでは考慮されていないいくつかの特殊な特徴があります。NeuroSolutionは、金融市場にも応用できるかもしれませんが、かなり複雑で、ニューラルネットワークの分野の大きな専門家とトレーダーが一体になり、ニューラルネットワークからどんな結果が得られるか、そして最も重要なことはどうやってそれを得るかを明確に理解した上で、力を発揮しています。それゆえ、問題設定、データの正規化、オーバートレーニングなど、上に挙げたような問題がすべて発生するのです......。