Py学习  »  机器学习算法

基于机器学习的动态股票推荐方案,跑赢标普500指数

灵度智能 • 4 月前 • 173 次点击  

A Practical Machine Learning Approach for Dynamic Stock Recommendation


盈利报告对股票推荐至关重要,分析师基于公司盈利预测进行买卖建议。盈利预测依赖于分析师对公司增长和盈利能力的估计,通常通过财务模型来预测未来收入和成本。传统选股方法一是基于预设标准(如市盈率),但效果不稳定;二是联合多个标准(如市盈率、销售比率等),但未考虑不同因素间的相关性,增加了风险。


本文提出了一种基于机器学习的股票推荐方案,针对S&P 500股票。方案核心是动态持有前20%的股票。通过最低均方误差选择最佳模型,增强商业决策的可靠性,提高金融投资的安全性。实证结果显示,研究表明,所提策略在市场表现上优于S&P 500指数,尤其在训练期和整体交易期均表现良好。



【 扫描文末二维码加入星球获取论文,源码 


摘要


本文提出了一种基于机器学习的股票推荐方案,针对S&P 500股票。方案核心是动态持有前20%的股票。选择具有良好解释力的股票指标。使用线性回归、岭回归、逐步回归、随机森林和广义提升回归等五种机器学习方法建模。在每个周期选择均方误差最低的模型进行股票排名。通过等权重、均值方差和最小方差等投资组合方法测试选定股票。实证结果显示,该方案在夏普比率和累计收益方面优于长期持有策略。


简介


盈利报告对股票推荐至关重要,分析师基于公司盈利预测进行买卖建议。盈利预测依赖于分析师对公司增长和盈利能力的估计,通常通过财务模型来预测未来收入和成本。交叉模型生成的盈利被认为优于分析师预测,用于估算隐含资本成本(ICC)。回归模型可用于预测净收入,深度学习算法也被应用于股票市场数据建模。传统选股方法一是基于预设标准(如市盈率),但效果不稳定;二是联合多个标准(如市盈率、销售比率等),但未考虑不同因素间的相关性,增加了风险。


价值投资强调股票的“内在价值”,与市场无关,基于公司规模、资产、股息、财务实力、盈利稳定性和增长等因素。投资者应关注内在价值,以避免在牛市或熊市中的误判,长期来看,股价会回归内在价值。财务比率(如市盈率、每股收益、股本回报率、利润率和速动比率)反映公司的盈利能力、稳定性、运营效率和未来现金流生成能力。财务比率提供标准化数据,使不同规模的公司具有可比性。


本文提出基于收益因素的股票未来价格回报预测新方案,使用五种机器学习算法(线性回归、随机森林、岭回归、逐步回归、广义提升回归)动态分配权重。每季度根据最佳算法的预测回报排名选择前20%股票,采用滚动方式进行再平衡。通过最低均方误差选择最佳模型,增强商业决策的可靠性,提高金融投资的安全性。在1990-2007年间使用样本数据测试均值方差、最小方差和等权重配置方法,结合最大夏普比率进行风险管理。所有三种资产配置方法均优于标准普尔500指数,验证策略的有效性。


股票推荐计划


基于滚动窗口的数据分离


滚动窗口用于数据划分,训练窗口为16至40个季度,测试窗口为1年。交易依据测试结果进行,交易日期延长至季度末后两个月,以适应非标准季度末日期。



数据预处理


数据来源于Compustat数据库,通过WRDS访问,涵盖1990年6月到2017年6月的27年数据。包含约1142只历史S&P 500成分股,生成6438964条日交易数据和91216条季度基本面数据。删除了0.84%的异常记录,确保99%的公司在交易日有可用的财报。



数据集分为三个时期以便进行回测。选取20个流行财务比率,按GICS行业分类处理缺失数据,删除46只缺失数据较多的股票,最终每个行业的缺失数据减少到7%以下,并删除这部分数据。



