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

 
Andrey Dik #:

是的,问题总是要确保模型在新数据上的稳健性。这就是为什么我说找到这样一个标准是最重要也是最困难的。

我的意思是,我们在交易和机器学习中习惯使用的结果评估指标,只是评估模型/调整/近似结果质量的一部分。

重要的是,我们是在什么条件下实现这一目标的。实现这一目标需要多少信息。我们需要评估观测数据随时间变化的稳定性。每个预测因子的贡献。

具有大量预测因子和决策规则(无论是树还是神经元)的复杂模型的问题在于,它们会产生不太可能完全重复的复杂模式,因此分配到某个类别的概率会出现偏差。早些时候,我发布了一张 "树在嗡嗡作响 "的图片,显示大多数树叶根本不会在新数据面前激活。

所有这一切都源于这样一个事实,即我们正在处理的 "函数"(实际上是它们的和)无法通过充分探索来近似。这意味着我们只需要特别关注那些更容易理解/已知的部分。让模型对新数据 "保持沉默"(因为它不熟悉情况)比对过去的单一案例进行操作要好。

因此,问题来了--如果模型不确定,如何让它保持沉默;如果有利事件的概率很高,如何让它有信心。

我们需要纠正现成模型的方法。这些方法可以通过在训练后对模型施加影响来实现,也可以通过应用两类模型来实现--一类是 "咝声型 "模型,另一类是 "近邻型 "模型。

 
Aleksey Vyazmikin #:

我想说的是,我们在交易和机器学习中习惯使用的结果评估指标只是评估模型/调整/近似结果质量的一部分。

重要的是,我们是在什么条件下实现这一目标的。实现这一目标需要多少信息。我们需要评估观察结果随时间变化的稳定性。每个预测因子的贡献。

具有大量预测因子和决策规则(无论是树还是神经元)的复杂模型的问题在于,它们会产生不太可能完全重复的复杂模式,因此分配到某个类别的概率会出现偏差。早些时候,我发布了一张 "树在嗡嗡作响 "的图片,显示大多数树叶在新数据面前根本无法激活。

所有这一切都源于这样一个事实,即我们正在处理的 "函数"(实际上是它们的和)无法通过充分探索来近似。这意味着我们只需要特别关注那些更容易理解/已知的部分。对新数据保持 "沉默",因为它不熟悉情况,这比对过去的单一案例进行操作要好。

因此,问题来了--如果模型不确定,如何让它保持沉默;如果有利事件的概率很高,如何让它有信心。

我们需要纠正现成模型的方法。这可以通过训练后对模型的影响来实现,也可以通过应用两类模型来实现--一类是 "剔除 "类型的模型,另一类是 "K 近邻 "类型的模型。

我早期制作的模型,随着时间的推移就不再发出交易信号了。是的,这比在新数据上将正确答案的概率改为 50/50 要好。问题的关键在于--当训练使网格的答案在一个狭窄的数字范围内时,随着时间的推移,答案开始超出范围,信号也随之消失。这是一个非常劳动密集型的过程,我还无法实现训练和进一步交易的自动化。

这是其中一种方法,可能还有其他方法,有必要对此进行研究。

 
Andrey Dik #:

其本质是:在训练过程中,要实现在狭窄的数字范围内击中网格答案,随着时间的推移,答案开始超出范围,信号也随之消失。这是一个非常耗费人力的过程,我还无法将训练和进一步交易完全自动化。

我在 MT5 优化器的帮助下实现了这一想法:

,我为我的伪神经元设置了一个条件:"
输入 - 只有一个数字 -Close[ 2 ]

优化器开始努力搜索有利可图的交易,但我按交易次数对交易集进行排序。

当优化器完成时,您选择交易次数最多、最耗费精力的交易集 - 这自然意味着 Expert Advisor 猜到了最大数量的未来价格。

然后,我切换到测试模式,条件已经更改:"如果设定结果给出的数字比 Close[1] 大 N 个点,则开仓买入"

瞧:远期在一年内盈利。

一个问题:它只对凌晨 2 点的小时蜡烛
有效。收盘 - 在下一小时开盘时。

不知何故,我发现了这样一种模式。它在欧元兑美元、美元兑瑞士法郎和欧元兑英镑的另一个上午时段起作用。

 
Andrey Dik #:
窄范围内的网格响应

我们说的是 NS 还是另一个网格?

Andrey Dik#:
随着时间的推移,反应开始超出范围,信号也随之消失。

是因为预测因子的总数发生了变化,还是只有一个预测因子不再显示 "预期 "结果?

一般来说,为什么会出现问题对进一步的思路非常重要。

 
Aleksey Vyazmikin #:

1.我们讨论的是 NS 还是不同的网格?

2.是因为预测因子的总分发生了变化,还是其中只有一个预测因子不再显示 "预期 "结果?

一般来说,"为什么某些东西会坏 "这个问题对于进一步的思路可能非常重要。

1.是的,当然。

2.也许我说得不对。不,这只是一种正效应--交易会在新数据的影响下逐渐化为乌有。一旦单位时间内的交易次数减少到一定水平以下,就需要重新训练。也就是说,不是以 OOS 交易效率的下降作为重新训练的信号,而是以交易次数的减少作为信号。

也就是说,NS不把在OOS上的交易损失说成是无稽之谈,而是对不熟悉的数据保持沉默。

 
Aleksey Nikolayev #:
您的链接还提到将 "概况 "与交叉验证联系起来,而交叉验证可能更容易找到数据包。

我看不出这里有什么联系。从哪句话中可以看出来?

 
Forester #:

作品是实验性的。以下是http://www.ccas.ru/frc/papers/students/VoronKoloskov05mmro.pdf 的一段话

不可能每个实验都是一个软件包。

哦,实验是人为的。噪声被添加到了按类别明确区分的数据集中。而这种明显的分隔只针对一个特征--Y 轴。如果我们去掉噪音(0.2 到 0.8 之间的所有数据),就会发现我们只留下与另一个类的距离不小于 0.6 的例子。我指的是图中最复杂的第 3 种变量:


到现实生活中去,在这个单一的工作样本中加入 5000 个预测因子,这些预测因子将成为噪音。在聚类过程中,您需要计算 5001 维空间中点与点之间的总距离。在这种混乱的情况下,永远也找不到 0.6 的工作点。

,我认为任何分类器都能做得更好,同一棵树都能找到这个单一特征并将其除以 0.5,然后它将达到 0.2 和 0.8 的分裂,接着是纯度为 100%的树叶。

据称,使用这种算法可以在 kagle 上赢得第一名,我认为这并不是简单的任务....。

我们要不要试试看?很遗憾,我不懂公式。

 
mytarmailS #:
弗拉基米尔-佩列文科(Vladimir Perervenko)的一篇文章介绍了这种方法,当然还有一个带代码的例子

我是从视频中了解到这种算法的,slade 上有一些公式,很难称之为代码。

你在哪里看到的示例代码?

 
Andrey Dik #:

1.是的,当然。

2.也许我没这么说。不,这只是一种正效应--交易会在新的数据面前逐渐化为乌有。只要单位时间内的交易次数减少到一定水平以下,就需要重新训练。也就是说,不是以OOS交易效率的下降作为重新训练的信号,而是以交易次数的减少作为信号。

也就是说,NS对不熟悉的数据保持沉默,而不是胡言乱语,带来OOS交易的损失。

这就是我意识到的问题。我只是想问,是否已经找到了原因。不是问什么坏了,而是问为什么信号会丢失。

 
Aleksey Vyazmikin #:

我从视频中学到了这种算法,slade 上有一些公式,很难称之为代码。

你在哪里看到过代码的例子?

这是在耍我吗?