基于机器学习进行智能投资组合优化
Intelligent Portfolio Optimization Based on Machine Learning
DOI: 10.12677/CSA.2023.133033, PDF, HTML, XML, 下载: 232  浏览: 2,033  科研立项经费支持
作者: 吕林黛, 赵胜利*, 沈心雨, 但 晨, 汪 欣:重庆理工大学理学院,重庆
关键词: LSTM模型随机森林梯度提升树决策树Xgboost动态规划LSTM Model Random Forest Gradient Boosted Tree Decision Tree Xgboost Dynamic Programming
摘要: 近年来,随着投资者数量的不断增加,交易员频繁买卖市场波动性较大的产品,如黄金,比特币用以获取最大的利润。本文研究利用交易市场中货币的历史价格数据来规避投资过程中的风险,预测产品价格的方向,进而获得最大的收益。对于投资者来说,如果他们能有一个好的交易策略,这将给他带来稳定的收入,同时也保证了交易市场的平稳运行和稳定。为了更好的预测货币趋势,本文使用历史数据来预测第二天的货币价格从而构建了LSTM,随机森林,梯度回升树和xgboost模型进行单步预测,通过对比,随机森林模型的预测效果最好。本文利用预测的结果提出了一种基于动态规划来进行投资组合优化的方法,该方法考虑了风险因素对投资组合管理过程的影响,能依据市场状态和资产信息自动转换投资组合优化模式以应对市场风格变化,通过投资组合内部资产与外部资产池动态交易的形式来实时调整投资组合资产构成及资产配置,使得实现理论上的利润最大化。
Abstract: In recent years, with the increasing number of investors, traders frequently buy and sell products with high market volatility, such as gold, and bitcoin is used to maximize profits. This article studies the use of historical price data of currencies in the trading market to avoid risks in the investment process, predict the direction of product prices, and obtain maximum returns. For investors, if they can have a good trading strategy, this will bring them a stable income, while also ensuring the smooth operation and stability of the trading market. In order to better predict the currency trend, this paper uses historical data to predict the next day’s currency price to construct LSTM, random forest, gradient recovery tree and xgboost model for single-step prediction, through comparison, the random forest model has the best prediction effect. This paper uses the prediction results to propose a method for portfolio optimization based on dynamic programming, which considers the impact of risk factors on the portfolio management process, can automatically convert the portfolio optimization mode according to market conditions and asset information to cope with market style changes, and adjust the portfolio asset composition and asset allocation in real time through the dynamic trading of portfolio internal assets and external asset pools, so as to maximize theoretical profits.
文章引用:吕林黛, 赵胜利, 沈心雨, 但晨, 汪欣. 基于机器学习进行智能投资组合优化[J]. 计算机科学与应用, 2023, 13(3): 349-357. https://doi.org/10.12677/CSA.2023.133033

1. 引言

由于金融市场受到宏观经济、投资者心理、政府政策等多方面的影响,金融资产价格波动剧烈、噪声高,金融市场表现出非线性、不平稳性、复杂性等特点 [1] 。学者们试图利用基于机器学习的人工智能方法来解决传统统计学无法解决的问题,为金融市场分析和投资决策提供描述性、说明性和预测性模型,这些模型能够从大量的非结构化金融数据中识别重要的模式 [2] 。近年来,机器学习方法兴起,特别是在预测金融市场发展趋势方面逐步成为领导者,由于能够对高维金融数据的复杂结果进行有效识别 [3] 。投资组合选择即在不确定环境下作出决策,选择最优的资产组合进行投资,涉及传统金融理论、量化金融、机器学习和人工智能等多个领域。Markowitz提出的投资组合理论包含了均值–方差模型(Mean-Variance, MV)和投资组合有效边界模型能够有效的降低投资组合的系统风险 [4] ,MV模型也存在着对输入的预测误差极为敏感的问题,备选资产的预期超额收益率(资产收益率与无风险利率之差)的预测误差,将导致模型的投资绩效劣化 [5] 。金融市场是一个动态的复杂系统,任何单一的优化方法都不能永久获益,范晓玉等人提出在强化学习框架中包含动态资产配置的原策略 [6] ,梁天新等人提出了有效的投资组合模型应该在感知市场状态变化的同时,还需要进行相适应的调整并采取相应的资产交易行动,以便于更好的服务于投资行动的理论 [7] 。所以对于资金的投资组合管理优化依旧是一个值得研究和学习的领域。

