ShuoLi,StaffApplicationEngineer,IntelChaoYu,Technical.pdf

ShuoLi,StaffApplicationEngineer,IntelChaoYu,Technical.pdf

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ShuoLi,StaffApplicationEngineer,IntelChaoYu,Technical

动手实验室:利用英特尔? Parallel Studio XE 2013 将并行性从英特尔? 至强? 处理器扩展至英特 尔? 至强融核? 协处理器 Shuo Li, Staff Application Engineer, Intel Chao Yu, Technical Consulting Engineer, Intel Jun Jin, Senior Application Engineer, Intel SFTL002 2 议程 ? 试验简介 ? 什么是阶梯优化框架 ? 第一步: 以优化的工具和程序库作跳板 ? 第二步: 标量,单线程优化 ? 第三步: 向量化 ? 第四步: 并行化 ? 第五步: 从多核扩展到众核 ? 总结 本课程演示文稿(PDF)发布在技术课程目录网站: /go/idfsessionsBJ 该网址同时打印于会议指南中专题讲座日程页的上方 3 试验简介 4 欧式期权之蒙地卡罗方法 1. Sample a random path for S in a risk neutral world 2. Calculate the payoff from the derivative 3. Repeat steps 1 and 2 to get many sample values of the payoff from the derivative in a risk-neutral world 4. Calculate the mean of the sample payoff 5. Discount expected payoff at risk-free rate to get an estimate of the value of the option 蒙地卡罗方法 从何而来 尼古拉斯 麦托坡里斯发明的 统计计算方法 蒙地卡罗在金融 的应用 费伦博尤 第一个把蒙地卡罗 带入定量金融界 ? 简单的算法多次重复 ? 利用中心极限定律 5 最初的实现 ? Use GCC 4.4.6 ? C/C++ TR1 随机数产生程序 ? 程序源文件清单 Driver.cpp 主程序文件 MonteCarlo.h 参数的定义 MonteCarloStepn.cpp 蒙地卡罗计算方法 Makefile 程序产生脚本 typedef std::tr1::mt19937 ENG; // Mersenne Twister typedef std::tr1::normal_distributionfloat DIST; typedef std::tr1::variate_generatorENG,DIST GEN; ENG eng; DIST dist(0,1); GEN gen(eng,dist); for(int opt = 0; opt OPT_N; opt++) { float VBySqrtT = VOLATILITY * sqrt(T[opt]); float MuByT = (RISKFREE - 0.5 * VOLATILITY * VOLATILITY) * T[opt]; float Sval = S[opt]; float Xval = X[opt]; float val = 0.0, val2 = 0.0; for(int pos = 0; pos RAND_N; pos++) { float callValue = max(0.0, Sval *exp(MuByT + VBySqrtT * gen()) - Xval); val += callValue; val2 += callValue * callValue; } float exprt = exp(-RISKFREE *T[opt]); CallResult[opt] = exprt * val / (float)RAND_N; float stdDev = sqrt(((float)RAND_N * val2 - val * val)/ ((float)RAND_N * (float)(RAND_N - 1))); CallConfidence[opt] = (float)(exprt * 1.96 * stdDev / sqrtf((float)RAND_N)); } 6 你们

文档评论(0)

***** + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档