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

 

我有一个长帖子,但版主把它删除了,因为我无法控制自己,用典型的俄罗斯方式表达了我的感受....所以我将保持简短....

老实说,我只是被我得到的结果惊呆了。是的,从110个输入被选择从3到5在不同的情况下,和sootvetechno模型,已经变成了相当小的,但他们如何工作是与东西。首先,所有建立在选定输入上的模型都100%地通过了我的测试。这样的结果我只得到过一次,而且是偶然的,但这里是稳定的,所有的时间........

是的,多项式本身被证明是太小了,但谁他妈的在乎呢。在战争中一切手段都是好的。我知道我们会用小的多项式来冲击市场,如果它们能成功,这不是我的错......。

但同样,这只是一个快速测试,我们需要更多的时间来证实这一理论,但这里是过去两周TS在负反馈领域工作的一个壮观的例子。

这当然不是下一个主题所讨论的圣杯,但结果是显而易见的,股权在整个CB!!!!,始终高于零。

我想说,感谢每一个回应我对R的帮助请求的人。你真的帮助我节省了很多时间。现在我只需要让我的信号进入绿色区域!!!!!。

 
交易员博士

例如,jPrediction将数据扩展到区间[-1;1]并在这些数字上进行学习。在评估输入之前,也可以在R中扩展到相同的区间。

基于树木的估计方法可能不会改变结果,森林并不真正关心数据来自哪个区间,但最好检查一下。vtreat对间隔时间也不挑剔。


但总的来说,他说的是输入的非线性转化,甚至在输入到神经元之前。神经元对输入非常敏感,如果你以某种特殊方式处理输入数据,其结果可能会有所改善。例如,我听说过这样一个技巧--通过sigmoid转换输入。

如果我没记错的话,已建成的模型已经有这样的功能了。它看起来像这样....

double sigmoid(double x) {
   if (MathAbs(x) < 1.0) {
      return 2.0 * signum(x) - x;
   }
   return signum(x);
}
 
Mihail Marchukajtes:

它看起来像这样....

某种特殊的 "Reshetov Sigmoid" :)

这里有一张有趣的图片,有不同的数据转换。
他们说,如果所有的预测因子都有大致相同的条数,那么神经网络就会非常高兴,并且会很容易学习。scale()x2->Sigmoid()上最后三分之一的预测器看起来不错,但我需要对前一半的预测器做一些处理,否则神经元会被扼杀。
如果我们像jPrediction那样看一下[-1;1]中的缩放比例的boxplot,它看起来非常糟糕。


附加的文件:
 

今天是圣杯日,但我们知道它是什么样子的,需要付出多少努力才能将它握在手中!!!!。

我并不害怕这个词,但今天我为自己找到了一个圣杯。我反复测试,结果令人惊讶。特别感谢Trader博士 的支持,这实际上导致了这一发现。我不害怕这个词........在R的帮助下,我能够有效地找到一组重要的预测因子,考虑到目标有相同数量的类,那么通过稍加发挥(增加或删除一个),重要的预测因子集可以扩大一列、两列。我试过一次,加入它们实在是太正常了。然后,我们开始缩减并选择具有最大学习效果的模型。


当然,多项式的规模并不大,但它在理论上将起到50%的训练间隔,也就是一个星期,对我来说已经足够了!!!!!!。但事情是这样的....而我现在是针对这里那些正在寻找可靠和稳定模式的人。用一个例子来解释比较容易.........

我保存了一个有1000行和111列的数据表,其中有110个预测因子,因此输出。但是,我并没有把整个表拿出来,而是拿了一小部分新的40条记录(大约是2周的TS工作),结果是我有一个大小为40乘110的训练集,外加一个目标。事实上,我就在这一天的这个时间段里,在市场上做了一个切片。这个片子是固定的。然后, 我选择相对于输出的重要输入变量,并得到3至5个列,我明白,这些列具有所需的阿尔法,使我能够比其他市场参与者有优势 现在最重要的事情是....这一切的讨论都是为了什么。只要我在训练用的数据表中再增加一行,列的集合就会发生巨大的变化,即阿尔法会移到另一组列上。也许不是立即,而是在添加多于一行之后。即信号TS!!!!阿尔法恰恰是最纯粹的模式,对目标功能来说是最小和足够的。但这种模式并不明显,也就是说,要用肉眼看到它是非常困难的。正是在这一点上,人工智能参与其中并发挥其作用。