近年来,研究者们发现,在投资组合选择模型中加入偏度或者峰度等附加准则其效果并不明显 [8] [9] 。对于投资者来说,高收益往往伴随着高风险,如果将资产进行分散投资可以降低风险,因此本文主要从两个方面进行拓展:1) 采用以往数据进行单步预测,构建一个LSTM模型,随机森林模型,梯度提升决策树预测模型,并将预测结果进行对比,选择最优结果,并将其与实际结果进行对照,检验其预测能力。2) 利用预测结果,提出一种基于动态规划来进行的投资组合优化方法,能依据市场状态和资产信息自动转换投资组合以应对市场变化,通过投资组合内部资产与外部资产动态交易的形式来实现调整投资组合组合资产构成,使得实现理论上的利润最大化或者损失最小化。

2. 数据来源

本文使用的数据来源于NASDAQ和London Bullion Market Association两个数据库。自2008年创立以来,由于比特币的稀缺性和独特的分销机制,再加上一些地区的交易限制,比特币的价格表现出极大的波动性:从2013年以来,比特币的价格大幅上涨;从原来的13美元增加到1200美元,增长了近80倍;2017年,比特币的峰值为20000美元,然后跌破10000美元。黄金是一种稀有金属,也是极其昂贵的。同时,黄金具有很强的保值价值,在抗击通货膨胀、股市崩盘和一系列突发危机方面有着显著的效果。市场交易者经常买卖这两种资产,目的是最大化其总回报。每次买卖通常都需要支付佣金,在这方面,有必要找到适当的交易策略,以实现利润最大化。在这个问题上,本文有近五年来黄金和比特币的每日价格数据。由于比特币没有交易日,而黄金包含一些非交易日,每笔交易需要支付手续费,因此有必要找到适当的交易策略,以实现利润最大化。比特币和黄金的每日价格如图1图2所示。

Figure 1. Bitcoin daily price. Source: NASDAQ, 2/11/2023

图1. 比特币每日价格。资料来源:NASDAQ, 2/11/2023

Figure 2. Daily price of gold. Source: London Bullion Market Association, 2/10/2023

图2. 黄金每日价格。资料来源:London Bullion Market Association, 2/10/2023

根据拥有的数据来看,本文假设自2016年9月11日起,拥有1000美元的本金。可以选择的投资方式有三种,分别为银行、黄金和比特币,因此选择如何以现金、黄金和比特币进行投资组合优化并且基于该日期之前的历史价格数据提供最佳的交易策略是本文将要研究的一个重点。经过查阅相关文献,本文将采用单步预测法进行预测,即使用该日期之前的价格数据来确定当天的结果,构建了长短时记忆网络(LSTM)模型、随机森林模型、梯度回升树模型和xgboost模型进行预测和预测精度对比。

3. 多目标投资组合优化

3.1. 单步预测模型

卷积神经网络(CNN)并不完全适用于学习时间序列,因此会需要各种辅助性处理,且效果也不一定好。面对对时间序列敏感的问题和任务,LSTM通常会比较合适,继承了大部分循环神经网络(RNN)模型的特性,同时解决了梯度反传过程由于逐步缩减而产生的Vanishing Gradient问题。

由于黄金和比特币的波动较大,而单步预测预测的时候输入是最近的数据,长期依赖和短期依赖已经在模型中训练了,准确率比多步预测要好。因此本文选用单步预测法进行价格预测,所谓单步预测,就是每一次预测的时候输入窗口只预测未来一个值。

3.2. 投资组合优化模型

投资组合选择依据其遵循的根本原则,大致分为以Markowitz 均值方差理论 [6] 为基础的静态情况研究与基于Kelly资本增长理论 [7] 的动态情况研究。后者关注多期或者序列投资组合选择的在线决策方式与机器学习中的在线学习一致,因此基于在线学习的各种算法在投资组合选择中得到了广泛的研究。

3.2.1. 目标函数

不同的目标函数使得智能体学习的决策有所差异,从而导致投资组合优化结果也会有所不同。本文

依据某一时刻的总资产 x ( k ) 为目标函数,其表达式为 x ( k ) = x 1 ( k ) + x 2 ( k ) + x 3 ( k ) ,其中 x 1 ( k ) 为k时刻的银行存款, x 2 ( k ) 为k时刻的黄金资产, x 3 ( k ) 为k时刻的比特币资产。

3.2.2. 投资组合约束条件

