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

 
阿列克谢-伯纳科夫

你所做的事情有一个共同点。

然而,你也应该尝试延迟采样。这是一个经典之作。训练、测试、验证。

并使程序更加复杂。对于每个在训练和测试方面效果很好的模型,我们称之为模型X,在延迟的数据上做验证。因此,你可以了解到你选择的模型是否正确,只用训练和测试就可以了。用不同的参数做许多模型,选择最好的(10、100、1000)。失败。你会明白,你的 "最佳 "指标是否反映在未来的数据中。之后才去打仗。

如果同一个随机变量有很多值,你可以计算置信区间,然后用 "置信区间的交叉/趋同 "来代替 "接近值 "的操作。
 
mytarmailS:

你能看到昨天的交易结果吗?

而这是为了今天。当然,并非没有错误,但最终还是很....。

 
Mihail Marchukajtes:

而这是为了今天。当然,并非没有错误,但最终还是很....。

不错,绿色的圆圈是什么,箭头是什么意思?

 
桑桑尼茨-弗门科
如果同一个随机变量有很多值,你可以计算置信区间,然后用 "置信区间的交集/汇合 "来代替 "接近值"。

三三,让我再解释一下。而且我认为这对大家来说会更清楚。

下表是实验的记录。每个实验都写在一个表格里。在J列之前,有一些变量。模型、损失函数训练、工具、预测范围、模型参数(GBM)、在caret中没有优化的参数,但我也在循环中优化它们:交叉验证的次数、为训练选择的预测器数量、树的随机化、切断处于不确定性灰色区域的某些预测。

然后是我的质量指标:关于训练(整个10年阵列),关于交叉验证测试失败,以及关于延迟样本。用红色标记了最有趣的栏目。

下一步。我可以向你展示最好的模型,在推迟的样本上做了一个地狱般的加法。

有了一致的数据和合适的训练方法,我只是希望在延迟样本的度量和交叉验证(测试)的度量之间得到一种关系。让我们看看我得到了什么。

客观地说--所选模型在递延样本(模拟一段时间的真实交易)上的质量与测试上的质量指标几乎没有关系(交叉验证测试犯规。)

结论,朋友们:如果我根据以下启发式方法选择最佳模型,"该模型在测试中必须更好",我对该模型未来的表现的确定性为零。

这个定义延伸到这样一种情况:我根据启发式的 "最好的模型会在延迟的样本上显示出良好的质量 "来选择一个模型;这样的选择,朋友,也会导致不确定性。一切都是概率性的,当然,你可以走运,但你不能欺骗统计。

这就是延迟采样的好处,也只有这一点。检查模型的性能,检查选择最佳模型的启发式方法。

PS:我正在考虑如何改进这个结果。从好的方面讲,你需要一个椭圆的斜云。从它那里,你可以从右边的边缘采取委员会,等等,平均来说,它可以发挥作用。

 

你为评估启发式方法开发的工具包不错,很扎实。你已经证明了你所开发的训练模型(委员会)的方式不适合于外汇,但接下来呢?

你需要想办法建立一个模型,使训练数据本身的结果、测试的结果和待定样本的结果之间有一个关联性。

我也有类似的情况,比如我正在尝试不同的数据预处理方式,不同的训练/预测包,不同的函数来评估预测的质量。这一切都很重要,而且有无尽的组合。我试图坚持奥卡姆剃刀法则--你需要的预测因素越少,模型的参数越少,就越好。

 

另外我的主观意见是,你的预测器不能用来预测你的目标值。至少在使用你的文件dat_train_final_experimental1.csv时--在拟合gbm参数时,我的健身函数不能得到一个积极的结果。也就是说,无论我建立什么模型,用什么参数--我都不满意交叉验证的结果。我无法证明这一点,只是我的个人意见,我建议在建立模型时,采取更多的预测因素,并尽量减少其数量。

例如,在我的训练表中,每个柱子有150个预测因子,总共有100个柱子,总共有15000个预测因子。然后我用遗传学来搜索预测器和模型参数,寻找健身函数的最佳结果。通过这种方式,我选择了那些与目标值相关的、模型可以预测的预测因子。在选择结束后,我只剩下10-20个预测者。我昨天在论坛上写了健身函数的近似R代码,比较清楚。

 
mytarmailS:

不错,绿色的圆圈是什么,箭头是什么意思?

绿点显示信号将,每一系列的绿点都以蓝点或红点结束,这表示一个序列信号,相应地买入或卖出。那么,箭头是雷谢托夫的分类器的工作,它说的是真信号或假一....。

顺便说一下,Sequenta是atacha,利用它的优势....。

附加的文件:
 
Dr.Trader:

这也是我的主观意见,你的预测器不能用来预测你的目标值。

训练样本本身的预测结果与测试样本的结果平均来说关联性很差。

有一个ForeCA软件包,它有一个Omega函数,可以估计信号的 "可预测性"。如果它估计为100%--信号符合一些要求,并且容易预测。0%的分数意味着信号只是噪音,无法预测。

我还有你的表dat_test_features_experimental.RData,其中最后一列是涨价的情况。例如,对eurusd的估计=0.83%(不是83%,正好是0.83%,小于1)。根据ForeCA,不可能预测这个时间序列。我不是很相信这个包裹,但它的作者显然了解一些情况,我会听它。

Omega(dat_test_features[dat_test_features[,109] == "eurusd", 110])

我不记得你所使用的时间框架,但如果是M1--有很好的理由去尝试更多,例如H1。

 
Dr.Trader,

我听你的。我的工作范围是一些小时。

在会议记录上,回归工作做得很好,但缺乏贸易方面的经验。在一小时内,绝对价格差异约为8点。What the heck....你看到了吗?你需要65_70%的猜测准确性。而在9点钟的时候,53-53%的比例足以压制差价。
 
Dr.Trader:

...

有一个ForeCA软件包,它有一个Omega函数,可以评估信号的 "可预测性"。如果它估计为100%--信号符合一些要求,并且容易预测。0%的分数意味着信号只是噪音,无法预测。

...

在这套方案中,"可预测性 "是什么意思?我以为它指的是推断(这是个词)以前(前)的价值的能力。如果我们采取增量,那么被广泛使用的工具,非常好的发展,有很多细微的差别:ARIMA,如果这个模型不通过,那么各种ARCH。而ForeCA软件包必须与这些模型进行比较。

总的来说,在我看来,原来的想法已经丢失了。对我来说,最初的想法是,我们需要不依赖于模型的方法来确定用于预测目标变量的每个预测因子的能力。请确保在预测器/目标变量的关系中这样做。而当我们筛选出噪音后,我们使用模型或其委员会.....。但只有在剔除了噪音之后。而没有噪音的事实是由模型的性能在不同样本中的近似不变性决定的。不是预测误差的绝对值,而是性能指标大致相等的事实,这(相等)可以解释为没有模型过度训练的证明。 没有过度训练是我们的一切。如果模型在一组给定的预测因子上被过度训练,那么其他一切都只是一个数字游戏。只有那些没有被重新训练的模型才是 有意义的。