金融数据分析 课件 第1、2章 导论、金融时间序列线性模型_第1页
金融数据分析 课件 第1、2章 导论、金融时间序列线性模型_第2页
金融数据分析 课件 第1、2章 导论、金融时间序列线性模型_第3页
金融数据分析 课件 第1、2章 导论、金融时间序列线性模型_第4页
金融数据分析 课件 第1、2章 导论、金融时间序列线性模型_第5页
已阅读5页,还剩168页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

金融数据分析参考教材RueySTsay.AnIntroductiontoAnalysisofFinancialDatawithR,3Ed,AJohnWiley&Sons,INC.2013RueySTsay著,李洪城等译,金融数据分析导论:基于R语言,机械工业出版社,2013.戴维·罗伯特,金融统计与数据风险,机械工业出版社,2020陈梦根,金融统计学,中国统计出版社,2021.软件学习网页/forum-5-1.html;人大经济论坛-计量经济学与统计软件/;统计之都论坛第一章导论

学习目标

了解金融计量学的建模步骤、金融数据的主要类型和来源。熟悉R和Python语言的基本操作。掌握各类收益率的计算、分布特征和金融数据的可视化。通过疫情期间中美股指收益率对比,体现我国金融风险的可控性以及我国制度优越性。1.1

金融数据分析概述

1.2

常见的统计分布

1.3

收益率及其分布特征

1.4R软件和Python软件介绍

1.5专题:金融数据的可视化

目录CONTENTS金融数据分析概述1.11.1.1金融数据分析的含义

数据分析定义为,使用适当的统计方法,对收集来的大量数据进行分析,并加以汇总、理解和消化,最大化开发数据的功能,发挥数据的作用。它包含“数据”和“分析”两个方面,其中数据用以量化现状,消除模糊,分析可以得到变量之间的相互关系,解释相关现象。

金融数据分析关注金融领域的数据获取、分析、展示及其在数据可视化、风险管理、投资组合优化、金融建模等方面的应用,旨在帮助金融机构和投资者做出理性和有效的决策。它通过经济学、统计学、数学和计算机科学等方法,系统地解读和分析金融市场数据(如股票价格、收益率、汇率等)和财务数据(财务指标、财务报表等)。1.1.2金融数据的主要类型和来源

金融数据的主要类型时间序列数据截面数据面板数据

金融数据的来源专业性网站专业数据公司和信息公司抽样调查金融文本挖掘1.1.3金融数据分析步骤第一步,确定研究问题。第二步,数据收集和整理。第三步,探索性数据分析。第四步,数据分析与可视化。第五步,解释和改进。常见的统计分布1.2

1.2.1正态分布

在金融计量分析时,常常假设资产收益率服从正态分布,其原因还是源于正态分布具有良好的统计特征。但事实上,假设资产收益率服从正态分布是不合理的,原因有三个方面。一:简单收益率一定大于等于-100%,但正态分布却没有这样的限制。二:多期毛收益率是单期毛收益率的乘积,不再服从正态分布。三:收益率分布大多是厚尾的,不符合正态分布的尾部特征。

1.2.2对数正态分布

R代码>x=seq(0,1,by=0.01)>curve(dlnorm(x,meanlog=0,sdlog=1),from=0,to=10)

1.2.3学生t分布

1.2.4广义误差分布在时间序列分析中,广义误差分布有时也会被用到,其概率密度函数为:

1.2.5稳态分布

稳态分布是正态分布的自然推广,其在加法运算下是稳定的,这一点满足对数收益率的要求。

稳态分布能刻画股票的历史收益率所显现的超额峰度。非正态的稳态分布没有有限方差,这一点与大部分金融理论相矛盾。

用非正态的稳态分布进行统计建模是很困难的。非正态稳态分布的例子是柯西分布,其关于中位数对称,方差是无限的。

1.2.6极值分布

极值分布是指在概率论中极大值(或者极小值)的概率分布,是从很多个彼此独立的极大值中挑出来的各个极大值应当服从的概率密度分布。

极值分布包括广义极值分布、广义Pareto分布等,极值分布在金融风险计量分析中是一个常用的分布。在第六章我们将详细论述。收益率及其分布特征1.31.3.1常见的收益率类型

