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

 
アナトリー・ザイニチコフスキー

例えば、過去の10本のバーを分析して、将来の1本のバーを予測する場合、ニューラルネットワークはこの10本のバーから何百ものパターンを見つけ出すが、私は1つのパターンを提案し、ニューラルネットワークをフォワードで訓練する。


NSが勝手に何かを見つけることはほとんどなく、まずはとにかく統計解析をしなければならないし、はっきりしないものを見つけることもある。私はまだ、すべてのルールを手動で書くことを避けるために、NSを既存のTSに適応させようとしています

alglibはどのような場合でも使うことができます。

 
マキシム・ドミトリエフスキー

NSが勝手に何かを見つけてくれることはまずない、どうせならまず統計解析をしてから...あるいは、はっきりしない何かを見つけてくれるかもしれません。私は今でも、すべてのルールを手作業で書くことを避けるために、NSを既存のTSに適合させるようにしています

いずれにせよ、alglibを取って試してみてください、5行でNSを教えてくれます


これを読むと、Random Forestに行き着いたんですね、昔から言われていたことですが...、統計解析については、50/50だと言って、ロボットを動かし続けて、結果をファイルに書き込んで...という感じです。どんな兆候があれば結果が変わるのか、重要なのかが分からないので、見えないものをニューラルネットワークに認識させることにしました......」。

 
アナトリー・ザイニチコフスキー

Algleb NSの使い方の例を見たことがないので、検索してこのスレッドにたどり着き、実装してみたと書いてありました。 さらに読むと、ずっと前から言われていたRandom Forestにたどり着いたようで・・・、統計解析については、50/50と言ったところで、ロボットを走らせて結果をファイルに書き込んでいます・・・。見えないものを認識するためにニューロネットを使おうとしたのですが・・・。

以下は、Random Forestの例で、掛け算表の例を使い、学習したものが例を数える(ログに答えを生成する)。
#include <Math\Alglib\dataanalysis.mqh>
//+------------------------------------------------------------------+
#define _rand(min,max) ((rand()/(double)SHORT_MAX)*((max)-(min))+min)
//+------------------------------------------------------------------+
void OnStart()
{
   MathSrand(1600);
   CDecisionForest      Trf;
   //CDecisionForestShell RFshell;
   CMatrixDouble        PatternsMatrix;
   CDFReport            RF_report;
   int RFinfo;
   double vector[2], out[1];
   
   // подготовка данных
   PatternsMatrix.Resize(100,3);
   int m=0;     // first pattern
   for(int i=1; i<=10; i++)
      for(int j=1; j<=10; j++)
      {
         PatternsMatrix[m].Set(0,i/10.0);       // input 1
         PatternsMatrix[m].Set(1,j/10.0);       // input 2
         PatternsMatrix[m].Set(2,(i*j)/100.0);  // target
         m++; //next pattern
      }
   // создание RF
   CDForest::DFBuildRandomDecisionForest(PatternsMatrix,100,2,1,500,0.95,RFinfo,Trf,RF_report);
   Print("Info=",RFinfo,"   RMSE Error=",DoubleToString(CDForest::DFRMSError(Trf,PatternsMatrix,100),5));  
   // проверка сети на целочисленных данных
   string s="Тест 1 >> ";
   for(int i=1; i<=10; i++)
   {
      int d1=(int)_rand(1,10), d2=(int)_rand(1,10);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
      CDForest::DFProcess(Trf,vector,out);
      s+=(string)d1+"*"+(string)d2+"="+DoubleToString(out[0]*100,0)+" // ";
   }
   Print(s);
   // проверка сети на дробныx данных
   s="Тест 2 >> ";
   for(int i=1; i<=5; i++)
   {
      double d1=NormalizeDouble(_rand(1,10),1), d2=NormalizeDouble(_rand(1,10),1);
      vector[0]=d1/10.0;
      vector[1]=d2/10.0;
       CDForest::DFProcess(Trf,vector,out);
      s+=DoubleToString(d1,1)+"*"+DoubleToString(d2,1)+"="+DoubleToString(out[0]*100,2)+
         "("+DoubleToString(d1*d2,2)+") // ";
   }
   Print(s);
}
で、以下はMLPの例です。https://www.mql5.com/ru/forum/8265/page2#comment_333746
Библиотеки: ALGLIB - библиотека численного анализа
Библиотеки: ALGLIB - библиотека численного анализа
  • 2012.10.12
  • www.mql5.com
Статьи и техническая библиотека по автоматическому трейдингу: Библиотеки: ALGLIB - библиотека численного анализа
 
マキシム・ドミトリエフスキー

まあ、ポートフォリオは非定常でシグマからシグマになるわけでもなく、定期的にクラッシュし、再計算してまたクラッシュするのですが