方法


目标是预测S&P 500的前一季度对数收益率,使用历史数据构建的20个金融因素作为预测变量。1季度前对数收益率定义为股票价格的对数变化。




使用普通最小二乘法(OLS)进行回归,模型包括20个金融比率和随机误差。采用多重回归估计提高准确性,使用线性回归、逐步回归、岭回归、随机森林和广义提升回归模型(GBM)等五种模型。选择这些模型的原因是进行特征选择,减少过拟合,提高模型准确性。



评估指标为均方误差(MSE)。


实现细节


模型选择:通过训练和测试五个模型,选择均方误差(MSE)最低的模型,赋值1给选中模型,0给其他模型。


模型应用:在特定日期选择MSE最低的模型进行股票选择,例如1995年6月1日选择岭回归,1995年9月1日选择随机森林。



股票筛选:使用选中模型预测下季度收益,挑选每个行业的前20%股票进行交易,并根据持有股票的权重调整股份。




模型验证:检查模型特征及其系数或重要性,确保结果正常,完成所有11个GICS行业的步骤,最终生成包含股票名称、预测收益和交易周期的表格。




投资组合分配和风险管理


投资组合配置在投资策略中至关重要,通过建模个别资产的权重来平衡风险和收益。常用的投资组合配置方法有均值-方差和最小方差,旨在通过约束均值、波动率和相关性输入来减少抽样误差。本文中使用均值-方差和最小方差方法确定每只股票的权重,并以等权重投资组合作为基准。这些方法通过Matlab金融工具箱的投资组合对象实现。


均方差约束和最小方差约束


使用均值-方差优化进行股票配置,图中黄色星标为首次交易的均值-方差结果,其他点为股票的预测收益与标准差。均值-方差优化约束条件:

  • 预期收益:下一季度的预测收益。

  • 协方差矩阵:使用1年历史日收益。

  • 仅做多:上限5%,下限0%。

  • 完全投资:权重总和为100%。

  • 不使用杠杆:预算上下限均为1。



尝试最小方差优化,预期收益设为0,其他标准与均值-方差方法相似。


交易成本


交易费用包括经纪费、交易所费用和SEC费用,实际执行成本可能因多种因素而异。经过多种情境分析,假设交易成本为交易价值的千分之一,认为这一假设合理。


交易成本计算公式为:



其中 S_{t,i} 为当前时间的持股数量,S_{t-1,i} 为前一时间的持股数量,P_i 为当前股票价格。


风险管理


采用长仓策略,通过投资组合优化方法控制风险。目标是最小化方差和最大化夏普比率。设定最大持仓比例为投资组合价值的5%。不使用杠杆。


性能评估


研究表明,所提策略在市场表现上优于S&P 500指数,尤其在训练期和整体交易期均表现良好。尽管等权重投资组合的价值高于最小方差和均值方差投资组合,但最小方差投资组合在实际交易中更可靠。等权重投资组合依赖于模型预测收益,缺乏稳健性;而最小方差投资组合考虑风险因素,表现更佳。在训练期,最小方差投资组合的夏普比率高于等权重投资组合,因此选择最小方差作为投资组合配置方法。





总结


应用机器学习算法筛选出盈利较差的股票,优化选股策略。最小方差法、5%持仓规则、无做空和杠杆规则提供风险管理和多样化,降低投资组合风险,提高夏普比率。该交易策略优于标准普尔500指数,且组合配置方法提升整体表现。三种投资组合方法的夏普比率显示策略超越市场。未来工作将处理异常数据,并通过张量时间序列建模股票指标以提高预测准确性。


▌关于我们

我们致力于人工智能、量化交易领域前沿研究,分享前沿论文、模型代码、策略实现。如有相关需求,请私信与我们联系。

▌商务合作

请加微信“LingDuTech163”,或公众号后台私信“联系方式”。


关注【灵度智能】公众号,获取更多AI资讯。


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/189815