[论文解读] Comparative Study of Machine Learning Models for Stock Price Prediction
本研究比较了机器学习模型——特别是线性卡尔曼滤波器和多种LSTM架构——使用10年历史数据预测次日股票价格的表现。研究发现,低波动率股票(如MSFT)最适合由卡尔曼滤波器预测,而高波动率股票(如TSLA)则需要复杂的LSTM模型(如CNN-LSTM),R²值最高可达0.96,表明模型选择应根据波动率进行,以实现最佳性能。
In this work, we apply machine learning techniques to historical stock prices to forecast future prices. To achieve this, we use recursive approaches that are appropriate for handling time series data. In particular, we apply a linear Kalman filter and different varieties of long short-term memory (LSTM) architectures to historical stock prices over a 10-year range (1/1/2011 - 1/1/2021). We quantify the results of these models by computing the error of the predicted values versus the historical values of each stock. We find that of the algorithms we investigated, a simple linear Kalman filter can predict the next-day value of stocks with low-volatility (e.g., Microsoft) surprisingly well. However, in the case of high-volatility stocks (e.g., Tesla) the more complex LSTM algorithms significantly outperform the Kalman filter. Our results show that we can classify different types of stocks and then train an LSTM for each stock type. This method could be used to automate portfolio generation for a target return rate.
研究动机与目标
- 评估机器学习模型在利用历史时间序列数据预测次日股票价格方面的有效性。
- 比较线性卡尔曼滤波器与多种LSTM架构在不同波动率水平股票上的性能表现。
- 探究训练好的LSTM模型是否能在不重新训练的情况下泛化至不同股票或市场指数。
- 探索基于波动率对模型进行聚类以实现投资组合自动生成或日内交易策略自动化的可行性。
提出的方法
- 使用yfinance获取2011年至2021年期间科技股(MSFT、AAPL、TSLA)及市场指数(NASDAQ、S&P 500)的10年历史股价数据。
- 应用基于前三个交易日局部方差估计的递归线性卡尔曼滤波器,以平衡预测与测量不确定性。
- 实现多种LSTM变体:单层、双层、双向以及CNN-LSTM,采用最小-最大归一化和3D序列格式处理时间序列输入。
- 在7.5年数据上训练模型,并在最后2.5年数据上进行测试,通过反归一化将预测结果与真实价格进行比较。
- 使用RMSE、MAE和R²指标评估模型性能,以量化不同股票类型下的预测准确性。
- 将表现最佳的模型(双向和CNN-LSTM)扩展至市场指数(S&P 500和Russell微型资本指数)而无需重新训练,以检验其泛化能力。
实验结果
研究问题
- RQ1线性卡尔曼滤波器是否能在预测低波动率股票价格方面优于深度学习模型?
- RQ2更深层或更复杂的LSTM架构(如双向、CNN-LSTM)是否能显著提升高波动率股票的预测准确性?
- RQ3单一训练好的LSTM模型是否能泛化至具有相似波动率特征的不同股票或市场指数?
- RQ4股票波动率与卡尔曼滤波器和LSTM在价格预测中相对性能之间是否存在相关性?
主要发现
- 对于低波动率股票(如MSFT),卡尔曼滤波器实现了0.99的R²,优于所有LSTM变体,包括双向LSTM。
- 对于高波动率股票(如TSLA),CNN-LSTM模型表现最佳,RMSE为2.20,MAE为1.54,R²达0.96。
- 双层LSTM在MSFT上的表现劣于卡尔曼滤波器(RMSE为24.66),表明更深的架构并非对稳定股票更优。
- 双向LSTM在MSFT上实现R²为0.99,在TSLA上为0.95,表现出跨波动率水平的强性能,但未在高波动率数据上超越CNN-LSTM。
- 训练好的LSTM模型(尤其是双向和CNN-LSTM)在无需重新训练的情况下对市场指数也表现出良好泛化能力,在S&P 500和Russell微型资本指数上均达到0.99的R²。
- 结果支持一种基于波动率对股票进行聚类并为每个聚类训练专用模型的策略,从而实现投资组合自动生成或算法交易的可扩展自动化。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。