シグマからシグマへではなく、行間の共和分(cointegration)が生きている限り、生きているはずです。


PS.共統合とは、2つの非定常系列が特別な方法で追加され、この特別な追加によって定常系列が得られることである。そのための特別なテストがあります。この考え方は、ポートフォリオメーカーに広く採用されています。

クラッシュ」を保証するテストはたくさんあります。

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

シグマからシグマへではなく、行間の共和分(cointegration)が生きている限り、生きているはずです。


PS.共統合とは、2つの非定常系列を特殊な方法で加算し、その特殊な加算によって定常系列を得ることである。そのための特別なテストがあります。この考え方は、ポートフォリオメーカーに広く採用されています。

クラッシュ」を保証するテストがたくさん。


知らなかった :) 他にも "テーマのバリエーション "があるんですね。

そして、テストがなければ、テスターですべてを見ることができます。

https://www.mql5.com/ru/code/19630

Cointegration
Cointegration
  • 投票: 18
  • 2017.12.26
  • Maxim Dmitrievsky
  • www.mql5.com
Индикатор находит коэффициенты линейной регрессии для каждого из выбранных инструментов со всеми остальными, и выводит на график в виде стандартных отклонений. Сумма всех кривых...
 
マキシム・ドミトリエフスキー
以下はRandom Forestの例で、掛け算表の例を使って、学習済みのものが例を数える(ログに答えを生成する)。
で、以下はMLPの例です。https://www.mql5.com/ru/forum/8265/page2#comment_333746

ありがとう、マックス!!!

 
マキシム・ドミトリエフスキー

知らなかった :) 他にも "テーマのバリエーション "があるんですね。

そして、テストがなければ、テスターですべてを見ることができます。

https://www.mql5.com/ru/code/19630

あなたの指標が "cointegration "という言葉と関係があるという根拠を見たことがありません。オレンジ色の線は明らかに非定常系列と思われるが、サンプルが少ないとはいえ定常であるはずなので、共和分も証明されなければならない。
 
サンサニッチ・フォメンコ
あなたの指標が「共和分」という言葉と関係があるという根拠は見当たりませんでした。グラフの一部-オレンジ色の線は明らかに非定常系列に見え、サンプルは小さいが定常であるはずなので、共和分も証明されなければならない。

共和分とは、定常系列を持つ時系列間の線形関係であり、すべての真の

シンボルが一致している必要があります。2つのシンボルだけでなく、多くのシンボルに対して線形回帰を カウントすることができます。さらに悪いことに、2については、線形回帰を2回再計算するため、かなり正しくカウントされませんが、もともと多通貨を作ったpotmou。botがあり、その結果を別のトピックに流し込む。私は、明示的な依存関係を持つインデックスをいくつか持っていますが、私の利益は小さく、100%p.a.程度です。

同じクソでも非線形モデルを通して、しかし、裸の価格ではなく、増分に基づいていることがあります

追伸:FXで共焦点商品をうまく取引している人を見たことがない(ほとんどいないから)。どうあがいても、根本的な依存関係がなければ、何もないのですから。
 
サンサニッチ・フォメンコ
あなたの指標が「共和分」という言葉と関係があるという根拠は見当たりませんでした。オレンジ色の線は明らかに非定常系列に見えるが、サンプルは少ないが定常であるはずなので、共和分も証明しなければならない。

ここでは、1つ目に共和分があって、チャネルが構築され、2つ目に、まさにこの共和分がどのように終焉を迎えるのか......ということです。

ここで、もう一つ、共和制が崩壊する例を挙げますと...。
ファイル:
g7p4.png  47 kb
0zz22.PNG  56 kb
 
マキシム・ドミトリエフスキー

共和分とは、定常系列を持つ時系列間の線形関係であり、すべての真の

シンボルが一致している必要があります。2つのシンボルだけでなく、多くのシンボルに対して線形回帰を カウントすることができます。さらに悪いことに、2の場合は、線形回帰を2回再計算するため、正しくカウントされませんが、もともと多通貨化されているポットムーです。botがあり、その結果を別のトピックに流し込む。私は、明示的な依存関係を持つインデックスをいくつか持っていますが、私の利益は小さく、100%p.a.程度です。

同じクソでも非線形モデルによるものはあるが、生値ではなく増分をベースにしている。

p.s. FXで共焦点商品の取引に成功している人を見たことがありません(ほとんどいないからです)

FXに真剣な人はいない、小銭賭博のような市場です。だから、指標にならないんです。

そういうモデルもあるのですが、スプレッドが可変なので限界があります。

ベクトル自己回帰モデルは他の市場でも広く使われており、既製のツールもたくさんあります。グレンジャーは盛んだ。

理由: