matlab在金融统计中的应用.docx
《matlab在金融统计中的应用.docx》由会员分享,可在线阅读,更多相关《matlab在金融统计中的应用.docx(11页珍藏版)》请在冰豆网上搜索。
matlab在金融统计中的应用
1程序设计内容
1.1问题的背景
金融统计是指金融机构统计部门对各项金融业务活动的情况和资料进行收集、整理和分析的活动,内容包括银行信贷统计、银行现金收支统计、货币供应与流通统计、金融市场统计。
金融机构是一些向客户提供中间代理的机构,它本
身并不能提供相应的服务和物品,但它能够替你寻找并安排这些服务和物品,供你选择并决定。
我国的金融机构,按地位和功能可分为中央银行、银行、非银行的金融机构和外资、侨资、合资金融机构四大类。
金融统计工作的基本任务是:
根据党和国家的方针政策和国家管理经济的要求,及时、准确、全面地完成各项
金融业务统计报表;收集、整理、积累金融和有关国民经济的统计资料;开展统
计调查和统计分析,为金融部门和国家进行宏观经济决策、检查和监督经济、金融运行情况、加强金融监管和经营管理提供依据。
时间序列分析是一种动态数据处理的统计方法。
该方法基于随即过程理论和数理统计学方法,研究随机数据序列所遵循的统计规律,自然界以及社会生活的各种事物都在运动、变化和发展着,将它们按时间顺序记录下来,就可以得到各种各样的时间序列。
经典的统计分析都假定数据序列具有独立性,二时间序列分析则侧重研究数据序列的互相依赖关系,后者实际上是对离散指标的随机过程的统计分析,所以又可看作是随机过程统计的一个组成部分。
例如:
记录了某一地区第一个月,第二个月,……,第N
个月的降雨量,利用时间序列分析方法,可以对未来各月的降雨量进行预报。
对时间序列进行分析研究,可以揭示事物运动、变化和发展的内在规律,对于人们正确认识事物并由此做出科学的决策具有重要的现实意义
问题一
2MATLAB在统计中的基本运用
2.1最小二乘法在MATLAB^的实现
最小二乘法:
对给定数据点{(Xi,Yi)}i0,1K,m,在取定的函数类①
Ea2pXiYiA2
中,求p(x)€0,使误差的平方和EA2最小,E2pXiYi从几
何意义上讲,就是寻求与给定点{(Xi,Yi)}(i=0,1,…,n)的距离平方和为最
小的曲线yPx。
函数p(x)称为拟合函数或最小二乘解,求拟合函数p(x)
的方法称为的最小二乘法。
[1]
问题一:
(1)运用MATLA实现最小二乘法
1一次函数使用polyfit(x,y,1)
2多项式函数使用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。
程序:
clc
clear
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];
p=polyfit(x,y,2)
x1=0.5:
0.5:
3.0;
y1=polyval(p,x1);
plot(x,y,'*r',x1,y1,'-b')
图片:
0511.62253
结果:
p=0.56140.82871.1560
结果分析:
通过描出给出的点,拟合成一条直线,求出直线的方程,再取定
X或Y的值,就可以利用曲线预测出接下来的结果
2.2二次趋势面
趋向类指标是用来判断证券品种价格走势趋向的指标类别。
它是证券市场中
进行时,所参考指标的一大类别,也是最常见、最常用的类别。
众所周知,证券市场中使用的指标很多,而且很杂。
有的使用价格数据作参数来编制指标,有的使用数据作参数来编制指标。
但是无论怎样编制,根据它所要判断的目的和目标,可以将成千上万的指标进行分类。
例如判断变化的、判断变化的量能类指标、判断价格趋势的趋向类指标和、判断的量价类指标趋向
类指标就是其中一大类。
运用最小二乘法,进行趋势面拟合,可以得到如下二次趋势面方程:
z5.99817.438x29.787y3.558x20.357xy&070y2
(R20.839,F6.236)
为了绘制上述二次趋势面图形,可以直接调用如下函数命令:
程序:
clcclear[x,y]=meshgrid(0:
0.25:
4);
z=5.988+17.438.*x+29.787.*y-3.588.*x.A2+0.357*x.*y-8.070.*y.A2;
surface(x,y,z)
图片:
2.3三次趋势面
运用最小二乘法,进行趋势面拟合,可以得到如下三次趋势面方程:
22z48.81037.557x130.130y8.389x233.166xy62.740y2
4.133x36.138x2y2.566xy29.785y3(R20.965,F6.054)
为了绘制上述三次趋势面图形,可以直接调用如下函数命令:
clcclear
[x,y]=meshgrid(0:
0.25:
4);
z=-48.810+37.557*x+130.130*y+8.389*x.A2-33.166*x.*y-62.740*y.A2-4.133*x.A3+
6.138*y.*xA2-2.566*x.*y.A2+9.785*y.A3;
surf(z)
20
00
3000
2000
1000
0
1000
20
的项数与观测点个数相等时,拟合度即为1
拟合度还与下述因素有关:
(1)数量场的固有特点,如函数的性质、数据的
跳动大小、干扰多少等等。
若数量场的固有函数为平面,则一次趋势面拟合度接近100%,而二次趋势面的值反而不会增高。
相反,若数量场的固有函数为球面,则二次趋势面就应拟合得很好,接近于100%,而一次面的值一定较低。
(2)观测点总数和分布情形,测区形状和坐标的选择。
观测点总数越多,测区形状越复杂,则相对较低
3具体模型的分析与求解
3.1平滑异同平均线(MACD)
MAC由正负差(DIF)和异同平均数(DEA)两部分组成,DIF是快速平均移动平均线与慢速移动平均线的差,DEA是DIF的移动平均。
利用MAC进行行情预测,主要是识别多头市场和空头市场。
多头市场又称市场,是指的基本趋势持续上升时形成的不断买进,需求大于供给的市场现象。
空头市场亦称熊市。
当部分投资人开始恐慌,纷纷卖出手中持股,保持空仓观望。
此时,空方在市场中是占主导地位的,做多(看好后市)氛围严重不足,一般就称为空头市场。
当DIF和DEA均为正值时,属多头市场;当DIF和DEA均为负值时•属空头市场。
采取行动的信号出现在DIF的走向与股价走向相背离时。
语法:
macdts=macd(tsobj,series.name)
说明:
tsobj为金融时间序列对象名,seriesname为其中的数据序列名;
实例:
计算IBM公司10/01/95-12/31/95的收盘价平滑异同平均线;
Macd.ibm=macd(part.ibm);
plot(macd.ibm);
结果如图1所示.。
图1IBM股票收盘价平滑异同平均线
3.2问题三:
威廉指标
威廉指标是由LarryWilliams于1973年首创的,WMSfe示的是市场处于超买还是超卖状态,WMS勺计算公式是:
n日WMS=Hn-Ct)/(Hn—Ln)x100。
Ct为当天的;Hn和Ln是最近n日内(包括当天)出现的最高价和最低价。
表示的涵义是当天的收盘价在过去的一段日子的全部价格范围内所处的相对位置。
如果
WMS勺值比较大,则当天的价格处在相对较低的位置,要注意反弹;如果WMS勺
值比较小,则当天的价格处在相对较高的位置,要注意回落;WM取值居中,在
50左右,则价格上下的可能性都有。
威廉指标(William's%R)
William's%R用来度量金融市场行情买卖程度的指标,其取值介于-100%
一0%。
一般认为,William's%R高于-20%为超买状态,行情即将见顶,应考虑卖出;William's%R低于-80%为超卖状态,行情即将见底,应考虑买进。
语法:
wpctrst=willpctr(tsobj,nperiods);
说明:
nperiods(可选项,默认为14)为周期;
实倒:
计算IBM公司的William's%R:
wpctr.ibm=willpctr(part.ibm);
plot(wpctr.ibm);datotick(‘x'.‘mm7dd/yy');
图2IBM股累的威案撐标
结果如图2所示
3.3相对强弱指标
相对强弱指标(RSIJRSI以一特定时期内股价的变动情况来推测价格未来的变动方向,并根据价格涨跌幅度显示市场的强弱。
语法:
risits=risindex(taobj,nperiods,ParameterName,Parameter-Value);
说明:
nperiods参数表示天数;
实例:
计算IBM公司的RSI
Rsiibm=rinder(part.ibm);
Plot(rsiibm);
图3IBM股票的相对强弱指标
结果如图3所示
3.4问题四:
单变量线性随机模型
一般的m阶自回归模型[AR(m)]可以写作:
Aqytet其中,
Aq1aiq1a?
q2La.qn已1
m
q为时滞运算符,一般quu,(u为常数),即
qmyty(tm)et~WN0,2
J
即et{不相关,且具有有限的方差。
一般的nc阶移动平均过程[MA(nc)]
2nc
可以写作:
ytCqet其中,Cq1°q
AR(na)和MA(nc)过程,可以得到更一般的
C2qLCncq通过结合
AR.MA(na,nc)过程:
AqytCqet
零均值平稳时间序列的自相关函数和偏自相关函数的统计特性如表1所示
樓型
ATtMAfna”nc)
自相关帝数
拖尾
拖尾
MS
表一自相关函数和偏自相关函数的统计特性
可以根据表1判断序列的类型,确定模型的阶数可以采用过度拟合法。
在MTLAB实现ARM(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)拟合误差最小。
TJ一«-.5百dtrwEd
M=armax(logclose,[2,0])
阳«刘closepri作对数尘化后的ACF和PACF
第四章
设计总结与评价
在进行金融时间序列分析和建模过程中,利用MATLA强大的数学处理功能,配合使用相关工具箱,能够高效率地实现所需算法,具有其他时间序列计算软件不可比拟的优势。
本文主要阐述了应用MATLABS行金融时间序列分析及建模的方法和过程。
另外,近年广泛兴起研究的神经网络具有强大的发杂函数(如非线性)处理能力,能够用来刻画和预测具有频繁波动性的金融时间序列,MATLAB
的神经网络工具箱提供了此功能,需进一步探讨。
参考文献
董军杰;武路军;陈月斌;金融统计中存在的问题与建议【J】河北金融;2012年01期