文章 "通过差异化和熵值分析来探索市场"记忆"" - 页 10

 
Олег:

如果具体到他的书,分数微分法(在实践中)并不是很讨人喜欢,况且它已经有一百年的历史了,从 ARIMA 修正开始。如果不考虑其他特征,只考虑这些序列,我并没有得到令人满意的结果。

我喜欢他关于元标记的想法,即训练第二个模型来修正第一个模型的结果,从而改善矩阵的结果。Train Sabesta 的亏损交易很少。同样,这并不纯粹是他的方法,而是众所周知的。但只有我见过将其应用于 fin.行。这并没有摆脱再训练,但它在托盘上形成了一个很好的画面。

您可以在这里看到元标签 部分:https://towardsdatascience.com/financial-machine-learning-part-1-labels-7eeed050f32e。

更多信息请点击:https://www.quantopian.com/posts/meta-labeling-advances-in-financial-machine-learning-ch-3-pg-50

__________________________________________________________________________________________________________________

至于过度训练问题,我正在研究元学习(Meta-learning),即机器学习中的注意机制。

您可以查看

1. https://medium.com/towards-artificial-intelligence/a-simple-neural-attentive-meta-learner-snail-1e6b1d487623

2. https://stats.stackexchange.com/questions/344508/what-are-attention-mechanisms-exactly

Financial Machine Learning Part 1: Labels
Financial Machine Learning Part 1: Labels
  • Maks Ivanov
  • towardsdatascience.com
In the previous post, we’ve explored several approaches for aggregating raw data for a financial instrument to create observations called bars. In this post, we will focus on the next crucial stage of the machine learning pipeline — labeling observations. As a reminder, labels in machine learning denote the outcomes of the random variable that...
 
感谢您的详细答复,请访问.....
 
Олег:
感谢您的详细回复,我正在看....。

我忘了补充一点,他书中的元标记是堆叠的一种特殊情况,如果您不是将元模型应用于一个单一的主模型,而是将其应用于在不同刀片上训练的多个模型的悬浮。这可以为应用于 tafm 系列的研究提供更多空间。

这里有一篇相当不错的文章

此外,注意力+堆叠机制也同样适用于元学习。因此,有很多东西可以尝试。

这一切都会带来一些全局泛化,有助于对抗过拟合。

在文章中提到的我的多代理 RL 库中有一个多代理分身,但它们的结果是平均值,没有任何加权。我对自己的主题进行了各种变化。

How to Develop a Stacking Ensemble for Deep Learning Neural Networks in Python With Keras
How to Develop a Stacking Ensemble for Deep Learning Neural Networks in Python With Keras
  • Jason Brownlee
  • machinelearningmastery.com
Model averaging is an ensemble technique where multiple sub-models contribute equally to a combined prediction. Model averaging can be improved by weighting the contributions of each sub-model to the combined prediction by the expected performance of the submodel. This can be extended further by training an entirely new model to learn how to...
 

Maxim Dmitrievsky:

在文章中提到的我的多代理 RL 库中有一个多代理分身,但它们的结果是平均值,没有任何加权。我自己则对这一主题进行了各种变通。

不要认为我厚颜无耻(您是库的作者,您可以决定朝哪个方向发展),在讨论您第一篇关于 RL 的文章时,我提出了用更复杂的方法取代平均法的问题,然后您就把它用刺刀刺穿了,原则上,当所有代理都是通过随机森林的一种算法创建的时候,这真的没有什么关系,在一定程度上,可以认为 2 个代理在联盟森林中提供了大量的树木。我们只需要在 RL 库中多做一步,把树放在一个单独的标准化封装类中,这样就可以用另一种算法简单替换代理。

在您的库的基础上,我试图创建一个扩展库,其结构如下:主要数据准备类(货币对系列、附加系列--欧元-美元影响许多货币对、一组指标读数、附加参数,如月日、星期等)--所有算法链的数据准备。

链本身:几个标准 预处理、方法类

最后--决策类(结合链的结果),形式简单--平均值

我有 4 个类-基础-包装器:数据、预处理、处理、决策。

在这种形式下,既可以混合使用不同的方法,也可以在不同的数据上使用一种方法,可能有些东西没有考虑到,但这是得到的最小值

 
Олег:

别厚颜无耻了(您是库的作者,您可以决定朝哪个方向发展),在您第一篇关于 RL 的文章的讨论中,我提出了用更复杂的方法取代平均法的问题,然后您把它翻转了过来,原则上,当所有代理都由随机森林的一种算法创建时,这其实并不重要,在一定程度上,我们可以认为 2 个代理生成了一个具有大量树木的森林。我们只需在 RL 库中多做一步,将树放入一个单独的标准化封装类中,以便用另一种算法简单替换代理。

在您的库的基础上,我试图创建一个具有以下结构的扩展库:主要数据准备类(若干货币对、附加行--欧元-美元影响许多货币对、一组指标读数、附加参数--如月日、星期等)--所有算法链的数据准备。

链本身:几个标准 预处理、方法类

最后--决策类(结合链的结果),形式简单--平均值

我有 4 个类--基础--包装类:数据、预处理、处理、决策。

在这种形式下,既可以混合使用不同的方法,也可以在不同的数据上使用一种方法,可能有些东西没有考虑到,但这已经是最小值了。

