第8章__蒙特卡洛模拟金融衍生产品定价

上传人:cn****1 文档编号:510438716 上传时间:2023-05-24 格式:DOC 页数:15 大小:271KB
返回 下载 相关 举报
第8章__蒙特卡洛模拟金融衍生产品定价_第1页
第1页 / 共15页
第8章__蒙特卡洛模拟金融衍生产品定价_第2页
第2页 / 共15页
第8章__蒙特卡洛模拟金融衍生产品定价_第3页
第3页 / 共15页
第8章__蒙特卡洛模拟金融衍生产品定价_第4页
第4页 / 共15页
第8章__蒙特卡洛模拟金融衍生产品定价_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《第8章__蒙特卡洛模拟金融衍生产品定价》由会员分享,可在线阅读,更多相关《第8章__蒙特卡洛模拟金融衍生产品定价(15页珍藏版)》请在金锄头文库上搜索。

1、第8章 蒙特卡洛模拟金融衍生产品定价 本章介绍蒙特卡洛模拟期权定价的内容,要求读者掌握随机数生成方式,了解蒙特卡洛定价就是模拟风险中性测度下标的资产的运动过程,学会蒙特卡洛方法模拟欧式期权定价,掌握提高模拟精度的常用方法。8.1 随机模拟基本原理 1977年,菲力埔伯耶勒(Phelim Boyle)提出了模拟方法求解金融资产定价问题,其想法是假设资产价格分布是随机波动,如果知道了这个波动过程,就可以通过随机模拟不同的路径,每做完一次模拟,就产生了一个最终资产价值,再进行若干次这样的过程,那么所得到的结果就是一个最终的资产价值分布,从这个分布中我们可以得到期望的资产价格。8.1.1 随机数生成函

2、数1均匀分布随机数生成函数MATLAB中的unidrnd函数可以生成1到N的均匀分布随机数。 调用方式R=unidrnd(N);R=unidrnd(N,m);R=unirnd(N,m,n);其中,N所要生成的随机数个数,m确定输出随机矩阵R的行数,n确定输出随机矩阵R的列数2生成服从连续均匀分布的随机数如果需要生成服从连续分布的随机数,则需调用unifrnd函数,其调用格式为调用方式1Runifrnd(A,B)生成位于A、B之间的一个随机数。调用方式2Runifrnd(A,B,m)生成位于A、B之间的随机数。m=m1,m2表示行数列数。调用方式3Runifrnd(A,B,m,n),m,n分别表

3、示行数、列数unifrnd(1,2,5,6),unifrnd(1,2,5,6)812 生成正态分布随机数 调用方式R=normrnd(mu,sigma)R=normrnd(mu,sigma,m)R=normrnd(mu,sigma,m,n)813 特定分布随机数发生器 MATLAB中有统一格式的随机数发生器,函数名称为random,可生成许多服从不同分布的随机数。y=random(name,A1,A2,A3,m,n)表8.1 生成特定分布的随机数函数参数表beta分布:beta,二项分布:bino,卡方:chi2,指数分布:exp,F-分布:f, Gamma:gamLognormal:logn

4、, uniform:unif;Poisson:poiss,T:t;Normal-norm;Noncentral F -ncf, Noncentral-nct814 蒙特卡洛模拟方差削减技术蒙持卡洛模拟精度与模拟次数密切相关,模拟次数越高其精度越高,但是次数增加又会增加计算量。实践证明明减少模拟方差可以提高稳定性,减少模拟次数。有很多种方法可以减小方差,如对偶变量技术、控制变量技术、分层抽样、矩匹配、条件蒙特卡洛模拟等,但最简单并且应用最为广泛的是对偶变量技术与控制变量技术。 对偶变量技术就是先随机抽样得到一组数据,然后以此为基础构造出另一组对偶变量。下面以正态分布为例介绍对偶变量技术。首先从正

5、态分布变量中随机抽取N个样本值,分别为,由此可以得到个模拟值,那么衍生证券蒙特卡洛估计值为 以为基础,构造对偶随机数,是与相互对偶的随机数,由正态分布的性质知,也是服从正态分布,由对偶随机数生成的估计值为对和取平均得到新的估计如果随机抽样的样本模拟得到的估计值比较小,那么与之对偶的随机抽样样本得到的估计值可能会偏大,二者的平均值就可能会接近真实值。如果,那么从上面的不等式可以看出,利用对偶技术可以增加估计稳定性,提高了估计精确度。8.1.5 随机模拟控制变量技术 摔制变量技术就是将与所估计的未知变量密切相关的另一个已知量的真实值和估计值之间的差异作为控制量,以提高估计精度。在定价实践中,将这两

6、种衍生证券用相同的随机抽样样本和时间间隔,实施同样的蒙特卡洛模拟过程,能够得到两个模拟估计值,以第二种衍生证券真实值与估计值之间的差异作为控制变量,最后得到第一种衍生证券的蒙特卡洛估计值。 假定是需要估汁的第一种衍生证券的价值,是价值容易估计的第二种衍生证券的价值,第一种证券与第二种证券相似,而和分别是第一种衍生证券和第二种衍生证券在同样的随机抽样样本的蒙特卡洛估计值,那么利用控制变量技术得到第一种衍生证券的价格估计值为这里就是控制变量,它实际上是第一种衍生证券的蒙特卡洛模拟的估计误差,且上述方程的方差之间的关系为 如果,一定有因此,当两种衍生证券的协方差很大时,或者当两种衍生证券的价格高度相

