楼主: casey_c
1065 1

[程序分享] 大型投资组合的并行评估 [推广有奖]

  • 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-30 10:25:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币



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


通过蒙特卡罗模拟进行衍生品(投资组合)评估是一项计算要求高的任务。 在实际应用中,当评估的速度起着重要作用时,仿真模拟和评估任务的并行可能是一个有用的策略。 DX Analytics库内置了一个基本的并行选项,允许使用Python mulitprocessing模块。


  1. from dx import *
  2. import time
  3. from pandas.core import datetools
  4. import matplotlib.pyplot as plt
  5. import seaborn as sns; sns.set()
  6. %matplotlib inline
复制代码
一、单风险因素

该例基于单风险因素,一个geometry_brownian_motion对象。


  1. # 恒定的短期利率
  2. r = constant_short_rate('r', 0.02)
复制代码
  1. # 市场环境
  2. me_gbm = market_environment('gbm', dt.datetime(2015, 1, 1))
复制代码
  1. # 几何布朗运动
  2. me_gbm.add_constant('initial_value', 100.)
  3. me_gbm.add_constant('volatility', 0.2)
  4. me_gbm.add_constant('currency', 'EUR')
  5. me_gbm.add_constant('model', 'gbm')
复制代码
  1. # 评估环境
  2. val_env = market_environment('val_env', dt.datetime(2015, 1, 1))
  3. val_env.add_constant('paths', 25000)
  4. val_env.add_constant('frequency', 'M')
  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))
复制代码
  1. # 添加评估环境到市场环境
  2. me_gbm.add_environment(val_env)
复制代码
  1. risk_factors = {'gbm' : me_gbm}
复制代码

二、美式看跌期权

我们也只建立一个单衍生工具模型。


  1. gbm = geometric_brownian_motion('gbm_obj', me_gbm)
复制代码
  1. me_put = market_environment('put', dt.datetime(2015, 1, 1))
  2. me_put.add_constant('maturity', dt.datetime(2015, 12, 31))
  3. me_put.add_constant('strike', 40.)
  4. me_put.add_constant('currency', 'EUR')
  5. me_put.add_environment(val_env)
复制代码
  1. am_put = valuation_mcs_american_single(
  2.                 'am_put', mar_env=me_put, underlying=gbm,
  3.                 payoff_func='np.maximum(strike - instrument_values, 0)')
复制代码


以上内容转自 数析学院,如需完整内容可以直接查看原文

二维码

扫码加我 拉你入群

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

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


沙发
casey_c 发表于 2018-2-2 10:58:15

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-13 21:05