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

 
Aleksey Vyazmikin:

此外,这种方法是我多年来一直在做的事情。

然而,我现在有些推脱了,因为它真的非常慢,这使得我无法快速改变目标(寻找一个好的目标),而且个别规则也停止工作,无论你如何在历史上检查它们。

马克西姆,你能不能帮忙,用python编写一个脚本,从CSV文件中循环创建模型(或100个模型),然后通过标准的CatBoost 手段分析它(它们)的预测因子的重要性,然后在某些条件下禁止/允许使用预测因子(CatBoost可以做到),并再次创建新的模型。这种方法将允许分配重要的预测因素,从而改进模型。我也在使用类似的方法,但对我来说很不方便,因为每个周期,在筛选/添加预测器之后,我都要手动重新启动学习周期。

还没到时候

我不相信这种方法(我知道更好、更快的倍数)。

 
Maxim Dmitrievsky:

还没有。

而且我不相信这种方法(我知道更好、更快的倍数)。

这个方法是有效的--这不是一个信仰的问题。

而哪种方法更快、更好,让我们来比较一下效果吧!

 
Aleksey Vyazmikin:

工作方法不是一个信仰问题。

而哪种方法更快更好,让我们来比较一下成效!?

为了使这不是一个信仰问题,你需要一些证据。

从模型中移除特征会改变它们的互动性,所以只要你喜欢,就可以重新安排它们。
 
正如我们所知--任何NS、Forest、Boost都可以在自身内部重现任何MA和其他数字滤波器 类型的功能。而且,如果你只是喂养50-100条,那么喂养相同的MAs似乎没有意义。
深度神经网络 中,也许是这样。
但在受管制的助推器和脚手架上,没有。
例如,在katbust中,推荐的树深=6。这就是2^6=64个分叉。如果我们需要MA30,那么平均而言,每根柱子将被分割2次(一分为二,其中一半仍为一半)。为了粗略地再现MA(10%的误差),我们需要对每个条形图进行至少10次的分割。这是一个需要9-10的深度。
但是,深层的分裂不会让树木泛化。
因此,事实证明,浅层树可以泛化,但不可能在里面重现任何需要的特征(如MA)。这意味着MAs、CCI和其他所有我们想作为特征检查的东西都必须与条形图一起传递。

我并不是唯一一个认为单靠铁杆就能实现树木系统的人。如果仍有支持者,我建议给出他们的论点。
 
Maxim Dmitrievsky:

所以这不是一个信仰的问题,你需要一些证据。

从模型中移除特征会改变它们的互动性,所以你可以重新安排它们,只要你喜欢就行

让我们定义一下需要证明的内容。

为什么,在我看来,可能有一个去除预测器的程序,正式的预测器可能通过选择,因为它有很好的根(通常)分裂的原因--通常与其他预测器的对应关系提高了结果--贪婪的原则,但这个原则对整个数据集起作用,没有检查空间特征(由于其结果,整个样本的事件发生频率),这是一个事件结果聚集在1/5的样本的情况,例如,只从有或者类似的情况,但那里的原因是不同的--即使模型是稳定的,但事实证明,在交易结果的财务表现 主要是正值太小或负值太大的时刻,预测者与目标有很好的相关性,而这是一个非常微妙的点,模型在训练时不知道如何解释。

因此,目标不仅是在不同的时间间隔上改进分类模型本身,而且还要在财务结果方面加以改进。

 
Aleksey Vyazmikin:

让我们定义一下需要证明的内容。

为什么,在我看来,删除一个预测器可能会有好处,从形式上看,一个预测器可能会通过选择,因为它的根(往往)分裂的原因是它有很好的指标--往往与其他预测器的对应关系提高了结果--贪婪的原则,但这个原则对整个日期集起作用,没有检查空间特征(整个样本的事件发生频率与他们的结果有关),这是积累事件结果的情况,例如,只有从这有或者是类似的情况,但那里的原因是不同的--即使模型是稳定的,但事实证明,当交易结果的财务表现 大多在正值太小或在负值太大时,预测者与目标有很好的相关性,而这是一个非常微妙的点,模型在训练时不知道如何解释。

因此,目的不仅是在不同的时间间隔内改进分类模型本身,而且在财务结果方面也要改进。

我还没有准备好编码,然后用不可理解的结果支持不可理解的想法

 
Maxim Dmitrievsky:

不准备编码,然后用不明确的结果支持不明确的想法

所以告诉我,你认为只有你自己的想法是正确的,值得讨论的。

 
Aleksey Vyazmikin:

所以说,只有你自己的想法是正确的,值得讨论的。

相当合理。我没有从描述中得到什么。

我已经写过关于无意义的重新安排人物的文章,几年前我就这样做了。

 
Maxim Dmitrievsky:

相当合理。我从描述中什么都不明白。

我已经写过重新安排功能的无意义,几年前我就这么做了。

如果你从描述中不明白,请提出问题,到底什么地方不清楚--我会尽量解释清楚。

几年前我也做过同样的事情,我放弃它是因为努力,而不是毫无意义。

下面是一个旧实验的结果表,工作是这样的。

1.预测器的数量被切成9块。

2.块之间的组合被创建 - 512

3.然后对样本在每个块的存在/不存在的情况下的平均表现做出估计。

4.对大块的重要性进行了假设(正/负)。

5.重要的块被分解成更小的块,而不太重要的块被合并成一个块(不一定要按顺序进行)。

6.形成新的512组合

7.如果发现了对样本有负面影响的小块,就把它从进一步的列举中排除,直到结果的改善停止,然后可以尝试把排除的小块加入,用同样的方法分析结果。另一方面,积极的影响则被汇总到一个组。

下面是一个有32次这样迭代的指标变化的例子。



该方法当然可以改进,但这需要实验和其结果。

是的,改进不是按次数进行的,但结果也让你思考哪些预测因素对结果更好或更坏,以及为什么。

而且,我想尝试专门使用CatBoost 统计,并删除/添加预测因子(以及它们的组),原因正是因为它可能比我之前使用的枚举法更快。

另一个好处是,太多的预测因子会导致罕见的分裂,在训练之外的样本中,叶子的激活可能非常罕见(我在前面的截图中显示了这一点),这故意降低了训练的质量和它的评估。

 
Aleksey Vyazmikin:

如果你不理解描述,请对不清楚的地方提出问题--我会努力解释得更好。

几年前我也做过同样的事情,但因为涉及到劳动,而不是毫无意义而放弃了。

毫无意义的浪费时间。