目录
免责声明:本文由作者参考相关资料,并结合自身实践和思考独立完成,对全文内容的准确性、完整性或可靠性不作任何保证。同时,文中提及的数据仅作为举例使用,不构成推荐;文中所有观点均不构成任何投资建议。请读者仔细阅读本声明,若读者阅读此文章,默认知晓此声明。
在期权专题9中,分享了雪球期权的定价思路及相应的代码实现。本期主要分享一下定价的应用以及主要参数对雪球期权的影响。
1. 定价应用
1.1 定价比对
在期权专题9中,介绍了雪球存在两种状态下的定价模式:过去发生过敲入和过未发生过敲入。现在对这两种模式就行探讨。假设雪球已经运行了4个月(84天),分别作出标的在不同价格下(价格区间设置为0.73到1.05),两种估值模式对应的估值。为了便捷,将期权专题9的代码打包放在Pricing_model的py中(对应文件夹名为snow_ball)。
from snow_ball.Pricing_model import *
import matplotlib.pyplot as plt
# 雪球要素
r = 0.025
vol = 0.22
residual_day = 168
knock_out = 1.03 # 敲出价格
knock_in = 0.75 # 敲入价格
coupon = 0.2 # 年化票息
lock_time = 3 # 锁定期,单位为月
T = 1 # 期限,折算为年
times = 5000
# 获取两种估值模式下,标的不同价格对应估值
St_list = [0.73 + 0.01 * x for x in range(33)]
in_nav_list = []
out_nav_list = []
for St in St_list:
print(St)
price_path = get_s_path(St, r, vol, residual_day, times)
in_nav = get_snowball_nav('in', coupon, T, r,residual_day, knock_in, knock_out, lock_time, price_path)
out_nav = get_snowball_nav('out', coupon, T, r,residual_day, knock_in, knock_out, lock_time, price_path)
in_nav_list.append(in_nav)
out_nav_list.append(out_nav)
# 作图
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(St_list, in_nav_list, label='发生过敲入')
plt.plot(St_list, out_nav_list, label='未发生过敲入')
plt.title('雪球估值模式比对(变量为标的价格)')
plt.legend()
plt.show()
对应的结果为:

由上图可以看出:在敲入线(75%)到敲出线(103%)之间,发生敲入情况下的定价估值会远低于未发生敲入情况下的估值。对于发生过敲入的雪球,只有当标的价格临近敲出线时,才存在获利的可能,因此其估值基本是是趋近于标的的价格。对于未发生过敲入的雪球,随着标的价格的上涨,其发生敲入的概率会越来低,因此估值呈现非线性的增长,在临近敲出线附近时,因为触发敲出的概率加大,获取全额票息的概率降低,因此其估值增速会放慢,但整体的预期收益会高于敲出对应的票息(依然存在获取全额票息的可能)。
接下来,假设标的价格为0.9,雪球运行了200天,以剩余期限作为自变量,比较两种估值的差异。

由上图可以看出:随着剩余期限接近于0,发生敲入情况下的定价估值会远低于未发生敲入情况下的估值。对于发生过敲入的雪球,假设标的价格一直在0.9,随着到期日的临近,其发生敲出的概率会越来越低,因此其估值接近于0.9;对于未发生过敲入的雪球,假设标的价格一直在0.9,随着到期日的临近,其大概率可以获得全额的票息,因此估值接近于1.2。
综上,未发生过敲入的定价整体会高于发生过敲入的定价,原因主要有两个:1. 发生敲入后,不具备获取全额票息(未敲入敲出)的可能;2. 发生敲入后,意味指数已经下跌25%,未来发生敲出的概率很低。在应用过程中,首先要判断雪球当前的状态,然后使用不同的估值模式。
1.2 模拟估值
此处以中证500为标的,选取2018年1月18日到2019年1月18日的数据,进行模拟估值的演示。需要注意,由于本文采取的是相对简单的估值处理(尤其是对于日期的处理),因此估值会存在一定的误差,此方法更适合理解估值逻辑以及做回测。
首先,使用akshare获取中证500的收盘价数据,并对其进行归一处理,同时生成相应的剩余日期序列。
import akshare as ak
import pandas as pd
# 获取数据,进行净值归一
code = 'sh000905'
st, et = '2018-01-18', '2019-01-18'
data = ak.stock_zh_index_daily_em(symbol=cod

本文主要分享雪球期权定价的应用及主要参数对其的影响。定价应用包括定价比对和模拟估值,指出未发生敲入的定价整体高于发生敲入的定价。主要参数分析涉及模拟次数、剩余期限和波动率,探讨了它们对未敲入状态下雪球估值的影响。
最低0.47元/天 解锁文章





