Python、MATLAB股票投资:ARIMA模型最优的选股、投资组合方案与预测
全文链接:http://tecdat.cn/?p=31651
我们基于当前统计的股票数据为客户选择最优的选股方案和投资组合方案,以及预测股票价格未来一段时间的走向趋势以及波动程度,具有很大的实用价值。
相关视频
我们需要完成以下问题
问题一:投资者购买目标指数中的资产,如果购买全部,从理论上讲能够完美跟踪指数,但是当指数成分股较多时,购买所有资产的成本过于高昂,同时也需要很高的管理成本,在实际中一般不可行。
(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号股票。
关于作者
在此对Xingming Xu对本文所作的贡献表示诚挚感谢,他在北京航空航天大学完成了电子信息专业学位,擅长数据采集,数学建模。
点击文末“阅读原文”
获取全文完整代码数据资料。
本文选自《Python、MATLAB股票投资:ARIMA模型最优的选股方案和投资组合方案与预测》。
点击标题查阅往期内容
【视频】风险价值VaR原理与Python蒙特卡罗Monte Carlo模拟计算投资组合实例
R语言用Garch模型和回归模型对股票价格分析
R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言ARMA GARCH COPULA模型拟合股票收益率时间序列和模拟可视化
ARMA-GARCH-COPULA模型和金融时间序列案例
时间序列分析:ARIMA GARCH模型分析股票价格数据
GJR-GARCH和GARCH波动率预测普尔指数时间序列和Mincer Zarnowitz回归、DM检验、JB检验
【视频】时间序列分析:ARIMA-ARCH / GARCH模型分析股票价格
时间序列GARCH模型分析股市波动率
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
R语言GARCH-DCC模型和DCC(MVT)建模估计
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型
R语言POT超阈值模型和极值理论EVT分析
Python、MATLAB股票投资:ARIMA模型最优的选股、投资组合方案与预测相关推荐
- 问一下matlab里ARIMA模型咋预测
n1这个是数据 dylog_h_adf = adftest(n1) dylog_h_kpss = kpsstest(n1)%稳定性判断 %结果是1 1 不稳定 data=diff(data) dylo ...
- ARIMA模型,ARIMAX模型预测冰淇淋消费时间序列数据
全文下载链接:http://tecdat.cn/?p=22511 标准的ARIMA(移动平均自回归模型)模型允许只根据预测变量的过去值进行预测. 相关视频 该模型假定一个变量的未来的值线性地取决于其过 ...
- arima 预测模型_预测未来:学习使用Arima模型进行预测
arima 预测模型 XTS对象 (XTS Objects) If you're not using XTS objects to perform your forecasting in R, the ...
- 时间序列 :ARIMA模型-原理
时间序列是在时间点上形成的数值序列,时间序列预测是通过观察历史数据预测未来的值.ARIMA模型(Autoregressive Integrated Moving Average model)是时间序列 ...
- arima基本原理_时间序列 :ARIMA模型-原理
时间序列是在时间点上形成的数值序列,时间序列预测是通过观察历史数据预测未来的值.ARIMA模型(Autoregressive Integrated Moving Average model)是时间序列 ...
- Python通过ARIMA模型进行时间序列分析预测
ARIMA模型预测 时间序列分析预测就是在已有的和时间有关的数据序列的基础上构建其数据模型并预测其未来的数据,例如航空公司的一年内每日乘客数量.某个地区的人流量,这些数据往往具有周期性的规律.如下图所 ...
- python用ARIMA模型预测CO2浓度时间序列实现
全文下载链接:http://tecdat.cn/?p=20424 时间序列为预测未来数据提供了方法.根据先前的值,时间序列可用于预测经济,天气的趋势.时间序列数据的特定属性意味着通常需要专门的统计方法 ...
- 《英文取名》未来五年名字使用人数预测 --- Python实现ARIMA模型
一.ARIMA知识介绍 时间序列提供了预测未来价值的机会. 基于以前的价值观,可以使用时间序列来预测经济,天气和能力规划的趋势,其中仅举几例. 时间序列数据的具体属性意味着通常需要专门的统计方法. 我 ...
- ARIMA模型的Python实现
from __future__ import print_function import pandas as pd import matplotlib.pyplot as plt import sta ...
最新文章
- 想获得50亿专项激励?关于穿山甲新星助推计划你必须了解的几件事
- 表的插入、更新、删除、合并操作_17_按照条件删除表中记录
- 前端学习(575):margin无效情形之鞭长莫及导致无效
- SpringBoot基础篇(二):HelloWorld细节探究
- ubuntu-12.04.2忘记管理员密码(图解)
- redis smembersmap_Redis五种数据类型
- bbs与BLOG与SNS在区别
- 华为手机计算机怎么用根号,根号下怎么打_根号怎么打出来华为_根号怎么打出来手机-Guide信息网...
- 筑牢梅雨季用电“安全网”
- React H5图片压缩上传
- VS2019打包exe文件
- WRITE_ONCE READ_ONCE 函数的介绍与使用
- Mac系统运行“exe”文件最简单的解决办法
- Intent的用法(初步)
- 百闻牌服务器维护,阴阳师百闻牌一直进不去 无法进入游戏解决方法
- 电脑自动开机win11设置教程
- linux手机E680的几个概念
- MATALB-结构体
- 喜欢我十九年的男孩结婚了
- 多线程永动任务设计与实现
热门文章
- 陕科大计算机专业好转吗,陕西人眼里的陕科大怎么样?211为什么没给陕科大?...
- 1944 Problem D	八进制
- 我们都忽略了Html5的力量,如果只看成一种技术就大错特错了!
- java wed高德地图开发_java接入高德地图常用WEB API
- 深度学习简介--PPT
- PHP 识别获取身份证号代表的信息
- 葛洲坝地产的“5G科技”演化:三大维度推进,不唯技术控
- sqlite3 实现批量处理 sql语句,避免频繁操作数据库,从而影响性能的问题
- html跳转qq浏览器,为何QQ浏览器主页自动跳转
- el-dialog更换顶部头部背景色样式