トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 400

 
エリブラリウス

それぞれのネットワークがどのように機能しているのか、個別に調べています。そして、その出力から何を得るかは、好みの問題である)。

ところで、あなたのファイルからコードを見ると、記事のようにではなく、別の数式があります、すなわち、n

どうやら著者は数式を修正したようです。

だから、(元の計算式のように)3つの入力はないかもしれないが、それでも8つ......。新方式のエッセンスはまだ理解できていない。


あなたは間違った記事を読んでいます :)ここで
 

これらは別の仕事です。組み合わせる必要はありません。

を変数に

v0=ブラブラ ブラブラ

v1=blah blah blah blah

v2=blah blah blah blah blah

v3=ブラブラブラ

v4=blah blah blah blah

v5=ブラブラブラ

V6=ブラブラブラ

v7=ブラブラブラ

入力の値を記録し,全体を関数

double getBinaryClassificator1(double v0, double v1, double v2, double v3, double v4, double v5, double v6, double v7) {

//нормализация данных
   double x0 = 2.0 * (v0 + 1189.0) / 2047.0 - 1.0;
   double x1 = 2.0 * (v1 + 810.0) / 2247.0 - 1.0;
   double x2 = 2.0 * (v2 + 1636.0) / 2155.0 - 1.0;
   double x3 = 2.0 * (v3 + 558.0) / 1252.0 - 1.0;
   double x4 = 2.0 * (v4 + 139.0) / 494.0 - 1.0;
   double x5 = 2.0 * (v5 + 74.97643) / 144.15451 - 1.0;
   double x6 = 2.0 * (v6 + 1026.56016) / 1938.48639 - 1.0;
   double x7 = 2.0 * (v7 + 4167.0) / 7074.0 - 1.0;
   
//полином он же сеть он же ИИ он же ГУРу и т.д. Но данные уже нормализованны.


double decision = 3.162907268170426 * sigmoid(x0)
  -1.0554004772410066 * sigmoid(x1 + x2 + x3)
  + 3.8921930574940347 * sigmoid(x0 + x1 + x4)
  -1.3775531643479957 * sigmoid(x1 + x2 + x3 + x4)
  -0.44704575810784447 * sigmoid(x0 + x5)
  -0.012703915477316044 * sigmoid(x0 + x1 + x5)
  -7.231026668467576 * sigmoid(x2 + x5)
  -0.059339966683175004 * sigmoid(x2 + x4 + x5)
  -2.786314588867378 * sigmoid(x0 + x1 + x2 + x4 + x5)
  + 2.1339726561913768 * sigmoid(x0 + x1 + x6)
  -0.49562529077183975 * sigmoid(x0 + x4 + x6)
  + 5.2147434454399475 * sigmoid(x0 + x3 + x4 + x6)
  -2.890797352663095 * sigmoid(x5 + x6)
  + 0.10933021175693726 * sigmoid(x0 + x5 + x6)
  -1.6844056248405446 * sigmoid(x1 + x2 + x5 + x6)
  -0.18093137034202272 * sigmoid(x1 + x3 + x5 + x6)
  + 0.6607987033451893 * sigmoid(x1 + x7)
  -1.8854921735476415 * sigmoid(x0 + x1 + x3 + x7)
  -1.1169615655906233 * sigmoid(x2 + x5 + x7)
  -0.6844731589452674 * sigmoid(x4 + x6 + x7)
  -0.4231236774571158 * sigmoid(x1 + x2 + x3 + x4 + x6 + x7)
  + 5.763615625891075 * sigmoid(1.0 + x1 + x2 + x3 + x5)
  -0.3138985187519697 * sigmoid(1.0 + x0 + x1 + x4 + x5)
  -1.8910224663455044 * sigmoid(1.0 + x1 + x3 + x4 + x5)
  + 2.1204658352467995 * sigmoid(1.0 + x2 + x3 + x4 + x5)
  + 6.219005597826903 * sigmoid(1.0 + x2 + x3 + x4 + x6)
  -3.740916662914772 * sigmoid(1.0 + x0 + x1 + x3 + x4 + x5 + x6);
   return decision;
}
 

レシェトフ

VS 2クラス決定森とロジスティック回帰。

レシェトフがこの一戦を制す

ファイル:
HARD.txt  7 kb
 
マキシム・ドミトリエフスキー

レシェトフ

VS 2クラス決定森とロジスティック回帰

まあ、レシェトフの圧勝ですね。


データセットHardを実行した場合、私の結果は汎化率72%です。ちなみに、HARD.mqlファイルから私がすでに計算したモデルを取り出して比較してみてください。そして乾坤一擲の勝利とはどういうことかというと、結果の解釈が難しいのは認めます。
 
ミハイル・マルキュカイツ

ちなみに、私がアップロードしたモデル(HARD.mqlファイルから計算済み)を使って、比較してみてください。また、「辛勝」とはどういう意味かというと、結果を解釈するのが難しいのは認めますが。

縮小した結果、添付したものです。True positivesとTrue negatives、つまり売買の予測が成功した回数を見ると、他のモデルが45%であるのに対し、Rは65%と、より多くの予測が成功している。つまり、彼のモデルは利益を出し、他のモデルは損失を出すということだ。
 
エリブラリウス

ニューロンを10入力に拡張すると......。
しかし、1024にルールを追加する必要があります。

r0 = (1 - A) * (1 - B) * (1 - C) * p0
r1 = (1 - A) * (1 - B) * C * p1
r2 = (1 - A) * B * (1 - C) * p2
r3 = (1 - A) * B * (1 - C) * p
3A) * B * C * p3
r4 = A * (1 - B) * (1 - C) * p4
r5 = A * (1 - B) * C * p5
r6 = A * B * (1 - C) * p6
r7 = A * B * (1 - C) * p7


.....

r1023 =


怖いくらいです :D
ファイル:
rnn_10.mq5  115 kb
 
Dr.トレーダー

怖いくらいです :D

エヘン、エヘン...。本当に、怖いくらいに見えますね......。
 
Dr.トレーダー

怖いくらいです :D
手作業で組み立てたのではないのでしょうか?周期的に行われたのでしょうか?手作業だと何時間もかかってしまうので...。
 
エリブラリウス
手動でコンパイルしたものではないのでしょうね?なんとなくサイクルがあったのでしょうか?手作業だと何時間もかかってしまうので...。

手動だと失敗することもあると思うので...。
 
Dr.トレーダー

怖いくらいです :D

オプティマイザーで非常に長い時間がかかるので、怖くて、ちょっと使えません :) クラウドでは、まだできます。
理由: