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

 
サンサニッチ・フォメンコ

同僚へ!

数ページにわたって、関数 ドメインのエッジにおける、あなたのアルゴリズムとRのアルゴリズムの違いについて議論がなされています。極端な点は極端な点で、実際には差が無視される可能性があります。

しかし、今回はもっと本質的な疑問があります。

すべての機能のドキュメントはどこにあるのですか?

以前は、関数がアナログなので、関数を受け取り、Rのドキュメントを受け取り、Rのドキュメントのアルゴリズムの説明や、Rが提供するリンクに行く部分を掘り下げると考えました。Rは非常に質の高いドキュメントとリファレンス装置を持っています。

議論の過程で、あなたの関数はRとは違う、つまりアルゴリズムが他のソースに依存している他の関数であることがわかりました。このことについては、記事自体には何も書かれておらず、資料もありません。そして、そのことを全く別の文脈でレナトから教わるのです。

実際には、RからMQL5にコードを移植することはできないという明確な結論を導き出すことができる。

そして、その理由はこうです。

それは、あなたが記事を読んでおらず、何度も繰り返していることを見逃しているからです。

  1. ソースコードに単体テストを添付し、計算の正しさを証明しています。
  2. 私たちは、Rエラーの真相に迫ることができる総合的な正誤チェックに力を入れました
  3. 私たちの仕事では、MQL5、Wolfram Alpha、Rで常に結果を再確認しています。
私たちは皆さんと違って、Rのソースコードを解析し、各関数を詳細に分析し、いくつかの関数を最大46倍まで高速化することに成功し、記事を書き、その答えを出す準備をしたのです。

しかし、その代わりに評論家は、論文そのものをよく読まずに、Rに関する知識と自信のある古い酵母で何とか発言しているのです。そして確かに、根拠を持ってテストスクリプトを実行しようとはしない。

 

誤解のないように。

  1. 上記のR関数の翻訳/類似性が正しいこと
  2. MQL5でのRのロジックの使い方はほぼ同じで、コードはMQL5の方がわかりやすい
  3. MQL5で言及されている関数のコードはすべて、チェック用のユニットテスト(Rではどこにあるのでしょうか)を含むクリーンなソースコードで紹介されています。
  4. MQL5での計算はRの何倍も速い
  5. 私たちのスペシャリストは数学が得意で、Rを書く人と同等(あるいはそれ以上)の実力を持っています。
これは、MQL5の標準ライブラリに 複雑な数学を導入するための長い旅の始まりなのです。今、Alglib、Fuzzy、Statがあります。

本日、Rのplotに似たグラフィックライブラリを公開します。すでに、数十種類の新機能という形で、スタットライブラリーのマット機能の機能拡張が行われています。

 
量子力学

現時点では、記事https://www.mql5.com/ru/articles/2742 に機能の説明があります。


ありがとうございます、ご指摘の件、了解しました。

PS.

RのNormalなどの関数のドキュメントはご覧になっていると思いますので、コピーペーストはせず、リンク先と比較します。

 
レナト・ファットフーリン

これは、あなたが記事を読んでおらず、何度も繰り返していることを見逃しているためです。

  1. 計算の正しさを証明する単体テストをソースコードに添付しています。
  2. 私たちは、Rエラーの真相に迫ることができる総合的な正誤チェックに力を入れました
  3. MQL5、Wolfram Alpha、Rでの結果を常に再確認しながら作業を進めました
私たちは皆さんと違って、Rのソースコードを解析し、各関数を詳細に分析し、いくつかの関数を最大46倍まで高速化することに成功し、記事を書き、その答えを出す準備をしたのです。

しかし、その代わりに評論家は、論文そのものをよく読まずに、Rに関する知識と自信のある古い酵母で何とか発言しているのです。そして確かに、根拠を持ってテストスクリプトを実行しようとすることもありません。

ありがとうございます、ご指摘の点が明確になりました。

PS.

記事を読んでいないと非難されるのは2回目です。

また、関数にエラー(vectorの代わりにscalarを返す)がありましたが、修正していただき、現在はこのエラーはなくなりました。

 
サンサニッチ・フォメンコ

ありがとうございます。あなたの視点は私にとって明確です。

PS.

記事を読んでいないと非難されるのは2回目です。

読みました。また、関数にエラー(vectorの代わりにscalarを返す)がありましたが、修正していただき、現在はこのエラーはありません。

これは、「実際には、RからMQL5へのコードの移行は不可能という結論になる」というご意見に対する対策です。

もしかしたら、昨日の新しい記事ではなく、古い記事を読んでしまったのかもしれません。そこにはエラーはありませんでした。スカラーを返すバージョンがあり(ずいぶん前のことですが)、ベクター関数を追加しました。旧記事から図書館が本格的に成長し、実質的に書き直されたのです。

やはり、新しい記事は読まれていないのですね。

もう「こんな機能はない、自分で作ったんだろう」なんて話はやめてほしいですね。
 
アレクセイ・ブルナコフ

t分布について。 このエラーはRの最新版で再現しましたが、アルゴリズムの本質に迫るものではありませんでした。本当に訂正が必要だったことは認めます。

Rサポートに質問してみる。

記事 "Computing discrete mixtures of continuous distributions "は、著者のサイトで 公開されています。

