章中出简单例子说明基偏微分方程(PDE)框架期权定价方法具体方法利第五章中讲述限差分方法解决Blackscholes偏微分方程91节中会回顾衍生品定价数值解法指出利适边界条件模拟特定期权92节中会应简单显式(差分)方法求解简单欧式期权正已熟知样种方法解出金融角度解释稳定数值解93节中完全隐式方法解决种稳定问题94节中介绍CrankNicolson方法障碍期权定价中应做种显式完全隐式方法混合95节中会迭代松弛方法解决全隐式方法解决美式期权定价时存提前执行性导致边界问题
91 限差分法解BS方程
262节中出标资产时间价格期权该期权价格函数满足偏微分方程
(91)
通边界条件方程刻画期权特征某方假设改变者路径赖改变导致方程式具体形式改变处仅仅作起点帮助读者解应基限差分方法解决期权定价问题
正第五章中遇情况样限差分方法解偏微分方程处必须建立资产价格时间离散网格设T期权期日Smax足够资产价格考虑时间范围数值超Smax设定Smax偏微分方程区域关资产价格边界达计算目必须求界Smax相+∞网格通点(St)取中(St)满足
……
2……
章中网格符号回顾(91)方程式种解法:
前差分
差分
中心(称)差分
第二差分式子
究竟采种方法进行离散化面实际操作程中显式隐式方法作出详细阐述说明
值注意问题设置边界条件执行价格欧式涨期权终值条件
执行价格K欧式跌期权终值条件
涉资产价格边界问题时问题变复杂数学求必须界区域里解方程资产价格区域界通例子说明问题
例91 首先考虑支简单欧式跌期权资产价格非常时跌期权文值肯定执行价低现价:
Smax值必须足够假设边界条件合理资产价格时鉴资产价格符合布朗运动动力学模型认资产价格会保持0期收益K时间贴现值
边界条件写:
例92 91推导出处理普通欧式涨期权方法妨设资产价格时刻知道该期权价值0:
足够资产价格肯定该期权定价期权具零价值期权期满行权收益终值贴现时刻考虑标资产价格函数根套利定价原理边界条件:
具体条件写:
资产价格较时需代边界条件时候必须求期权Δ1种情况提出边界条件般针未知函数倒数非函数身便数学物理方程中谓Neumann边界条件会采取种做法数值解法复杂化
面障碍式期权时事情变简单敲出期权说例触失效跌期权标资产价格触碰障碍时期权作废价值0触失效涨期权情况类似优点计算必须涉边界域然界(显然存)美式期权定价显更加复杂难处理涉提前执行边界问题必须考虑什水资产价格什时间期权佳实施点解决问题程中必然产生边界需奇异期权设定边界条件计算出正确边界条件数值方法逼正确结果赖具体期权选择
利显式法求解欧式期权
初次尝试解方程(91)妨考虑简单欧式跌期权分中心差分S进行求导差分时间进行求导逼求解唯方法采取什样方法必须保证边界条件符合特定期权模型例91中边界条件差分结果方程式表示:
(92)
需特指出说明存终点条件假设方程必须适回推法求解妨设(92)式中jN存定终点条件未知量认关三已知量函数时间层(i)作样考虑整理方程:
(93)
时
function priceEuPutExpl(S0KrTsigmaSmaxdSdt)
建立网格必时调整增量
Mround(SmaxdS)
dSSmaxM
Nround(Tdt)
dtTN
matvalzeros(M+1N+1)
vetSlinspace(0SmaxM+1)
veti0M
vetj0N
建立边界条件
matval(N+1)max(KvetS0)
matval(1)K*exp(r*dt*(Nvetj))
matval(M+1)0
建立三角矩阵
a05*dt*(sigma^2*vetir)*veti
b1dt*(sigma^2*veti^2+r)
c05*dt*(sigma^2*veti+r)*veti
求解方程
for jN11
for i2M
matval(ij)a(i)*matval(i1j+1)+b(i)*matval(ij+1)+
c(i)*matval(i+1j+1)
end
end
返回价格网格外线性插值生成
priceinterp1(vetSmatval(1)S0)
图91 简易欧式期权显式差分方法定价MATLAB代码
定价直接利MATLAB完成图91中定价MATLAB程序代码外计算需出Smax值文提两离散步骤唯点需注意数学符号中幂指数0开始MATLAB矩阵计算中幂指数1开始外果资产初始价格网格够寻找两相邻点进行插值般采取较粗略线性插值果需计算分析期权价格敏感性(实际案例中常需样做)需进行更加复杂插值计算
>> [cp] blsprice(50500151204)
>> P
P 4076
>> EuPutExpl(5050015120 4100251200)
ans 40669
>> [cp] blsprice (50500151203 )
>> P
P 28446
>> EuPutExpl(50500151203100251200)
ans 28288
数值方法够提供较精确结果提高精度采更加精细网格进行计算
>> EuPutExpl(505001512031001551200)
ans 28597
>> EuPutExpl1(50500151203100151200)
ans 28271e+022
处第五章中分析稳定数值解例子种解决方案隐式方法进行求解外种方法进行稳定性分析然离散化程中导出边界处会第二种方案第五章中热传导方程进行简易变换处理方法十分相似接着章节中金融角度阐释稳定性暗示需通改变变量改变方程式
92 显式法稳定性金融学解释
(a)
(b)
图92 显式法(a)隐式法(b)求解BS方程直观图示
显式法中通三值起74部分(见图92(a))介绍三叉树方法点类似样方便显式法推导出新方法参考文献1中第18章假设点(ij)点(ij+1)S求阶导数二阶导数相等:
外种方法取样效果代92式右侧种方法引入误差界种方法网格细化趋零
改变换差分方程变成:
写成(i12…M1j12…N1时):
时:
方法然显式然受稳定性影响系数身作出解释回顾前二叉树三叉树方法风险中性假设继节点期权预期价值进行贴现期权价格事实述系数包括做长度时间间隔贴现系数
外:
说明述系数等概率折现系数否风险中性概率呢?应首先测试资产价格时间间隔增长值:
正期风险中性世界方差增加:
外极时:
服风险中性假设布朗运动认排问题显式法三叉树方法取样效果概率 负数细心读者会发现循环第五章中学线性组合系数稳定性条件热传导方程中必须确定组合凸组合系数正相加等1概率函数
种解决问题方法参考文献1中通改变变量实现通ZlnS代换重写BS方程实现稳定性简单条件然变量改变某奇异期权说未必事节中隐式法避免数值稳定问题
93 全隐式法欧式期权定价
克服显式法带稳定性问题采全隐式法首时间t采前差分求偏导数网格方程:
写成(i12…M1j12…N1时):
时:
时需3未知量计算出未知量(见图92b)首先注意时间层M1方程式N1未知量边界条件决定两未知量终点条件出时间层值正显式法案例样必须回推法解决jN1…1情况线性方程组时间层j方程组:
值注意述矩阵三角矩阵相时间层i说变常量LU式分解解决问题 该矩阵具稀疏结构编写特定代码解决类线性系统更加容易处现成MATLAB功
工作MATLAB代码图93中出
function price EuPutImpl(S0KrTsigmaSmaxdSdt)
建立网格必时调整增量
M round(SmaxdS)
dS SmaxM
N round(Tdt)
dt TN
matval zeros(M+1N+1)
vetS linspace(0SmaxM+1)'
veti 0M
vetj 0N
建立边界条件
matval(N+1) max(KvetS0)
matval(1) K*exp(r*dt*(Nvetj))
matval(M+1) 0
建立三角矩阵系数
a 05*(r*dt*vetisigma^2*dt*(veti^2))
b 1+sigma^2*dt*(veti^2)+r*dt
c 05*(r*dt*veti+sigma^2*dt*(veti^2))
coeff diag(a(3M)1) + diag(b(2M)) + diag(c(2M1)1)
[LU] lu(coeff)
求解线性方程组
aux zeros(M11)
for jN11
aux(1) a(2) * matval(1j) other term from BC is zero
matval(2Mj) U \ (L \ (matval(2Mj+1) + aux))
end
返回价格果初始价格网格外进行性线性插值
price interp1(vetS matval(1) S0)
图93 全隐式方法求解简易欧式期权MATLAB代码
>> [cp] blsprice(50500151204)
>> P
P 40760
>> EuPutlmpl(505001512041000552400)
ans 40718
计算结果非常精确排稳定素存更加精细网格结果外种方法通CrankNicolson方法提高精度面章节中做进步介绍
94 CrankNicolson方法障碍式期权定价
CrankNicolson方法已533节中提通结合显式法隐式法提高数值解精确度BS模型求解中应方法:
述方程改写:
时:
首先考虑271中介绍触失效期权假设该障碍期权处连续监测种情况需考虑≤S≤Smax边界条件:
综合考虑述边界条件方程(95)改写矩阵形式:
时:
相应MATLAB代码图94中列出
结果271中通定价分析公式结果进行较
>> DOPut (5050015120440)
ans
05424
>> DOPutCK(50500151204401000511200)
ans
05414
障碍期权种参考文献9中找更关障碍式期权定价偏微分方程应
function price DOPutCK(S0KrTsigmaSbSmaxdSdt)
建立网格必时候调整增量
M round((SmaxSb)dS)
dS (SmaxSb)M
N round(Tdt)
dt TN
matval zeros(M+1N+1)
vetS linspace(SbSmaxM+1)'
veti vetS dS
vetj 0N
建立边界条件
matval(N+1) max(KvetS0)
matval(1) 0
matval(M+1) 0
建立系数矩阵
alpha 025*dt*( sigma^2*(veti^2) r*veti )
beta dt*05*( sigma^2*(veti^2) + r )
gamma 025*dt*( sigma^2*(veti^2) + r*veti )
M1 diag(alpha(3M)1) + diag(1beta(2M)) diag(gamma(2M1)1)
[LU] lu(M1)
M2 diag(alpha(3M)1) + diag(1+beta(2M)) + diag(gamma(2M1)1)
求解线性方程组
for jN11
matval(2Mj) U \ (L \ (M2*matval(2Mj+1)))
end
返回价格结果初始资产价格网格外线性插值产生
price interp1(vetS matval(1) S0)
图94 CrankNicolson方法触失效期权定价MATLAB代码
95 美式期权定价
限差分方法简单欧式期权进行定价时确十分方便美式期权定价中显实方法应美式期权定价时候精确公式适美式期权定价时必须考虑存提前行权性根套利原理(St)空间中点期权价格低价值(立刻行权收益)般美式期权意味着:
实际操作显式法中充分考虑种情况困难做修改便够简单应92节中提方法计算检测提前行权概率处理二叉树模型样设:
存着稳定性问题更加倾隐式法样处理导致复杂问题根述关系求必须已知隐式法中已知解决问题采取迭代方法求解线性方程组基LU分解直接求解325节中介绍GaussSeidel松弛迭代算法方便先回顾方法出线性方程组:
面迭代方法初始点
中k迭代计数器ω松弛变量该迭代会直进行满足收敛条件:
中ε容限参数
现尝试CrankNicolson方法美式期权进行定价解决(96)式致相线性方程组里边界条件点价值0期权考虑否障碍回推法求解线性方程组:
中右边:
式子中额外增加项跌期权独边界条件带入模型方程松弛方法时候应考虑矩阵三角性质够适应美式期权提前执行特征设价值i12…M1时时间层j进行迭代:
计算时间层进行时间层时候时间层计算结果作时间层迭代计算初始量更加合理完成述步骤需代码图95中列出该代码点麻烦原MATLAB量幂运算1开始现实求0开始样便建立包含量矩阵时系数矩阵法储存述迭代直接通计算出
该代码实际效果MATLAB金融工具箱中附带二叉树方法美式期权定价binprice函数(见71节)
>> tic [pr opt] binprice(5050 015121120004 0) toc
Elapsed time is 0408484 seconds
>> opt(1l)
ans
42830
>> tic AmPutCK( 5050015120410011600150001)toc
ans
42815
Elapsed time is 0031174 seconds
>> ticAmPutCK(5050015120410011600180001)toc
ans
42794
Elapsed time is 0061365 seconds
>> ticAmPutCK(5050015120410011600120001)toc
ans
42800
Elapsed time is 0023053 seconds
>> ticAmPutCK(50500151204100111200120001)toc
ans
42828
Elapsed time is 0036693 seconds
>> ticAmPutCK(5050015120410011100120001)toc
ans
42778
Elapsed time is 0009989 seconds
function price AmPutCK(S0KrTsigmaSmaxdSdtomegatol)
M round(SmaxdS) dS SmaxM 建立网格
N round(Tdt) dt TN
oldval zeros(M11) GaussSeidel更新量
newval zeros(M11)
vetS linspace(0SmaxM+1)'
veti 0M vetj 0N
建立边界条件
payoff max(KvetS(2M)0)
pastval payoff values for the last layer
boundval K*exp(r*dt*(Nvetj)) 边界值
建立系数矩阵式子右边矩阵
alpha 025*dt*( sigma^2*(veti^2) r*veti )
beta dt*05*( sigma^2*(veti^2) + r )
gamma 025*dt*( sigma^2*(veti^2) + r*veti )
M2 diag(alpha(3M)1) + diag(1+beta(2M)) + diag(gamma(2M1)1)
SOR方法求解线性方程组
aux zeros(M11)
for jN11
aux(1) alpha(2) * (boundval(1j) + boundval(1j+1))
建立右端矩阵进行初始化
rhs M2*pastval() + aux
oldval pastval
error realmax
while tol < error
newval(1) max ( payoff(1)
oldval(1) + omega(1beta(2)) * (
rhs(1) (1beta(2))*oldval(1) + gamma(2)*oldval(2)))
for k2M2
newval(k) max ( payoff(k)
oldval(k) + omega(1beta(k+1)) * (
rhs(k) + alpha(k+1)*newval(k1)
(1beta(k+1))*oldval(k) + gamma(k+1)*oldval(k+1)))
end
newval(M1) max( payoff(M1)
oldval(M1) + omega(1beta(M)) * (
rhs(M1) + alpha(M)*newval(M2)
(1beta(M))*oldval(M1)))
error norm(newval oldval)
oldval newval
end
pastval newval
end
newval [boundval(1) newval 0] 加入缺少值
返回价格价格初始资产价格网格外线性插值生成
price interp1(vetS newval S0)
图95 CrankNicolson方法求解美式跌期权MATLAB代码
通例子松弛变量ω迭代方法中结果收敛性十分显著影响运算速度言述限差分方法(CK)似二叉树方法快必须注意问题隐式法较时两者相CPUMATLAB代码解码方式影响计算效率样足够精确网格二叉树点够提供更加效敏感度估计(求解BS方程中会)外处理奇异期权定价问题时候述提限差分方法更选择
扩展阅读
·许金融工程应偏微分方程例子参考文献6参考文献7中找中包括应限差分方法外参考文献2中找许例子
·BS方程直接采限差分方法求解时变量微调整助分析结果稳定性参考参考文献3中某例子参考文献中找限差分方法改进方案简单限差分方法更加精确方法
·参考文献7参考文献8专门介绍金融工程中限差分方法书籍
·果限元方法感兴趣阅读参考文献5
参考文献
1 JC Hull Options Futures and Other Derivatives (5th ed) Prentice Hall Upper Saddle River NJ 2003
2 YK Kwok Mathematical Models of Financial Derivatives Springer Verlag Berlin 1998
3 R Seydel Tools f o r Computational Finance SpringerVerlag Berlin2002
4 D Tavella and C Randall Pricing Financial Instruments The Finite Difference Method Wiley New York 2000
5 J Topper Financial Engineering with Finite Elements Wiley New York2005
6 P Wilmott Derivatives The Theory and Practice of Financial Engineering Wiley Chichester West Sussex England 1999
7 P Wilmott Quantitative Finance (vols I and II) Wiley ChichesterWest Sussex England 2000
8 YI Zhu X Wu and IL Chern Derivative Securities and Difference Methods Springer New York 2004
9 R Zvan KR Vetzal and PA Forsyth PDE Methods for Pricing Barrier Options Journal of Economic Dynamics and Control 24 156315902000
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档