大多数金融研究都是从资产价格的时间序列开始的,如沪深300指数每天的收盘价、国际原油的每日价格等。但在金融计量上,使用更多的却是资产收益率。其原因是收益率序列统计特性良好,而且具备无量纲等优点。常用的收益率包括:单期简单收益率和多期简单收益率连续复利收益率对数收益率资产组合收益率当期收益率与到期收益率1.单期简单收益率和多期简单收益率

设Pt是t时刻的资产价格。从t-1至t日,持有该资产的投资者,其单期简单毛收益率(1+Rt)为:

与之相对应的单期简单净收益率(simplenetreturn)或简单收益率(simplereturn)Rt为:1.单期简单收益率和多期简单收益率2.连续复利收益率

3.对数收益率

R代码library(xts)###加载包library(psych)>data<-read.csv("E://jrjl/Chapter1/GZMTp.csv",header=T)###读入数据>DATE<-data[,1]>date<-as.Date(DATE)>dat<-xts(data[,2],date)>logR<-log(dat)###对数收益率计算>logr<-diff(logR)>logreturn<-logr[-1,]>date1<-date[-1]>par(mfrow=c(2,2))###可视化>plot(date,dat,main="",lwd=1,xlab="贵州茅台收盘价",ylab="",type="l")>plot(date1,logreturn,main="",lwd=1,xlab="贵州茅台收益率",ylab="",type="l")

4.资产组合收益率

5.当期收益率与到期收益率1.3.2收益率的分布特质

1.随机变量的矩及分布特征1.随机变量的矩及分布特征1.随机变量的矩及分布特征

1.随机变量的矩及分布特征

2.样本矩及分布特征

2.样本矩及分布特征

2.样本矩及分布特征

2.样本矩及分布特征R软件和Python软件介绍1.41.4.1R软件介绍1.4.1R软件介绍

1.4.1R软件介绍

设置工作路径是启动Rstudio要做的第一件事。工作路径的设置常用有两种方法。第一种方法是使用setwd函数,这种方法只能是临时修改路径,即每打开一次R软件就需要修改一次路径;第二种方法是在Tools主菜单下,点击Globaloptions,进一步在defaultworkingdirectory中修改默认工作路径,保存后重新打开软件即可永久改变工作路径,具体可见图1-5。1.4.1R软件介绍

1.4.1R软件介绍

(二)Rstudio基本命令

R软件是专为统计计算和绘图而产生的语言和环境,也是一款面向对象的软件,可以处理多种类型数据。本书选择在RStudio平台进行,其命令行提示符为“”,在打开软件后,在其后面进行相关操作。R函数是R语言的一个基础,而函数封装于相对应的包中,在实践中很多包需自行安装后才可以使用,如下载包“fGarch”,所用到的命令为install.Packages(“fGarch”),其中引号不可省略,否则无法识别,引号中为所需安装的包,同样可以在RStudio的Tools目录下点击installPackages,如图1-6所示,在“Packages(separatemultiplewithspaceorcomma)”中输入需要的包,点击“Install”进行安装,注意在安装过程中要联网,安装后的包需要加载,命令为library()。1.4.1R软件介绍

1.4.1R软件介绍

(三)Rstudio读写命令

Rstudio几乎可以读取所有主流的文件。常用的文件包括以下三种。第一是纯文本文件,其文件扩展名为“.txt”,所用的命令为read.table函数;第二是逗号分割文件,其扩展名为“.csv”,所用命令为read.table函数或者read.csv函数,如果使用read.table函数需要设置sep参数为逗号;第三是excel文件,其扩展名为“.xls”和“.xlsx”,在读取之前要先加载openxlsx包,然后使用read.xlsx读取这两类文件。

在读取之前,若文件在当前目录下,直接输入文件名,若不在当前目录下,需要使用文件的全路径。若读取的数据为网络文件,只需要将read.table的第一个参数改为网络文件具体的地址。

1.4.2Python软件介绍

(一)软件安装

本书在windows系统下载Ananconda并启动AnacondaNavigator,如图1-8所示,可以看到多种Python的多种IDE,若有需要,点击“Install”即可下载。

1.4.2Python软件介绍

Spyder:与RStudio很相似,其界面分为主窗口、历史窗口和输出窗口,分别用于编译、数据存储和输出,大小和位置可以自行调整。JupyterNotebook:可以看作是一种交互式笔记本,便于分步执行和显示结果,具体见图1-9,支持运行多种编程语言,其本质是一个Web应用程序,便于创建和共享程序文档,支持代码实现和可视化。

1.4.2Python软件介绍

