使用AI算法进行量化投资
一 导读
本文介绍了一个名为RM investing AI的一个美股量化投资项目,该项目使用六个独立的算法选择股票进行投资。该程序在实际运行6个月的时间中,共选择了2488支股票,其中1803支股票获得了正向回报, 胜率72%,选出的股票在两周时间内的平均回报率达到1.47%,远超标普500的0.54%。
该项目为我们展示了AI算法在股票量化投资领域的应用前景。尽管该项目提供了很多有价值的细节可供借鉴,但需要注意的是,该项目较为简单且存在一些缺陷,如未考虑资金控制、风险管理、止损和止盈等问题。在实践中,我们应谨慎设计和测试我们的算法,并确保其考虑到所有重要的因素,以便在各种市场条件下取得良好的表现。
二 项目介绍
该程序的执行过程分为六个独立的算法,用于预测最佳投资公司。每个工作日对 2247 家公司重复所有过程,而在周末它会制作每周报告以检查其表现如何。
该算法决策过程的最终步骤是根据六个独立算法的结果确定哪些公司可能是投资的好机会。为了选择这些公司,作者创建了一个名为“四个条件”的筛选方法,它分为以下几个步骤:
- 通过结果进行选择:该步骤基于定义二元变量,针对所有六个算法的不同结果,根据能够最大化回报的值来确定哪些值将变为1或0。为了确定这些值,程序使用历史数据,并使用暴力算法找到最优解。程序选择至少每个算法中15%的公司,以便选择在不同算法上表现良好的公司。然后,将所有六个算法的结果相加,并选择得分达到4或更高的公司作为有潜力的好机会。
- 去重复公司:该步骤的目的是排除那些在4项条件中被反复选出但实际上与较低回报相关的公司。程序分析了哪些公司可以舍弃,哪些应该保留,最终决定去除在过去一个月内重复超过15次的公司,同时也要忽略第一次通过4个条件的公司。
- 最后的检查:该步骤也分为三个检查:数据量、表现和新闻。在数据量检查中,程序会舍弃那些选出来的公司数据缺失过多的公司;在表现检查中,程序将分析自选股票的价格表现,如果价格下降,则将舍弃该公司;在新闻检查中,即使公司存在大量空值或股价下跌,但是如果该公司的新闻变量被认为是好的,那么该公司仍然被选定为一个好的投资机会。
- 通过这三个检查后,程序输出最终决策,以便进行买卖股票。此外,为了管理有限的资本,作者创建了一个代码,在没有更多可用资金时,会增加一定数量的资金。如果有多个公司,则程序将通过地区和行业进行分散投资,并选择上个月表现更好的公司。
三 相关算法介绍
下面简单介绍其中涉及到的一些算法,更详细的内容请参考原文。
算法1 技术分析
技术分析是预测股票市场未来趋势和价格变化的一种常见方法,基于股票价格在不同时间段内的偏离程度进行预测。本文使用逻辑回归算法构建预测股票价格的机器学习模型,该模型基于18个总变量(17个自变量+1个因变量)分成4个不同的组。平衡变量旨在将公司的股票走势图拟合到模型中,与纳斯达克指数的比较变量基于与平衡变量相同的系统,但是不是为公司创建平衡。距离最大值和最小值的变量将分析股票价格与局部最大值或最小值的关系,目标变量或因变量是将用来预测算法的变量。一旦创建了所有18个变量,数据将被准备好进行逻辑回归算法的训练,以便进行预测。准确度分数和比率将被使用来证明模型的性能。通过技术分析算法进行股票价格的预测,投资者可以更好地理解市场趋势并做出更为明智的决策。
算法2 财务比率
财务比率是评估公司财务状况的重要指标之一,可以针对业务的各个方面进行研究,例如现金比率可确定短期内的现金流动性。在深入分析比率的结果后,发现某些比率范围可以最大化回报。因此,给每个比率打分值为0、1、2,并将它们分为四个类别:股价、流动性、盈利能力和回报率以及杠杆。然后,创建每个组的函数,包含相应比率的提取和评分,并计算每个组的平均得分,以便得到公司的财务状况的近似图像。最后,将各类别平均分数相加得到“最终结果”值,该值为0到8之间的值,越高表示公司的财务状况越好。使用“最终结果”,可以判断所分析的公司是否是一个好的推荐。基本面分析方法增强了程序的可信度,使用专家使用的指标和方法,来模拟他们的决策过程。
算法 3 RM算法
本文提出了使用RM算法来处理财务数据,RM算法是一种专门用于处理未标准化数据和最具价值变量的影响的算法。在RM算法中,每个变量都被分配一个介于-1和2之间的值,其中较差的表现变量将被分配-1,而最佳表现变量将被分配2。然后将添加每个变量的值,并得出最终值来估计公司按所研究的变量的表现情况。可以预期的是,与2越接近的最终值,公司的表现就应该更好。
RM算法的优点是能够适用于未标准化的数据集,并且可以处理缺失数据。由于模型运行了大量具有不同数据和不同缺失值的公司,使用具有大量缺失数据的机器学习算法可能会导致意外结果,从而影响程序的性能。由于RM算法很好地处理了缺失值,使它们在结果中没有影响,因此该算法可与这些数据集良好配合使用。
RM算法考虑到了表现较差的变量的影响,并奖励表现更好的变量。在RM算法的研究中,作者强调了那些表现差的变量的重要性,因为这是想要避免的,也要对表现最佳的变量进行额外的正面评价,因为这是最感兴趣的。处于极端位置(-1和2)的变量会产生更大或更相关的影响。公司的评估范围从-1到最差和2到最佳,但(-1,0)和(0,2)之间有相同数量的值,这是因为想要更加强调表现最佳的变量,因为它们可以最大化ROE,并不想惩罚表现较差的变量。这意味着大多数值将具有约为0的值,因此它们的表现对回报和RM算法的影响并不显著。
算法4 新闻情绪
本文使用了200,000条新闻进行研究,每个新闻都分配了一个股票回报率,并将每个新闻的单词拆分出来,总共得到了450万个单词。通过计算每个单词的平均回报率,可以发现该单词与未来回报之间的相关性,并将其作为此新闻的预期回报。为了避免过度拟合不相关的单词,作者放弃使用像“to”、“have”和“the”等无关紧要的单词。
应用该算法的步骤是收集最近一个月内某公司的所有新闻,并从中拆分出单词并计算相关的平均回报率,然后计算所选单词的平均回报率以获得预期回报。预期回报是该算法的最终输出。在投资决策中,将新闻纳入考虑范围后,能够及时发现潜在的好机会或高风险投资。
原文:https://rminvestingai.com/
原理:https://rminvestingai.com/?page_id=32
论文:https://rodamoya.com/wp-content/uploads/2023/02/Using_Artificial_Intelligence-_to_Predict_Stock_Market_Movements.pdf