我正在尝试建立一个分类器来预测股票价格。我使用一些众所周知的技术指标生成了额外的特征,并将这些值以及过去点的值提供给机器学习算法。我有大约 45k 个样本,每个样本代表一小时的 ohlcv 数据。
该问题实际上是一个 3 类分类问题:带有买入、卖出和持有信号。我根据每个时间点的 (%) 变化构建了这 3 个类作为我的目标。也就是说:我只将最大的积极 (%) 变化归类为买入信号,相反的归类为卖出信号,其余的归类为持有信号。
然而,将这个 3 类目标呈现给算法会导致买卖分类器的准确性较差。为了改善这一点,我选择根据每个样本的概率手动分配类。也就是说,我根据价格上涨或下跌将目标设置为1或0。然后,该算法返回一个介于 0 和 1 之间(通常介于 0.45 和 0.55 之间)的概率,用于确定每个样本属于哪个类别的置信度。然后我为这些概率中的每个类选择一些概率界限。例如:我选择 p > 0.53 被归类为买入信号,p < 0.48 被归类为卖出信号,介于两者之间的任何值都被归类为持有信号。
这种方法极大地提高了分类精度,在某些点上达到了 65% 以上。但是,在没有大量验证集的情况下,我无法想出一种方法来选择这些概率界限。我尝试在 3000 个验证集中找到最佳概率值,这提高了分类准确度,但验证集越大,测试集中的预测准确度显然在下降。
所以,我正在寻找的是任何方法,通过它我可以辨别每个训练集的特定决策概率应该是什么,而无需大型验证集。我也欢迎任何其他关于如何改进这个过程的想法。谢谢您的帮助!