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

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

我们需要完成以下问题

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

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

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

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

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

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

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

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

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


ARIMA模型建立流程



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


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

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


点击标题查阅往期内容


R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格


01

02

03

04

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

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

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

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

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

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

相关文章
|
7天前
|
机器学习/深度学习 数据可视化 TensorFlow
使用Python实现深度学习模型的分布式训练
使用Python实现深度学习模型的分布式训练
121 73
|
16天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费市场分析的深度学习模型
使用Python实现智能食品消费市场分析的深度学习模型
93 36
|
10天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品消费需求分析的深度学习模型
使用Python实现智能食品消费需求分析的深度学习模型
53 21
|
12天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品消费偏好预测的深度学习模型
使用Python实现智能食品消费偏好预测的深度学习模型
54 23
|
4天前
|
算法
基于Adaboost模型的数据预测和分类matlab仿真
AdaBoost(Adaptive Boosting)是一种由Yoav Freund和Robert Schapire于1995年提出的集成学习方法,旨在通过迭代训练多个弱分类器并赋予分类效果好的弱分类器更高权重,最终构建一个强分类器。该方法通过逐步调整样本权重,使算法更关注前一轮中被误分类的样本,从而逐步优化模型。示例代码在MATLAB 2022A版本中运行,展示了随着弱分类器数量增加,分类错误率的变化及测试数据的分类结果。
|
13天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费习惯预测的深度学习模型
使用Python实现智能食品消费习惯预测的深度学习模型
58 19
|
10天前
|
数据可视化 算法 数据挖掘
Python量化投资实践:基于蒙特卡洛模拟的投资组合风险建模与分析
蒙特卡洛模拟是一种利用重复随机抽样解决确定性问题的计算方法,广泛应用于金融领域的不确定性建模和风险评估。本文介绍如何使用Python和EODHD API获取历史交易数据,通过模拟生成未来价格路径,分析投资风险与收益,包括VaR和CVaR计算,以辅助投资者制定合理决策。
56 15
|
14天前
|
机器学习/深度学习 数据采集 数据挖掘
使用Python实现智能食品消费趋势分析的深度学习模型
使用Python实现智能食品消费趋势分析的深度学习模型
72 18
|
11天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
14天前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现深度学习模型:智能食品消费行为预测
使用Python实现深度学习模型:智能食品消费行为预测
55 8