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

 
阿列克谢-尼古拉耶夫

例如,如果所有的策略都只做BUY,那么就可能归结为尽量减少它们在时间上的交集(尽量减少相关关系,这总是正的)。如果允许 "买入 "和 "卖出",时间交叉可以用来相互补偿策略的不良部分(负相关通常对投资组合有利)。

我想,可以简单地通过策略的时间和它们重叠的时间来确定相关性。

一般来说,我同意对不同方向的信号进行相互补偿,但在我的情况下,我需要应用不同的策略,并为每个策略做一个标记--这是另一首歌曲,但我也打算应用它。

但要找到类似的策略,以便从一组中选择它们或划分它们的风险(手数),我们不仅要考虑进入和退出时间,还要考虑进入方向。我应该考虑如何做得更好。

 
阿列克谢-维亚兹米 金。

你说它做得很完美是什么意思?我不是手动做的,我写了一个脚本,按照我现在看到的方式做。

在我的情况下,理想的做法是对每个预测值的变体进行单独评估。而且,我想把放大一个目标的预测器的激活范围合并到一个预测器中,我知道的网格不会通过依次划分范围来做到这一点,类似于把排位中的预测器合并到疏散(通过建立一个节点)与另一个预测器。到目前为止,在理论上。


什么样的分区网格会将范围聚集在一个单一的分割中,消除中间值,如下图中的值1和4?


完美--在根据分割估计函数完全准确的意义上。它将评估数以千计的选项并记住最好的一个,它将成为一个节点。

训练24个标准森林/boosts是最容易的,每个人都要喂养相应时间的预测器。

 
elibrarius:

完美--在根据分割评估功能完全准确的意义上。它评估数以千计的选择,并记住最好的一个,这成为节点。

这显然是根据算法的,但哪种算法是正确的?只有在CatBoost 中,才有3种构建网格的算法。

elibrarius:

最简单的方法是训练24个标准森林/鸨母,每个人都喂养适当小时的预测器。

这将使样本减少大约24倍(而我的样本已经很小了),然后,观察建树的贪婪原则(并不总是正确的,正如我在分裂树的实验中发现的那样),我们将只选择那些预测者进行分支树,而这些预测者恰恰在某一特定时间内统计上具有最佳概率。但在我看来,我们应该找到预测因子并将其放入树中,即那些独立于其他条件性在整个样本中提供优势的预测因子,然后我们将得到的不是对一天中某个具体小时的拟合(从条件上更精确地描述一个事件的激活),而是一个独立概率在一片叶子中的积累。

 
阿列克谢-维亚兹米 金。

这是一个检查预测值范围的预测能力的算法,并试图分割范围内的部分,使其更好地突出预测能力。假设有一个有3个目标的样本,样本分布为1-24%,2-50%,3-26%,有一些预测值的范围,所以网格的目标是找到预测值的区域,例如目标1将被 "预测 "超过24%,分割将突出这个区域。有不同的算法变体来构建这种网格。

有趣的想法,但这样做不是更容易吗...?

p.1)我们有某种机器学习算法。医学

p.2)有一个样本,被分为火车和测试。

第3页)有一个价格是根据某种原则(时间、图形模式、全部在一起、其他......)聚集起来的(它可能被认为是一个市场情况或只是一个集群)

pp.应该有很多或非常多的群组


行动的算法 :

1)在托盘上教授MO

2)使用半预测模型预测测试。

3) 在测试中,我们确定那些模型预测无误的点,我们称它们为XT(好点)。

4) 每个ht对应于上面第3步中的一个集群...

就这样,现在我们知道了该模型在市场的哪些群组(状态)中善于交易。集群(状态)就像你的网格的类似物,也就是说,我们试图通过集群(状态)来决定什么可以预测,什么不可以预测...


但这两种方法都有概念上的问题,应该首先解决。问题甚至不在于方法,而在于信息的呈现方式。

 
mytarmailS:


第3页)有一个价格根据某种原则(时间、图形模式、所有的一起,其他的......)聚集在一起(它可以被认为是一个市场条件或只是一个集群)。

pp.应该有很多或非常多的群组

这里我不明白,你是建议把目标加价点的裸价拿出来,然后把它们聚在一起还是什么?


mytarmailS:


3) 在测试过程中,我们确定那些模型预测无误的点,让我们称它们为HT(好点)。

4) 每个ht对应于上面第3步中的一个集群...