(二)基本语法介绍Python和R软件一样,加载os模块,使用os.chdir()可以自行修改工作路径,方便结果的寻找。Python下载模块可以直接在conda中选择,也可以在资源管理器中打开conda,使用命令pipinstallPandas进行下载,在程序运行前下使用命令importpandasaspd加载该模块。

Pythons的变量类型包含数值、字符串、列表、元组和字典,变量赋值所用符号为:“=”,且变量的对象下标是由0开始,在编写程序时要多加注意。Python中的基础模块有NumPy、Pandas和Matplotlib,其中NumPy模块为开源数值计算扩展,可以存储和处理大型矩阵;Pandas模块是基于NumPy的一种工具,纳入了大量库和标准数据模型,主要解决数据分析问题;Matplotlib为Python的2D绘图库,通过各种拷贝格式和跨平台的交互环境生成图形。

1.4.2Python软件介绍

(三)Tensorflow模块

近年来,人工智能在金融领域广泛应用,其中就包含机器学习和深度学习。深度学习是机器学习领域中的一个新方向,在数据挖掘、自然语言处理以及其他领域都取得了很多成果。而Python语言作为实现这一分析的工具,需要使用tensorflow模块。2015年Google以开源形式发布Tensorflow,该模块作为生产级深度学习库,拥有巨大用户群,并且不断地部署和提供模型以及第三方工具和平台。关于该模块的下载,可以通过Anaconda下载并于Python的IDE进行搭载,安装时要注意Python和tensorflow版本相匹配。专题1.5金融数据的可视化

—基于新冠疫情间中美股市波动的对比分析

1.5金融数据的可视化本专题将通过分析比较此次疫情对于中美两国股票市场的影响,说明金融数据的可视化。为此,选择中国沪深300指数和美国标普500指数分别作为中美两国金融市场代表性指标,时间区间为2020年1月1日至2020年12月31日,频率为日度,研究新冠肺炎疫情对中美股票市场的影响。

1.5金融数据的可视化首先,绘制这两种指数的开盘价、最高价、最低价和收盘价的时序图。图1-10左半部分为中国沪深300指数相关指标,很明显这几个数据有很强的相关性,2020年前后,受新冠疫情的影响,我国股市受到了比较大的冲击。

1.5金融数据的可视化1.5金融数据的可视化

接下来对数据进行一个统计性描述(表1.3),通过样本均值和分位数发现:沪深300指数多数时间在3500点至5200点之间浮动,在高位和低位持续的时间较短,这与现实情况相符。标普500指数则从疫情后的2200点低位经过一年的拉升才达到了3800点左右。1.5金融数据的可视化

接下来计算沪深300指数和标普500指数简单收益率和对数收益率,结果如图1-11所示。从图中可发现中美两国代表性股指简单收益率和对数收益率均大致平稳,它们围绕一条轴上下波动,相对而言简单收益率的波动要大于对数收益率的波动。1.5金融数据的可视化

图1-12展示了中美两个指数波动率的时序图。可以清楚地看到,在2020年年初和2020年年中,我国波动率出现了一个显著的上升。而美国在2020年初出现了巨大的波动。特别注意的是,在疫情期间,我国经济整体保持稳定状态,呈现为较小的波动,而美国则出现了较大的波动。1.5金融数据的可视化

图1-13展现的是对数收益分布的直方图,从形态上来看,对数收益率是近似于正态分布的。直方图是分布密度的一个比较粗糙的估计量,从图1-13中也可以看出,美国标普500指数峰度更大,风险更高。1.5金融数据的可视化

图1-14分别演示了由使用三个带宽的沪深300指数日和标普500指数的对数收益率的核密度估计。图1-14的实曲线来自于Rstudio中的density()函数,具有缺省带宽。虚线和点线曲线分别具有1/2和1的缺省带宽。调谐参数adjust是缺省带宽的乘数,所以在三条曲线中,adjust分别为1/2,1和2。1.5金融数据的可视化

接下来对数据进行正态分布检验。Q-Q图是正态分布检验最常用最直观的方法,分别进行举例说明:通过Q-Q图(图1-15)可以看到,样本分位数和理论分位数并不能很好的拟合,由此我们初步认定沪深300股指和标普500指数的对数收益率都不符合正态分布。同时可看出,美国标普500指数尾部极端风险更大。1.5金融数据的可视化新冠疫情不可避免地会对经济社会造成负面影响,但不会改变我国经济长期向好的基本面。从上面的分析我们看出,此次疫情初期,我国股票市场虽然有短期的异常波动性,但并没有对我国金融市场产生较大影响,我国股票市场完全有能力通过自我调节应对此次疫情的冲击。习题Theending第二章

金融时间序列线性模型

学习目标

熟悉时间序列的平稳性和单位根检验;掌握构建AR、MA、ARMA模型的基本思想和建模过程;了解季节模型和长记忆模型的基本步骤和建模过程;了解中国居民消费价格指数的波动规律,了解中国党和政府重视民生工程,保持物价稳定的决心和能力。

本章导读

时间序列是指将某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而成的序列。时间序列的发展可以追溯到1927年Yule提出的AR模型和1937年Walker提出的MA模型及将两个模型合并得到的ARMA模型;随后标志性的事件包括1970年Box和Jenkins中提出的ARIMA模型,1982年Engle提出的ARCH模型,1985年Bollerslov针对多变量的情况提出的GARCH模型。时间序列分析的目的一般有两个方面:一是认识产生观测序列的随机机制,即建立数据生成模型;二是基于序列的已知数据,对未来的可能取值给出预测。目前,时间序列在金融数据分析中得到了广泛应用。本章将讲述时间序列数据模型的性质、识别、估计与预测,包括简单自回归模型(AR)、简单移动平均模型(MA)、自回归移动平均模型(ARMA)、自回归整合移动平均模型(ARIMA)、季节模型以及时间序列平稳性与单位根检验等。2.1相关性和平稳性2.2简单自回归模型2.3简单移动平均模型2.4简单ARMA模型2.5单位根非平稳时间序列2.6季节模型组合风险测度2.7长记忆时间序列模型专题2:基于ARIMA模型的中国居民消费价格指数预测

目录CONTENTS相关性和平稳性2.12.1.1相关性

2.1.1相关性

2.1.1相关性

2.1.1相关性例2.1股票相关性计算。图2-1是浦发银行股票和工商银行股票从2007年1月到2021年12月的月收益率的散点图。从其散点图中可看出,这两只股票收益率趋于正相关。之后分别计算这两只股票前面所述的三种相关系数,结果如下表2-1。相关系数种类Pearson相关系数Spearman相关系数Kendall相关系数指标数值0.66740.71930.5536图2-1浦发银行股票月收益率对工商银行股票月收益率散点图表2-1浦发银行和工商银行股票收益率相关性分析2.1.1相关性R代码>da=read.table("E://jrjl/Chapter2/pfyh.txt",header=T)>x<-da$gs>y<-da$pf>plot(x,y,xlab="工商银行月收益率",ylab="浦发银行月收益率")>cor(x,y,method="pearson")#计算皮尔逊相关系数>cor(x,y,method="spearman")#计算斯皮尔曼相关系数>cor(x,y,method="kendall")#计算肯德尔相关系数2.1.2平稳性

2.1.2平稳性

2.1.2平稳性

2.1.2平稳性

2.1.2平稳性

2.1.2平稳性

2.1.2平稳性

图2-2收益率序列时序图和序列的ACF图2.1.2平稳性R代码>d=read.table("E://jrjl/Chapter2/szzz.txt",header=T)>sse<-ts(d$IdxMonRet,start=c(1991,1),frequency=12)>plot(sse,xlab="年份",ylab="月收益率",main="上证综指月收益率")>acf(d$IdxMonRet,lag=24,main="上证综指月收益率")2.1.2平稳性

图2-3工商银行的月简单收益率和对数收益率的自相关函数图2.1.2平稳性R代码>d=read.table("E://jrjl/Chapter2/gsyh.txt",header=T)#读取文件>da=d$gs>gs<-ts(da,start=c(2007,1),frequency=12)>lngs=log(gs+1)#收益率取对数>acf(da,main="工商银行月收益率")#简单收益率自相关图>acf(log(gs+1),main="工商银行对数月收益率")#对数收益率自相关图>Box.test(gs,lag=5,type="Ljung")#简单收益率的自相关检验>Box.test(gs,lag=10,type="Ljung")>Box.test(lngs,lag=5,type="Ljung")#对数收益率的自相关检验>Box.test(lngs,lag=10,type="Ljung")2.1.2平稳性

