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