以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
本节介绍了基于单一风险因素(如股票价格,股票指数水平或利率)的衍生工具(或有债权)的建模和评估。还展示了如何建模和评估由这些工具的投资组合。
- from dx import *
- import seaborn as sns; sns.set()
- valuation_mcs_european_single 用于欧式行权的衍生品
- valuation_mcs_american_single 用于美式行权的衍生品
一、风险因素建模
在进入正文之前,我们需要实例化潜在风险因素,在这个例子中是一个geometric_brownian_motion对象。模型类文档的相应部分提供了背景信息。
- r = constant_short_rate('r', 0.06)
- me = market_environment('me', dt.datetime(2015, 1, 1))
- me.add_constant('initial_value', 36.)
- me.add_constant('volatility', 0.2)
- me.add_constant('final_date', dt.datetime(2015, 12, 31))
- me.add_constant('currency', 'EUR')
- me.add_constant('frequency', 'W')
- me.add_constant('paths', 25000)
- me.add_curve('discount_curve', r)
- gbm = geometric_brownian_motion('gbm', me)
我们看重的第一个工具是一个欧洲看涨期权,写在单一相关风险因素上,由gbm模型对象体现的。 为此,我们添加到期日至市场环境和执行价格上。
- me.add_constant('maturity', dt.datetime(2015, 12, 31))
- me.add_constant('strike', 40.)
要实例化一个valuation_mcs_european_single类,将提供以下信息/数据作为参数:
- name:string对象
- underlying:模型类的实例
- market environment:市场环境
- payoff_func:包含“规则”Python/NumPy代码的string对象
- call_eur = valuation_mcs_european_single(
- name='call_eur',
- underlying=gbm,
- mar_env=me,
- payoff_func='np.maximum(maturity_value - strike, 0)')
在这种情况下,该收益是普通的普通欧式看涨期权的回报。如果T是到期日,则ST是该日期相关风险因素的价值,K是执行价格,该期权的到期收益hT由下式给出
hT=max[ST−K,0]
maturity_value表示到期时风险因素的价值向量。 任何其他“合乎情理”的收益定义是可能的。例如,下面的工作就是如此:
- payoff = 'np.maximum(np.minimum(maturity_value) * 2 - 50, 0)'
其他标准化的收益元素包括代表到期时价值向量的平均值mean_value、最大值max_value和最小值min_value。使用这些收益元素可以轻松定义亚洲特色的期权。
在实例化了评估类后,present_value方法返回调用期权的现值的蒙特卡罗估计量。
- call_eur.present_value()
以上内容转自 数析学院,如需完整内容可以直接查看原文


雷达卡




京公网安备 11010802022788号







