楼主: casey_c
1010 2

[程序分享] 多风险期权组合 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.1003
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

楼主
casey_c 发表于 2018-1-16 10:37:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币



以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文


首先建立单个风险因子的模型,然后对单个和多个衍生工具进行建模,最后对衍生品投资组合进行建模。


  1. from dx import *
  2. import seaborn as sns; sns.set()
复制代码


一、风险因子

本小节将做单个风险因子的模型。从风险中性贴现对象的定义开始。


  1. # 固定短期利率
  2. r = constant_short_rate('r', 0.02)
复制代码

三个风险因子来建模:

  • 几何布朗运动
  • 跳跃扩散
  • 随机波动过程



  1. # 市场环境
  2. me_gbm = market_environment('gbm', dt.datetime(2015, 1, 1))
  3. me_jd = market_environment('jd', dt.datetime(2015, 1, 1))
  4. me_sv = market_environment('sv', dt.datetime(2015, 1, 1))
复制代码
geometric_brownian_motion对象的设定


  1. # 几何布朗运动
  2. me_gbm.add_constant('initial_value', 36.)
  3. me_gbm.add_constant('volatility', 0.2)
  4. me_gbm.add_constant('currency', 'EUR')
  5. me_gbm.add_constant('model', 'gbm')
复制代码
jump_diffusion对象的设定
  1. # 跳跃扩散
  2. me_jd.add_constant('initial_value', 36.)
  3. me_jd.add_constant('volatility', 0.2)
  4. me_jd.add_constant('lambda', 0.5)
  5.     # 跳跃概率
  6. me_jd.add_constant('mu', -0.75)
  7.     # 期望跳跃大小[%]
  8. me_jd.add_constant('delta', 0.1)
  9.     # 跳跃波动率
  10. me_jd.add_constant('currency', 'EUR')
  11. me_jd.add_constant('model', 'jd')
复制代码
stochastic_volatility对象的设定
  1. # 随机波动模型
  2. me_sv.add_constant('initial_value', 36.)
  3. me_sv.add_constant('volatility', 0.2)
  4. me_sv.add_constant('vol_vol', 0.1)
  5. me_sv.add_constant('kappa', 2.5)
  6. me_sv.add_constant('theta', 0.4)
  7. me_sv.add_constant('rho', -0.5)
  8. me_sv.add_constant('currency', 'EUR')
  9. me_sv.add_constant('model', 'sv')
复制代码
最后,对评估环境进行统一的评估设定。
  1. # valuation environment 评估环境
  2. val_env = market_environment('val_env', dt.datetime(2015, 1, 1))
  3. val_env.add_constant('paths', 10000)
  4. val_env.add_constant('frequency', 'W')
  5. val_env.add_curve('discount_curve', r)
  6. val_env.add_constant('starting_date', dt.datetime(2015, 1, 1))
  7. val_env.add_constant('final_date', dt.datetime(2015, 12, 31))
复制代码
这些被添加到风险因素的单个market_environment对象中。
  1. # 把评估环境添加到市场环境中
  2. me_gbm.add_environment(val_env)
  3. me_jd.add_environment(val_env)
  4. me_sv.add_environment(val_env)
复制代码
最后,有着风险因子的市场模型和两两之间的相关系数。
  1. risk_factors = {'gbm' : me_gbm, 'jd' : me_jd, 'sv' : me_sv}
  2. correlations = [['gbm', 'jd', 0.66], ['jd', 'sv', -0.75]]
复制代码
以上内容转自 数析学院,如需完整内容可以直接查看原文


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:期权组合 correlations environment correlation Volatility

沙发
钱学森64 发表于 2018-1-16 11:35:29
谢谢分享

藤椅
casey_c 发表于 2018-1-19 10:37:54

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 05:48