码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 扩展期权定价模型到二元期权定价


    更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。

    欧式期权定价回顾

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

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

    复制代码
    while i < num_iterations:
        S_T = generate_asset_price()
        payoffs += payoff_function(S_T)
        i += 1
    
    option_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.0
        else:
            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, sqrt
    
    def 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.0
        else:
            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 ,从这个结果可以验证,我们的计算结果是比较准确的。

     

     


    往期干货分享推荐阅读

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

    数字货币资金费策略

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

    网格交易系统开发

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享

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

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

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

     

  • 相关阅读:
    H3C IMC dynamiccontent.properties.xhtm 远程命令执行
    如何用虚拟仿真实训室提质增效?
    QT操作SQLite数据库_界面方式_增删改查
    2022牛客多校加赛场_G
    软件设计模式
    [附源码]计算机毕业设计基于springboot的连锁药店销售管理系统
    链动2+1模式全新版本:会员自裂变,无限链动收益
    thinkPHP项目搭建
    linux 进程组和会话和线程
    Linux ARM平台开发系列讲解(原子操作) 3.2.1 Linux内核原子操作
  • 原文地址:https://www.cnblogs.com/sljsz/p/16379794.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号