付费系列 5 - Snowball Autocallable PDE 有限差分

本篇以真实的交易证实 (term sheet) 为例,揉碎了讲解如何用 PDE FD 来定价雪球 Autocallable 产品。

整篇目录如下:

  1. 产品介绍

    1. 卖瓜故事

    2. 交易证实

    3. 情景分析

    4. 产品复制

  2. 雪球敲出情况

    1. 普通 OTU

    2. 变种 OTU

  3. 雪球不敲入不敲出情况

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
有限差分法(Finite Difference Method)也可以用来计算雪球期权的定价。以下是一个使用Python进行有限差分法计算雪球期权定价的示例代码: ```python import numpy as np def snowball_option_price(S, K, T, r, sigma, m, n, N, M): """计算雪球期权价格""" # S: 标的资产价格 # K: 行权价格 # T: 到期时间(年) # r: 无风险利率 # sigma: 标的资产收益率的波动率 # m: 雪球期权到期日之前的观察日数量 # n: 雪球期权到期日之前每个观察日的累计收益目标值 # N: 时间步数 # M: 股价步数 # 计算有限差分参数 dt = T/N dx = sigma*np.sqrt(3*dt) # 计算股价网格 x_max = S*np.exp(3*sigma*np.sqrt(T)) x_min = S*np.exp(-3*sigma*np.sqrt(T)) x = np.linspace(x_min, x_max, M+1) # 计算时间网格 t = np.linspace(T, 0, N+1) # 初始化股价和期权价值网格 u = np.zeros((N+1, M+1)) # 设置边界条件 u[:, 0] = K*np.exp(-r*(T-t)) u[:, M] = x[-1]-K*np.exp(-r*(T-t)) # 计算内部网格点 for i in range(N-1, -1, -1): for j in range(1, M): # 计算有限差分 a = 0.5*sigma**2*x[j]**2/dx**2 - 0.5*r*x[j]/dx b = -sigma**2*x[j]**2/dx**2 - r c = 0.5*sigma**2*x[j]**2/dx**2 + 0.5*r*x[j]/dx u[i, j] = a*u[i+1, j-1] + b*u[i+1, j] + c*u[i+1, j+1] u[i, j] = max(u[i, j], x[j]-K*np.exp(-r*(T-t[i]))) u[i, j] = max(u[i, j], n*(1+T/m)**(m-i)*(1+r*dt) - S) # 返回期权价格 return np.interp(S, x, u[0]) ``` 使用以上代码,可以计算出雪球期权的价格。需要传递标的资产价格、行权价格、到期时间、无风险利率、标的资产收益率的波动率、观察日数量、每个观察日的累计收益目标值、时间步数和股价步数等参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值