我试图用不同的机器学习算法,以不同的技术指标为特征来预测股票价格的走势。我打算预测,股价将在未来14天和30天前上涨或下跌1天。
我有点困惑如何计算目标变量来做出正确的预测。
到目前为止,我已经计算了每个公司的日收益,并构造了一个类变量来预测未来1天。
data <- data %>% group_by(company) %>% mutate(ret =(`CLOSING PRICE` / lag(`CLOSING PRICE`)-1))
data$class <- ifelse((data$ret) >= 0, "Up, "Down")现在的问题是,我不知道如何在14天和30天前做出正确的预测。
所有模型(SVM、RF和DT)的精度都非常相似,在1天前的预测中,精度约为82-85%。这是值得关注的问题,还是所有模型的准确性都非常相似的逻辑?
发布于 2022-06-20 12:20:33
您需要在这些时间点决定要预测的是什么,并进行适当的计算,就像您已经为1天间隔所做的那样。一些选择:你可以做类似于你的1天间隔--计算第14天或第30天的收盘价是高于还是低于第0天的收盘价,然后试着预测一个“向上”或“向下”的二元反应。或者,你可以计算出这些天之间的实际价格差异,并以此作为你的回应--这将是一个回归问题,而不是二元分类问题。然而,您决定计算您的响应,然后在您的培训数据中计算相同的度量,并使用它来训练您的模型。
对于不同的型号来说,提供类似的准确性并不少见,特别是在测试之前你已经花了一些时间来调整它们。一定要对一些看不见的数据进行测试,因为有些模型比其他模型更容易过度拟合。
https://stackoverflow.com/questions/72686597
复制相似问题