就这样,现在我们知道了该模型在市场的哪些群组(状态)中善于交易。集群(状态)就像你的网格的类似物,也就是说,我们试图用集群来划分我们能预测的和不能预测的东西。

这个想法很有趣,但它的原理与我的建议无关,或者说我没有完全理解它。我们发现,该模型激活了一定比例的集群,然后该如何处理?我明白,我们必须看哪片叶子(如果我们谈论的是一棵树)激活了多少个集群,如果叶子激活一个集群的频率高得多,它只会说它已经学会了识别它。这里可能是很大比例的叶子在不同的簇上均匀 正确地激活,这显然表明是随机的。同样,你必须确定聚类算法 - 确保结果是独特的聚类,而不是许多相似的聚类...

 
阿列克谢-维亚兹米 金。

这显然是根据算法的,但哪种算法是正确的?只有CatBoost有3种算法来构建网格。

这将使样本减少大约24倍(而我的样本已经很小了),然后,遵守贪婪建树的原则(这并不总是真的,从我的分树实验中发现),我们将只选择那些预测者进行分树,这是在特定的小时统计学上有最好的概率,但我认为我们需要找到标志并把它们放在树上,那些,不管其他条件给整个样本的优势,那么你得到的不是一天中特定小时的调整(条件)。

你在哪里减少样本有什么区别?在外面,通过制作24个森林,还是在里面,例如通过添加以小时分隔的前24个节点?从这24个节点中,每个剩余的分支将占用1/24的样本。

 
顺便说一下,我不喜欢升压的地方是,推荐的树深是7-10。
也就是说,如果我们有100个预测器,而且划分从每个预测器的中间开始。我们很可能会有7个不同的预测者被分在中间。也许1或2个会分到四分之一,不太可能更小。
或者在提升算法中,算法不是通过半除法工作,而是以较小的块数工作?有谁知道吗?
而谁使用什么树的深度?
 
elibrarius:

你在哪里减少采样有什么区别?在外面,通过制作24个森林,还是在里面,例如通过增加前24个节点的分时钟?从这24个节点中,每个剩余的分支将占用1/24的样本。

这不是关于减少,而是关于预测者行为对分裂外的样本的统计--这应该减少选择预测者价值的随机性。

顺便问一下,AlgLib是在每次分割时都做网格,还是只做一次,然后使用该网格?据我所知,CatBoost 的开发者声称,网格是由他们完成一次的。

 
阿列克谢-维亚兹米 金。

我不明白,你是建议采取目标加价点的裸价,并将其分组还是什么?

目标是你的,任何目标......我有点纠结 ....

你只需要为一个目标提供集群。


在这里,我们发现测试新的HT,并接受它们是好的...。

现在,在新的数据上,我们需要找到这个TX来应用模型,因为模型只在TX上运行良好,而我们如何在新的数据上识别它呢? 作为一个选项,由群集号来识别

 
Aleksey Vyazmikin:

一般来说,我同意不同方向信号的相互补偿,但在我的情况下,我需要使用不同的策略,并为每个策略做一个标记 - 这是另一首歌曲,但我也打算使用它。

但要找到类似的策略,以便从一组中选择它们或划分它们的风险(手数),我们不仅要考虑进入和退出时间,还要考虑进入方向。我必须思考如何做得更好。

我将把这个想法带到它的逻辑结论。假设我们在一个资产上有一套系统。每个系统在入市时都保持固定量的位置,但方向可以变化。策略的回报和波动率是已知的。让我们用公式(t1-t2)/sqrt(T1*T2)来定义策略之间的相关性,其中T1和T2是它们在市场上的时间长度,t1和t2是这些策略同时在市场上并分别指向相同和相反方向的时间长度。这是在价格接近SB的假设下得出的一个简化公式。现在有了所有的数据,可以应用马科维茨理论 来寻找最佳投资组合。

显然,用这种方式我们不会得到任何有意义的投资组合(至少因为只使用了一种资产)。我们需要进行一些修改。

1)改变优化算法(参数限制、惩罚)。澄清战略之间的关联性的定义。

2)在创建战略的时候就已经对投资组合进行优化。也就是说,根据投资组合的最优性条件来寻找对它们的策略。目前还不太清楚如何以一种实际适用的方式将其正式化,但这种方法在总体上似乎更符合逻辑。虽然,正如你已经写的那样,这将需要重写算法,等等。不知道这是否值得麻烦。