論文の著者は、問題は系列の収束基準にあるとしている。


彼らの提案する再帰性アルゴリズムの実装 7.2https://github.com/neurodebian/afni_removeme_eventually/blob/master/nct.c

ただし、再帰計算には誤差があります。例えば、ベータ関数の場合。


#include <Math\Stat\Math.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double a=1;
   double b=1;
   double r_beta=MathBeta(a,b);
   for(int j=0; j<40; j++)
     {
      if(j>0)
        {
         r_beta*=((a+j-1)/(a+b+j-1));
        }
      double beta=MathBeta(a+j,b);
      PrintFormat("%d   error=%5.20e",j,beta-r_beta);
     }
  }

2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 0 error=0.0000000000000000e+00
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 1 error=-5.551115123578270212e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 2 error=0.0000000000000000e+00
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 3 error=1.11022302462515654042e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 4 error=1.38777878078144567553e-16
2016.11.11 12:28:30.011 RecurrentBeta (EURUSD,H1) 4 error=1.3807778078144567553e-1611.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 5 error=-2.22044604925031308085e-16
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 6 error=2.22044604925031308085e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 7 error=1.66533453693773481064e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 8 error=-2.91433543964103591861e-16
2016.11.11.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 9 error=-1.249000270330110798e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 10 error=-2.77555756156289135106e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 11 error=-1.249000270330110798e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 12 error=5.68989300120392726967e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 13 error=-2.91433543964103591861e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 14 error=-5.551115123578270212e-17
2016.11.11.11.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 15 error=-4.85722573273505986435e-17
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 16 error=-1.87350135405495166196e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 17 error=5.H1.273559366969356701e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 18 error=-1.04083408558608425665e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 19 error=-3.400058018291454190505e-16
2016.11.11 12:28:30.018.11.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 20 error=-3.26128013483639733749e-16
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 21 error=4.57966997657877072925e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 22 error=-3.19189119579732505372e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 23 error=1.52655665885959024308e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 24 error=5.551115123578270212e-17
2016.11.11.11.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 25 error=-6.24500451351650553988e-17
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 26 error=-2.70616862252381906728e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 27 error=4.H1.85722573273505986435e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 28 error=4.64905891561784301302e-16
2016.11.11.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 29 error=8.32667268468867405318e-17
201611.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 30 error=-9.02056207507939689094e-17
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 31 error=-2.98372437868010820239e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 32 error=2.22044604925031308085e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 33 error=2.74086309204335520917e-16
2016.11.11 12:28:30.012.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 34 error=-3.43475248243407804694e-16
201611.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 35 error=2.08166817117216851329e-17
2016.11.11 12:28:30です。015 RecurrentBeta (EURUSD,H1) 36 error=-4.16333634234433702659e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 37 error=8.6736173798403547206e-17
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 38 error=-1.21430643318376496609e-16
2016.11.11 12:28:30.015 RecurrentBeta (EURUSD,H1) 39 error=-2.18575157973077693896e-16

CDFの計算には十分な精度かもしれませんが、高精度の分位点変換には十分でない可能性があります。

そこで、分位点アルゴリズムでは、再帰計算をしない直接和算を採用した。

 
レナト・ファットフーリン

これは、「実際には、RからMQL5へのコード移行は不可能という明確な結論がある」という概要に対する対策です。

こんな機能はない、自分で発明した」という話がなくなればいいなと思います。

私は何か書く前に読んでしまう悪い癖があります。「私はそのような悪口を言ったことはなく、本質を述べただけです。

自分の主張が通らないことが判明したのは、今に始まったことではありません。

だから、私抜きで。

レナートさんの幸運を心から祈っています。

 

皆さん、10万500ページの議論は? 数学は誰が詳しいのですか? 関数が0で定義されているかされていないか、Rの間違いが記事に書かれているか書かれていないかで、原理的に 何が違うのですか? まるで自分の子供がここで議論されて、総て・・・と言われて、胸を張って擁護しているようなものですよ。

mt5のビルトイン機能を使うのは当たり前、新しい機能は開発者に聞く、足りないものは自分で書けばいい。mt5のビルトイン機能を使うべきだし、新しい機能は開発者に聞くべきだし、何か見逃したものがあれば自分で書けばいいのです。

 
SanSanych Fomenko さん、ご参加ありがとうございました。
 
レナト・ファットフーリン

誤解のないように。

  1. 上記のR関数の翻訳/類似性が正しいこと
  2. MQL5でのRのロジックの使い方はほぼ同じで、コードはMQL5の方がわかりやすい
  3. MQL5で言及されている関数のコードはすべて、チェック用のユニットテスト(Rではどこにあるのでしょうか)を含むクリーンなソースコードで紹介されています。
  4. MQL5での計算はRの何倍も速い
  5. 私たちのスペシャリストは数学が得意で、Rを書く人と同等(あるいはそれ以上)の実力を持っています。
これは、MQL5の標準ライブラリに 複雑な数学を導入するための長い旅の始まりなのです。今、Alglib、Fuzzy、Statがあります。

本日、Rのplotに似たグラフィックライブラリを公開します。すでに、数十の新関数という形で、Matライブラリの機能拡張に取り組んでいます。

かたじけない
理由: