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

 
安德烈-迪克

我以前曾介绍过我的方法,即分为3个等级(卖出、栅栏、买入)。栅栏 "类包括所有相互矛盾或无法划分为买入和卖出类的情况。事实证明,只有3-10%的人属于买入和卖出类。这种方法的美妙之处在于,随着时间的推移,网络不再识别市场情况,并开始越来越多地将其归因于 "栅栏",即它逐渐停止交易。这比随着时间的推移,开始越来越多地误入歧途要好一百倍。

但都无济于事,没有人愿意,没有人听。

当买入网说买入,卖出网说卖出时,什么是围栏?

这也是雷谢托夫三元的。

 
安德烈-迪克

我以前曾介绍过我的方法,将其分成3类(卖出、栅栏、买入)。

这已经在jPrediction中实现了。这就是为什么它被称为三元分类器而不是二元分类器。

以一种非常微不足道的方式实施。

  1. 训练:在样本的两个不重叠的部分上训练两个二元分类器。
  2. 交叉验证:在样本中没有训练过的部分测试二元分类器。
  3. 分类:如果两个二元分类器的读数一致,那么我们就把其中一个分类器的输出值作为结果。如果二元分类器的读数不同,则输出结果是:"坐在栅栏上抽竹子"。

以前,它应该使用 "自行车 "方法。

  1. 在一半的样本上训练一个二元分类器
  2. 在样本的后半部分进行测试
  3. 使用ROC分析,增加其中一个阈值以提高敏感性,减少第二个阈值以提高特异性。
  4. 分类:如果要分类的模式高于敏感度阈值--购买。如果该模式低于特异性阈值--卖出。如果模式介于这两个门槛之间--坐在围栏上,抽着竹子。

然而,由于缺乏交叉验证,上述 "轮子 "与两个二进制的分类相比产生了更多的错误信号,但它更容易实现。

最愚蠢和最徒劳的三元二进制,尽管在实现上是最原始的:它是一个有三个输出的ANN。如果每个这样的输出都有自己的分类阈值,它们产生的不是三个而是八个潜在的可能状态,其中只有三个是明确的(在三个输出中只有一个值高于阈值),五个不清楚如何解释(在一个以上的输出中高于阈值,或在所有三个输出中低于阈值)。

 
mytarmailS:

当买的网说买,坐的网说坐,什么是栅栏?

这也是雷谢托夫的三元论

不,我不给链接,你去查吧。
 
尤里-雷舍托夫

这已经在jPrediction中实现了。这就是为什么它被称为三元分类器而不是二元分类器。

以一种非常微不足道的方式实施。

  1. 训练:我们在样本的两个不重叠的部分训练两个二元分类器。
  2. 交叉验证:在样本中没有训练过的部分测试二元分类器。
  3. 分类:如果两个二元分类器的读数一致,那么就把其中一个的输出值作为结果。如果二元分类器的读数不同,则输出结果是:"坐在栅栏上抽竹子"。

以前,它应该使用 "自行车 "方法。

  1. 在一半的样本上训练一个二元分类器
  2. 在样本的后半部分进行测试
  3. 使用ROC分析增加其中一个阈值以提高敏感性,减少第二个阈值以提高特异性。
  4. 分类:如果要分类的模式高于敏感度阈值--购买。如果模式低于特异性阈值--卖出。如果模式在阈值之间--坐在栅栏上抽竹子。

然而,与二进制分类相比,上述 "自行车 "产生更多的错误信号,但它更容易实现。

最笨、最徒劳的三元二进制,也是最原始的实现方式:它是一个有三个输出的ANN。如果每个这样的输出都有自己的分类阈值,那么它们的潜在状态就不是三个而是八个,其中只有三个是明确的(在三个输出中只有一个的数值高于阈值),五个不清楚如何解释(在一个以上的输出中高于阈值,或在所有三个输出中低于阈值)。

还有一个你没有考虑过的方法。输出是来自神经元钥匙的一个,但数值的区域被有条件地划分为三个区域。我做的是[-1.5...1.5]。中间的数值区域[-1.0...1.0]是 "栅栏"。事实证明,对神经网络来说,越是熟悉的情况,它越是兴奋,数值越是向极端值倾斜。在[-1.0...1.0]范围之外的数值是买入和卖出的适当信号。

但人们仍在纠结于二元分类。

 
安德烈-迪克

还有一个方法,你没有考虑过。神经元钥匙的输出是相同的,但数值的区域被有条件地分为三个区域。我做的是[-1.5...1.5]。 中心值区域[-1.0...1.0]是 "栅栏"。

我没有忽视它,是你没有仔细阅读它。见双阈值 "自行车 "方法,有一个二进制n。第3条和第4条。4,我引用一下。

尤里-雷舍托夫
...

在这之前,应该采用 "自行车 "的方法。

  1. 在一半的样本上训练一个二元分类器
  2. 在样品的后半部分进行测试。
  3. 使用ROC分析,增加其中一个阈值以提高敏感性,减少第二个阈值以提高特异性。
  4. 分类:如果要分类的模式高于敏感度阈值--购买。 如果模式低于特异性阈值--卖出。如果模式在阈值之间--坐在围栏上抽竹子。
...
 
尤里-雷舍托夫

你的方法的问题是,最初(在买入/卖出信号的三元过滤之前) 你的MO是在能够解释所有数据的5%以上的数据上训练的,你明白吗?

安德烈-迪克

我认为这里的情况也是如此...

==================================

我的方法在决策中根本不使用MO,也不试图解释整个样本,而只是解释它认为的强烈的统计规律性,如果这样的数据只占所有数据的0.01%,那么只有他们会留下来......

 
安德烈-迪克

...

但人们仍在修补二元分类。

因为大多数人发现,采用一个已经实现了二元分类的现成软件包比试验三元分类更容易。不是每个人都喜欢 "重新发明轮子",因为不是所有的想法都能带来好结果。有些人觉得骑现成的自行车更容易,即使它有方形的车轮。

如果使用三元分类,大多数关于机器学习的资料都建议使用最没有前途的方法:训练一个有三个输出的ANN,这很容易实现,但在实践中完全不适合。

 
尤里-雷舍托夫

因为大多数人发现,拿一个已经实现了二元分类的现成软件包,比实验三元分类要容易。不是每个人都喜欢重新发明 "轮子",因为不是所有的想法都能产生好的结果。有些人觉得骑现有的自行车更容易,即使它有方形的车轮。

如果使用三元分类,大多数关于机器学习的资料都建议使用最没有前途的方法:训练一个有三个输出的ANN,这很容易实现,但在实践中完全不适合。

嗯,是的,我同意,它是。

但有一件事是肯定的(请原谅taftalogy)--二进制是可以用于市场的最糟糕的东西。

 
mytarmailS:

你的方法的问题是,最初(在买入/卖出信号的三元过滤之前 )你的MOs是在可以解释所有数据的5%的数据上训练的,你看?在三元过滤之前,MOs已经在噪声上训练了,它们的输出也相应地是

不要胡说八道。在jPrediction中,实现了一种算法来缩小输入,这样你就不会在输出端得到一个在嘈杂或不重要的预测器上训练过的模型。也就是说,从各种具有不同预测因素组合的模型中做出选择,其中只保留具有最佳概括性的模型。
 
mytarmailS:

你看,我们试图把整个 样本分为买入和卖出,我们想预测市场上的每一个动作,但我们的预测器非常糟糕,客观上 只能预测所有动作中的~3% ,那么我们需要什么呢?我们需要尝试至少拿下这3% ,把其余不可分割 东西扔掉,因为这 也是需要筛选的 入场/噪音方面的垃圾/重新培训的理由等等无论你怎么称呼它,这都是正确的事情......

我可以看到,你明白问题的原因。但我试图以不同于你建议的方式来解决这个问题。

我倾向于遵循SanSanych的说法--你需要招募不是垃圾的预测者和目标。有了好的预测器,你会得到一个训练实例的图表,不是像我在上一篇文章中那样,而是像Vizard_那样。这比消除冲突的训练实例要难得多,但我认为适当地选择预测器最终会更可靠。

我不能对你的方法说什么,我不擅长这个,但我希望你能做到这一点。