2.1.2平稳性例2.3续从例2.3的分析可以看出,工商银行股票序列可以认为是一个白噪声序列。图2-4给出了随机产生的1000个服从标准正态分布的白噪声序列的时序图。图2-4标准正态白噪声序列时序图2.1.2平稳性R代码>set.seed(111)>x<-rnorm(1000)>ts.plot(x)简单自回归模型2.22.2

简单自回归模型

2.2.1AR模型性质

2.2.1AR模型性质

2.2.1AR模型性质R代码>par(mfcol=c(2,2))>x1<-arima.sim(n=1000,list(ar=-0.2))>acf(x1,lag.max=30,main="φ=-0.2")>x2<-arima.sim(n=1000,list(ar=0.2))>acf(x2,lag.max=30,main="φ=0.2")>x3<-arima.sim(n=1000,list(ar=-0.8))>acf(x3,lag.max=30,main="φ=-0.8")>x4<-arima.sim(n=1000,list(ar=0.8))>acf(x4,lag.max=30,main="φ=0.8")2.2.1AR模型性质

2.2.1AR模型性质

2.2.1AR模型性质图2-6AR(2)模型的自相关函数

2.2.1AR模型性质

2.2.2AR模型的识别AR模型的识别:在实际应用中,AR时间序列的阶数p是未知的,必须根据实际数据来决定。因此需要对AR模型定阶。一般有两个确定阶数p的方法:一是利用AIC、BIC等信息准则,二是利用偏自相关函数。2.2.2AR模型的识别

2.2.2AR模型的识别

2.2.2AR模型的识别

2.2.2AR模型的识别例2.4中国GDP的季度数据建模。本例使用中国GDP的季度数据,时间从1992年第一季度至2021年第四季度,共116个数据。图2-7给出了GDP序列的对数序列和增长率的时序图(对数GDP增长率为对数GDP之间的一阶差分)。之后对增长率的ACF和PACF进行估计,得到图2-8,从图2-8中可看出,可尝试AR(7)建模。R软件stats包中的ar()函数可以对时间序列进行AR建模,默认采用AIC准则定阶。用选项aic=FALSE,order.max=p可以选定p阶模型。如本例产生了一个8阶的模型,图2-9为其AIC的图形,当p=8时达到最小值。虽然ar()函数没有提供BIC的值,但因为BIC(k)−AIC(k)=k(lnT−2)/T,因此可以计算BIC值。事实上,BIC也建议p=8。表2.2为PACF、AIC和BIC各阶对应的值,找出最小的AIC和BIC时对应的阶数即可。当然,从AIC图形可看出,如果取较低的阶,4阶也是可以的。这个例子说明不同的准则可能会得出p的不同选择。在实际应用中,还没有证据表明哪种方法更好。对给定的时间序列选择一个AR模型时,还有两种因素起着重要作用,就是所研究问题的具体信息和模型的简单性。2.2.2AR模型的识别2.2.2AR模型的识别2.2.2AR模型的识别R代码>d=read.table("E://jrjl/Chapter2/gdp,txt",header=T)>gdp<-ts(d[["GDP"]],start=c(1992,1),frequency=4)>plot(log(gdp),xlab="年份",ylab="log(GDP)",main="对数GDP")>rate<-diff(log(gdp))>plot(rate,xlab="年份",ylab="增长率",main="GDP增长率")>b1<-pacf(rate,xlab="年份",main="")>b1>a1<-ar(rate,method="mle")>a1$order>a1$aic>plot(as.numeric(names(a1$aic)),a1$aic,type="h",xlab="k",ylab="AIC")>tmp.T<-length(rate)>tmp.bic<-a1$aic+as.number(names(a1$aic))*(log(tmp.T)-2)/tmp.T>tmp.bic>plot(as.numeric(names(a1$aic)),tmp.bic,type="h",xlab="k",ylab="BIC")2.2.3AR模型的估计

2.2.3AR模型的估计模型检验:检查拟合的模型好坏的一个标准是考察模型是否充分。如果模型是充分的,则其残差序列应为白噪声。残差的样本自相关函数和Ljung-Box统计量可用来检验与白噪声的接近程度。对AR(p)模型,Ljung-Box统计量Q(m)渐近服从自由度为的分布,其中g是所用模型中AR系数的个数。如果发现拟合的模型是不充分的,那么就需要对它进行改进。如果估计的AR系数中有一些与0没有显著差别,则我们应该去掉这些不显著的参数对模型进行简化。2.2.3AR模型的估计

2.2.3AR模型的估计