算法库中没有其他算法,我们必须添加一些第三方算法。在文章中提到的那个库中,你可以改变每个代理的参数,也就是说,你可以添加其他特征、树的数量和其他设置,也就是说,你可以得到很多弱分类器,比如说,用少量的树,根据不同的特征进行训练。正如你所注意到的,这里唯一缺少的就是用元模型代替平均值。当然,也可以将训练分成若干褶皱,这样每个代理都将在自己的子样本上接受训练。我还没有做过堆叠实验。

 
Maxim Dmitrievsky:

算法库中没有其他算法,因此我们必须添加一些第三方算法。在文章中的那个库里,你可以改变每个代理的参数,也就是说,你可以加入其他芯片、树的数量和其他设置,也就是说,你可以得到很多弱分类器,比如说,有少量的树,这些树是在不同的芯片上训练出来的。正如你所注意到的,这里唯一缺少的就是用元模型代替平均值。当然,也可以将训练分成若干褶皱,这样每个代理都可以在自己的子样本上接受训练。我还没有做过堆叠实验。

这就是我被烧伤的地方......我决定把 "吸波 "算法移到其他地方,因为我的思维很分散,无法集中在一起。C++ 库太专注于模板和函数重载,因为在 MQL 中并不支持所有重载,算法会飞起来,重新写也更容易,对于 python 算法,需要一个正常的矩阵库(AlgLib 中的东西被截断了,有些东西只是用插头封闭了,对基础不好),最简单的事情是从 C# 转来的,似乎 MQL 开发人员比 C++ 更专注于它,直到方法和名称的重合。我试图以 alglib 树为基础,但那里的树是在矩阵上生成的,很难处理索引,删除也很困难。现在我要么完成它并将其发布,要么我希望有人会感兴趣并分享它....。

 
Олег:

这就是我卡住的地方......我决定移动 Bousting 的算法,但我很分散,无法把它整合在一起。C++ 库过于注重模板和函数重载,因为在 MQL 中并不支持所有的重载,算法会飞起来,重新编写也更容易;对于 Python 算法,需要一个正常的矩阵库(AlgLib 中的东西被截断了,有些东西只是用插头封闭起来,不利于基础);最简单的事情是从 C# 中转移过来,似乎 MQL 开发人员比 C++ 更注重它,直到方法和名称的重合。我试图以 alglib 树为基础,但那里的树是在矩阵上生成的,很难处理索引,删除也很困难。现在我要么完成它并将其发布,要么我希望有人会感兴趣并分享它....。

或者用 python 来做,但要忍受 MT5 的痛苦:)我很想用 python 做一个类似的库,因为在模型方面有很多可能性。写这篇文章还有意义吗?

唯一的问题是,我已经对这个库进行了大量开发,它看起来比文章中的要复杂得多......好吧,或者只是不同而已,虽然概念是一样的。
 
Maxim Dmitrievsky:

或者用 python 制作,但却要忍受 MT5 绑定的痛苦:)我希望用 python 制作一个类似的库,因为就模型而言,其可能性是巨大的。写这篇文章还有意义吗?

唯一的问题是,我已经对这个库进行了大量开发,它看起来比文章中的要复杂得多......好吧,或者只是不同而已,虽然概念是一样的。

这篇文章绝对有意义。

Python 已经成为 ML 的标准,MQL 开发人员也在朝着这个方向发展,无论如何,你都必须掌握 Python。我尝试移植算法与拒绝在 MQL 中使用 DLL 进行自动交易有关,但这并不是一个严格的要求,如果算法在 Python 中更容易使用,为什么不呢?


恕我直言--我很乐意阅读您的文章,我们可以就文章内容争论不休,但这些文章确定了新方向这一事实是不容置疑的。

我赞成发表新文章。

 
Олег:

这篇文章绝对有道理。

Python 已成为 ML 标准,MQL 开发人员也已朝着这个方向发展,所以无论如何你都必须掌握 Python。我尝试移植算法与拒绝在 MQL 中使用 DLL 进行自动交易有关,但这并不是一个严格的要求,如果这些算法在 Python 中更容易使用,为什么不呢?


恕我直言--我很乐意阅读您的文章,我们可以就文章内容争论不休,但这些文章确定了新方向这一事实是不容置疑的。

我赞成发表新文章。

我建议用 Python 制作一个类似 RL 库的文章,但不是用随机森林,而是用 Bousting,例如 CatBoost。

然后再进一步发展这个主题。先从简单的开始。
 
Maxim Dmitrievsky:

我建议在 Python 中制作一个类似于 RL 库的文章,但不是使用随机森林,而是使用 Bousting,例如 CatBoost。

然后再进一步讨论这个话题。先从简单的开始。

可以选择 XGBoost - 带源代码的库,甚至可以简化:

https://habr.com/ru/company/mailru/blog/438562/

顺便说一下,这篇文章描述了原声、原声支持
Пишем XGBoost с нуля — часть 2: градиентный бустинг
Пишем XGBoost с нуля — часть 2: градиентный бустинг
  • habr.com
Всем привет! В прошлой статье мы разбирались, как устроены решающие деревья, и с нуля реализовали алгоритм построения, попутно оптимизируя и улучшая его. В этой статье мы реализуем алгоритм градиентного бустинга и в конце создадим свой собственный XGBoost. Повествование будет идти по той же схеме: пишем алгоритм, описываем его, в заверешение...