1. 如何用Arma模型做股票估计
时间序列分析是经济领域应用研究最广泛的工具之一,它用恰当的模型描述历史数据随时间变化的规律,并分析预测变量值。ARMA模型是一种最常见的重要时间序列模型,被广泛应用到经济领域预测中。给出ARMA模型的模式和实现方法,然后结合具体股票数据揭示股票变换的规律性,并运用ARMA模型对股票价格进行预测。
选取长江证券股票具体数据进行实证分析
1.数据选取。
由于时间序列模型往往需要大样本,所以这里我选取长江证券从09/03/20到09/06/19日开盘价,前后约三个月,共计60个样本,基本满足ARMA建模要求。
数据来源:大智慧股票分析软件导出的数据(股价趋势图如下)
从上图可看出有一定的趋势走向,应为非平稳过程,对其取对数lnS,再观察其平稳性。
2.数据平稳性分析。
先用EVIEWS生成新序列lnS并用ADF检验其平稳性。
(1)ADF平稳性检验,首先直接对数据平稳检验,没通过检验,即不平稳。
可以看出lnS没有通过检验,也是一个非平稳过程,那么我们想到要对其进行差分。
(2)一阶差分后平稳性检验,ADF检验结果如下,通过1%的显着检验,即数据一阶差分后平稳。
可以看出差分后,明显看出ADF Test Statistic 为-5.978381绝对值是大于1%的显着水平下的临界值的,所以可以通过平稳性检验。
3.确定适用模型,并定阶。可以先生成原始数据的一阶差分数据dls,并观测其相关系数AC和偏自相关系数PAC,以确定其是为AR,MA或者是ARMA模型。
(1)先观测一阶差分数据dls的AC和PAC图。经检验可以看出AC和PAC皆没有明显的截尾性,尝试用ARMA模型,具体的滞后项p,q值还需用AIC和SC具体确定。
(2)尝试不同模型,根据AIC和SC最小化的原理确定模型ARMA(p,q)。经多轮比较不同ARMA(p,q)模型,可以得出相对应AIC 和 SC的值。
经过多次比较最终发现ARMA(1,1)过程的AIC和SC都是最小的。最终选取ARIMA(1,1,1)模型作为预测模型。并得出此模型的具体表达式为:
DLS t = 0.9968020031 DLS (t-1)- 1.164830718 U (t-1) + U t
4.ARMA模型的检验。选取ARIMA(1,1,1)模型,定阶和做参数估计后,还应对其残差序列进行检验,对其残差的AC和Q统计检验发现其残差自相关基本在0附近,且Q值基本通过检验,残差不明显存在相关,即可认为残差中没有包含太多信息,模型拟合基本符合。
5.股价预测。利用以上得出的模型,然后对长江证券6月22日、23日、24日股价预测得出预测值并与实际值比较如下。
有一定的误差,但相比前期的涨跌趋势基本吻合,这里出现第一个误差超出预想的是因为6月22日正好是礼拜一,波动较大,这里正验证了有研究文章用GARCH方法得出的礼拜一波动大的结果。除了礼拜一的误差大点,其他日期的误差皆在接受范围内。
综上所述,ARMA模型较好的解决了非平稳时间序列的建模问题,可以在时间序列的预测方面有很好的表现。借助EViews软件,可以很方便地将ARMA模型应用于金融等时间序列问题的研究和预测方面,为决策者提供决策指导和帮助。当然,由于金融时间序列的复杂性,很好的模拟还需要更进一步的研究和探讨。在后期,将继续在这方面做出自己的摸索。
2. 时间序列之分解预测
时间序列是一种常见的数据形式,如经济数据大多数都以时间序列的形式给出。
通常情况下,时间序列具有不平稳性。一般我们将非平稳时间序列的构成要素分为四种,即趋势性(T)、周期性(C)、季节性(S)、随机性或不规则波动(T);传统时间序列分析的一项主要内容就是将这些影响因素从时间序列中分离出来,并将他们之间的关系用一定的数学关系式表达出来,然后进行分析,这种做法称为分解分析;
按四种因素对时间序列的影响方式不同,时间序列可分解为乘法模型、加法模型、混合模型等,最常用的为乘法模型,其表现形式为:
由于分析周期性成分需要有多年的数据,实际中很难得到多年的数据来发现周期性成分,因此分解模型又精简为:
针对这类序列的预测方法主要有季节性多元回归预测、季节自回归模型和时间序列分解法预测;我曾经在2个项目中用到分解法预测,通常按照以下步骤进行:
1、确定并分离季节成分。计算季节指数,以确定时间序列中的季节成分,然后将季节成分从时间序列中分离出去,即用每一个时间序列观测值除以相应的季节指数,以消除季节成分;
2、建立预测模型并进行预测。对消除季节成分的时间序列建立适当的预测模型,并根据这一模型进行预测。
3、计算出最后的预测值。用预测值乘以相应的季节指数,得到最终的预测值。
下面采用此方法根据某大型百货公司1991-2000年各季度销售额数据针对2001年各季度销售额进行预测。在开展分析之前,可以先作一个趋势图,通过图形观察数据随时间的变化趋势。
序列具有明显的季节性和趋势性,下面开始计算季节指数,季节指数的计算方法有很多种,我用了移动平均趋势剔出法,主要步骤为:
1、 计算移动平均值(采用4项移动平均),并将结果进行“中心化”处理。也即是将移动平均的结果再进行一次二项的移动平均,即得出“中心化移动平均值”(CMA)。
2、 计算移动平均值,也称季节比率,即将序列的各观察值除以相应的中心化移动平均值,然后再计算出各比值的季度平均值;
3、 季节指数调整。由于各季节指数的平均数应等于1或100%,因此,再将每个季节比率的平均值除以他们的总平均值;
调整后的季节指数如下:
剔除季节成分后的销售额趋势明显,采用多项式拟合可以得到很好的效果,回归拟合度达到了0.9482,根据拟合方程我们便可以进行后期趋势预测,再乘上季节指数,便得到最终预测值;
3. 一支简单的股票价格预测的数学模型!!!!
对于股票价格只能是在理论上,换句话说是在你自己的期望预期。
而对于股票价格预测一般是从他的基本面上来考虑。
你可以试试下面的方法:
杜邦财务分析法及案例分析
摘要:杜邦分析法是一种财务比率分解的方法,能有效反映影响企业获利能力的各指标间的相互联系,对企业的财务状况和经营成果做出合理的分析。
关键词:杜邦分析法;获利能力;财务状况
获利能力是企业的一项重要的财务指标,对所有者、债权人、投资者及政府来说,分析评价企业的获利能力对其决策都是至关重要的,获利能力分析也是财务管理人员所进行的企业财务分析的重要组成部分。
传统的评价企业获利能力的比率主要有:资产报酬率,边际利润率(或净利润率),所有者权益报酬率等;对股份制企业还有每股利润,市盈率,股利发放率,股利报酬率等。这些单个指标分别用来衡量影响和决定企业获利能力的不同因素,包括销售业绩,资产管理水平,成本控制水平等。
这些指标从某一特定的角度对企业的财务状况以及经营成果进行分析,它们都不足以全面地评价企业的总体财务状况以及经营成果。为了弥补这一不足,就必须有一种方法,它能够进行相互关联的分析,将有关的指标和报表结合起来,采用适当的标准进行综合性的分析评价,既全面体现企业整体财务状况,又指出指标与指标之间和指标与报表之间的内在联系,杜邦分析法就是其中的一种。
杜邦财务分析体系(TheDuPontSystem)是一种比较实用的财务比率分析体系。这种分析方法首先由美国杜邦公司的经理创造出来,故称之为杜邦财务分析体系。这种财务分析方法从评价企业绩效最具综合性和代表性的指标-权益净利率出发,层层分解至企业最基本生产要素的使用,成本与费用的构成和企业风险,从而满足通过财务分析进行绩效评价的需要,在经营目标发生异动时经营者能及时查明原因并加以修正,同时为投资者、债权人及政府评价企业提供依据。
一、杜邦分析法和杜邦分析图
杜邦模型最显着的特点是将若干个用以评价企业经营效率和财务状况的比率按其内在联系有机地结合起来,形成一个完整的指标体系,并最终通过权益收益率来综合反映。采用这一方法,可使财务比率分析的层次更清晰、条理更突出,为报表分析者全面仔细地了解企业的经营和盈利状况提供方便。
杜邦分析法有助于企业管理层更加清晰地看到权益资本收益率的决定因素,以及销售净利润率与总资产周转率、债务比率之间的相互关联关系,给管理层提供了一张明晰的考察公司资产管理效率和是否最大化股东投资回报的路线图。
杜邦分析法利用各个主要财务比率之间的内在联系,建立财务比率分析的综合模型,来综合地分析和评价企业财务状况和经营业绩的方法。采用杜邦分析图将有关分析指标按内在联系加以排列,从而直观地反映出企业的财务状况和经营成果的总体面貌。
杜邦财务分析体系如图所示:
二、对杜邦图的分析
1.图中各财务指标之间的关系:
可以看出杜邦分析法实际上从两个角度来分析财务,一是进行了内部管理因素分析,二是进行了资本结构和风险分析。
权益净利率=资产净利率×权益乘数
权益乘数=1÷(1-资产负债率)
资产净利率=销售净利率×总资产周转率
销售净利率=净利润÷销售收入
总资产周转率=销售收入÷总资产
资产负债率=负债总额÷总资产
2.杜邦分析图提供了下列主要的财务指标关系的信息:
(1)权益净利率是一个综合性最强的财务比率,是杜邦分析系统的核心。它反映所有者投入资本的获利能力,同时反映企业筹资、投资、资产运营等活动的效率,它的高低取决于总资产利润率和权益总资产率的水平。决定权益净利率高低的因素有三个方面--权益乘数、销售净利率和总资产周转率。权益乘数、销售净利率和总资产周转率三个比率分别反映了企业的负债比率、盈利能力比率和资产管理比率。
(2)权益乘数主要受资产负债率影响。负债比率越大,权益乘数越高,说明企业有较高的负债程度,给企业带来较多地杠杆利益,同时也给企业带来了较多地风险。资产净利率是一个综合性的指标,同时受到销售净利率和资产周转率的影响。
(3)资产净利率也是一个重要的财务比率,综合性也较强。它是销售净利率和总资产周转率的乘积,因此,要进一步从销售成果和资产营运两方面来分析。
销售净利率反映了企业利润总额与销售收入的关系,从这个意义上看提高销售净利率是提高企业盈利能力的关键所在。要想提高销售净利率:一是要扩大销售收入;二是降低成本费用。而降低各项成本费用开支是企业财务管理的一项重要内容。通过各项成本费用开支的列示,有利于企业进行成本费用的结构分析,加强成本控制,以便为寻求降低成本费用的途径提供依据。
企业资产的营运能力,既关系到企业的获利能力,又关系到企业的偿债能力。一般而言,流动资产直接体现企业的偿债能力和变现能力;非流动资产体现企业的经营规模和发展潜力。两者之间应有一个合理的结构比率,如果企业持有的现金超过业务需要,就可能影响企业的获利能力;如果企业占用过多的存货和应收账款,则既要影响获利能力,又要影响偿债能力。为此,就要进一步分析各项资产的占用数额和周转速度。对流动资产应重点分析存货是否有积压现象、货币资金是否闲置、应收账款中分析客户的付款能力和有无坏账的可能;对非流动资产应重点分析企业固定资产是否得到充分的利用。
三、利用杜邦分析法作实例分析
杜邦财务分析法可以解释指标变动的原因和变动趋势,以及为采取措施指明方向。下面以一家上市公司北汽福田汽车(600166)为例,说明杜邦分析法的运用。
福田汽车的基本财务数据如下表:
(一)对权益净利率的分析
权益净利率指标是衡量企业利用资产获取利润能力的指标。权益净利率充分考虑了筹资方式对企业获利能力的影响,因此它所反映的获利能力是企业经营能力、财务决策和筹资方式等多种因素综合作用的结果。
该公司的权益净利率在2001年至2002年间出现了一定程度的好转,分别从2001年的0.097增加至2002年的0.112.企业的投资者在很大程度上依据这个指标来判断是否投资或是否转让股份,考察经营者业绩和决定股利分配政策。这些指标对公司的管理者也至关重要。
公司经理们为改善财务决策而进行财务分析,他们可以将权益净利率分解为权益乘数和资产净利率,以找到问题产生的原因。
表三:权益净利率分析表
福田汽车权益净利率=权益乘数×资产净利率
2001年0.097=3.049×0.032
2002年0.112=2.874×0.039
通过分解可以明显地看出,该公司权益净利率的变动在于资本结构(权益乘数)变动和资产利用效果(资产净利率)变动两方面共同作用的结果。而该公司的资产净利率太低,显示出很差的资产利用效果。
(二)分解分析过程:
权益净利率=资产净利率×权益乘数
2001年0.097=0.032×3.049
2002年0.112=0.039×2.874
经过分解表明,权益净利率的改变是由于资本结构的改变(权益乘数下降),同时资产利用和成本控制出现变动(资产净利率也有改变)。那么,我们继续对资产净利率进行分解:
资产净利率=销售净利率×总资产周转率
2001年0.032=0.025×1.34
2002年0.039=0.017×2.29
通过分解可以看出2002年的总资产周转率有所提高,说明资产的利用得到了比较好的控制,显示出比前一年较好的效果,表明该公司利用其总资产产生销售收入的效率在增加。总资产周转率提高的同时销售净利率的减少阻碍了资产净利率的增加,我们接着对销售净利率进行分解:
销售净利率=净利润÷销售收入
2001年0.025=10284.04÷411224.01
2002年0.017=12653.92÷757613.81
该公司2002年大幅度提高了销售收入,但是净利润的提高幅度却很小,分析其原因是成本费用增多,从表一可知:全部成本从2001年403967.43万元增加到2002年736747.24万元,与销售收入的增加幅度大致相当。下面是对全部成本进行的分解:
全部成本=制造成本+销售费用+管理费用+财务费用
2001年403967.43=373534.53+10203.05+18667.77+1562.08
2002年736747.24=684559.91+21740.962+25718.20+5026.17通过分解可以看出杜邦分析法有效的解释了指标变动的原因和趋势,为采取应对措施指明了方向。
在本例中,导致权益利润率小的主原因是全部成本过大。也正是因为全部成本的大幅度提高导致了净利润提高幅度不大,而销售收入大幅度增加,就引起了销售净利率的减少,显示出该公司销售盈利能力的降低。资产净利率的提高当归功于总资产周转率的提高,销售净利率的减少却起到了阻碍的作用。
由表4可知,福田汽车下降的权益乘数,说明他们的资本结构在2001至2002年发生了变动2002年的权益乘数较2001年有所减小。权益乘数越小,企业负债程度越低,偿还债务能力越强,财务风险程度越低。这个指标同时也反映了财务杠杆对利润水平的影响。财务杠杆具有正反两方面的作用。在收益较好的年度,它可以使股东获得的潜在报酬增加,但股东要承担因负债增加而引起的风险;在收益不好的年度,则可能使股东潜在的报酬下降。该公司的权益乘数一直处于2~5之间,也即负债率在50%~80%之间,属于激进战略型企业。管理者应该准确把握公司所处的环境,准确预测利润,合理控制负债带来的风险。
因此,对于福田汽车,当前最为重要的就是要努力减少各项成本,在控制成本上下力气。同时要保持自己高的总资产周转率。这样,可以使销售利润率得到提高,进而使资产净利率有大的提高。
四、结论
综上所述,杜邦分析法以权益净利率为主线,将企业在某一时期的销售成果以及资产营运状况全面联系在一起,层层分解,逐步深入,构成一个完整的分析体系。它能较好的帮助管理者发现企业财务和经营管理中存在的问题,能够为改善企业经营管理提供十分有价值的信息,因而得到普遍的认同并在实际工作中得到广泛的应用。
但是杜邦分析法毕竟是财务分析方法的一种,作为一种综合分析方法,并不排斥其他财务分析方法。相反与其他分析方法结合,不仅可以弥补自身的缺陷和不足,而且也弥补了其他方法的缺点,使得分析结果更完整、更科学。比如以杜邦分析为基础,结合专项分析,进行一些后续分析对有关问题作更深更细致分析了解;也可结合比较分析法和趋势分析法,将不同时期的杜邦分析结果进行对比趋势化,从而形成动态分析,找出财务变化的规律,为预测、决策提供依据;或者与一些企业财务风险分析方法结合,进行必要的风险分析,也为管理者提供依据,所以这种结合,实质也是杜邦分析自身发展的需要。分析者在应用时,应注意这一点。
4. 对股票收盘价进行时间序列分析,预测其下一个交易日的收盘价,并与实际收盘价格进行对比
股票投资的分析这么复杂啊,先问问老师有依据这个买股票没,再回答。
5. 时间序列分析模型——ARIMA模型
姓名:车文扬 学号:16020199006
【嵌牛导读】:什么是 ARIMA模型
【嵌牛鼻子】: ARIMA
【嵌牛提问】: ARIMA模型可以具体应用到什么地方?
【嵌牛正文】:
一、研究目的
传统的经济计量方法是以经济理论为基础来描述变量关系的模型。但经济理论通常不足以对变量之间的动态联系提供一个严密的说明,而且内生变量既可以出现在方程的左端又可以出现在方程的右端使得估计和推断变得更加复杂。为了解决这些问题而出现了一种用非结构方法来建立各个变量之间关系的模型,如向量自回归模型(vector autoregression,VAR)和向量误差修正模型(vector error correction model,VEC)。
在经典的回归模型中,主要是 通过回归分析来建立不同变量之间的函数关系(因果关系),以考察事物之间的联系 。本案例要讨论如何 利用时间序列 数据本身建立模型,以研究事物发展自身的规律 ,并据此对事物未来的发展做出预测。研究时间序列数据的意义:在现实中,往往需要研究某个事物其随时间发展变化的规律。这就需要通过研究该事物过去发展的历史记录,以得到其自身发展的规律。在现实中很多问题,如利率波动、收益率变化、反映股市行情的各种指数等通常都可以表达为时间序列数据,通过研究这些数据,发现这些经济变量的变化规律(对于某些变量来说,影响其发展变化的因素太多,或者是主要影响变量的数据难以收集,以至于难以建立回归模型来发现其变化发展规律,此时,时间序列分析模型就显现其优势——因为这类模型不需要建立因果关系模型,仅需要其变量本身的数据就可以建模),这样的一种建模方式就属于时间序列分析的研究范畴。而时间序列分析中,ARIMA模型是最典型最常用的一种模型。
二、ARIMA模型的原理
1、ARIMA的含义。 ARIMA包含3个部分,即AR、I、MA。AR——表示auto regression,即自回归模型;I——表示integration,即单整阶数,时间序列模型必须是平稳性序列才能建立计量模型,ARIMA模型作为时间序列模型也不例外,因此首先要对时间序列进行单位根检验,如果是非平稳序列,就要通过差分来转化为平稳序列,经过几次差分转化为平稳序列,就称为几阶单整;MA——表示moving average,即移动平均模型。可见,ARIMA模型实际上是AR模型和MA模型的组合。
ARIMA模型与ARMA模型的区别:ARMA模型是针对平稳时间序列建立的模型。ARIMA模型是针对非平稳时间序列建模。换句话说,非平稳时间序列要建立ARMA模型,首先需要经过差分转化为平稳时间序列,然后建立ARMA模型。
2、ARIMA模型的原理。 正如前面介绍,ARIMA模型实际上是AR模型和MA模型的组合。
AR模型的形式如下:
其中:参数为常数,是阶自回归模型的系数;为自回归模型滞后阶数;是均值为0,方差为的白噪声序列。模型记做——表示阶自回归模型。
MA模型的形式如下:
其中:参数为常数;参数是阶移动平均模型的系数;为移动平均模型滞后阶数;是均值为0,方差为的白噪声序列。模型记做——表示阶移动平均模型。
ARIMA模型的形式如下:
模型记做。为自回归模型滞后阶数,为时间序列单整阶数,为阶移动平均模型滞后阶数。当时,,此时ARIMA模型退化为MA模型;当时,,ARIMA模型退化为AR模型。
3、建立ARIMA模型需要解决的3个问题。 由以上分析可知,建立一个ARIMA模型需要解决以下3个问题:
(1)将非平稳序列转化为平稳序列。
(2)确定模型的形式。即模型属于AR、MA、ARMA中的哪一种。这主要是通过 模型识别 来解决的。
(3)确定变量的滞后阶数。即和的数字。这也是通过 模型识别 完成的。
4、ARIMA模型的识别
ARIMA模型识别的工具为自相关系数(AC)和偏自相关系数(PAC)。
自相关系数: 时间序列滞后k阶的自相关系数由下式估计:
其中是序列的样本均值,这是相距k期值的相关系数。称为时间序列的自相关系数,自相关系数可以部分的刻画一个随机过程的形式。它表明序列的邻近数据之间存在多大程度的相关性。
偏自相关系数: 偏自相关系数是在给定的条件下,之间的条件相关性。其相关程度用偏自相关系数度量。在k阶滞后下估计偏自相关系数的计算公式为:
其中是在k阶滞后时的自相关系数估计值。称为偏相关是因为它度量了k期间距的相关而不考虑k-1期的相关。如果这种自相关的形式可由滞后小于k阶的自相关表示,那么偏相关在k期滞后下的值趋于0。
识别:
AR(p) 模型 的自相关系数是随着k的增加而呈现指数衰减或者震荡式的衰减,具体的衰减形式取决于AR(p)模型滞后项的系数;AR(p)模型的偏自相关系数是p阶截尾的。因此可以通过识别AR(p)模型的偏自相关系数的个数来确定AR(p)模型的阶数p。
MA(q) 模型 的自相关系数在q步以后是截尾的。MA(q)模型的偏自相关系数一定呈现出拖尾的衰减形式。
ARMA(p,q) 模型 是AR(p)模型和MA(q)模型的组合模型,因此ARMA(p,q)的自相关系数是AR(p)自相关系数和MA(q)的自相关系数的混合物。当p=0时,它具有截尾性质;当q=0时,它具有拖尾性质;当p,q都不为0,它具有拖尾性质。
通常,ARMA(p,q)过程的偏自相关系数可能在p阶滞后前有几项明显的 尖柱 ,但从p阶滞后项开始逐渐趋于0;而它的自相关系数则是在q阶滞后前有几项明显的 尖柱 ,从q阶滞后项开始逐渐趋于0。
三、数据和变量的选择
本案例选取我国实际GDP的时间序列建立ARIMA模型,样本区间为1978—2001。数据来源于国家统计局网站上各年的统计年鉴,GDP数据均通过GDP指数换算为以1978年价格计算的值。见表1:
表1:我国1978—2003年GDP(单位:亿元)
年度GDP年度GDP年度GDP
19783605.6198610132.8199446690.7
19794074198711784.7199558510.5
19804551.3198814704199668330.4
19814901.4198916466199774894.2
19825489.2199018319.5199879003.3
19836076.3199121280.4199982673.1
19847164.4199225863.7200089340.9
19858792.1199334500.7200198592.9
四、ARIMA模型的建立步骤
1、单位根检验,确定单整阶数。
由单位根检验的案例分析可知,GDP时间序列为2阶单整的。即d=2。通过2次差分,将GDP序列转化为平稳序列 。利用序列来建立ARMA模型。
2、模型识别
确定模型形式和滞后阶数,通过自相关系数(AC)和偏自相关系数(PAC)来完成识别。
首先将GDP数据输入Eviews软件,查看其二阶差分的AC和PAC。打开GDP序列窗口,点击View按钮,出现下来菜单,选择Correlogram(相关图),如图:
打开相关图对话框,选择二阶差分(2nd difference),点击OK,得到序列的AC和PAC。(也可以将GDP序列先进行二阶差分,然后在相关图中选择水平(Level))
从图中可以看出,序列的自相关系数(AC)在1阶截尾,偏自相关系数(PAC)在2阶截尾。因此判断模型为ARMA模型,且,。即:
3、建模
由以上分析可知,建立模型。首先将GDP序列进行二次差分,得到序列。然后在Workfile工作文件簿中新建一个方程对话框,采用 列表法 的方法对方程进行定义。自回归滞后项用ar表示,移动平均项用ma表示。本例中自回归项有两项,因此用ar(1)、ar(2)表示,移动平均项有一项,用ma(1)表示,如图:
点击确定,得到模型估计结果:
从拟合优度看,,模型拟合效果较好,DW统计量为2.43,各变量t统计量也通过显着性检验,模型较为理想。对残差进行检验,也是平稳的,因此判断模型建立正确。
6. 时间序列分析方法
时间序列是指一组在连续时间上测得的数据,其在数学上的定义是一组向量x(t), t=0,1,2,3,...,其中t表示数据所在的时间点,x(t)是一组按时间顺序(测得)排列的随机变量。包含单个变量的时间序列称为单变量时间序列,而包含多个变量的时间序列则称为多变量。
时间序列在很多方面多有涉及到,如天气预报,每天每个小时的气温,股票走势等等,在商业方面有诸多应用,如:
下面我们将通过一个航班数据来说明如何使用已有的工具来进行时间序列数据预测。常用来处理时间序列的包有三个:
对于基于AR、MA的方法一般需要数据预处理,因此本文分为三部分:
通过简单的初步处理以及可视化可以帮助我们有效快速的了解数据的分布(以及时间序列的趋势)。
观察数据的频率直方图以及密度分布图以洞察数据结构,从下图可以看出:
使用 statsmodels 对该时间序列进行分解,以了解该时间序列数据的各个部分,每个部分都代表着一种模式类别。借用 statsmodels 序列分解我们可以看到数据的主要趋势成分、季节成分和残差成分,这与我们上面的推测相符合。
如果一个时间序列的均值和方差随着时间变化保持稳定,则可以说这个时间序列是稳定的。
大多数时间序列模型都是在平稳序列的前提下进行建模的。造成这种情况的主要原因是序列可以有许多种(复杂的)非平稳的方式,而平稳性只有一种,更加的易于分析,易于建模。
在直觉上,如果一段时间序列在某一段时间序列内具有特定的行为,那么将来很可能具有相同的行为。譬如已连续观察一个星期都是六点出太阳,那么可以推测明天也是六点出太阳,误差非常小。
而且,与非平稳序列相比,平稳序列相关的理论更加成熟且易于实现。
一般可以通过以下几种方式来检验序列的平稳性:
如果时间序列是平稳性的,那么在ACF/PACF中观测点数据与之前数据点的相关性会急剧下降。
下图中的圆锥形阴影是置信区间,区间外的数据点说明其与观测数据本身具有强烈的相关性,这种相关性并非来自于统计波动。
PACF在计算X(t)和X(t-h)的相关性的时候,挖空在(t-h,t)上所有数据点对X(t)的影响,反应的是X(t)和X(t-h)之间真实的相关性(直接相关性)。
从下图可以看出,数据点的相关性并没有急剧下降,因此该序列是非平稳的。
如果序列是平稳的,那么其滑动均值/方差会随着时间的变化保持稳定。
但是从下图我们可以看到,随着时间的推移,均值呈现明显的上升趋势,而方差也呈现出波动式上升的趋势,因此该序列是非平稳的。
一般来讲p值小于0.05我们便认为其是显着性的,可以拒绝零假设。但是这里的p值为0.99明显是非显着性的,因此接受零假设,该序列是非平稳的。
从上面的平稳性检验我们可以知道该时间序列为非平稳序列。此外,通过上面1.3部分的序列分解我们也可以看到,该序列可分解为3部分:
我们可以使用数据转换来对那些较大的数据施加更大的惩罚,如取对数、开平方根、立方根、差分等,以达到序列平稳的目的。
滑动平均后数据失去了其原来的特点(波动式上升),这样损失的信息过多,肯定是无法作为后续模型的输入的。
差分是常用的将非平稳序列转换平稳序列的方法。ARIMA中的 'I' 便是指的差分,因此ARIMA是可以对非平稳序列进行处理的,其相当于先将非平稳序列通过差分转换为平稳序列再来使用ARMA进行建模。
一般差分是用某时刻数值减去上一时刻数值来得到新序列。但这里有一点区别,我们是使用当前时刻数值来减去其对应时刻的滑动均值。
我们来看看刚刚差分的结果怎么样。
让我们稍微总结下我们刚刚的步骤:
通过上面的3步我们成功的将一个非平稳序列转换成了一个平稳序列。上面使用的是最简单的滑动均值,下面我们试试指数滑动平均怎么样。
上面是最常用的指数滑动平均的定义,但是pandas实现的指数滑动平均好像与这个有一点区别,详细区别还得去查pandas文档。
指数滑动均值的效果看起来也很差。我们使用差分+指数滑动平均再来试试吧。
在上面我们通过 取log+(指数)滑动平均+差分 已经成功将非平稳序列转换为了平稳序列。
下面我们看看,转换后的平稳序列的各个成分是什么样的。不过这里我们使用的是最简单的差分,当前时刻的值等于原始序列当前时刻的值减去原始序列中上一时刻的值,即: x'(t) = x(t) - x(t-1)。
看起来挺不错,是个平稳序列的样子。不过,还是检验一下吧。
可以看到,趋势(Trend)部分已基本被去除,但是季节性(seasonal)部分还是很明显,而ARIMA是无法对含有seasonal的序列进行建模分析的。
在一开始我们提到了3个包均可以对时间序列进行建模。
为了简便,这里 pmdarima 和 statsmodels.tsa 直接使用最好的建模方法即SARIMA,该方法在ARIMA的基础上添加了额外功能,可以拟合seasonal部分以及额外添加的数据。
在使用ARIMA(Autoregressive Integrated Moving Average)模型前,我们先简单了解下这个模型。这个模型其实可以包括三部分,分别对应着三个参数(p, d, q):
因此ARIMA模型就是将AR和MA模型结合起来然后加上差分,克服了不能处理非平稳序列的问题。但是,需要注意的是,其仍然无法对seasonal进行拟合。
下面开始使用ARIMA来拟合数据。
(1) 先分训练集和验证集。需要注意的是这里使用的原始数据来进行建模而非转换后的数据。
(2)ARIMA一阶差分建模并预测
(3)对差分结果进行还原
先手动选择几组参数,然后参数搜索找到最佳值。需要注意的是,为了避免过拟合,这里的阶数一般不太建议取太大。
可视化看看结果怎么样吧。
(6)最后,我们还能对拟合好的模型进行诊断看看结果怎么样。
我们主要关心的是确保模型的残差(resial)部分互不相关,并且呈零均值正态分布。若季节性ARIMA(SARIMA)不满足这些属性,则表明它可以进一步改善。模型诊断根据下面的几个方面来判断残差是否符合正态分布:
同样的,为了方便,我们这里使用 pmdarima 中一个可以自动搜索最佳参数的方法 auto_arima 来进行建模。
一般来说,在实际生活和生产环节中,除了季节项,趋势项,剩余项之外,通常还有节假日的效应。所以,在prophet算法里面,作者同时考虑了以上四项,即:
上式中,
更多详细Prophet算法内容可以参考 Facebook 时间序列预测算法 Prophet 的研究 。
Prophet算法就是通过拟合这几项,然后把它们累加起来得到时间序列的预测值。
Prophet提供了直观且易于调整的参数:
Prophet对输入数据有要求:
关于 Prophet 的使用例子可以参考 Prophet example notebooks
下面使用 Prophet 来进行处理数据。
参考:
Facebook 时间序列预测算法 Prophet 的研究
Prophet example notebooks
auto_arima documentation for selecting best model
数据分析技术:时间序列分析的AR/MA/ARMA/ARIMA模型体系
https://github.com/advaitsave/Introction-to-Time-Series-forecasting-Python
时间序列分析
My First Time Series Comp (Added Prophet)
Prophet官方文档: https://facebookincubator.github.io
7. 时间序列分析预测法优缺点
优点:可以从时间序列中找出变量变化的特征、趋势以及发展规律,从而对变量的未来变化进行有效地预测。
缺点:在应用时间序列分析法进行市场预测时应注意市场现象未来发展变化规律和发展水平,不一定与其历史和现在的发展变化规律完全一致。间序列预测法因突出时间序列暂不考虑外界因素影响,因而存在着预测误差的缺陷,当遇到外界发生较大变化,往往会有较大偏差。
其基本特征:
1、趋势性:某个变量随着时间进展或自变量变化,呈现一种比较缓慢而长期的持续上升、下降、停留的同性质变动趋向,但变动幅度可能不相等。
2、周期性:某因素由于外部影响随着自然季节的交替出现高峰与低谷的规律。
3、随机性:个别为随机变动,整体呈统计规律。
4、综合性:实际变化情况是几种变动的叠加或组合。预测时设法过滤除去不规则变动,突出反映趋势性和周期性变动。
8. 股票价格的随机游走的含义
随机游走模型的提出是与证券价格的变动模式紧密联系在一起的。最早使用统计方法分析收益率的着作是在 1900年由路易·巴舍利耶(Louis Bachelier)发表的,他把用于分析赌博的方法用于股票、债券、期货和期权。在巴舍利耶的论文中,其具有开拓性的贡献就在于认识到随机游走过程是布 朗运动。1953年,英国统计学家肯德尔在应用时间序列分析研究股票价格波动并试图得出股票价格波动的模式时,得到了一个令人大感意外的结论:股票价格没 有任何规律可寻,它就象“一个醉汉走步一样,几乎宛若机会之魔每周仍出一个随机数字,把它加在目前的价格上,以此决定下一周的价格。”即股价遵循的是随机 游走规律。
这也跟市场有效原则有关
弱有效证券市场是指证券价格能够充分反映价格历史序列中包含的所有信息,如有关证券的价格、交易量等。如果这些历史信息对证券价格变动都不会产生任何影响,则意味着证券市场达到了弱有效。
9. 时间序列在股市有哪些应用
时间序列分析在股票市场中的应用
摘要
在现代金融浪潮的推动下,越来越多的人加入到股市,进行投资行为,以期得到丰厚的回报,这极大促进了股票市场的繁荣。而在这种投资行为的背后,越来越多的投资者逐渐意识到股市预测的重要性。
所谓股票预测是指:根据股票现在行情的发展情况地对未来股市发展方向以及涨跌程度的预测行为。这种预测行为只是基于假定的因素为既定的前提条件为基础的。但是在股票市场中,行情的变化与国家的宏观经济发展、法律法规的制定、公司的运营、股民的信心等等都有关联,因此所谓的预测难于准确预计。
时间序列分析是经济预测领域研究的重要工具之一,它描述历史数据随时间变化的规律,并用于预测经济数据。在股票市场上,时间序列预测法常用于对股票价格趋势进行预测,为投资者和股票市场管理管理方提供决策依据。
10. 时间序列分析预测法存在的局限性
时间序列是指同一变量按事件发生的先后顺序排列起来的一组观察值或记录值。构成时间序列的要素有两个:其一是时间,其二是与时间相对应的变量水平。实际数据的时间序列能够展示研究对象在一定时期内的发展变化趋势与规律,因而可以从时间序列中找出变量变化的特征、趋势以及发展规律,从而对变量的未来变化进行有效地预测。
时间序列的变动形态一般分为四种:长期趋势变动,季节变动,循环变动,不规则变动。
时间序列预测法的应用:
系统描述
根据对系统进行观测得到的时间序列数据,用曲线拟合方法对系统进行客观的描述。
系统分析
当观测值取自两个以上变量时,可用一个时间序列中的变化去说明另一个时间序列中的变化,从而深入了解给定时间序列产生的机理。
预测未来
一般用ARMA模型拟合时间序列,预测该时间序列未来值。
决策和控制
根据时间序列模型可调整输入变量使系统发展过程保持在目标值上,即预测到过程要偏离目标时便可进行必要的控制。
时间序列预测法的基本特点是:
假定事物的过去趋势会延伸到未来;
预测所依据的数据具有不规则性;
撇开了市场发展之间的因果关系。
找的好辛苦!!!