数量技术宅团队在CSDN学院推出了量化投资系列课程

欢迎有兴趣系统学习量化投资的同学,点击下方链接报名:

量化投资速成营(入门课程)

Python股票量化投资

Python期货量化投资

Python数字货币量化投资

C++语言CTP期货交易系统开发

数字货币JavaScript语言量化交易系统开发


欧式期权定价回顾

我们通过蒙特卡罗模拟为欧式期权定价的模型可以作为定价各种奇异期权的基础。在我们此前的模拟中,我们定义了一种在到期时分配资产价格的方法,以及一种用该价格评估到期期权价值的方法。

这种模拟方法一般可以被认为是这样的:

while i < num_iterations:S_T = generate_asset_price()payoffs += payoff_function(S_T)i += 1option_price = exp(-r*T) * (payoffs / num_iterations)

通过改变我们生成资产价格的方式,以及我们评估期权收益的方式,我们可以为一些奇异期权生成价格。详细步骤,请参考我们的历史文章。

二元期权

二元期权(也称为全有全无,或数字期权)是一种收益为一定数量或根本没有收益的期权。 回报通常是固定数量的现金或资产的价值。

对于我们的模拟,我们将研究现金或无现金二元期权。 二元看涨期权和看跌期权的收益如下所示。

二元看涨期权的收益图告诉我们,如果股票价格大于或等于 40.00 美元(我们的行使价),则期权支付 1.00 美元。我们可以将一个二元看涨期权的收益写成一个 Python 函数:

def binary_call_payoff(K, S_T):if S_T >= K:return 1.0else:return 0.0

模拟计算过程

我们的资产价格仍将遵循几何布朗运动,因此我们可以使用此前文章中的 generate_asset_price() 函数。该函数实现代码如下:

def gbm(S, v, r, T):return S * exp((r - 0.5 * v**2) * T + v * sqrt(T) * random.gauss(0,1.0))

这就是我们需要为二元现金或非现金看涨期权定价的全部内容了。把上述内容组合起来:

import random
from math import exp, sqrtdef gbm(S, v, r, T):return S * exp((r - 0.5 * v**2) * T + v * sqrt(T) * random.gauss(0,1.0))def binary_call_payoff(K, S_T):if S_T >= K:return 1.0else:return 0.0# parameters
S = 40.0 # asset price
v = 0.2 # vol of 20%
r = 0.01 # rate of 1%
maturity = 0.5
K = 40.0 # ATM strike
simulations = 50000
payoffs = 0.0# run simultaion
for i in xrange(simulations):S_T = gbm(S, v, r, maturity)payoffs += binary_call_payoff(K, S_T)# find prices
option_price = exp(-r * maturity) * (payoffs / float(simulations))print 'Price: %.8f' % option_price

运行上述代码,得到 0.48413327 的价格,约等于 0.484 。

检验结果

当然,二元期权也可以使用传统的 Black Scholes 模型定价,使用以下公式:

其中 N 是累积正态分布函数,d2 由标准 Black Scholes 公式给出。

让我们通过插入此前模拟中的参数来测试上一步我们所计算的价格是否准确:

>>> from scipy.stats import norm
>>> from math import exp, log, sqrt
>>> S, K, v, r, T = 100.0, 100.0, 0.2, 0.01, 0.5
>>> d2 = (log(S/K) + (r - 0.5 * v**2) * T) / v*sqrt(T)
>>> print exp(-r * T) * norm.cdf(d2)
0.490489409105

可以看到,Black Scholes 公式给出的价格约为 0.490 。这意味着我们的模拟计算价格,仅与BS公式计算的价格相差 0.006 ,从这个结果可以验证,我们的计算结果是比较准确的。

 往期干货分享推荐阅读

量化投资对于数据源、回测、实盘平台的选择

数字货币稳定币对网格做市策略

万物皆可秒——淘宝秒杀Python脚本,扫货618,备战双11!

数字货币资金费策略

数字货币无风险收益率又双叒叕扩大了!

分享一个年化15%以上的无风险套利机会

【数量技术宅|交易系统开发系列分享】网格交易系统开发

通过深度学习股价截面数据分析和预测股票价格

剖析一个数字货币高频策略

数字货币交易信号实时预警推送(含群聊)

Omega System Trading and Development Club内部分享策略Easylanguage源码

量化交易如何选择云服务器,如何在本地远程开发与调试云服务器程序

一个真实数据集的完整机器学习解决方案(下)

一个真实数据集的完整机器学习解决方案(上)

如何使用交易开拓者(TB)开发数字货币策略

股指期货高频数据机器学习预测

如何使用TradingView(TV)回测数字货币交易策略

如何投资股票型基金?什么时间买?买什么?

【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略

AMA指标原作者Perry Kaufman 100+套交易策略源码分享

【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑”

如何获取免费的数字货币历史数据

【数量技术宅|金融数据分析系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单

【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略

【数量技术宅|量化投资策略系列分享】多周期共振交易策略

【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

  大宗商品现货数据不好拿?商品季节性难跟踪?技术宅带你Python爬虫一键解决没烦恼

【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品

【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略

【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

