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

[删除]  

今天在Python上使用了humnocode,得到了这个结果

训练

测试

也许是测试仪出了问题,也许是其他原因,我明天晚上会重新检查。我是为了一篇文章而做的(我想描述我的方法),也许catbust比森林更能处理这个策略

 
Maxim Dmitrievsky:

今天在Python上使用了humnocode,得到了这个结果

训练

测试

也许是测试仪出了问题,也许是其他原因,我明天晚上会重新检查。我做了一篇文章(想描述我的方法),也许catboost比forest更能处理这个策略。

因此,根据他们的命名系统样本,CatBoost 是在测试中训练的--有什么问题吗?

[删除]  
阿列克谢-维亚兹米 金。

因此,CatBoost是根据他们的采样命名系统在测试中进行训练的--没有混淆?

我的意思是完全是新的数据,是不同的历史片段。在火车上应该是这样的,但考试却让人困惑。也许测试者在什么地方偷看了。

我在我的森林上得到0.6-0.7的误差,数据大致相同,在trayne上也是如此,而且测试结果不一定好,几乎总是比trayne差。提升中的误差是差不多的,但测试是非常好的,它不会发生。

你做得怎么样,你在叶子上有什么进展吗?
 
马克西姆-德米特里耶夫斯基

我的意思是完全是新的数据,是不同的历史片段。火车上应该是这样的,但测试却令人困惑。也许测试者在什么地方偷看了。

在我的森林里,在大约相同的数据下,我得到了0.6-0.7的误差,在小路上也是如此,而且测试的结果并不总是好的,几乎总是比小路差。升压有大约相同的误差,但测试是痛苦的,这种情况不会发生。

你怎么样了,你获得了叶子吗?

好吧,那我就不知道了--没有取样就很难知道什么是错的。

我的结果并没有让我非常高兴。我已经收集了相当数量的树叶,但随之而来的问题是如何最好地使它们相互配合。 问题是,它们经常相互重叠20%-50%或更多,因此,事实证明,给出相同的信号,这并不是很好。我们的想法是将它们分组,并为每组做一个激活的阈值--所以我思考了最好的方法。

到目前为止,我正在进行相互过滤的实验--我在R中对树的叶子进行了训练,但到目前为止,只对买入进行了训练。

第一张没有树的截图,第二张有树的截图。时间是今年的3月至9月。

当然,平衡曲线不是很有吸引力,但它是一种趋势策略,其本质是在平淡期不要损失超过你的收入,而市场(思)全年都是平淡的,很少有强势的波动。我可以看到,增加一棵树已经改善了相对指标,我以后也会为销售做同样的事情,如果结果是积极的,它将成为模型的一部分。

直到最后都没有解决选择叶子的问题,即使选择在5年中每一年都显示出良好效果的叶子,也可以预期20%-40%停止工作,更可悲的是无法理解是否关闭它们--特别是按季度做了测试,结果发现过去季度不赚钱的叶子与随后季度的损失(很多)相重叠。

选叶的方法本身似乎很有希望,但过程非常缓慢。

[删除]  
阿列克谢-维亚兹米 金。

那么,我不知道--没有样本,就很难知道哪里出了问题。

我对结果不是很满意。我已经收集了相当数量的树叶,但接下来的问题是如何让它们更好地一起工作。问题是,它们往往相互重叠20%-50%或更多,因此,结果是给出了相同的信号,这不是很好。我们的想法是将它们分组,并为每组做一个激活的阈值--所以我思考了最好的方法。

到目前为止,我正在试验相互过滤--我在R中对树的叶子进行了训练,但只用于购买。

第一张没有树的截图,第二张有树的截图。时间是今年的3月至9月。

当然,平衡曲线不是很有吸引力,但它是一种趋势策略,其本质是在平淡期不要损失超过你的收入,而市场(思)全年都是平淡的,很少有强势的波动。我可以看到,增加一棵树已经改善了相对的指标,我将在稍后为销售做同样的工作,如果结果是积极的,它将是模型的一部分。

直到最后都没有解决选择叶子的问题,即使选择在5年中每一年都表现出良好效果的叶子,也可以预期20%-40%停止工作,更可悲的是无法理解是否关闭它们--具体按季度做了测试,结果发现,过去季度不赚钱的叶子在随后的季度中重叠了损失(很多)。

选叶方法本身似乎很有前途,但这个过程极其缓慢。

我没有得到一个穆森,太糟糕了。

交易非常少,不具有代表性。而我们需要过滤掉那些亏损的,因为它们都是不必要的。
 
马克西姆-德米特里耶夫斯基

是的,你不能靠这个赚快钱,这是一个耻辱。

行业非常少,没有代表性。而且你应该过滤无利可图的,它们都是一样的,你不需要它们。

是的,问题是每个叶子信号分配1手,分别是,如果很多叶子激活,那么需要更多的手 - 有71手,但非常少,如果你把钱一直保持在71手,那么总数将得到每年25% - 交易所的GO是大的,它是斯。

