第 7 章蒙特卡洛模拟金融衍生产品定价本章介绍蒙特卡洛模拟期权定价的内容,要求读者掌握随机数生成方式,了解蒙特卡洛定价就是模拟风险中性测度下标的资产的运动过程,学会蒙特卡洛方法模拟欧式期权定价,掌握提高模拟精度的常用方法。§7.1随机模拟基本原理 1977 年,菲力埔·伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题,其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以通过随机模拟不同的路径,每做完一次模拟,就产生了一个最终资产价值,再进行若干次这样的过程,那么所得到的结果就是一个最终的资产价值分布,从这个分布中我们可以得到期望的资产价格。7.1.1 随机数生成函数1.均匀分布随机数生成函数MATLAB 中的 unidrnd 函数可以生成 1 到 N 的均匀分布随机数。调用方式R=unidrnd(N);R=unidrnd(N,m);R=unidrn(N,m,n);其中,N 所要生成的随机数个数,m 确定输出随机矩阵 R 的行数,n 确定输出随机矩阵 R 的列数2.生成服从连续均匀分布的随机数如果需要生成服从连续分布的随机数,则需调用 unifrnd 函数,其调用格式为调用方式 1R=unifrnd(A,B)生成位于 A、B 之间的一个随机数。调用方式 2R=unifrnd(A,B,m)生成位于 A、B 之间的随机数。m=[m1,m2]表示行数列数。调用方式 3R=unifrnd(A,B,m,n),m,n 分别表示行数、列数unifrnd(1,2,[5,6]),unifrnd(1,2,5,6)7.1.2生成正态分布随机数调用方式R=normrnd(mu,sigma)R=normrnd(mu,sigma,m)R=normrnd(mu,sigma,m,n)7.1.3特定分布随机数发生器 MATLAB 中有统一格式的随机数发生器,函数名称为 random,可生成许多服从不同分布的随机数。y=random('name',A1,A2,A3,m,n)表 8.1生成特定分布的随机数函数参数表beta 分布:beta,二项分布:bino,卡方:chi2,指数分布:exp,F-分布:f, Gamma:gamLognormal:logn, uniform:unif;Poisson:poiss,T:t;Normal->norm;Noncentral F ->ncf, Noncentral->nct7.1.4蒙特卡洛模拟方差削减技术蒙持卡洛模拟精度与模拟次数密切相关,模拟次数越高其精度越高,但是次数增加又会增加计算量。实践证明明减少模拟方差可以提高稳定性,减少模拟次数。有很多种方法可以减小方差,如对偶变量技术、控制变量技术、分层抽样、矩匹配、条件蒙特卡洛模拟等,但最简单并且应用最为广泛的是对偶变量技术与控制变量技术。对偶变量技术就是先随机抽样得到一组数据,然后以此为基础构造出另一组对偶变量...