matlab在金融统计中的应用(8页).doc
-matlab在金融统计中的应用-第 8 页1 程序设计内容问题一金融统计是指金融机构统计部门对各项金融业务活动的情况和资料进行收集、整理和分析的活动,内容包括银行信贷统计、银行现金收支统计、货币供应与流通统计、金融市场统计。金融机构是一些向客户提供中间代理的机构,它本身并不能提供相应的服务和物品,但它能够替你寻找并安排这些服务和物品,供你选择并决定。我国的金融机构,按地位和功能可分为中央银行、银行、非银行的金融机构和外资、侨资、合资金融机构四大类。金融统计工作的基本任务是:根据党和国家的方针政策和国家管理经济的要求,及时、准确、全面地完成各项金融业务统计报表;收集、整理、积累金融和有关国民经济的统计资料;开展统计调查和统计分析,为金融部门和国家进行宏观经济决策、检查和监督经济、金融运行情况、加强金融监管和经营管理提供依据。时间序列分析是一种动态数据处理的统计方法。该方法基于随即过程理论和数理统计学方法,研究随机数据序列所遵循的统计规律,自然界以及社会生活的各种事物都在运动、变化和发展着,将它们按时间顺序记录下来,就可以得到各种各样的时间序列。经典的统计分析都假定数据序列具有独立性,二时间序列分析则侧重研究数据序列的互相依赖关系,后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。例如:记录了某一地区第一个月,第二个月,第N个月的降雨量,利用时间序列分析方法,可以对未来各月的降雨量进行预报。对时间序列进行分析研究,可以揭示事物运动、变化和发展的内在规律,对于人们正确认识事物并由此做出科学的决策具有重要的现实意义。12问题重述问题二运用MATLAB解决金融统计中的问题主要运用时间序列的分析方法问题四问题三2 MATLAB在统计中的基本运用最小二乘法:对给定数据点(Xi,Yi),在取定的函数类 中,求p(x),使误差的平方和最小,从几何意义上讲,就是寻求与给定点 (Xi,Yi)(i=0,1,m)的距离平方和为最小的曲线。函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)的方法称为曲线拟合的最小二乘法。1问题一:(1)运用MATLAB实现最小二乘法 一次函数使用polyfit(x,y,1) 多项式函数使用 polyfit(x,y,n),n为次数拟合曲线x=0.5,1.0,1.5,2.0,2.5,3.0,y=1.75,2.45,3.81,4.80,7.00,8.60。程序:clcclearx=0.5,1.0,1.5,2.0,2.5,3.0;y=1.75,2.45,3.81,4.80,7.00,8.60;p=polyfit(x,y,2)x1=0.5:0.5:3.0;y1=polyval(p,x1);plot(x,y,'*r',x1,y1,'-b')图片:结果:结果分析:通过描出给出的点,拟合成一条直线,求出直线的方程,再取定X或Y的值,就可以利用曲线预测出接下来的结果趋向类指标是用来判断证券品种价格走势趋向的指标类别。它是证券市场中进行技术分析时,所参考指标的一大类别,也是最常见、最常用的类别。 众所周知,证券市场中使用的指标很多,而且很杂。有的使用价格数据作参数来编制指标,有的使用成交量数据作参数来编制指标。但是无论怎样编制,根据它所要判断的目的和目标,可以将成千上万的指标进行分类。例如判断大盘变化的大盘类指标、判断量能变化的量能类指标、判断价格趋势的趋向类指标和反趋向类指标、判断量价关系的量价类指标趋向类指标就是其中一大类。 运用最小二乘法,进行趋势面拟合,可以得到如下二次趋势面方程:为了绘制上述二次趋势面图形,可以直接调用如下函数命令:程序:clcclearx,y=meshgrid(0:0.25:4);z=5.988+17.438.*x+29.787.*y-3.588.*x.2+0.357.*x.*y-8.070.*y.2;surface(x,y,z)图片:运用最小二乘法,进行趋势面拟合,可以得到如下三次趋势面方程:为了绘制上述三次趋势面图形,可以直接调用如下函数命令:clcclearx,y=meshgrid(0:0.25:4);z=-48.810+37.557*x+130.130*y+8.389*x.2-33.166*x.*y-62.740*y.2-4.133*x.3+6.138*y.*x2-2.566*x.*y.2+9.785*y.3;surf(z)一般讲趋势面的阶数越高,拟合度越高,理论上讲当阶数增高到使趋势方程的项数与观测点个数相等时,拟合度即为1。拟合度还与下述因素有关:(1)数量场的固有特点,如函数的性质、数据的跳动大小、干扰多少等等。若数量场的固有函数为平面,则一次趋势面拟合度接近100%,而二次趋势面的值反而不会增高。相反,若数量场的固有函数为球面,则二次趋势面就应拟合得很好,接近于100%,而一次面的值一定较低。(2)观测点总数和分布情形,测区形状和坐标的选择。观测点总数越多,测区形状越复杂,则相对较低3 具体模型的分析与求解(MACD)MACD由正负差(DIF)和异同平均数(DEA)两部分组成,DIF是快速平均移动平均线与慢速移动平均线的差,DEA是DIF的移动平均。利用MACD进行行情预测,主要是识别多头市场和空头市场。多头市场又称买空市场,是指股价的基本趋势持续上升时形成的投机者不断买进证券,需求大于供给的市场现象。空头市场亦称熊市。当部分投资人开始恐慌,纷纷卖出手中持股,保持空仓观望。此时,空方在市场中是占主导地位的,做多(看好后市)氛围严重不足,一般就称为空头市场。当DIF和DEA均为正值时,属多头市场;当DIF和DEA均为负值时属空头市场。采取行动的信号出现在DIF的走向与股价走向相背离时。语法:macdts=macd(tsobj,series.name)说明:tsobj为金融时间序列对象名,series name为其中的数据序列名;实例:计算IBM公司10/01/95-12/31/95的收盘价平滑异同平均线;Macd.ibm=macd(part.ibm);plot(macd.ibm);结果如图1所示.。3.2问题三:威廉指标威廉指标是由LarryWilliams于1973年首创的,WMS表示的是市场处于超买还是超卖状态,WMS的计算公式是:n日WMS=(HnCt)/(HnLn)×100。Ct为当天的收盘价;Hn和Ln是最近n日内(包括当天)出现的最高价和最低价。WMS指标表示的涵义是当天的收盘价在过去的一段日子的全部价格范围内所处的相对位置。如果WMS的值比较大,则当天的价格处在相对较低的位置,要注意反弹;如果WMS的值比较小,则当天的价格处在相对较高的位置,要注意回落;WMS取值居中,在50左右,则价格上下的可能性都有。威廉指标(WilliamsR)WilliamsR用来度量金融市场行情买卖程度的指标,其取值介于-100一0。一般认为,WilliamsR高于-20为超买状态,行情即将见顶,应考虑卖出;WilliamsR低于-80为超卖状态,行情即将见底,应考虑买进。语法:wpctrst=willpctr(tsobj,nperiods);说明:nperiods(可选项,默认为14)为周期;实倒:计算IBM公司的WilliamsR:wpctribm=willpctr(part.ibm);plot();datotick(xmmddyy);结果如图2所示3.3 相对强弱指标相对强弱指标(RSIJRSI以一特定时期内股价的变动情况来推测价格未来的变动方向,并根据价格涨跌幅度显示市场的强弱。语法:risits=risindex(taobj,nperiods,ParameterName,Parameter-Value);说明:nperiods参数表示天数;实例:计算IBM公司的RSIRsiibm=rinder(part.ibm);Plot(rsiibm);结果如图3所示3.4问题四:单变量线性随机模型一般的m阶自回归模型AR(m)可以写作:其中,q为时滞运算符,一般, (u为常数),即,即不相关,且具有有限的方差。一般的nc阶移动平均过程MA(nc)可以写作:其中,通过结合AR(na)和MA(nc)过程,可以得到更一般的ARMA(na,nc)过程:零均值平稳时间序列的自相关函数和偏自相关函数的统计特性如表1所示表一 自相关函数和偏自相关函数的统计特性可以根据表1判断序列的类型,确定模型的阶数可以采用过度拟合法。在MTLAB实现ARMA(na,nc)参数估计的过程如下:语法:armax(data,orders).说明:data为时间序列数据,orders=na,nc是自回归移动平均的阶数,na,nc为非负整数;当na=0时,表示自回归模型AR(na)。m返回模型参数估计的结果和效果,其中FPE项表示估计模型的Akaike最终预测误差。实例:由2000年上证指数收盘价的ACF(图4)和PACE(图5),不能明显看出其尾部的形状。先对收盘价closepri作对数变化后,再观察其ACF和PACF:logclose=log(closepri);subplot(2,1,1);autocorr(logclose);subplot(2,1,2);parcorr(logclose);从图6可以看出log(closepri)的ACF拖尾、PACF截尾,属于一个AR(na模型),并且在第2阶截尾,经试算,ARIMA(2,0)拟合误差最小。M=armax(logclose,2,0)运行结果为第四章设计总结与评价在进行金融时间序列分析和建模过程中,利用MATLAB强大的数学处理功能,配合使用相关工具箱,能够高效率地实现所需算法,具有其他时间序列计算软件不可比拟的优势。本文主要阐述了应用MATLAB进行金融时间序列分析及建模的方法和过程。另外,近年广泛兴起研究的神经网络具有强大的发杂函数(如非线性)处理能力,能够用来刻画和预测具有频繁波动性的金融时间序列,MATLAB的神经网络工具箱提供了此功能,需进一步探讨。