第八讲matlab在金融工程中的应用
第八讲 Matlab 在金融工程中的应用,张树德 著,参考文献:,MATLAB金融计算与金融数据处理,北京航空航天大学出版社, 2008,Matlab金融工具箱模块,1. Financial Toolbox,Matlab自带金融工具箱,具有下列功能:,固定收益计算,日期数据处理,资产均值-方差分析,时间序列分析,有价证卷的收益和价格,统计分析,定价和灵敏度分析,年金和现金流计算,抵押支持债卷,Financial Derivatives Toolbox 是金融衍生产品工具箱,用于固定收益、金融衍生物以及风险投资评估分析,也可用于各种金融衍生物定价策略以及敏感度分析。,2. Financial Derivatives Toolbox,3. Financial Time Series Toolbox,Financial Time Series Toolbox 用于分析金融市场的时间序列数据。金融数据是时间序列数据,例如股票价格或每天的利息波动,可以用该工具箱进行更加直观的数据管理。该工具箱支持下列功能:,技术分析函数分析投资。,可视化金融时间序列的对象;,提供两种创建金融时间序列的对象(用构造器和转换文本文件);,Fixed-Income Toolbox扩展了Matlab在金融财经方面的应用,可以用固定收益模型进行计算,例如定价、收益和现金流动等有价证券的固定收益计算。支持的固定收益类型包括有价证券抵押回报、社会债卷和保证金等。该工具箱还能够处理相应金融衍生物的计算,支持抵押回收有价证券、国债和可转换债卷等的计算。,Garch Toolbox 提供了一个集成计算环境,允许对单变量金融时序数据的易变性进行建模。 Garch Toolbox使用一个广义ARMAX/GARCH复合模型对带有条件异方差的金融时序数据进行仿真、预测和参数识别。 Garch Toolbox提供了基本工具为单变量广义自回归条件异方差GARCH(Generalized Auto Regressive Conditional Heteroskedasticity)易变性进行建模。 Garch Toolbox采用单变量GARCH模型对金融市场中的变化性进行分析。,4. Fixed-Income Toolbox,5. Garch Toolbox,上述工具箱基本上囊括了通常的金融计算,适用于金融学术研究,特别适合金融实务工作者进行金融计算。 Financial Toolbox提供了一个基于Matlab的财务分析支撑环境,可以完成许多种财务分析统计任务;从简单计算到全面的分布式应用,财务工具箱都能够用来进行证卷定价、资产组合收益分析、偏差分析和优化业务量等工作。,金 融 数 据 统 计,本讲主要介绍了统计学的基本原理和基本统计量。要求读者掌握均匀分布、正态分布随机数生成办法,学会常用的统计绘图命令,掌握回归的方法,学会运用主成份、因子分析金融问题。,一、随机模拟基本原理,1977年,菲利浦.伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题。其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以模拟不同的路径;每做完一次模拟,就产生一个最终资产价值,在进行若干次这样的过程,那么所得到的结果就是一个最终资产价值分布,从这个分布中可以得到期望的资产价格。,(一) 随机数生成函数,在Matlab中 unidrnd 函数可以生成1~N的均匀分布随机数。其调用方式为:,R=unidrnd( N ),随机数矩阵,确定输出随机矩阵R的行数,生成在1~N之间的一个随机数,1. 均匀分布随机数生成函数,R=unidrnd( N,m ),R=unidrnd( N,m,n ),确定输出随机矩阵R的列数,,,,,输出方阵,,>>unifrnd(0,1) ans= 0.4565,如果需要生成服从连续均匀分布的随机数,则可以调用 unifrnd 函数,其调用方式为:,R=unifrnd( A,B ),A,B是随机数的下界与上界,如:生成一个0~1之间随机数:,2. 生成服从连续均匀分布的随机数,R=unifrnd( A,B,m ),R=unifrnd( A,B,m,n ),m,n表示随机数的维数,下面介绍两种方法生成1~2之间随机矩阵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.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.1708,R=normrnd( mu,sigma ),正态分布的均值,随机矩阵R的行数,正态分布的方差,3. 生成正态分布的随机数,R=normrnd( mu,sigma,m ),R=normrnd( mu,sigma,m,n ),随机矩阵R的列数,,,,,调用方式为:,>> normrnd(0,1) ans= -0.4326,如:生成均值为0,方差为1正态分布的随机数,可用命令,下面用两种方法生成均值为0,方差为1的正态分布矩阵,矩阵为5行6列。,方法1,方法2,>>normrnd(0,1,[5,6]) ans = -0.3179 0.7310 -0.2556 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,