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

 
Aleksey Vyazmikin:

这是正确的,但是如果我们去掉那些在叶子中已经很丰富的字符串,它们的数量会稍微少一点("0 "类),质量应该不会下降,而 "1 "的相对值会变大,因此模型将能够在搜索中考虑到那些以前在统计上不正确的叶子变体。

另一个选择是去除独特的叶子,因为它们会干扰学习。

如果有很多类似的线条,就意味着情况经常重复。如果你删除它们,例如0类,并在反弹交易中开始激活1类的叶子,那么如果模式没有改变,你将再次得到大量的0,而不是预测的1。并遭受损失。你需要它吗?

MO只能在假设该模式将保持并像过去那样行动的基础上进行预测。从训练中删除模式,你会得到随机的

 
Aleksey Nikolayev:

也许通过一个应用实例来解释比较容易。

第1点)--测试持续-反持续的昼夜波动假说。它是对价格持续或反之倾向的检查--根据一天中的时间来改变其方向。为此, 你需要了解相关 的情况。

第2)和第3)点--检验价格反转 "按小时发生 "的假设,最好在 "正确 "时间进行。

第3点)--通过研究人字形长度的经验分布,寻找一天中时间的平坦(趋势)时刻。

1)什么和什么之间的相关性?

 
Valeriy Yastremskiy:

我理解这一天的情况,我同意。这个问题是关于一周中的哪一天。平均期间内的时间,天数,最初并不与一周中的一天相联系。考虑到一天中的时间,你可以检测周内的重复性,最初将其与一周中的一天联系起来。你只与每月的一天的时间有联系。

当然,我们可以用日内分钟(例如)与周内5分钟的周期进行类比,但在这种情况下,我们必须将纯粹的周内周期与继承的日内周期,以及新闻效应和其他非平稳性分开。总之,我不太相信每周的季节性会那么明显。

 
elibrarius:

1)什么和什么之间的相关性?

邻近的增量。

 
Aleksey Nikolayev:

当然,我们可以用日内分钟(例如)与周内5分钟的周期进行类比,但这样我们就必须把纯粹的周内周期与继承的日内周期以及新闻效应和其他非平稳性分开。总之,我不太确定每周同样明显的季节性。

显然,我是在糊弄人。我不考虑每周的平均数。你如何得到答案,是每天上午9点的定期活动,还是每个月的第三、第五和第十天,还是每周三上午9点?

 
Valeriy Yastremskiy:

显然,我是在糊弄人。我不考虑每周的平均数。你如何得到答案,每天上午9点的重复性活动,或者每个月的第三、第五和第十天,或者每周三上午9点?

我想我理解了你的意思,并本着每天上午9点重复的事件也会是每周三上午9点重复的事件。由于非常明亮的昼夜周期性,要分离出那些具有REALLY WEEKLY(但不是昼夜周期性)的事件将是相当困难的。当然,我可能是错的,但我还没有注意到明显的每周周期性,所以没有办法在我的代码中发现它。

 
elibrarius:

如果有很多类似的行,那么情况就会经常重复。如果你把它们扔掉,例如0级,并开始在集会中激活1级的表,如果模式不改变,你将再次得到很多0,而不是预测的1。并遭受损失。你需要它吗?

MO只能在假设该模式将保持并像过去那样行动的基础上进行预测。通过从训练中去除模式,你将得到随机的

有一些策略,趋势策略在40%的准确率下赚得很好,但标准的MO方法不允许训练它们,如果准确率不够,就把 "1 "类甩到零,而我正好需要这样的拆分来分离和改进,所以我在寻找这样的方法。否则,在1得到的召回非常小。

 
Aleksey Nikolayev:

寻找盘中模式的工作受到盘中波动的阻碍。我们需要以某种方式摆脱他们。可能的方式。

1)重新调整增量,以考虑到日内的波动。

2)切换到一个新的日内时间,在这个时间内,方差均匀增长。

3)使用 "之 "字形图案。膝盖的价值不取决于波动率的波动。顶级时间当然取决于波动率(在波动率高的地方它们更频繁),但当转移到统一时间时,这些集群就会消失。

这是理论上的,但在实践中,无论你如何扭曲眼镜... ...)

我对增量的波动性进行了归一化处理,均衡了分散性。我只是失去了信息。

 
Aleksey Vyazmikin:

有一些策略,趋势策略在40%的准确率下赚得很好,但标准的MO方法不允许训练它们,如果准确率不够, 我就把 "1 "类降为零,我只需要分离和改进这种分割,所以我在寻找这种方法。否则召回率非常小,为1。

如果是一个趋势,TP是大的,但SL是小的。例如,500到100。那么在80%错误的情况下,将有20%的成功交易和80%的失败交易。余额将接近零。如果你的交易叶子的误差为70%,你就已经有了利润。而如果你找到了50/50,利润将是巨大的。


你说被甩是什么意思?70%的错误它似乎只被甩到了0类,你已经可以在剩下的30%的1类上赚钱了。

 
Aleksey Vyazmikin:

马克西姆,我怀疑C++的模型没有从CatBoost中正确卸载--你能和python的模型进行比较吗?

我在MQL5中的模型解释值与二进制模型的值之间存在差异,其中CPP模型的值取自于二进制模型。三角值约为0.15--这是个很大的数字。

python的是包装中的cpp。一切运作正常。

我的意思是,它既可以以python格式保存,也可以以cpp格式保存。我把它保存在cpp中,然后用简单的动作把它转换成mql,因为模型本身就是几个数组。
原因: