美式期权定价&利率衍生证券

您所在的位置:网站首页 美式看跌期权价格高于欧式看跌价的原因 美式期权定价&利率衍生证券

美式期权定价&利率衍生证券

2023-07-20 03:18| 来源: 网络整理| 查看: 265

Navigator 支付红利code 支付已知红利额条件下的美式期权定价有限差分法内含有限差分法外推有限差分法 利率衍生证券利率上限定价

支付红利 支付已知红利:在期权的有效期的某些时刻的资产支付红利率支付连续红利:在期权有效期所有时刻标的资产都支付红利

在支付已知红利的情况下,设前节点股价为 S u j d i − j ( j = 0 , 1 , … , i ) Su^jd^{i-j}(j=0,1,\dots, i) Sujdi−j(j=0,1,…,i),在除息日之后,相应节点的股票价格调整为 S ( 1 − δ ) u j d i − j , j = 0 , 1 , … , i S(1-\delta)u^jd^{i-j}, j=0,1,\dots, i S(1−δ)ujdi−j,j=0,1,…,i 如果在期权有效期内多次支付已知红利,设 δ i \delta_i δi​为0时刻至 i Δ t i\Delta t iΔt时刻之间所有除息日的总红利支付率,则 i Δ t i\Delta t iΔt时刻节点的股票价格为 S ( 1 − δ i ) u j d i − j S(1-\delta_i)u^jd^{i-j} S(1−δi​)ujdi−j

code #include #include #include using namespace std; double call_option_usa_dvd( const double &S, // 标的资产价格 const double &X, // 行权价格 const double &r, // 无风险利率 const double &sigma, // 波动性 const double &time, // 权利期 const int &nsteps, // 二叉树步数 const vector &dtimes, // 红利发生时间 const vector &dyields // 红利率 ){ int ndvds = dtimes.size(); if(!ndvds) return 0.00; double delta_t = time/nsteps; double R = exp(r*delta_t); double Rinv = 1.0/R; double u = exp(sigma*sqrt(delta_t)); double uu = u*u; double d = 1.0/u; double pUp = (R-d)/(u-d); double pDown = 1.0-pUp; vector dvd_steps(ndvds); for(int i=0; i prices[0] *= (1.0-dyields[j]); } for(int k=1; k for(int i=0; i cout call_prices[n]=(pDown*call_prices[n]+pUp*call_prices[n+1])*Rinv; prices[n] = d*prices[n+1]; call_prices[n] = max(call_prices[n], prices[n]-X); } } return call_prices[0]; } int main(){ double S=100.0; double X=100.0; double r=0.1; double sigma = 0.25; double time = 1.0; double nsteps = 100; vector dtimes; dtimes.push_back(0.25); dtimes.push_back(0.75); vector dyields; dyields.push_back(0.025); dyields.push_back(0.025); coutRk​−Rx​,0} 其中 R k R_k Rk​是 k τ k\tau kτ时刻将被利率上限盯住的利率值,设 F k F_k Fk​是 k τ k\tau kτ至 ( k + 1 ) τ (k+1)\tau (k+1)τ时刻之间的远期利率,在 ( k + 1 ) τ (k+1)\tau (k+1)τ时刻的支付等于在 k τ k\tau kτ时刻的支付 τ L 1 + τ F k max ⁡ { R k − R x , 0 } \frac{\tau L}{1+\tau F_k}\max\{R_k-R_x, 0\} 1+τFk​τL​max{Rk​−Rx​,0} 可以将利率上限看做是一个基于 τ \tau τ期间的欧式看涨期权,该期权的标的资产是远期利率 F k F_k Fk​,在到期日 τ \tau τ取得回报,期权的本金为 τ L / ( 1 + τ F k ) \tau L/(1+\tau F_k) τL/(1+τFk​),假设远期利率 F k F_k Fk​的标准差为 σ F \sigma_F σF​,则根据B-S期权定价公式,看涨期权的价格为 c = τ L 1 + τ F k e − r k τ [ F k N ( d 1 ) − R x N ( d 2 ) ] c = \frac{\tau L}{1+\tau F_k}e^{-rk\tau}[F_kN(d_1)-R_x N(d_2)] c=1+τFk​τL​e−rkτ[Fk​N(d1​)−Rx​N(d2​)] 其中 N ( x ) N(x) N(x)是正态累积分布函数,且 { d 1 = ln ⁡ ( F k / R x ) + σ F 2 k τ / 2 σ F k τ d 2 = d 1 − σ F k τ \begin{cases} d_1=\frac{\ln(F_k/R_x)+\sigma_F^2k\tau/2}{\sigma_F\sqrt{k\tau}}\\ d_2=d_1-\sigma_F\sqrt{k\tau} \end{cases} {d1​=σF​kτ ​ln(Fk​/Rx​)+σF2​kτ/2​d2​=d1​−σF​kτ ​​



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3