7、关时,上述关系是成立的,两种衍生证券的正相关性越强,估计效率越理想。然的从实际应用的角度看,这种控制变量技术的应用十分有限,因此,下面是更一般的控制变量技术,其控制变量的形式为方差为 这是关于控制变量系数的二次三项式,下面的目标是能够找到特殊的使方差最小.这时只要取就可以保证方差最小,这种控制变量技术的缺点是需要提前知道协方差的信息,而这一般需要靠经验实现。8.2 蒙持卡洛方法模拟期权定价821 蒙特卡洛方法模拟欧式期权定价在期权计算中,我们可以利用风险中性的方法计算期权的价格。风险中性定价形式如下:其中,是期权的价格,是到期日的现金流,是风险中性测度。 如果知道了风险中性测度就可以模拟全路径

8、,也可模拟终端价格,例如计算障碍期权等路径依赖型期权时可以模拟全路径,而欧式期权可模拟终端价格。如果标的资产服从几何布朗运动 那么风险中性定价的关键在于寻找风险中性测度。对于几何布朗运动,可以证明风险中性测度下,标的资产运动过程如下:对于欧式看涨期权,到期日欧式看涨期权现金流如下:其中,是执行价,是无风险利率,是标准差,是正态分布的随机变量。对到期日的现金流用无风险利率贴现,就可以知道期权的价格。【例8-1】假设股票价格服从几何布朗运动,股票现在价格,欧式期权执行价,无风险利率,股票波动的标准差,期权的到期日,试用蒙特卡洛模拟方法计算该期权价格。下面用MATLAB编写一个子程序blsmc进行计

9、算。function eucall,varprice,ci=blsmc(s0,K,r,T,sigma,Nu)% 蒙特卡洛方法计算欧式看涨期权的价格% 输入参教% sO:股票价格% K:执行价% r 无风险利率% sigma 股票波动的标准差% Nu 模拟的次数% 输出参数% eucall: 欧式看涨期权的价格% varprice模拟期权价格的方差% ci 95概率保证的期权价格区间randn(seed,O);%定义随机数发生器种子是0,这样可以保证每次模拟的结果相同nuT=(r-0.5*sigma2)*T;sit=sigma*sqrt(T);discpayoff=exp(-r*T)*max0,

10、s0*exp(nuT+sit*randn(Nu,l)-K);%期权到期时的现金流eucall,varprice,ci=normfit(discpayoff)调用子程序可得到欧式看涨期权价格。c,var,ci=blsmc(50,52,0.1,5/12,0.4,1000)c = 5.444522854313244var = 9.136131838483149ci = 4.877583065095581 6.011462643530908从上面的结果可以看到,蒙特卡洛模拟得到的期权价格为5.4445,样本正态拟合的方差为9.1361,95的置信区间为4.8776,6.0115,模拟波动的区间还是很大

11、的。我们用了normfit函数对模拟的结果用正态分布函数进行拟合,这不是必需的,主要是为了考察模拟结果的稳定性,如果不需要考察结果是否稳定,也可直接对模拟的结果求均值。此时可将最后一句改为price=mean(discpayoff)。欧式期权的公式解如下:call,put= blsprice(50,52,0.1,5/12,0.4)call = 5.191081351846794put = 5.068933121521976公式解5.1911和模拟值5.4445二者之间还是存在较大的差距,增加模拟的次数为10000次时结果如下:c,var,ci=blsmc(50,52,0.1,5/12,0.4,

12、10000)c = 5.133786430504636var = 8.933464757068791ci = 4.958672541451405 5.308900319557867模拟结果入5.1338,可以看到期权模拟精度有了显著提高,95%的的置信区间为4.9587,5.3089,置信区间较1000时大大缩小,模拟可靠性增加。下面用对偶方法计算欧式看涨期权的价格。function eucall,varprice,ci=dul_blsmc(s0,K,r,T,sigma,Nu)% 蒙特卡洛方法计算欧式看涨期权的价格(对偶法)% 输入参教% sO:股票价格% K:执行价% r 无风险利率% si

13、gma 股票波动的标准差% Nu 模拟的次数% 输出参数% eucall: 欧式看涨期权的价格% varprice模拟期权价格的方差% ci 95概率保证的期权价格区间randn(seed,O);%定义随机数发生器种子是0,这样可以保证每次模拟的结果相同nuT=(r-0.5*sigma2)*T;sit=sigma*sqrt(T);rand=randn(Nu,1);discpayoff=exp(-r*T)*max(0,s0*exp(nuT+sit*rand)-K);discpayoff1= exp(-r*T)*max(0,s0*exp(nuT+sit*(-1)*rand)-K);%期权到期时的现

14、金流duleucall,dulvarprice,dulci=normfit(discpayoff;discpayoff1)调用子程序可得到欧式看涨期权价格。c,var,ci=dul_blsmc(50,52,0.1,5/12,0.4,10000);结果如下c = 5.209419581125931var = 8.902468445392321ci = 5.086032462943382 5.332806699308480模拟的结果为5.2094,离精确值5.19l1非常接近,说明对偶技术还是非常有效的822 蒙特卡洛方法模拟障碍期权定价障碍期权是特殊形式的期权,例如确定一个障碍值,在期权的存续期内有可能超过该价格,也有可能低于该价格,对于敲出期权而言,如果在期权的存续期内标的资产价格触及障碍值时,期权合同可以提前终止执行;相反地对于敲入期权丽言,如果标的资产价格触及障碍值时,期权合同开始生效。注意障碍值可以低于标的资产现在的价格,也可以高于。如果称为上涨期权,反之称为下跌期权。对于下跌敲出看跌期权,该期权首先是看跌期权,股票价格是,执行价是,买入看跌期权就首先保证以执行价卖

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号