本文所提出的投资组合约束条件为:在进行k+1时刻交易时的所用的交易资本不能超过上一时刻所获得所有资产,因此进行以下能力限制:

0 x 1 ( k + 1 ) x 1 ( k ) + x 2 ( k ) × p 2 ( k ) × ( 1 α g ) + x 3 ( k ) × p 3 ( k ) × ( 1 α b ) (1)

0 x 2 ( k + 1 ) x 2 ( k ) + [ x 1 ( k ) + x 3 ( k ) × p 3 ( k ) × ( 1 α b ) ] × 1 ( 1 + α g ) × p 2 ( k ) (2)

0 x 3 ( k + 1 ) x 3 ( k ) + [ x 1 ( k ) + x 2 ( k ) × p 2 ( k ) × ( 1 α g ) ] × 1 ( 1 + α b ) × p 3 ( k ) (3)

其中,公式(1) (2) (3)中的α为交易时所需要支付的手续费,分别表示为k + 1时刻的银行存款数额大于0且小于k时刻所有资产套现后的资产总额;表示k + 1时刻的比特币资产总额大于0且小于k时刻所有资产套现后用于购买比特币同时扣除手续费后的总额;表示k + 1时刻的黄金总额大于0且小于k时刻所有资产套现后用于购买黄金同时扣除手续费后的总额。在满足以上能力限制的同时还要满足资金交易前后时刻的均衡要求,设立以下约束条件:

x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) = x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k ) + x 3 ( k + 1 ) × p 3 ( k ) + | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b (4)

公式(4)表示为k + 1时刻优化后的投资组合的初始资金为k时刻的总资金。以上为对资金的基本设置,关于在投资过程中是否进行资金组合优化接下来需要对模型进行投资组合优化,将资金从一个投资项目移进另一个投资项目,不仅仅需要考虑到营收问题,还要考虑手续费即成本问题,本文依据单步预测法预测出了一个较为准确的变化情况,设置一个C即改变投资项目的最低标准,设立以下条件:

x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k + 1 ) + x 3 ( k + 1 ) × p 3 ( k + 1 ) ( x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) ) | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b + C (5)

x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k + 1 ) + x 3 ( k + 1 ) × p 3 ( k + 1 ) ( x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) ) | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b C (6)

公式(5)和(6)表示为当k时刻的投资组合在下一个交易日所赚取的金额小于同样的资金额在下一个交易日在另一个投资组合且在扣除了手续费情况下达到了C,此时表明了k时刻的投资组合并不合理,需要进行优化处理。

3.2.3. 投资组合优化模型

现有的关于在线投资组合策略大致可以分为以下两种类型:其一为在每个投资期都进行资产配置调整,即在每个投资期都对投资组合向量进行调整;其二旨在有限的投资期内进行资产配置调整,即只在某些选定的时间节点进行资产配置调整,在制定交易策略时考虑交易成本的影响,控制交易次数,依据预测的交易收益与交易成本对是否交易作出决策,从而有效控制策略的交易成本总量。本文依据第二种类型提出了一种智能投资组合优化,通过机器学习采用动态的投资组合向量更新规则,与在交易期内采用固定不变的向量进行投资的半常数再平衡投资组合(Semi-Constant Rebalanced Portfolios, SCRP)相比能够获得更高的收益且更加符合变化的金融法市场。

综合上面对投资组合优化问题的分析,将6个公式进行整合,最终得到投资组合优化模型如下:

min x ( k ) = x 1 ( k ) + x 2 ( k ) + x 3 ( k )

s.t. { 0 x 1 ( k + 1 ) x 1 ( k ) + x 2 ( k ) × p 2 ( k ) × ( 1 α g ) + x 3 ( k ) × p 3 ( k ) × ( 1 α b ) 0 x 2 ( k + 1 ) x 2 ( k ) + [ x 1 ( k ) + x 3 ( k ) × p 3 ( k ) × ( 1 α b ) ] × 1 ( 1 + α g ) × p 2 ( k ) 0 x 3 ( k + 1 ) x 3 ( k ) + [ x 1 ( k ) + x 2 ( k ) × p 2 ( k ) × ( 1 α g ) ] × 1 ( 1 + α b ) × p 3 ( k ) x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) = x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k ) + x 3 ( k + 1 ) × p 3 ( k ) + | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k + 1 ) + x 3 ( k + 1 ) × p 3 ( k + 1 ) ( x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) ) | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b + C x 1 ( k + 1 ) + x 2 ( k + 1 ) × p 2 ( k + 1 ) + x 3 ( k + 1 ) × p 3 ( k + 1 ) ( x 1 ( k ) + x 2 ( k ) × p 2 ( k ) + x 3 ( k ) × p 3 ( k ) ) | x 2 ( k + 1 ) x 2 ( k ) | × p 2 ( k ) × α g + | x 3 ( k + 1 ) x 3 ( k ) | × p 3 ( k ) × α b C

