版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab在金融工程中的应用,第八讲 Matlab 在金融工程中的应用,Matlab在金融工程中的应用,张树德 著,参考文献:,MATLAB金融计算与金融数据处理,北京航空航天大学出版社, 2008,Matlab在金融工程中的应用,Matlab金融工具箱模块,1. Financial Toolbox,Matlab自带金融工具箱,具有下列功能:,固定收益计算,日期数据处理,资产均值方差分析,时间序列分析,有价证卷的收益和价格,统计分析,定价和灵敏度分析,年金和现金流计算,抵押支持债卷,Matlab在金融工程中的应用,Financial Derivatives Toolbox 是金融衍生产品工具
2、箱,用于固定收益、金融衍生物以及风险投资评估分析,也可用于各种金融衍生物定价策略以及敏感度分析。,2. Financial Derivatives Toolbox,3. Financial Time Series Toolbox,Financial Time Series Toolbox 用于分析金融市场的时间序列数据。金融数据是时间序列数据,例如股票价格或每天的利息波动,可以用该工具箱进行更加直观的数据管理。该工具箱支持下列功能:,技术分析函数分析投资。,可视化金融时间序列的对象;,提供两种创建金融时间序列的对象(用构造器和转换文本文件);,Matlab在金融工程中的应用,FixedInco
3、me Toolbox扩展了Matlab在金融财经方面的应用,可以用固定收益模型进行计算,例如定价、收益和现金流动等有价证券的固定收益计算。支持的固定收益类型包括有价证券抵押回报、社会债卷和保证金等。该工具箱还能够处理相应金融衍生物的计算,支持抵押回收有价证券、国债和可转换债卷等的计算。,Garch Toolbox 提供了一个集成计算环境,允许对单变量金融时序数据的易变性进行建模。 Garch Toolbox使用一个广义ARMAX/GARCH复合模型对带有条件异方差的金融时序数据进行仿真、预测和参数识别。 Garch Toolbox提供了基本工具为单变量广义自回归条件异方差GARCH(Gener
4、alized Auto Regressive Conditional Heteroskedasticity)易变性进行建模。 Garch Toolbox采用单变量GARCH模型对金融市场中的变化性进行分析。,4. FixedIncome Toolbox,5. Garch Toolbox,Matlab在金融工程中的应用,上述工具箱基本上囊括了通常的金融计算,适用于金融学术研究,特别适合金融实务工作者进行金融计算。 Financial Toolbox提供了一个基于Matlab的财务分析支撑环境,可以完成许多种财务分析统计任务;从简单计算到全面的分布式应用,财务工具箱都能够用来进行证卷定价、资产组合
5、收益分析、偏差分析和优化业务量等工作。,Matlab在金融工程中的应用,金 融 数 据 统 计,本讲主要介绍了统计学的基本原理和基本统计量。要求读者掌握均匀分布、正态分布随机数生成办法,学会常用的统计绘图命令,掌握回归的方法,学会运用主成份、因子分析金融问题。,一、随机模拟基本原理,1977年,菲利浦.伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题。其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以模拟不同的路径;每做完一次模拟,就产生一个最终资产价值,在进行若干次这样的过程,那么所得到的结果就是一个最终资产价值分布,从这个分布中可以得到期望的资产价格。,
6、Matlab在金融工程中的应用,(一) 随机数生成函数,在Matlab中 unidrnd 函数可以生成1N的均匀分布随机数。其调用方式为:,Runidrnd( N ),随机数矩阵,确定输出随机矩阵R的行数,生成在1N之间的一个随机数,1. 均匀分布随机数生成函数,Runidrnd( N,m ),Runidrnd( N,m,n ),确定输出随机矩阵R的列数,输出方阵,Matlab在金融工程中的应用,unifrnd(0,1) ans= 0.4565,如果需要生成服从连续均匀分布的随机数,则可以调用 unifrnd 函数,其调用方式为:,Runifrnd( A,B ),A,B是随机数的下界与上界,如
7、:生成一个01之间随机数:,2. 生成服从连续均匀分布的随机数,Runifrnd( A,B,m ),Runifrnd( A,B,m,n ),m,n表示随机数的维数,Matlab在金融工程中的应用,下面介绍两种方法生成12之间随机矩阵K,K为5行6列矩阵。,方法1,方法2,unifrnd(1,2,5,6) ans = 1.9334 1.1338 1.5751 1.0129 1.6124 1.5869 1.6833 1.2071 1.4514 1.3840 1.6085 1.0576 1.2126 1.6072 1.0439 1.6831 1.0158 1.3676 1.8392 1.6299 1
8、.0272 1.0928 1.0164 1.6315 1.6288 1.3705 1.3127 1.0353 1.1901 1.7176,unifrnd(1,2,5,6) ans = 1.6927 1.1536 1.5548 1.2731 1.9084 1.6408 1.0841 1.6756 1.1210 1.2548 1.2319 1.1909 1.4544 1.6992 1.4508 1.8656 1.2393 1.8439 1.4418 1.7275 1.7159 1.2324 1.0498 1.1739 1.3533 1.4784 1.8928 1.8049 1.0784 1.170
9、8,Matlab在金融工程中的应用,Rnormrnd( mu,sigma ),正态分布的均值,随机矩阵R的行数,正态分布的方差,3. 生成正态分布的随机数,Rnormrnd( mu,sigma,m ),Rnormrnd( mu,sigma,m,n ),随机矩阵R的列数,调用方式为:, normrnd(0,1) ans= -0.4326,如:生成均值为0,方差为1正态分布的随机数,可用命令,Matlab在金融工程中的应用,下面用两种方法生成均值为0,方差为1的正态分布矩阵,矩阵为5行6列。,方法1,方法2,normrnd(0,1,5,6) ans = -0.3179 0.7310 -0.2556
10、 0.1184 0.7990 -1.0078 1.0950 0.5779 -0.3775 0.3148 0.9409 -0.7420 -1.8740 0.0403 -0.2959 1.4435 -0.9921 1.0823 0.4282 0.6771 -1.4751 -0.3510 0.2120 -0.1315 0.8956 0.5689 -0.2340 0.6232 0.2379 0.3899,normrnd(0,1,5,6) ans = 0.0880 0.7812 -2.2023 0.0215 -1.0559 -1.1283 -0.6355 0.5690 0.9863 -1.0039 1.
11、4725 -1.3493 -0.5596 -0.8217 -0.5186 -0.9471 0.0557 -0.2611 0.4437 -0.2656 0.3274 -0.3744 -1.2173 0.9535 -0.9499 -1.1878 0.2341 -1.1859 -0.0412 0.1286,Matlab在金融工程中的应用,4. 特定分布随机数发生器,在Matlab中有统一格式随机数发生器,函数名称为random,可以生成许多服从不同分布的随机数。,调用方式,y=random(name , A1 , A2 , A3 , m , n),输出参数,name 说明随机分布的类型,具体如下表所
12、列。,Matlab在金融工程中的应用,特定分布的参数表, a = random (Normal , 0 , 1 , 3 , 2) a = 0.6565 -0.2624 -1.1678 -1.2132 -0.4606 -1.3194,下面用random函数生成3行2列的正态分布随机数矩阵,正态分布的均值为0、方差为1。,Matlab在金融工程中的应用,5. 多元正态分布的随机数,多元正态分布的随机数可以用如下形式表示:,式中: 是均值向量, 是协方差矩阵。,Xi N( , ),mu 均值 sigma 协方差 cases 样本个数,在Matlab中可使用mvnrnd函数生成多元正态分布函数。,调用
13、方式,R= mvnrnd(mu , sigma) R= mvnrnd(mu , sigma , cases),输入参数,Matlab在金融工程中的应用,mu = 2 3 ; %均值 SIGMA=1 1.5;1.5 3; %协方差矩阵 r=mvnrnd(mu,SIGMA,100); %生成100个随机样本 plot(r(:,1),r(:,2),+),下面生成一个多元正态分布的例子。,样本的散点图如右所示:,二元正态分布的散点图,Matlab在金融工程中的应用,(二)多元正态分布密度函数, mu = 1 -1; Sigma = 0.9 0.4 ; 0.4 0.3; X = 2 1 ; p = mv
14、npdf(X , mu , Sigma) p = 1.3828 e-005,多元正态分布的密度函数是 mvnpdf。,调用方式,mvnpdf(X , mu , Sigma),下面是一个例子。,Matlab在金融工程中的应用, mu = 1 -1; Sigma = 0.9 0.4 ; 0 .4 0.3; X = 2 1; f = mvncdf (X , mu , Sigma) f = 0.8541,F (x,y) P(X x,Y y),如果计算分布函数,则X、Y为二元随机正态分布,分布函数 F(x,y) 的定义如下:,调用方式为:,p=mvncdf(X , mu , SIGMA),下面举一个例子
15、。,可以看出:对于随机变量 X,Y,有 P(X 2 , Y 1) = 0.8541 也即 X 2且Y 1 的概率为0.8541。,Matlab在金融工程中的应用,二、随机变量的数字特征,A 如果A为向量,则返回值为该向量的平均值; 如果A是矩阵,则返回值是每列的平均值。 dim dim=1(默认)表示每列平均,dim=2表示每 行平均。,(一)计算平均值,调用方式,M = mean (A) mean(A , dim),输入参数,Matlab在金融工程中的应用,在Matlab中计算几何平均数的函数为 geomean;计算调和平均数的函数是 harmmean 函数,调和平均数的计算公式是 注意样本
16、数据不能为 0 。, a = 1 2 ; 3 4; a = 1 2 3 4,下面是一个例子。, mean ( a ) ans = 2 3, mean( a , 2) ans = 1.500 0 3.500 0,Matlab在金融工程中的应用,(二) 剔除异常值后的平均值,X 样本观察矩阵。 percent 剔除比率,例如percent10表示同时剔除最大 的5%和最小的5观察值 。 dim dim1(默认)表示对每列求平均值,dim2 表示对每行求平均值。,有时观察数据中有异常大或异常小的值,这些异常值会对平均值产生影响,需要去掉异常值。例如在体操比赛中,去掉一个最高分和最低分,然后计算运动员
17、的最后得分。在Matlab中也有剔除异常值后的平均数。,调用方式,M = trimmean ( X , percent ) M = trimmean ( X , percent , dim ),输入参数,Matlab在金融工程中的应用, x = rand( 1 , 20 ) trimmean (x , 10) ans = 0.5145,(三)计算中位数,A 样本观测矩阵 dim dim1(默认)表示对每列求中位数,dim2表示对每行求中位数,剔除10的异常值之后的平均数为0.5145 。,调用方式,M median (A) M median (A ,dim),输入参数,有时数据中出现NaN,在
18、计算中位数时需要忽略NaN,这时需要调用nanmedian函数。,Matlab在金融工程中的应用,(四)计算方差与标准差,A 样本值 flag 0(默认值)表示方差计算公式为 1表示方差计算公式为,一般说来,资产组合的风险越大,方差越大,波动性越大。方差由于其简单、直观以及良好的统计性质使其成为风险的代名词。,在Matlab中计算方差、标准差的函数分别是 Var、Std。,方差调用方式,Var( A ) Var( A ,flag ),标准差调用方式,Std(A) Std(A , flag),输入参数,Matlab在金融工程中的应用,(五) 计算样本的百分位数, x = rand( 1 , 20
19、 ); prctile ( x , 20 ) ans = 0.1688,调用方式,Y prctile(X,p,dim),输入参数,X 观察值 p 计算大于p值的数 dim 同上,下面是一个例子,Matlab在金融工程中的应用,(六)计算样本极差,r = range ( q ) r = range ( q,dim ),极差就是样本极大值与极小值的差,反映样本的离散程度。,调用方式, x = rand ( 1 , 20 ); range ( x ) ans = 0.8404,下面是一个例子,Matlab在金融工程中的应用,(七)计算偏度与峰度,方差作为风险的度量指标并不是完整的。比如讲,两种资产收
20、益分布的均值和方差都是相同的,但是一种资产收益是左偏的,另一种是右偏的。对于风险而言,相对于大概率和小损失人们更加厌恶小概率大损失的情况,后一种情况给人们带来的痛苦远大于第一情况。从这个意义上讲,收益分布左偏的资产的风险水平要小于右偏的资产。此时,方差作为风险的度量指标就不是完全的,还要考虑峰度、偏度等指标。 偏度和峰度是两个高阶的统计量。计算偏度的目的在于考察组合收益率水平是否是对称分布,也就是组合产生亏损与获得盈利的概率如何;峰度是考察组合的收益率情况是否接近正态分布,如果组合的收益率存在尖峰厚尾的分布特征,则说明组合产生亏损和盈利的概率偏大,也就是在一定程度上认为组合收益率出现极端性的可
21、能性偏大,这种组合的收益率稳定性是比较差的。,Matlab在金融工程中的应用,正态分布的峰度等于 3,大于3表示尖峰,小于3表示分布比较均匀。股票市场收益率的时间序列大都为尖峰肥尾。,偏度的计算公式为,式中:, 分别为样本 x 的均值与方差。,如果 skewness0,则表示分布形态与正态分布偏度相同;如果 skewness 0,则表示正偏差数值较大,长尾巴拖在右边;如果skeqness0,则表示负偏差数值较大,长尾巴拖在左边。,峰度的计算公式为,Matlab在金融工程中的应用, x = rand( 1 , 20 ); skewness( x ) ans = -0.0487,1. 计算偏度,调
22、用方式,Y = skewness ( A ) Y = skewness( A , flag ),输入参数,A 样本值 flag 偏度的计算方式,0(默认)为无偏估计, 1为有偏估计,下面是一个例子。,Matlab在金融工程中的应用,k = kurtosis ( X ) k = kurtosis ( X, flag ) k = kurtosis ( X, flag , dim ),2. 计算峰度,调用方式,X 样本观察矩阵 flag 峰度的计算方式,0(默认)为无偏估计, 1为有偏估计 dim dim1(默认)表示对每列求平均, dim2表示对每行求平均,输入参数, x = rand( 1 ,
23、20 ) kurtosis ( x ) ans = 1.4407,下面是一个例子。,Matlab在金融工程中的应用,(八)计算绝对离差,绝对离差是以偏差绝对数来衡量决策方案的风险。在期望值相同的情况下,绝对离差越大,风险越大;绝对离差越小,风险越小。,调用方式,Y = mad( X ) Y = mad( X , n ),输入参数,X 观察值 n 绝对偏差计算方式 n0(默认)计算公式为mean(abs(Xmean(X) n1计算公式为median(abs(Xmedian(X), x = rand ( 1 , 20 ) mad ( x ) ans = 0.1750,下面是一个绝对离差的例子。,M
24、atlab在金融工程中的应用,(九)计算中心矩,数理统计中经常用到中心矩的概念,k阶中心矩的计算公式为,可以看出 1 阶中心矩为 0,如果观察值是矩阵则以每列为样本计算中心矩。,X 观察样本值 order 中心矩的阶数,必须为正整数,调用方式,M = moment ( X , order ),输入参数,Matlab在金融工程中的应用, X = rand ( 6 5 ) X = 0.4154 0.9901 0.3200 0.4399 0.1338 0.3050 0.7889 0.9601 0.9334 0.2071 0.8744 0.4387 0.7266 0.6833 0.6072 0.015
25、0 0.4983 0.4120 0.2126 0.6299 0.7680 0.2140 0.7446 0.8392 0.3705 0.9708 0.6435 0.2679 0.6288 0.5751, m = moment ( X , 3 ) m = -0.0113 0.0014 0.0032 -0.0058 -0.0023,下面计算样本的 3 阶矩。,Matlab在金融工程中的应用,(十)计算协方差和相关系数,协方差是一个用于衡量投资组合任意两个资产相关性的统计指标。当协方差为正值时,表示两种资产的收益率呈同方向变动;协方差为负值时,表示两种资产的收益率呈相反方向变化;协方差等于 0 时,表
26、示两种资产不存在相关性。 相关系数总是在 -11 之间的范围内变动,-1 表示完全负相关(反向),1 表示完全正相关(同向),0 则表示不相关。Matlab计算协方差、相关系数的函数分别是cov 和 corrcoef 。,Matlab在金融工程中的应用,协方差,调用方式,C = cov ( X ) C = cov( x , y ),下面是一个例子, A = -1 1 2 ; -2 3 1 ; 4 0 3; cov ( A ) ans = 10.333 -4.1667 3.0000 -4.1667 2.3333 -1.5000 3.0000 -1.5000 1.0000,Matlab在金融工程中
27、的应用,X 观察值矩阵 Y 观察向量 param1 参数 1 ,参数的值如下: alpha表示置信度,在 01 之间 val1 参数 1 的值 param2 参数 2 val2 参数 2 的值,2. 相关系数,调用方式,R = corrcoef ( X ) R = corrcoef ( x , y ) R , P = corrcoef ( X , param1 , val1 , param2, val2 , ),输入参数,R 相关系数矩阵 P 每个相关系数的概率矩阵,输出参数,Matlab在金融工程中的应用, x = rand ( 30 , 4 ); x (: , 4) = sum( x ,
28、2 ); r , p = corrcoef ( x ) i , j = find ( p i , j ,下面是一个计算相关系数的例子。,r = 1.0000 0.1412 -0.1954 0.4993 0.1412 1.0000 -0.1312 0.5848 -0.1954 -0.1312 1.0000 0.3729 0.4993 0.5848 0.3729 1.0000 p = 1.0000 0.4566 0.3008 0.0050 0.4566 1.0000 0.4896 0.0007 0.3008 0.4896 1.0000 0.0424 0.0050 0.0007 0.0424 1.0
29、000 ans = 4 1 4 2 4 3 1 4 2 4 3 4,Matlab在金融工程中的应用,三、 统 计 绘 图, x = 1 2 3 5 7 3 3.4 x = 1.0000 2.0000 3.0000 5.0000 7.0000 3.0000 3.4000 tabulate ( x ) Value Count Percent 1 1 14.29% 2 1 14.29% 3 2 28.57% 3.4 1 14.29% 5 1 14.29% 7 1 14.29%,(一)样本频率分布图,样本频率分布图函数是 tabulate 。,Matlab在金融工程中的应用,下面调用 cdfplot
30、函数绘出 x 的分布图。,cdfplot ( x ),向量 x 的分布图,Matlab在金融工程中的应用,(二)最小二乘拟合图,在 Matlab 中绘制最小二乘拟合图的命令是 lsline ,下面是一个例子。,x=rand ( 1 , 20 ) x=cumsum ( x ) plot ( x , + ) lsline,最小二乘拟合图,Matlab在金融工程中的应用,(三)正态分布概率图,有时需要判断样本数据是否服从正态分布,normplot 函数用图的形式给出直观的判断。如果数据点越靠近直线则分布越近似正态分布,越远则越偏离正态分布。,x=normrnd(0,1,20,1) plot(x,+)
31、 normplot(x),正态分布拟合图,Matlab在金融工程中的应用,从图中可以看出,数据点基本上是直线,所以符合正态分布。如果判断数据是否服从 Weibull 分布则可以对生成的数据用 wblplot 函数进行判断。下图给出了Weibull 分布拟合的结果。,从图中看出对于数据较小、较大的点偏离较大,数据不服从Weibull 分布。,Weibull分布拟合图,Matlab在金融工程中的应用,(四)样本密度图,randn(seed,0); x=randn(1,20); x=cumsum(x) capaplot(x,0,10),在Matlab中绘出样本数据的密度图函数为 capaplot。,
32、样本的密度示意图如右图所示。,样本的密度示意图,Matlab在金融工程中的应用,(五)频率直方图,Y 观察值。如果 Y 是一个向量,则画出一个频率图; 如果 Y 是一个 mp 阶矩阵,则对 Y 每一列分别 作频率图 nbins 频率图分成 nbins 等分的区间段,默认值为 10 。,调用方式,n = hist ( Y ) n = hist ( Y , nbins ) n , xout = hist ( Y , nbins ),输入参数,n 样本落在区间段的频率 xout 区间断的刻度,输出参数,Matlab在金融工程中的应用,下面是一个例子。,randn(seed,0) x=randn(1,
33、200) ; hist(x),频率直方图如右图所示,Matlab在金融工程中的应用, hist ( x , min ( x ) : 0.3 : max ( x ) ) ;,其中 min ( x ) : 0.3 : max ( x ) 表示频率图 X 轴的刻度起点是 x 最小元素,终点是 x 中最大元素,刻度间隔 0.3。规定刻度间隔的频率直方图如下图所示。,Matlab在金融工程中的应用,如果在频率图的基础上加上正态分布拟合图,则可以用 histfit 函数。,randn(seed,0) x=randn(1,20) histfit(x),带有密度函数的频率直方图如右图所示。,Matlab在金融
34、工程中的应用,(六)盒 图,X 样本观察值 G 各组的名称 Param1 参数 1 的名称 val1 参数 1 的值,在 Matlab 中绘制样本数据的盒图函数是 boxplot。,调用方式,boxplot ( X ) boxplot ( X , G ) boxplot ( X , Param1,val1,Param2,val2,),输入参数,Matlab在金融工程中的应用,各参数的名称和内容如下表所列,Matlab在金融工程中的应用,x1=normrnd(5,1,100,1); x2=normrnd(6,1,100,1); boxplot(x1,x2,notch,on),盒子的上下两条线分别
35、为样本的 25和 75分位数,盒子的上下底之间的距离为四分位的间距。 盒子的中间线为样本中值,如果样本中值不在盒子的中间,表示存在一定的偏度。盒子的上方和下方有两条虚线,显示了样本的范围,野值(异常值)位于超过盒子顶端、底端 1.5 倍的四分位数。 含有缺口的盒图中齿形缺口表示样本中值的置信区间。,图 中的内容说明如下:,正态分布盒图如右图所示。,Matlab在金融工程中的应用,四、多元线性回归分析,在金融上常常需要对金融、经济数据进行回归,其中最简单的是多元线性回归。,(一)多元线性回归,b=regress(Y,X) b,bint=regress(Y,X) b,bint,r=regress(
36、Y,X) b,bint,r,rint=regress(Y,X) b,bint,r,rint,stats=regress(Y,X) b,bint,r,rint,stats=regress(Y,X,alpha),假设因变量 Y 和自变量 X 之间服从以下的线性模型:,式中:Y 是因变量的观察值,X是自变量回归矩阵, 是参数向量, 是白噪声。,的最小二乘解是,调用方式,Matlab在金融工程中的应用,X 自变量观察值,注意如果模型中有常数项,则 X 的 第一列所有元素为 1 。 Y 因变量观察值向量 alpha 参数的置信度,输入参数,例1 首先按照下面模型生成一系列随机数,然后回归。,b 的估计值
37、,注意 b 中已经包含了常数项 bint 的置信区间 r 残值 rint 残值的置信区间 stats R2、F、概率 p,输出参数,Matlab在金融工程中的应用,b,bint,r,rint,stats=regress(Y,ones(10,1),X,0.05),下面生成一组随机数,X= 1:10; Y=0.1+0.4*X + normrnd(0,0.1,1,10);,下面估计 :,rint = -0.1794 0.1149 -0.1435 0.1764 -0.1625 0.1737 -0.2005 0.1417 -0.1795 0.1712 -0.1046 0.2290 -0.0569 0.2
38、470 -0.2559 -0.0402 -0.0667 0.2238 -0.1889 0.1008 stats = 1.0e+003 * 0.0010 2.2837 0.0000 0.0000,b = 0.1303 0.3953 bint = 0.0120 0.2487 0.3762 0.4144 r = -0.0323 0.0165 0.0056 -0.0294 -0.0041 0.0622 0.0950 -0.1480 0.0785 -0.0440,Matlab在金融工程中的应用,从 b 的估计值可以得知常数项和一次项的系数分别为0.1303, 0.3953。在 0.05 置信水平下常数项
39、系数估计区间为0.0120 0.2487,X的系数置信区间为0.3762 0.4144。由于样本数量非常少,参数估计并不稳定。下图是残差及其置信区间图。,rcoplot(r,rint),Matlab在金融工程中的应用,(二)多元正态回归,在 Matlab 中 mvnrmle 函数可以进行多元正态回归,假设Yk 为随机变量,其分布如下:,式中:N ( g , g )为多元正态分布。,调用方式,Parameters,Covariance,Resid,Info= mvnrmle(Y,Design,MaxIterations,TolParam,Tol0bj,Covar0),Matlab在金融工程中的应
40、用,Parameters 参数 Covariance 协方差 Resid 残差 Info 估计过程的相关系数,Y 观察值矩阵,Ynk中n是样本的个数,k是资产的数目 Design 自变量单元变量矩阵,如果 Y 只有一个资产时,Design是 一个矩阵,如果 Y 中的资产个数大于一个时,Design 是 一个单元向量,每个元素都是一个矩阵。Y 的 k 列和 Design 第 k 个元素中的矩阵进行回归 MaxIterations TolParam Tol0bj Covaro,输出参数,输入参数,Matlab在金融工程中的应用,(三)估计多元正态分布每个资产的标准差,Data 观察值矩阵,Ynk
41、中n样本的个数,k是资产的数目 Design 自变量单元变量矩阵,如果 Y 只有一个资产时,Design 是一个单元向量,如果Y含有多于一个资产时,Design 是一个单元变量矩阵 Covariance 回归时的残值,调用方式,StdParameters, StdCovariance= mvnrstd(Data, Design, Covariance),输入参数,StdParameters 每个资产的标准差 StdCovariance 协方差,输出参数,Matlab在金融工程中的应用,(四)岭 回 归,线性回归中参数估计 ,如果观察值 X 存在自相关性,则 XTX是奇异矩阵,估计值就会出现非常
42、大的误差,这时矩阵XTX 需要加上一个对角元素是常数 k 的单位阵,即 。Matlab提供了岭回归 ridge 函数求解该问题。,b 模型估计参数,调用方式,b1 = ridge ( Y , X , k ) b0 = ridge ( Y , X , k,0 ),输入参数,Y 因变量观察值 X 自变量观察值 k k 表示控制系数,可以根据需 要进行选择。,输出参数,Matlab在金融工程中的应用,k = 0:0.01:1; b = ridge(heat, ingredients, k); plot(k, b); xlabel(Ridge parameter); ylabel(Standardiz
43、ed coef.); title(Ridge Trace for Hald Data) legend(x1,x2,x3,x4);,例2 对 hald 文件中的数据进行岭回归。,load hald,查看工作区中的变量。,who Your variables are : hald heat ingredients,Matlab在金融工程中的应用,五、主成分分析,主成分分析是在各个变量之间相关关系研究的基础上,用较少的新变量代替原来较多的变量,而且使这些较少的新变量尽可能多地保留原来较多的变量所反映的信息。,(一)主成分分析基本原理,首先对样本进行标准化处理,为简单起见,标准化后的样本仍记为X1 ,
44、 X2 , X3 , , Xp 。,设样本为 X1 , X2 , X3 , , Xp,其对应的样本均值为 对应的标准差为 S1 ,S2,S3 , , Sp 。,Matlab在金融工程中的应用,设 F1 , F2 , F3 , , Fp 是主成分,也即是 X1 , X2 , X3 , , Xp 的线性表示,同时满足下面的条件: 主成分是原样本的正交变换。 各主成分之间互不相关。 主成分的总方差不变。 主成分按方差从大到小排序。,主成分具有如下性质:,这一性质说明,主成分是原变量的线性组合,是对原变量信息的一种改良;主成分不增加总信息量,也不减少总信息量。,Matlab在金融工程中的应用,设 为主
45、成分的特征值,前 k 个方差累积贡献率为 一般当累积贡献率大于 85 时不再增加新的主成分。,保留多少个主成分取决于保留部分的累积方差在总方差中占的百分比(即累计贡献率),它标志着前几个主成分概括的信息的多寡。在实践中,粗略规定一个百分比就可以决定保留几个主成分,如果多留一个主成分,但累积方差增加无几,便不再多留。,Matlab在金融工程中的应用,(二)主成分分析函数,COEFF 主成分系数 SCORE 新坐标系 latent X的协方差矩阵的特征值 tsquare Hotelling 统计量的值,在Matlab中提供了两个主成分分析函数princomp和pcacov。,COEFF,SCORE
46、=princomp(X) COEFF,SCORE,latent=princomp(X) COEFF,SCORE,latent,tsquare=princomp(X),输入参数,X 观察变量,输出参数,调用方式,Matlab在金融工程中的应用,corrcoef ( ingredients ) ans = 1.0000 0.2286 -0.8241 -0.2454 0.2286 1.0000 -0.1392 -0.9730 -0.8241 -0.1392 1.0000 0.0295 -0.2454 -0.9730 0.0295 1.0000,例3 用Matlab自带数据进行主成分分析。Matlab
47、中自带了数据文件 hald ,可以直接调用进行主成分分析。hald 数据考虑影响温度的 4 个因素,温度保存在 heat 变量中,4 个因素的观察值保存在 ingredients 中。由于 4 个因素之间存在相关性,无法直接回归,为解决这个问题,首先进行主成分分析,生成四个主成分变量,主成分之间互不相关,而且和观察值的信息是同样的。,第一步:载入数据,考察变量之间的相关性。, load hald %载入Matlab自带的数据文件,考察相关性,Matlab在金融工程中的应用,发现自变量 2 与变量 3 之间的高度相关,所以需要剔除相关性。,第二步:主成分分析。, pc,score,latent,
48、tsquare = princomp(ingredients),主成分系数,pc = 0.0678 0.6460 -0.5673 0.5062 0.6785 0.0200 0.5440 0.4933 -0.0290 -0.7553 -0.4036 0.5156 -0.7309 0.1085 0.4684 0.4844,Matlab在金融工程中的应用,主成分的方差贡献率,score = -36.8218 6.8709 4.5909 0.3967 -29.6073 -4.6109 2.2476 -0.3958 12.9818 4.2049 -0.9022 -1.1261 -23.7147 6.63
49、41 -1.8547 -0.3786 0.5532 4.4617 6.0874 0.1424 10.8125 3.6466 -0.9130 -0.1350 32.5882 -8.9798 1.6063 0.0818 -22.6064 -10.7259 -3.2365 0.3243 9.2626 -8.9854 0.0169 -0.5437 3.2840 14.1573 -7.0465 0.3405 -9.2200 -12.3861 -3.4283 0.4352 25.5849 2.7817 0.3867 0.4468 26.9032 2.9310 2.4455 0.4116,Matlab在金融
50、工程中的应用,协方差的特征值,latent = 517.7969 67.4964 12.4054 0.2372 tsquare = 5.6803 3.0758 6.0002 2.6198 3.3681 0.5668 3.4818 3.9794 2.6086 7.4818 4.1830 2.2327 2.7216,Matlab在金融工程中的应用,由此可以得到4个主成分如下:,从特征值可以看出前面两个主成分可以很好的解释98%的方差:,(517.796 9+67.496 4)/(517.7969+67.4964+12.4054+0.2372) =98%,Matlab在金融工程中的应用,covx=c
51、ov(ingredients); pc,latent,explain=pcacov(covx),采用 pcacov 函数计算主成分的结果同 princomp 函数的结果是一样的。, load hald,然后计算观察变量 ingredients 协方差。, new = ingredients * pc,在确定主成分后对主成分进行回归。,将生成的 4 个主成分,保存在变量 new 中,变量 new 中的每列就是一个主成分。,Matlab在金融工程中的应用, regress(heat,new(:,1:2) ans = 2.1843 1.0894,验证主成分之间的相关性:, corrcoef(new)
52、 ans = 1.0000 0.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 0.0000 1.0000,发现主成分之间是不相关的。,第三步:用前两个主成分进行回归。,Matlab在金融工程中的应用, 2.1843 * pc(:,1) + 1.0894 * pc(:,2) ans = 0.8519 1.5039 -0.8862 -1.4783,这样温度和主成分之间的关系如下:,还原成线性回归形式:,这样温度和自变量之间的关系如下:,Matlab在金融工程中的应用,
53、第四步:验证主成分分析优点。,下面计算 heat 和 ingredients 中各个分量的相关系数。, corr(heat, ingredients(:,1) ans = 0.7307, corr(heat, ingredients(:,2) ans = 0.8163, corr(heat, ingredients(:,3) ans = -0.5347, corr(heat, ingredients(:,4) ans = -0.8213,Matlab在金融工程中的应用,相关系数表明前两个自变量和因变量之间是正相关,后两个自变量和因变量之间负相关。式(1)和实际结果相印证。,从式(2)可以看出自
54、变量和因变量之间都是正相关,显然和实际结果不相印证。,自变量和因变量之间的函数关系如下:, c0 = regress(heat,ingredients) c0 = 2.1930 1.1533 0.7585 0.4863,如果不用主成分回归,而是直接对自变量和因变量进行回归。,Matlab在金融工程中的应用,六、因子分析,因子分析法(factor analysis)是一种用来分析隐藏在表象背后的因子作用的一类统计模型和方法,它起源于心理度量学,最初是研究如何使用少数几个变量来解释众多原始变量,同时又尽量避免信息丢失的多元统计分析方法。在实际问题的分析过程中,常用因子分析去除重叠信息,将原始的众多
55、指标综合成较少的几个因子变量来分析。,1. 因子分析法相关概念,设样本为 , 其对应的样本均值为 , 对应的标准差为 。,Matlab在金融工程中的应用,因子分析的核心问题有两个,一是确定因子的个数,二是对因子变量进行命名。,首先对样本进行标准化处理,为简单起见,标准化后的样本仍记为 。,因子分析的数学模型如下:,X = f X +s,式中:X是经过正交处理的样本值,f 是负荷矩阵,表示公共因子部分,s是其他特殊因子。要求f,s之间不相关而且不可观察。,Matlab在金融工程中的应用,lambda 负荷矩阵估计值 psi 特殊因素矩阵估计值 T 因素负荷旋转矩阵 stats 假设检验 F F是
56、nm维因子的分矩阵,2. 因子分析函数调用方式,调用方式,lambda = factoran(X,m) lanmba , psi = factoran(X,m) lanmba , psi , T = factoran(X,m) lanmba , psi , T , stats = factoran(X,m) lanmba , psi , T , stats , F = factoran(X,m),输入参数,X 观察值矩阵,每列属于同一个变量 m 公共因素的个数,输出参数,Matlab在金融工程中的应用,下面用一个例子说明,例4 在Matlab中自带了10个公司100周的收益率数据,10家公司分
57、成3个行业,4家属于科技公司,3家属于金融公司,另外3家属于零售类公司。一般来讲,同一行业内上市公司同质性强,走势也相同,不同行业内之间股票受不同风险因素影响,走势差别较大。下面验证该结论。, load stockreturns m=3; 考虑3个行业的因素 LoadingsPM,specificVarPM =factoran(stocks,m,rotate,promax),Matlab在金融工程中的应用,从上述结果可以明显看出第1到第4家公司属于同一类公司,第5家到第7家属于同一类公司,第8家到第10家属于同一类公司,说明不同行业间的股票收益率存在不同。,LoadingsPM = 0.9452 0.1214 -0.0617 0.7064 -0.0178 0.2058 0.3885 -0.0994 0.0975 0.4162 -0.0148 -0.1298 0.1021 0.9019 0.0768 0.0873 0.7709 -0.0821 -0.1616 0.5320 -0.0888 0.216
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023七年级英语下册 Unit 10 I'd like some noodles说课稿 (新版)人教新目标版
- 消防控制室管理制度
- 2024-2025学年初中同步测控优化设计物理八年级上册配人教版专项训练含答案
- 法国课件湘教版
- 简讯格式与范文
- 西京学院《机械工程测试技术》2022-2023学年第一学期期末试卷
- 西京学院《产品造型材料与工艺》2023-2024学年第一学期期末试卷
- 西华师范大学《中国近现代政治思想史》2023-2024学年第一学期期末试卷
- 西华师范大学《信息技术教育应用》2023-2024学年第一学期期末试卷
- 西华师范大学《统计计算与软件》2023-2024学年第一学期期末试卷
- (2024年)财务报表分析培训讲义
- 金融学专业大学生职业生涯规划
- 产品销售经理培训课件
- 变革管理手册
- 蔬菜栽培生理学课件
- 大型商场消防安全知识培训
- 【工程项目全生命周期管理及案例分析5900字(论文)】
- 长津湖影评及观后感
- 关注护士职业心理健康
- 2024年合肥市轨道交通集团有限公司招聘笔试参考题库含答案解析
- 普速铁路接触网运行维修规则
评论
0/150
提交评论