Python、MATLAB股票投资:ARIMA模型最优的选股方案和投资组合方案与预测

基于当前统计的股票数据选择最优的选股方案和投资组合方案,以及预测股票价格未来一段时间的走向趋势以及波动程度,具有很大的实用价值

我们需要完成以下问题

Xingming Xu撰写

问题一:投资者购买目标指数中的资产,如果购买全部

从理论上讲能够完美跟踪指数,但是当指数成分股较多时,购买所有资产的成本过于高昂,同时也需要很高的管理成本,在实际中一般不可行。

(1)在附件数据的分析和处理的过程中,请对缺损数据进行补全。

(2)投资者购买成分股时,过多过少都不太合理。对于附件的成分股数据,

通过建立模型,给出合理选股方案和投资组合方案。

问题二:尝试给出合理的评价指标来评估问题一中的模型,并给出您的分析结果。

问题三:通过附件股指据和您补充的数据,对当前的指数波动和未来一年的指数波动进行合理建模,并给出您合理的投资建议和策略。

针对问题一:分析投资者在给定十支股票中的最优选股方案和投资组合。首先,分别根据每支股票开盘价、最高价、最低价和收盘价确定其收益率和风险率,并从中剔除劣质股票,在剩余的股票中进行投资组合的最优化分析,优化指标分为三种:给定收益水平最小化风险;给定风险水平最大化收益;设定用户偏好系数,最优化给定复合指标。使用MATLAB软件进行求解,优化结果为:在倾向最大化收益时,七号股票在投资中占比较大,而倾向降低投资风险时,则在几个股票中进行选择。

针对问题二:对问题一中的模型进行评估。问题一中我们定义了分别利用开盘价、最高价、最低价以及收盘价计算股票收益率和风险率的最优化模型,现在我们来评估使用哪种指标的模型更加贴近真实情况。我们利用灰色关联分析方法来判断每一支股票的成交量与对应四种价格的关联程度的相对高低。通过建立模型可以得到十支股票的关联度的排序表,发现十支股票的成交量均与当日最高价的关联程度最高,因此,我们第一问中的模型中,使用最高价确定收益率和风险率最贴近实际。

针对问题三:对当前指数波动以及未来一年的指数波动进行预测,由于股票数据符合时间序列的特征,因此我们选用ARIMA模型进行股票数据的拟合和预测,并利用MAPE和RASE 指标对拟合程度进行评估。编写Python代码建立模型,并对模型进行训练,通过参数诊断后可以对未来数据进行预测,并且根据预测数据对不同类型的投资人群给予相应的投资建议。


视频

时间序列分析模型 ARIMA-ARCH GARCH模型分析股票价格数据

探索见解

去bilibili观看

探索更多视频


视频

在Python和R语言中建立EWMA,ARIMA模型预测时间序列

探索见解

去bilibili观看

探索更多视频

ARIMA模型建立流程

image.png

abc002 预测结果以及拟合准确度

abc007号股票和abc010号股票预测走势

image.png
image.png

由评估结果,发现MAPE指标均不超过9%,且RMSE为1.0273,故拟合良好,可以预测该股票大体走势以及波动范围。

通过上述模型对全部十支股票进行预测,可以发现未来出现明显涨势的股票是abc007和abc008,未来出现明显跌势的是abc009和abc010,abc001、abc002、abc006呈现轻微涨势但波动范围较大,abc003呈现轻微跌势且波动范围较大,abc004、abc005无明显涨跌趋势,但波动范围较大。取典型股票预测趋势见下图:


图片

Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用

阅读文章


image.png


随时关注您喜欢的主题


image.png

因此,我们给出的投资建议是:

① 若资金充足,且风险厌恶程度高,则将大部分资金用于投资abc007号股票,少量资金用于投资abc008、abc001、abc002号股票用来降低风险;

② 若资金充足,且风险厌恶程度低,则将全部资金用于投资abc007号股票;

③ 若资金较少,且风险厌恶程度高,则可以购买能力范围内abc007号股票数只,其余资金用于投资abc001和abc008号股票;

若资金较少,且风险厌恶程度低,可以购买能力范围内abc007号股票数只,其余资金投资abc002、abc004、abc006号股票。


关于作者

在此对Xingming Xu对本文所作的贡献表示诚挚感谢,他在北京航空航天大学完成了电子信息专业学位,擅长数据采集,数学建模。

 
QQ在线咨询
售前咨询热线
15121130882
售后咨询热线
0571-63341498

关注有关新文章的微信公众号


永远不要错过任何见解。当新文章发表时,我们会通过微信公众号向您推送。

技术干货

最新洞察

This will close in 0 seconds