4. 实证分析及讨论

投资组合决策时,投资者不仅要依据宏观的经济态势和行情信息,还要结合自己的投资经验。本文所用的实验数据的起始时间为2016年9月11日,本金为1000美元,如何选择管理现金、黄金和比特币的投资组合,并根据该日期之前的价提供最佳交易策略为本次实验的主要目的。在我们掌握的所有数据中,只能使用该日期之前的价格来确定当天的结果。因此,建立了一个单步预测模型。为了进一步验证本文提出的单步预测模型,采用均方误差MSE、均方根误差RMSE、平均绝对误差MAE、R2这四个指标来衡量。假设 y ( t ) 为真实的观测数据, y ^ ( t ) 为相应的预测值,n表示观测信号中时间点的数量,其中:

{ MSE = 1 n t = 1 n ( y ( t ) y ^ ( t ) ) 2 RMSE = 1 n t = 1 n ( y ( t ) y ^ ( t ) ) 2 MAE = 1 n t = 1 n | y ( t ) y ^ ( t ) |

本文在相同的实验条件下,用LSTM模型,随机森林模型,梯度回升树和Xgboost模型对比特币和黄金价格每日价格进行单步预测,实验结果如表1表2所示。

Table 1. Analysis table of single-step prediction results of various Bitcoin models

表1. 比特币各种模型的单步预测结果分析表

表1可以看出:1) 以MSE为比较标准,随机森林模型的均方误差最小,为1003393.71289,梯度提升决策树次之,LSTM最大,为1738398.7465;2) 以MAE为标准,梯度提升决策树预测的比特币价格的平均绝对误差最小,为481.02564,随机森林次之,LSTM模型最大,为662.58488;3) 以R2为标准,随机森林预测的精确度最大,为0.99523,梯度提升决策树次之,LSTM模型最小,为0.98992。综合4个指标来看,随机森林模型在进行比特币价格单步预测时的表现更佳。

Table 2. Analysis table of single-step prediction results of various gold models

表2. 黄金各种模型的单步预测结果分析表

表2可以看出:1) 以MSE为比较标准,随机森林模型的均方误差最小,为271.43058,梯度提升决策树次之,LSTM最大,为496.17309;2) 以MAE为标准,随机森林预测的黄金价格的平均绝对误差最小,为11.17670,梯度提升决策树次之,LSTM模型最大,为17.67425;3) 以R2为标准,随机森林预测的精确度最大,为0.99570,梯度提升决策树次之,LSTM模型最小,为0.98989。综合4个指标来看,随机森林模型在进行黄金价格单步预测时的表现更佳。因此利用随机森林模型进行单步预测黄金和比特币的价格趋势,预测结果与原始数据的对比图如图3图4所示。

Figure 3. Bitcoin price trend comparison chart

图3. 比特币价格趋势对比图

Figure 4. Gold price trend comparison chart

图4. 黄金价格趋势对比图

图3图4中的蓝色线条表示黄金价格和比特币价格数据的真实增长情况,红色线条表示我们通过随机森林模型进行单步预测得出的黄金和比特币价格变化情况。显然,蓝色线条和红色线条的波动情况基本相似,且黄金整体趋势上涨,但在2018年期间价格下跌明显,其余时间里,黄金的整体趋势为稳定上升。直至2021年下半年开始下跌,但在2022年下半年明显行情变好,价格上涨。比特币价格曾在2017年和2021年和2022年期间存在过价格暴涨,暴涨之后紧随着会出现价格暴跌,其余时刻的比特币价格都几乎保持,上涨不多。本文将此预测结果作为投资组合优化依据。

根据买卖规则,可以通过平衡比特币和黄金的买卖以达到最佳投资比例,然后计算2016.9.11至2023.2.11年间初始1000美元投资额的最后收入。用本文提出的智能投资组合优化模型,设置初始金额为1000美元,C设置为80,即收益大于80时将改变投资策略,利用Python3.8运行智能投资组合优化模型,最后得到总资产变化如下图5所示。

Figure 5. Change in total assets

图5. 总资产变化图