2.2.3AR模型的估计R代码>d=read.table("E://jrjl/Chapter2/szzz.txt",header=T)>IMR<-ts(d[["IdxMonRet"]],start=c(1991,1),frequency=12)>a1<-ar(IMR,method="mle")>a1$order>a2<-arima(IMR,order=c(11,0,0))>Box.test(a2$residuals,lag=12,type="Ljung",fitdf=11)>a3<-arima(IMR,order=c(11,0,0),fixed=c(0,0,0,0,0,0,NA,0,NA,0,NA,0))>a3>Box.test(a3$residuals,lag=12,type="Ljung",fitdf=3)>abs(polyroot(c(1,-coef(a3)[1:11])))

2.2.3AR模型的估计

2.2.4AR模型的预测

2.2.4AR模型的预测

2.2.4AR模型的预测

2.2.4AR模型的预测

2.2.4AR模型的预测R代码>d=read.table("E://jrjl/Chapter2/szzz.txt",header=T)>da=d$IdxMonRet>IMR<-ts(da[1:360],start=c(1991,1),frequency=12)>a1<-ar(IMR,method="mle")>a1$order>a2<-arima(IMR,order=c(11,0,0))>Box.test(a2$residuals,lag=12,type="Ljung",fitdf=11)>a2>a3<-arima(IMR,order=c(11,0,0),fixed=c(0,0,0,0,0,0,NA,0,NA,0,NA,0))>a3>pred1<-predict(a3,12)>pred1>x1=(c(1:24))/12+2020>y1=da[349:372]>plot(x1,y1,xlab='年份',ylab='上证综指月简单收益率',type='b',ylim=c(-0.06,0.12))>points(x1[13:24],pred1$pred,col="red",lwd=1,lty=2,type="b",pch=2)简单移动平均模型2.32.3简单移动平均模型

2.3.1MA模型的性质

2.3.1MA模型的性质

2.3.1MA模型的性质

2.3.1MA模型的性质R代码>x1<-arima.sim(n=1000,list(ma=-2))>acf(x1,lag.max=20)>x2<-arima.sim(n=1000,list(ma=-0.5))>acf(x1,lag.max=20)>x3<-arima.sim(n=1000,list(ma=c(-2,4)))>acf(x3,lag.max=20)>x4<-arima.sim(n=1000,list(ma=c(-0.5,0.25)))>acf(x4,lag.max=20)2.3.1MA模型的性质

2.3.2MA模型的识别

图2-12民生银行月简单收益率时序图和ACF图2.3.3MA模型的估计MA模型的估计:估计MA模型通常用最大似然法,它又细分为条件似然法(conditionallikelihoodmethod)和精确似然法(exactlikelihoodmethod)两种估计方法。精确似然估计优于条件似然估计,尤其是当MA模型接近于不可逆时。然而,精确似然估计的计算会更复杂一些。如果样本量较大,这两种似然估计是接近的。2.3.3MA模型的估计

2.3.3MA模型的估计R代码>d=read.table("E://jrjl/Chapter2/zsyh.txt",header=T)>da=d$Monret>mr<-ts(da,frequency=12,start=c(2001,1))>plot(mr,xlab="年份",ylab="民生银行月简单收益率")>acf(da)>a1<-arima(mr,order=c(0,0,14))>a1>Box.test(a1$residuals,type="Ljung",lag=24,fitdf=13)>a2<-arima(mr,order=c(0,0,14),fixed=c(0,0,0,0,0,0,0,0,NA,0,0,0,0,NA,NA))>a22.3.4MA模型的预测

2.3.4MA模型的预测

2.3.4MA模型的预测

2.3.4MA模型的预测R代码>d=read.table("E://jrjl/Chapter2/zsyh.txt",header=T)>da=d$Monret>mr<-ts(da[1:242],frequency=12,start=c(2001,1))>plot(mr,xlab="年份",ylab="民生银行月简单收益率")>acf(da)>a1<-arima(mr,order=c(0,0,14))>a1>a2<-arima(mr,order=c(0,0,14),fixed=c(0,0,0,0,0,0,0,0,NA,0,0,0,0,NA,NA))>a2>pred2<-predict(a2,10)>pred2简单ARMA模型2.42.4.1ARMA(1,1)模型ARMA(1,1)理论推导2.4.1ARMA(1,1)模型2.4.1ARMA(1,1)模型2.4.1ARMA(1,1)模型通过推导,发现ARMA(1,1)模型的ACF与AR(1)模型的ACF很相似,不同之处仅在于它的指数衰减是从滞后2阶开始的。因此,ARMA(1,1)模型的ACF不能在任意有限滞后阶截尾。现在来看偏自相关函数(PACF)。可以证明ARMA(1,1)模型的PACF也不能在有限滞后阶后截尾。它与MA(1)模型的PACF表现很相似,只是指数衰减从滞后2阶开始,而不是从滞后1阶开始。综上所述,ARMA(1,1)模型的平稳性条件与AR(1)模型相同,ARMA(1,1)模型的ACF与AR(1)模型的ACF有相似的模式,只是是从滞后2阶开始的。ARMA(1,1)与AR(1)性质比较2.4.2ARMA模型简介ARMA模型一般形式2.4.3ARMA模型的识别