关于去除无利可图的--这是一把双刃剑--一方面可以增加过滤器的数量,这将减少亏损交易的数量,但同时也会减少有利可图的交易数量,正如我上面写的,许多叶子在一年中变得有利可图,所以这是一个时间问题,一个市场条件问题。这种方法的问题是,它是非常劳动密集型的,没有可能及时添加新的预测因子,而我有这种想法,并且经常出现这种想法--我现在实际上是在用今年2月的样本工作。

改善指标的另一个方法,是在获利方面下功夫--目前平仓主要是通过止损和一个条件--在极少数情况下完成。

尽管有种种弊端,但该系统近一年来没有亏损,这可能表明方向正确。

[删除]  
阿列克谢-维亚兹米 金。

是的,问题是每个叶子信号分配1手,分别是,如果很多叶子激活,那么需要更多的手 - 有71手,但非常少,如果你把钱一直保持在71手,那么总数将得到每年25% - 交易所的GO是很大的,它是斯。

关于去除无利可图的--这是一把双刃剑--一方面可以增加过滤器的数量,这将减少亏损交易的数量,但同时也会减少有利可图的交易数量,正如我上面写的,许多叶子在一年中变得有利可图,所以这是一个时间问题,一个市场条件的问题。这种方法的问题是,它是非常劳动密集型的,没有可能及时添加新的预测因子,而我有这种想法,并且经常出现这种想法--我现在实际上是在用今年2月的样本工作。

改善指标的另一个方法,是在获利方面下功夫--目前平仓主要是通过止损和一个条件--在极少数情况下完成。

尽管有种种缺点,但该系统近一年来没有亏损,这可能是一个正确方向的标志。

可以在第一个模型的基础上,在相同的特征上训练第二个模型。但是,它只是纠正权益类条目,也就是说,它将禁止/允许交易。至少不会有不必要的交易。

 
马克西姆-德米特里耶夫斯基

有可能在第一个模型的基础上训练一个具有相同特征的2号模型。但只有它才会简单地纠正股权交易的条目,即它会禁止/允许交易。至少不会有不必要的交易。

或者类似于系统列表组合的滑动重新计算的东西。

 
马克西姆-德米特里耶夫斯基

有可能在第一个模型的基础上训练一个具有相同特征的2号模型。但它只会纠正股票进场,也就是说,它将禁止/允许交易。至少不会有不必要的交易。

我不太明白你建议如何改变目标--现在我已经有3个目标--买入/卖出/不交易。而且,我选择要买/卖的床单,然后给每个这样的床单寻找一个 "不交易 "的过滤器,多达3件(对有些人来说是足够的,对有些人来说是不够的 - 进行测试)。在这些对的结果之后--激活叶+过滤叶,我根据最终的信号建立了一棵树,它考虑到了所有叶子的反应和它们的相互排斥,即我得到了额外的过滤器。

这里有一棵树

我想尝试在CB上建立模型,而不是在树上,也许那里对所有使用的叶子的概括性会更好,虽然准确性增加了1%,这并不多,但结果是积极的。

[删除]  
阿列克谢-维亚兹米 金。

我不太明白你建议如何改变目标--现在我基本上有3个目标--买入/卖出/不交易。而且,我选择买/卖单,然后为每个这样的单子寻找一个 "不交易 "单子的过滤器,多达3件(对有些人来说是足够的,对有些人来说是不够的--我进行过测试)。在这些对的结果之后--激活叶+过滤叶,我根据最终的信号建立了一棵树,它考虑到了所有叶子的反应和它们的相互排斥,即我得到了额外的过滤器。

这里有一棵树

我想在CB上试试模型,而不是在树上,也许那里对所有用过的叶子的概括会更好。

那么,你应该从理论开始。例如,为销售和购买分别选择模型有什么意义?

一切不用于购买的东西都用于出售,反之亦然。这就是为什么我们需要一个普通的二进制分类器。此外,如果我们这样做,为什么我们需要一个单独的 "不交易 "类,因为你可以简单地通过一个更高的阈值过滤条目。不交易 "类可以被模型赋予过多的权重,由于这个原因,模型误差会减少,预测(概括)能力,一般来说,会下降。

第二个模型的意义在于,第1个模型会有第1类和第2类的错误--假阳性和假阴性。我们有兴趣清除它们。为了做到这一点,你把相同的特征输入到第二个模型的输入和第一个模型的输出,其中0 - 交易是盈利的,1 - 交易是亏损的。训练第二个分类器,只在它显示为0时进行交易,即过滤第一个模型的信号。亏损交易几乎会在托盘上消失,你必须在测试上进行测试--这就是一个。

你不仅可以在托盘上训练第二个模型,还可以捕捉OOS,然后它将在新数据上纠正交易--这就是两个。然后是测试。

你可以将样本分割成犯规,以棋盘式的顺序,通过某些块状物来教授这些模型。例如,5次犯规。第一个模型是在1,3,4次犯规的情况下一次性训练的。2,5上的第二个矫正模型。这将进一步提高概括性。