(2.1.9)
同样方法, 可给出欧式看跌期权的价格:
(2.1.10)
分析:在式(2.1.9)和式(2.1.10)中, 只有一个量 是需要模拟的未知量, 在计算期权价格时, 首先要模拟标的资产价格 , 然后将 或者 与零进行比较求两者之中的较大者, 最后求算术平均值并贴现求现值即可求出期权的价格.
程序2.1.1 欧式看涨期权与看跌期权的蒙特卡罗法.
function eucall=blsmc(s0,E,r,T,sigma,Nu)
randn('seed',0);
nuT=(r-0.5*sigma^2)*T;
sit=sigma*sqrt(T);
discpayoff=exp(-r*T)*max(0,s0*exp(nuT+sit*randn(Nu,1))-E);
mean(discpayoff)
function eucall1=blsmc(s0,E,r,T,sigma,Nu)
randn('seed',0);
nuT=(r-0.5*sigma^2)*T;
sit=sigma*sqrt(T);
discpayoff1=exp(-r*T)*max(E-s0*exp(nuT+sit*randn(Nu,1)),0);
mean(discpayoff1)
例2.1.1 考虑不支付红利股票的欧式看涨期权和看跌期权, 它们的标的资产价格是$100, 行权价格是$100, 无风险年利率是10%, 年波动率是25 %, 期权有效期为1年.试分别用Black-Scholes期权定价公式和蒙特卡罗法计算它们的价格, 并将计算结果进行比较.
解 在本例中, =100, X=100, r-=0.1, =0.5, T-t=1.按如下步骤计算期权价格:
(1)模拟标的资产价格路径:
.
(2)从正态分布中随机抽取多个样本 , 给出 值, 计算 或者 , 得到在T时刻的多个欧式看涨期权或者看跌期权的收益, 计算这些期权收益的算术平均值并贴现求现值, 就得到期权的价格.假设模拟次数为5000000, 就有5000000个 , 同时有5000000个欧式看涨期权或者看跌期权在丁时刻值, 即 或者 .计算这5000000个 或者 的算术平均值并用无风险利率r贴现, 就得到了默式看涨期权或者看跌期权的价格.
程序调用:
欧式看跌期权:
>> blsmc(100,100,0.1,1,0.25,5000000)
欧式看涨期权:
>> blsmc2(100,100,0.1,1,0.25,5000000)
2.2. 期权定价的二叉树法
蒙特卡罗法便于处理报酬函数复杂、标的变量多等问题, 但是在处理提前行权问题时却表现出明显的不足.本节将要介绍的二叉树法可以弥补蒙特卡罗法的这种不足.本节的内容包括二叉树法的基本原理、二叉树法在期权定价方面的应用, 尤其是在美式看跌期权定价方面的应用.
2.2.1. 二叉树法的基本原理及计算步骤
(1) 二叉树法的基本原理
二叉树法的基本原理是:假设标的变量运动只有向上和向下两个方向, 且假设在整个考察期内, 标的变量每次向上或向下运动的概率和幅度不变.将考察期分为若干阶段, 根据标的变量的历史波动率模拟标的变量在整个考察期内所有可能的发展路径, 并由后向前以倒推的形式走过所有结点同时用贴现法得到在0时刻的价格.如果存在提前行权问题, 必须在二叉树的每个结点处检查在这一点行权足否比在下一个结点上行权更有利, 然后重复上述过程.
考虑一个不支付红利的股票期权.把期权的有效期分成许多很小的时间区间, 每个区间的长度为 .假定在每一个区间股价从开始的S变为两个新价格 和 .并假设u>l, d<l, 则S到 是价格上涨过程, 上涨的概率记为P;S到 是价格下跌过程, 下降的概率假设是 .
在风险中性的世界里, 股票的预期收益率为无风险利率r, 则在时间间隔 末股票价格的期望值是 , 其中S为该时间间隔的初始股票价格.因此, 有结果 MATLAB期权数值解算法及股票预测模型(4):http://www.751com.cn/shuxue/lunwen_2320.html