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

 

只是一些想法。

我试图纯粹用MQL4制作这样一个系统。

形成了一个投入的向量(只是有滞后的价格差)。

形成理想的输入和输出(有很多方法,我采取的是吸引我的方法)。

例如,所有这些都是针对5分钟的条形图。

然后我在每一个新的条形图 上补充阵列,还试图从过去找到类似的模式,并在一个半径可变的多维球体中计算出买入和卖出的百分比。这个东西经过了很长时间的测试。结果是不稳定的。

我想在R国的某个时候再试试。也就是说,它是通过欧氏距离来寻找入口和出口。

 
mytarmailS:

好吧,让我们说市场对应的群组№5,下一个蜡烛将是群组№18,它不会给我们任何东西,因为我们将没有时间来交易群组№5,在SMM有一个状态的概念,状态可以持续一定的时间

或者,也许我不明白你的想法?

集群是长行序列(甚至是100支蜡烛)。你可以在这些长序列的基础上做一堆的输入。而在某些时候,该系统从第5组到第45组,但它的发生,可以说是平稳的。
 
阿列克谢-伯纳科夫

只是一些想法。

我试图纯粹用MQL4制作这样一个系统。

形成了一个投入的向量(只是有滞后的价格差)。

形成理想的输入和输出(有很多方法,我采取的是吸引我的方法)。

例如,所有这些都是针对5分钟的条形图。

然后我在每一个新的条形图 上补充阵列,还试图从过去找到类似的模式,并在一个半径可变的多维球体中计算出买入和卖出的百分比。这个东西经过了很长时间的测试。结果是不稳定的。

我想在R国的某个时候再试试。也就是说,通过欧氏距离搜索入口和出口。

我也做了类似的事情,也是通过欧几里德和皮尔逊的相关度进行近似搜索,欧几里德应该小于0.27,相关度大于0。97,即模式几乎是一对一的,在所有4个价格OHLC+成交量+波动率的系列中寻找相似之处,价格是正常的,只是按比例和中心化(比例,中心),结果,正如我之前写的,价格与我自己的预测相反,反相关-0.6-0,9,我担心即使是交叉验证也无济于事,至少在欧几里得空间是这样,也许这就是为什么99%的交易员都会输钱的答案。
 
阿列克谢-伯纳科夫
长行序列的聚类(甚至是100个烛台)。有可能根据这些长序列进行大量的输入。在某个时刻,该系统从第5群到第45群,但它发生得很慢。
事情是这样的,如果我们在100个蜡烛图的序列上做出第5组,我们就知道是第5组的101个蜡烛图的第5组,也就是说,我们失去了100个蜡烛图)而在SMM中,作为第45号集群,我们已经知道,我们可能会去第5号集群。
 

还有一个问题要问R

library(kza)

DAT <- rnorm(1000)

KZP <- kzp(DAT,m=100,k=3)

summary(KZP,digits=2,top=3)


我怎样才能把它从 "摘要 "http://prntscr.com/bhtlo9,这样我们就可以用这些数字工作。

Скриншот
Скриншот
  • prnt.sc
Снято с помощью Lightshot
 
Dr.Trader:


我试图阅读p-bloggers上的文章,但由于我不懂英语,我什么都不懂,你能用通俗的语言解释一下这种选择方法的本质是什么,它是如何工作的?

纯粹凭直觉和基于第一次测试结果,我怀疑这种方法与主成分的方法非常相似,甚至可能是相同的......

第一次测试,我有一个30个预测器的样本,我训练了RF错误,我得到了准确率:0.6511。

然后我用你的方法选择了它们

我们得到了14个预测器,误差为 准确率:0.6568

事实上,我们已经消除了一半的预测因素,并改善了一点预测结果,这还不错

我将尝试其他数据集.....

另一个问题,当我把同样的数据加载到rattle时,为什么我的验证数据会出现3-6%的错误?

 
mytarmailS:
事情是这样的,如果我们在100根蜡烛的序列上做了一个集群,那么我们就知道它是5号集群的101根蜡烛,也就是我们吹过的100根蜡烛)而在SMM的45号集群中,我们已经知道,我们可能会去5号集群。
我们没有任何损失。在第一次测量时,我们将找出集群,然后会有一系列的集群变化。在集群与集群之间的转换点上,我们可以建立一个方形矩阵,并改变交易方式:在集群n上进入买入,在集群m上关闭交易。然后是同样的卖出矩阵。所有的变体都是刚刚经历的。而我们可以改变聚类参数,在循环中查看结果。
 
mytarmailS:

我试图阅读p-bloggers上的文章,但由于我不懂英语,我什么都不懂,你能用通俗的语言解释这种选择方法的本质是什么,它是如何工作的?

纯粹凭直觉和基于第一次测试结果,我怀疑这种方法与主成分的方法非常相似,甚至可能是相同的......

第一次测试,我有一个30个预测器的样本,我训练了RF错误,我得到了准确率:0.6511。

然后我用你的方法选择了它们

我们得到了14个预测器,误差为 准确率:0.6568

事实上,我们摆脱了一半的预测因子,并稍微改善了预测结果,这还不错

我将尝试其他数据集.....

另一个问题,为什么如果我们在rattle中使用相同的数据,那么在验证数据上的误差是3-6%,我怎么知道呢?

1.采用的是经过一些修改的主成分法。

2.使用这种方法的主要想法不是为了提高预测的准确性。主要的想法是,由此产生的预测准确性在未来会保持大致相同。在实践中,我们从测试者那里知道,我们几乎总是可以通过优化从专家顾问中获得惊人的数据。然而,随着未来的沉闷单调,这些圣杯耗尽了库房。这是因为在训练过程中,专家顾问学会了一些特殊性,而这些特殊性在未来不会再出现。与目标变量无关的预测器,即噪声,作为这种奇异现象特别有用。当优化或拟合R的模型时,总是有可能从这个噪音中提取一些可以从根本上提高性能的值。但这在未来不会发生,专家顾问会失败。

再一次:你使用一个工具,可以消除模型在训练样本和未来报价上的表现差异。在我看来,只有解决了再培训的问题,我们才能继续前进。

3. 误差小于10%,更多的是5%,是模型被重新训练的有力证据。而模型的过度训练是由输入预测器的集合引起的,而不是由模型本身引起的。

 
桑桑尼茨-弗门科


3.低于10%的误差,更不用说5%了,是模型被过度训练的明显证据。而模型的过拟合是由于输入预测器的集合,而不是模型本身。

问题不是为什么在相同的数据和相同的模型上,R和rattle有不同的结果。

问题二:如果一个 "样本外 "的模型显示的是地狱,那么检查它的意义何在?

 
mytarmailS:

问题不在于为什么在相同的数据和相同的模型上,R和rattle有不同的结果。

问题二:如果显示的是地狱,那么在拨浪鼓上检查 "出样 "模型的意义何在?

你可能在r和rattle中使用了不同的脚手架参数,因此出现了不同的结果。在 rattle 本身,你也可以改变树和变量的数量。

而你的拨浪鼓在训练数据上有34%的误差,在验证数据上有3%的误差?验证数据出了问题,要么是它以某种方式已经存在于训练数据中,要么是你有一个非常小的数据集,它只是以这种方式发生。