每一随机过程都有它的典型的ACF和PACF式样(表2.5)。对于AR(p)过程,ACF按几何或指数规律下降(常描述为拖尾),而PACF则是在一定时期忽然截断(常描述为截尾)。可见,AR(p)过程的ACF和PACF与MA(q)过程的ACF和PACF相比,刚好相反。ARMA模型的识别2.4.3ARMA模型的识别

在给ARMA模型定阶时,ACF和PACF都不能提供足够的信息。通常采用推广的自相关函数(EACF)来确定ARMA过程的阶。课本例题2.11讲述自相关函数(EACF)来确定ARMA过程的阶。选择ARMA模型阶数的另外一种方法是信息准则。具体地说,对于事先指定的正整数P和Q,计算ARMA(p,q)模型的AIC(或BIC),其中0≤p≤P、0≤q≤Q,选取使AIC(或BIC)取最小值的模型。ARMA(p,q)模型的阶确定后就可用条件似然法或者精确似然法来估计模型的参数,并对残差进行Ljung-Box检验判断所拟合模型的合理性。在R中可以用arima()函数建立ARMA模型。利用自相关函数(EACF)定阶单位根非平稳时间序列2.52.5.1随机游走和带漂移项的随机游走

随机游动带漂移项的随机游走2.5.2趋势平稳的时间序列

趋势平稳的时间序列2.5.3ARIMA模型如果允许其特征多项式存在特征根,则ARMA模型就变成了自回归整合移动平均模型ARIMA。ARIMA模型表达式中经过d阶差分得到一个平稳序列,同时假定其自回归算子的滞后期为p,移动平均算子的滞后期为q,则ARIMA模型结构为ARIMA(p,d,q)。应用ARIMA模型进行建模可分为如下的四个步骤。(1)对原序列进行平稳性检验,如果序列不满足平稳性条件,可以通过差分变换使得序列满足平稳性条件。(2)通过计算能够描述序列特征的一些统计量(如自相关系数和偏自相关系数以及推广的自相关函数EACF),来确定ARIMA模型阶数p和q,并在初始估计中选择尽可能少的参数。(3)估计模型的参数,并检验参数的显著性,以及模型本身的合理性。(4)对结果进行分析,以证实所得模型是否与所观察的数据特征相符。ARIMA模型2.5.4非平稳时间序列的单位根检验非平稳时间序列的单位根检验2.5.4非平稳时间序列的单位根检验DF检验2.5.4非平稳时间序列的单位根检验ADF检验2.5.4非平稳时间序列的单位根检验例2.12考虑中国从1992年第1季度到2021年第4季度的季度GDP对数序列。该序列表现出上升趋势,这表明中国经济的增长,同时它呈现高度的样本序列相关性,参见图2-7a。该序列的1阶差分序列代表了中国GDP的增长率,图2-7b给出了GDP增长率序列的时序图,该差分序列看起来在一个固定的均值水平附近波动。为证实这一现象,对该对数序列进行ADF单位根检验。基于图2-8给出的差分序列的样本PACF,选择p=7较为合适,而基于图2-9给的AIC图,选择p=8较为合适。在这里通过更加精确的fUnitRoots包函数进行定阶,选择p=8更为合适。当p=8时,ADF检验统计量是-0.8423,p值是0.7435,这表明单位根假设不能被拒绝。2.5.4非平稳时间序列的单位根检验R代码>d=read.table("E://jrjl/Chapter2/gdp.txt",header=T)>library(fUnitRoots)>gdp=log(d[,2])>m1=ar(diff(gdp),method='mle')>m1$order>adfTest(gdp,lags=8,type=c("c"))季节模型2.62.6季节模型有些金融时间序列,呈现出一定的循环或周期性,这样的时间序列叫做季节时间序列。在季节时间序列中,常常需先处理这些季节趋势,把它从数据中移除,得到经季节调整后的时间序列,然后再用来做推断。这种从时间序列中移除季节性的过程叫做季节调整。图2-14所示的是中国GDP对数的时序图。对其对数变换主要是因为GDP是指数增长的,同时通过对数变换可降低序列的波动性。事实上,对数变换在金融、经济时间序列分析中是常用的处理数据的方法。季节模型2.6季节模型图2-14中国GDP从1992年1季度到2021年4季度对数时序图2.6季节模型