扩展期权定价模型到二元期权定价相关推荐

  1. 期权定价的数值方法之二项式期权定价模型【附pyrhon代码】

    期权定价的数值方法之二项式期权定价模型[附pyrhon代码] 前言 本章将开始期权定价模型的介绍与python量化实践.首先介绍一下期权定价的数值方法. 作为常用的数值方法,二项式期权定价模型(又称二 ...

  2. python 布莱克舒尔斯_布莱克—舒尔斯期权定价模型

    布莱克-舒尔斯期权定价模型.ppt Neokodama |  2011-09-23 17:37 21页 | 220KB | 2次下载 | (3人评价) 举报 | 用手机看文档 扫一扫,手机看文档 布莱 ...

  3. python 布莱克舒尔斯_布莱克-舒尔斯-墨顿期权定价模型

    1. 布莱克-舒尔斯-墨顿期权定价模型(Black–Scholes–Merton Option Pricing Model) 布莱克-舒尔斯-墨顿模型(Black–Scholes–Merton mod ...

  4. FRM模型一:BSM期权定价模型

    模型一:Black-Scholes-Merton模型 最近在学习Frm课程,发现有很多模型可以用python实现出来,于是查阅了一些资料,准备将相关内容用python实现.复现的第一个模型就是大名鼎鼎 ...

  5. 预报校正格式matlab,期权定价模型的高精度差分法

    长沙理工大学 硕士 2016 O241.8 期权定价模型的高精度差分法 High Precision Difference Method of Option Pricing Model 黄振平 张宏伟 ...

  6. matlab期权定价模型比较,期权定价模型与数值方法(Matlab+Jupyter Notebook)

    [实例简介] 期权定价模型与数值方法(Matlab+Jupyter Notebook) 这是在JupyterNotebook上运行的Matlab代码,其中包括:隐含波动率计算.二叉树模型.欧式期权蒙特 ...

  7. matlab 期权 函数,Matlab分析期权定价

    胡良玉 摘 要:由泰勒公式分析股票价格公式,用Matlab软件模拟出股票价格变化轨迹,对模型进行解释分析:随时间长短线性变化,随布朗运动随机波动变化,分别模拟出图像进行验证.把股票价格公式应用到欧式看 ...

  8. 搭建IQ Option二元期权、ExperOption二元期权MT4博易大师信管家

    搭建IQ Option二元期权.ExperOption二元期权MT4博易大师信管家 ★稳定高并发的系统C#语言搭建: ★行情数据实时流畅不卡不顿: ★365天贴心服务保驾护航: 搭建:IQ Optio ...

  9. matlab 期权图,欧式看涨期权定价作图|MATLAB 程序化交易(量化投资)|MATLAB技术论坛 - Powered by Discuz!...

    function Call_Option_Pricing_Plot(varargin) %  copyright by fantuanxiaot %  关注fantuanxiaot的量化分析新浪博客: ...

  10. python与金融建模_【用Python金融建模】从二叉树谈起:衍生品Option期权定价模型的构建...

    内容首发 乐学偶得(http://lexueoude.com) 公众号: 乐学Fintech 用代码理解分析解决金融问题 在金融里面很多地方都出现过一个理念就是"货币的时间价值", ...

最新文章

  1. python基本概念关系图_Python基本概念
  2. Django连接mysql数据库
  3. Java中将List中的值赋给另一个List几种方法实现
  4. 寓言故事中隐藏的10个成功秘诀
  5. Angular list列表绑定的一个例子
  6. 停车场管理系统代码_jsp19109商场商铺停车场服务系统-SSM-Mysql
  7. js笔记(一)js基础、程序结构、函数
  8. FreeSql (四)实体特性 Fluent Api
  9. C语言入门I love China,C语言从入门到精通
  10. mysql查阅建立的库_mysql 怎么查看创建的数据库和表
  11. 国内电影发行公司简介
  12. pythonqt5教程从零开始_pyQt5 QtDesigner 简易入门教程
  13. 了解一下,Android 10中的ART虚拟机(2)
  14. 如何把几张图片合并成一张图片?
  15. iPhone5s的App Store不能下载应用的解决方案
  16. 弄了一整天,终于把打印自定义纸张大小搞定了
  17. java面试教程视频
  18. 围城书评_书评:关于HTML5的真相
  19. webpack4对比webpack5
  20. 【GameMaker 极速入门】#1环境配置

热门文章

  1. git使用——15.搭建自己的gitlab服务器来存放我们的git项目
  2. Spring的Orderd接口以及@Order、@Primary、@Priority三个注解介绍
  3. 自制hdmi线一头改vga图_杀鸡取卵 | 破拆电脑VGA电缆获取收音机天线零件:双目铁氧体磁芯...
  4. CBDB中国历代人物历史可视化系统
  5. HDU 1880魔咒词典
  6. 输入qq号强制进空间_除了QQ号一键登录,迷你世界QQ版还有哪些神奇之处?
  7. Pycharm Traceback (most recent call last):
  8. virtualization technology设置
  9. 计算机毕业论文个人小结2500字,毕业论文个人小结
  10. bzoj:1922: [Sdoi2010]大陆争霸 (luogu 2446)