交易中的机器学习:理论、模型、实践和算法交易 - 页 620

 
阿纳托利-扎因奇科夫斯基

例如,如果我只分析历史上的10个柱子来预测未来的1个柱子,神经网络会从这10个柱子中找到数百个模式,但我建议使用1个模式并对神经网络进行前向训练。


国家统计局几乎不会自己发现什么,反正首先要做统计分析,或者可能发现一些不清楚的东西。我仍在努力使NS适应现有的TS,只是为了避免手动编写所有的规则。

你可以在任何情况下使用alglib,你可以试试,你可以在5行中学习NS

 
马克西姆-德米特里耶夫斯基

NS不太可能自己发现什么,反正你得先做统计分析......或者它可能发现一些不清楚的东西。我仍然试图让NS适应现有的TS,只是为了不手动规定所有的规则。

无论如何,你可以拿alglib来试试,它在5行中教给你NS的方法


当我寻找它时,我看到你已经来到了一个随机森林,我已经被告知了很长时间....,关于统计分析,我只是说它是50/50,我一直在玩机器人,并在一个文件中写了结果...我看不到什么迹象可能会改变或对结果有影响,所以我决定让神经网络来识别我看不到的东西......。

 
阿纳托利-扎因奇科夫斯基

我从来没有见过如何使用Algleb NS的例子,我搜索了一下,来到这个主题,看到你试图实现它。进一步阅读,我看到你来到了随机森林,我已经被告知很久了....,关于统计分析,我只是说50/50,我运行机器人,并将结果写在一个文件中...我试图用一个神经元网来识别我看不到的东西...

这里有一个随机森林的例子,使用乘法表中的例子来学习,然后由经过训练的人对例子进行统计(在日志中给出答案)。
#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 - библиотека численного анализа
 
马克西姆-德米特里耶夫斯基

好吧,投资组合是非稳定的,它不是从西格玛到西格玛,而是定期裂开......然后它重新计算并再次裂开。

它不应该从西格玛到西格玛,只要行与行之间的协整关系还在,它就应该活着。


PS。协整是指两个非平稳序列以一种特殊的方式相加,并通过这种特殊的相加得到一个平稳序列。这方面有一个特殊的测试。这个想法被投资组合制造商广泛使用。

有很多测试都能保证 "崩溃"。

 
桑桑尼茨-弗门科

它不应该从西格玛到西格玛,但只要行与行之间的协整关系还在,它就应该活着。


PS。协整是指你以一种特殊的方式将两个非平稳序列相加,并通过这种特殊的加法得到一个平稳序列。这方面有一个特殊的测试。这个想法被投资组合制造商广泛使用。

很多测试都能保证不发生 "崩溃"。


我不知道 :) 还有其他 "主题的变体"

如果没有测试,你可以在测试器中看到所有的东西。

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

Cointegration
Cointegration
  • 投票: 18
  • 2017.12.26
  • Maxim Dmitrievsky
  • www.mql5.com
Индикатор находит коэффициенты линейной регрессии для каждого из выбранных инструментов со всеми остальными, и выводит на график в виде стандартных отклонений. Сумма всех кривых...
 
马克西姆-德米特里耶夫斯基
下面是一个随机森林的例子,使用乘法表的例子,然后训练的一个计数的例子(在日志中生成答案)。
下面是一个关于MLP的例子 https://www.mql5.com/ru/forum/8265/page2#comment_333746

多么好的礼物啊!谢谢你,麦克斯

 
马克西姆-德米特里耶夫斯基

我不知道 :) 还有其他 "主题的变体"

如果没有测试,你可以在测试器中看到一切。

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

我没有看到任何证据表明你的指标与 "协整 "这个词有关。橙色线似乎是一个明显的非平稳序列,而它应该是平稳的,尽管样本很小,所以必须证明协整关系。
 
桑桑尼茨-弗门科
我没有看到任何证据表明你的指标与 "协整 "一词有任何关系。一张图--显然是橙色的线,它看起来显然是非平稳序列,而且应该是平稳的,虽然样本很小,所以必须证明协整关系。

协整是指具有静止序列的时间序列之间的线性关系,所有真正的

符号需要匹配......它可以计算很多符号的线性回归,而不仅仅是两个。更糟糕的是,对于2将不能正确计数,因为它重新计算线性回归2次,potmou,最初使多货币。有一个机器人,结果倒成了另一个话题。它在一些指数上赚钱,这些指数有明确的依赖性,但我的利润很小,大约每年100%。

有同样的狗屎,但通过非线性模型,但它是基于增量而不是基于裸价的

P.s. 我没有看到一个人在外汇中成功地交易协整工具(因为几乎没有)。因为无论你如何扭动,如果没有基本的依赖性,就没有。
 
桑桑尼茨-弗门科
我没有看到任何证据表明你的指标与 "协整 "一词有任何关系。一张图表--橙色线显然看起来是非平稳序列,而它应该是平稳的,尽管样本很小,所以必须证明协整关系。

这里有一个关于第一个的协整,通道是建立的,而在第二个,这个非常协整是如何结束的......

MetaTrader交易平台的截图

Audusd, H4, 2018.01.28

RoboForex (CY) Ltd, MetaTrader 5, 演示版

AUDUSD, H4, 2018.01.28, RoboForex (CY) Ltd, MetaTrader 5, Demo


下面是另一个关于协整如何崩溃的例子...
附加的文件:
g7p4.png  47 kb
0zz22.PNG  56 kb
 
马克西姆-德米特里耶夫斯基

协整是指具有静止序列的时间序列之间的线性关系,所有真正的

符号需要匹配......它可以计算很多符号的线性回归,而不仅仅是两个。更糟糕的是,对于2不会算得很对,因为重新计算线性回归2次,potmou,原来做多货币。有一个机器人,结果倒成了另一个话题。我有一些有明确依赖性的指数,但我的利润很小,大约每年100%。

有同样的狗屎,但通过非线性模型,但它是基于增量而不是基于原始价格。

p.s. 我还没有看到一个人在外汇中成功交易协整工具(因为几乎没有)。

在外汇中没有严肃的人--这是一个一分钱的博彩市场。这就是为什么它不是一个指标。

我有这样一个模型,但它受限于价差,而价差是可变的。

向量自回归模型被广泛用于其他市场,有很多现成的工具。格兰杰正在蓬勃发展。