现在想象一下阿尔法如何在所有的数据字段上反弹,如果它很少包含在五个以上的输入中,而总字段有110个输入。换句话说,每一个新的切片,我都会得到一套完全不同的预测器。而你想怎么跟上它,甚至在一个YEAR的距离!!!!!!!,如果它在这里几个星期,你很难正确地抓住它.......。但你说得很对,有一个圣杯,但每个人都有自己的,为了保持它,你需要做出很多努力.......。

并再次提到模拟账户 的理论家,这是如何做到的.......。

我曾用这个理论工作过,并利用它做了一些测试。测试显示出良好的结果。模型是在机器人被加载的情况下训练的UPU。本周注意我的信号,你会看到我的假设有什么价值。

 

妙不可言!

万幸的是,R!

 
Mihail Marchukajtes:

现在想象一下,如果我卸载的数据字段很少包含在五个以上的输入中,而总字段是110个输入,那么阿尔法怎么能跳过整个数据字段呢?换句话说,每一个新的切片,我都会得到一套完全不同的预测器。

现在打开你的大脑 )

 
组合器

现在,请用你的大脑)。

如果你真的按照你的建议去思考,答案只有一个。切口是静止的,它的任何变化只是把你扔到另一个维度(形象地说),那里的法律完全不同。这就是为什么在市场上很难赚到钱。这就是所谓的非平稳性。当能预测的信息只占最大可能的数据集的5%,而下一个信号可能会发生剧烈的变化,或者根本就没有。此外,我保存了11个工具的delta和volume,其中只有5%在这里和现在工作,不知道什么时候会改变,但很明显,当替代其他列的时候,这个时刻可以被跟踪,从而确定模型被放空的时刻......。需要做更多的测试.....,但没有时间...

 

OOS, 15 min tf

在第2号策略中发现了一些bug,修复了它,似乎是在工作。

还有第3页,已经加入了RL,我觉得这有很大的潜力,但需要大量的思考来实现。


 

关于八个机器学习模型的研究的有趣文章

具体来说,我们考虑以下算法:多层感知器(MLP)、逻辑回归、天真贝叶斯、最近邻、决策树、随机森林和梯度增强树。这些模型适用于来自八个数据生成过程(DGPs)的时间序列--反映了不同的线性和非线性依赖关系(基本情况)。通过增加不连续性和不同程度的噪声,引入了额外的复杂性。


而这里是结果

首先,我们发现机器学习模型在未知的基础DGP上取得了坚实的性能,与最佳预测所设定的雄心水平相比。在没有噪音的情况下(基本情况),用机器学习模型取得的结果几乎与最佳预测的结果相似。从模型上看,MLPs和GBTs对线性和非线性DGPs都提供了最好的结果。对于没有非线性或只有小非线性的过程,LR是一个很好的选择,特别是考虑到其低计算成本。我们发现NB和单一决策树的性能较差,因此推荐上述技术用于时间序列预测任务。

第二,在特征空间中包括过多的滞后值比包括太少的滞后值要好。我们发现大多数机器学习模型对超过DGP的过程方程所建议的所需滞后期数量相当稳健。在RF的情况下,加入额外的特征甚至增加了预测的准确性。我们建议从一个滞后期开始,并逐渐增加滞后期的数量,以监测在保留集或交叉验证中的表现。

第三,我们发现跳跃对预测准确性有非常大的负面影响,LR是最稳健的机器学习模型。为了减轻负面影响,在特征空间中加入第一差值(DIFF)以及基于LOF算法去除跳跃,都显示出良好的效果。我 们建议将这两种技术结合起来。

第四,在所有的机器学习模型中,用噪音污染时间序列对预测的准确性有最不利的影响。我们再次发现,在有噪音的情况下,LR是最稳健的机器学习模型。 此外,额外的缓解措施,如在特征空间中加入第一差值(DIFF)和移动平均数(MA),也会产生更好的结果。

 
桑桑尼茨-弗门科

关于八个机器学习模型的研究的有趣文章

从模型上看,MLPs和GBTs对线性和非线性DGPs都提供了最好的结果。对于没有非线性或只有小非线性的过程,LR是一个很好的选择,特别是考虑到其低计算成本。我们发现NB 和单一决策树的性能较差,因此推荐上述技术用于时间序列预测任务。

有点显而易见,考虑到CART根本不对前线性问题起作用。