首页 > 编程语言 >python、R语言ARIMA-GARCH分析南方恒生中国企业ETF基金净值时间序列分析

python、R语言ARIMA-GARCH分析南方恒生中国企业ETF基金净值时间序列分析

时间:2023-10-31 21:24:28浏览次数:37  
标签:预测 python 模型 ARIMA ETF GARCH 序列 数据

全文链接:https://tecdat.cn/?p=34123

原文出处:拓端数据部落公众号

分析师:Yuyan Wang

虽然中国股票市场日益完善,但还不完全是弱有效市场,因此中国股票市场存在比较明显的通过技术分析达到的套利机会。

解决方案

任务/目标

根据基金净值的要求,运用多种模型分析实现股票走势的预测。

数据源准备

本次数据来源于天天基金网南方恒生中国企业ETF版面,数据获取采用python(版本3.6)爬虫,数据分析部分则是采用Rstudio(3.6.2)。由于南方恒生中国企业ETF没有分红,所以单位净值和累计净值相同,本次分析采用单位净值(数据采用从2018/2/8~2020/6/10,共556个)作为数据分析对象。本次数据分析采用的数据模型有AR, MA,ARMA,GARCH模型。

数据预处理

将获得数据进行标准化,并作图发现数据超出了[0,1]的限制,于是我们可以初步估计数据不满足正态性。其次,我们采取箱形图法分析分析数据中可能存在的异常值,发现数据中存在三个异常值点,2020-03-18 -3.636842,2020-03-19 -4.182578,2020-03-23 -3.552882。

image.png

数据波动性大且不聚集。于是对数据进行二阶差分(一次差分模型拟合效果不好)。利用箱型图法进行异常值检测,发现二阶差分之后的数据异常值增多,但是从图上可以看出数据具有集群波动性,在这里初步估计数据具有garch模型的特点。

image.png

构造

image.png

首先考察时间序列 时间序列平方以及绝对值的ACF和PACF图,判断二阶差分具有一定的ARCH性质,接下来我们使用MC.LEOAD.LI方法检验我们刚才的判断。右图说明,二阶差分数据具有很强的ARCH特征。现在我们计算其峰度以及偏度,判断其厚尾性。偏度为0.2112377,峰度为2.870266,j-b检验数为171.9739 远大于kai(2)的置信度5% 时的3.84, 因此相信序列存在高阶相关性和厚尾结构。

image.png

image.png

image.png

image.png

image.png

image.png

image.png

利用EACF方法判断garch的阶数。我们选取EACF图建议采用GARCH(1,2)模型。根据最小二乘法,发现模型参数α2不显著,因此考虑GARCH(1,1)模型。

image.png

image.png

发现CARCH模型的各项系数均显著。并比较GARCH(1,1)和GARCH(1,2)的AIC系数。发现GARCH(1,1)的系数665.12略小于GARCH(1,2)的666.77。

image.png

我们选用GARCH(1,1)模型进行模型诊断。根据QQ图发现GARCH(1,1)模型残差近似满足正态分布,其次我们检验shapiro数p-value = 0.8696 大于0.05,故我们认为残差满足正态性分布。我们采用L-B检验数,检验残差的独立性,这里发现m<11时,独立性满足。

image.png

image.png

划分训练集和测试集

考虑到最终模型会预测将来的某时间段的销量,为了更真实的测试模型效果,以时间来切分训练集和测试集。具体做法如下:假设我们以2018/2/8~2020/5/28的单位净值作为训练,最后5个交易日的数据作为测试。

建模

ARIMA  一般应用在股票和电商销量领域

ARIMA模型是指将非平稳时间序列转化为平稳时间序列,然后将结果变量做自回归(AR)和自平移(MA)。

GARCH

金融市场领域常用的分析模型,自回归条件异方差模型,消除arma模型对于同方差假设引起的问题,能够更好的认识到风险的波动性

模型优化

混合模型

由于上述模型确定具有一定的主观性,现考察混合模型是否能够更好的拟合数据。主要考察两种混合模型--ARMA(1,3) + GARCH(1,2)和 MA(1) + GARCH(1,1)。

image.png

采用h步向前估计,对之后的数据进行预测,其中将最后一天的数据(2020/06/10)作为预测原点,方差作为σt|t-1的初值。程序中预测了未来五次交易的数据,并做了上下区间。

发现预测数据与实际数据相差不大,并且在预测区间当中。

可以看出,销量的预测值的趋势已经基本与真实基金趋势保持一致,但是在预测期较长的区间段,其预测值之间的差别较大。

160301-stockdecline-stock.jpg

关于分析师

image.png

在此对Yuyan Wang对本文所作的贡献表示诚挚感谢,他毕业于同济大学,擅长数理金融、数据采集、数据分析。

点击标题查阅往期内容

R语言使用多元AR-GARCH模型衡量市场风险
R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
GARCH-DCC模型和DCC(MVT)建模估计
R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较
ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列
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语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
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 条件均值和方差模型

标签:预测,python,模型,ARIMA,ETF,GARCH,序列,数据
From: https://www.cnblogs.com/tecdat/p/17801550.html

相关文章

  • python__re模块&正则表达式*正则表达式练习题
    1、如下图是python中的re模块的讲解,已经正则表达式的基础知识2、python正则表达式训练题(网上找的,最后附上了地址)1.\d,\W,\s,\B,.,*,+,?分别是什么?\d:数字\W:非英文数字下划线的任意字符\s:任意空白字符\B:非单词开始或结尾的位置.表示非换行符的任意字符*表示匹配前面子表达式0次或多次......
  • Python - pip 加速
    #持久加速mkdir-p~/.pip#清华sourcecat<<EOF>~/.pip/pip.conf[global]index-url=https://pypi.tuna.tsinghua.edu.cn/simple[install]trusted-host=pypi.tuna.tsinghua.edu.cnEOF#豆瓣源sourcecat<<EOF>~/.pip/pip.conf[global]inde......
  • linux 安装 python3.10
    aptupdateaptinstallbuild-essentialzlib1g-devlibncurses5-devlibgdbm-devlibnss3-devlibssl-devlibreadline-devlibffi-devlibsqlite3-devwgetcurlllvmlibncurses5-devlibncursesw5-devxz-utilstk-devlibffi-devliblzma-devpython3-opensslgitwget......
  • Python自动化办公——3个Excel表格中每个门店物品不同,想要汇总在一起(方法二)
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公处理的问题,一起来看看吧。上一篇文章中,我们已经看到了两种解决办法了,这一篇文章我们一起来看看另外一种方法。二、实现过程这里【瑜亮老师】另外再给了一个代码和思路,如下所示:#读......
  • # yyds干货盘点 # Python自动化办公——3个Excel表格中每个门店物品不同,想要汇总在一
    大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Python自动化办公处理的问题,一起来看看吧。上一篇文章中,我们已经看到了两种解决办法了,这一篇文章我们一起来看看另外一种方法。二、实现过程这里【瑜亮老师】另外再给了一个代码和思路,如下所示:#读取Excel......
  • 软件测试|Python对JSON的解析和创建详解
    简介JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,已经成为当今互联网应用中广泛使用的数据格式之一。Python提供了内置的模块来解析和创建JSON数据,使得在Python中处理JSON变得非常简单。本文将详细介绍Python对JSON的解析和创建过程,并提供示例代码来帮助大家更好......
  • 软件测试|Python科学计算神器numpy教程(十二)
    简介NumPy是Python中用于科学计算的一个强大的库,其中包含了丰富的数学和统计函数。这些统计函数允许用户对数组进行各种统计计算,例如平均值、标准差、方差、最大值、最小值等。在本文中,我们将详细介绍NumPy中一些常用的统计函数及其用法。统计函数示例numpy.amin()和numpy.......
  • 软件测试|Django 入门:构建Python Web应用的全面指南
    引言Django是一个强大的PythonWeb框架,它以快速开发和高度可扩展性而闻名。本文将带您深入了解Django的基本概念和核心功能,帮助您从零开始构建一个简单的Web应用。什么是Django?Django是一个基于MVC(模型-视图-控制器)设计模式的Web框架,旨在简化Web应用程序的开发过程。它由Dja......
  • 基于Python的天气数据可视化平台-计算机毕业设计源码+LW文档
    开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql5.7(一定要5.7版本)数据库工具:Navicat11开发软件:PyCharm浏览器:谷歌浏览器数据库设计:DROPTABLEIFEXISTSchongwubaike;/*!40101SET@saved_cs_client=@@character_set_client/;/!40101SETcharacter_se......
  • Python46days
    属性选择器通过标签的属性来查找标签,标签都有属性<divclass="c1"id="d1"></div>id值和class值是每个标签都自带的属性还有一种自定义属性<divclass="c1"id="d1"username='kevin'password='123'></div>针对于username='k......