模型输出结果为:在2023.2.11的总资产将为24881.39美元,在此期间的最高资产为77944.97美元,即在2016.9.11至2023.2.11之间总资产可以达到最高7.8万美元实现了原资产的6800%增长,但最后由于市场的波动的缩水最后变为2.5万美元,最终实现资产的2400%增长。结合图3图4可以发现,2020年后,由于比特币大幅升值,总资产逐渐竞争,黄金和比特币的份额趋势也已经互补,即持有的比特币越来越多,而持有的黄金越来越少,而2022年比特币价格大跳水,黄金持续稳定增长,市场风向发生大转变。当然,在比特币价格波动性降低期间,黄金持有量有所增加,但这不可避免地导致了总资产的减少。结合实际分析,该模型不能因为收益的暂时减少而被否定,市场的剧烈波动应该考虑到许多因素。

5. 结论

由于目前大多数的投资组合选择策略没有考虑交易成本的存在,近年来研究者也试图去解决此类问题 [10] [11] 。本文提出的智能投资组合优化模型通过对以往数据的预测结果,利用模型权衡交易中出现的交易成本和所获得的收益来决策是否进行交易,并将传统的投资组合模型和机器学习方面的算法相结合,更好地应用于投资组合研究中。这种策略通过在特定的时间节点上进行投资组合优化,不仅减少了不必要交易所造成的投资损失,累积收益损失上界的定理从理论上保证了模型的有效性,并且可以根据个人投资喜好,方便快捷地修改阈值,使得模型的灵活性更高,更适用于真实市场环境下的投资实践。然而本文虽然在一定程度上解决了投资组合选择中的交易成本问题,但是还有一些因素需要考虑,后续可以考虑利用专家意见和其他辅助信息进行模型的改进。

基金项目

重庆理工大学研究生教育高质量发展行动计划资助成果。

参考文献

NOTES

*通讯作者。

参考文献

[1] Paiva, F.D., Cardoso, R.T.N., Hanaoka, G.P., et al. (2019) Decision-Making for Financial Trading: A Fusion Approach of Machine Learning and Portfolio Selection. Expert Systems with Applications, 115, 635-655.
https://doi.org/10.1016/j.eswa.2018.08.003
[2] Ozbayoglu, A.M., Gudelek, M.U. and Sezer, O.B. (2020) Deep Learning for Financial Applications: A Survey. Applied Soft Computing, 93, 106384.
https://doi.org/10.1016/j.asoc.2020.106384
[3] Hinton, G.E. and Salakhutdinov, R.R. (2006) Reducing the Di-mensionality of Data with Neural Networks. Science, 313, 504-507.
https://doi.org/10.1126/science.1127647
[4] Markowitz, H. (1952) Portfolio Selection. Tournal of Finance, 7, 77-91.
https://doi.org/10.1111/j.1540-6261.1952.tb01525.x
[5] Best, M.J. and Grauer, R.R. (1991) On the Sensitivity of Mean-Variance-Efficient Portfolios to Changes in Asset Means: Some Analytical and Computational Results. The Review of Financial Studies, 4, 315-342.
https://doi.org/10.1093/rfs/4.2.315
[6] 范晓玉. 基于深度强化学习的投资组合策略研究[D]: [硕士学位论文]. 大连: 大连理工大学, 2021.
[7] 梁天新, 杨小平, 王良, 韩镇远. 基于强化学习的金融交易系统与研究发展[J]. 软件学报, 2019(3): 845-864.
[8] 王康, 白迪. 基于深度强化学习的投资组合管理研究[J]. 现代计算机, 2021(1): 3-11.
[9] 司彦娜, 普杰信, 孙力帆. 近似强化学习算法研究综述[J]. 计算机工程与应用, 2022, 58(8): 33-44.
[10] Kozat, S.S. and Singer, A.C. (2008) Universal Switching Portfolios under Transaction Costs. 2008 IEEE International Conference on Acoustics, Speech and Signal Processing, Las Vegas, 31 March 2008 - 4 April 2008, 5404-5407.
https://doi.org/10.1109/ICASSP.2008.4518882
[11] Bean, A.J. and Singer, A.C. (2010) Universal Switching and Side Informationg Portfolios under Transaction Costs Using Factor Graphs. 2010 IEEE International Conference on Acoustics, Speech and Signal Processing, Dallas, 14-19 March 2010, 1986-1989.
https://doi.org/10.1109/ICASSP.2010.5495255