2.6季节模型

2.6季节模型图2-15中国GDP从1992年第1季度到2021年第4季度的对数序列的样本自相关函数图2.6季节模型

2.6季节模型图2-16

中国GDP从1992年第1季度到2021年第4季度的对数序列的时序图2.6季节模型

多重季节模型2.6季节模型R代码>d=read.table("E://jrjl/Chapter2/gdp.txt",header=T)>da=d>eps=log(da$GDP)>koeps=ts(eps,frequency=4,start=c(1992,1))>plot(gdp,type='l',xlab='year',ylab='ln(GDP)')>par(mfcol=c(2,2))>koeps=log(da$GDP)>deps=diff(koeps)>sdeps=diff(koeps,4)>ddeps=diff(sdeps)>acf(koeps,lag=20,main="a.对数序列")>acf(sdeps,lag=20,main="c.季节差分序列")>acf(deps,lag=20,main="b.一阶差分序列")>acf(ddeps,lag=20,main="d.常规差分和季节差分后序列")2.6季节模型>c1=c("2","3","4","1")>c2=c("1","2","3","4")>par(mfcol=c(3,1))>deps=ts(deps,frequency=4,start=c(1992))>plot(deps,xlab='year',ylab='一阶差分',type='l',main="a.一阶差分序列")>points(deps,pch=c1,cex=0.7)>sdeps=ts(sdeps,frequency=4,start=c(1992))>plot(sdeps,xlab='year',ylab='季节差分',type='l',main="b.季节差分序列")>points(sdeps,pch=c2,cex=0.7)>ddeps=ts(ddeps,frequency=4,start=c(1992))>plot(ddeps,xlab='year',ylab='常规和季节差分',type='l',main="c.常规和季节差分序列")>points(ddeps,pch=c1,cex=0.7)长记忆时间序列模型2.72.7

长记忆时间序列模型时间序列可分为平稳序列和非平稳序列两类,一般来说长记忆的时间序列是非平稳的。我们知道,平稳时间序列的ACF呈指数衰减。但是对单位根非平稳时间序列,可证明对任意固定的滞后阶数,当样本容量增加时,样本ACF收敛于1。另外也存在一些时间序列,随着滞后阶数的增加它们的ACF以多项式的速度缓慢衰减到0。这些时间序列称为长记忆时间序列(long-memorytimeseries)。长记忆时间序列模型2.7

长记忆时间序列模型

ARFIMA模型2.7

长记忆时间序列模型例2.13为说明长记忆时间序列的建模,考虑上海银行间隔夜拆借利率中国工商银行隔夜拆借利率的报价利率对数收益率的绝对收益率,时间跨度为2014年1月3日至2020年12月31日。图2-17给出了序列绝对值序列的ACF图。从图中可见ACF的数值相对较小,且衰减缓慢,甚至在滞后300阶后还在5%的水平下显著。图2-17上海银行间隔夜拆借利率中国工商银行日隔夜拆借利率的报价利率对数收益率的绝对值序列的样本ACF值2.7

长记忆时间序列模型

2.7

长记忆时间序列模型R代码>d=read.csv("E://jrjl/Chapter2/gsyhh.csv",header=T)>install.packages("fracdiff")>library(fracdiff)>ew=abs(d$dlnr)>m2=fracdiff(ew,nar=1,nma=1)>summary(m2)基于ARIMA模型的中国居民消费价格指数预测2.8基于ARIMA模型的中国居民消费价格指数预测通过研究国家或者一个区域的CPI指数的变动,可以从一个侧面反映国家或者地区的民生情况。CPI的统计数据是一个典型的时间序列,一般可以按照月份、季度和年度来统计数据,按照一篮子固定商品价格

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论