码农知识堂 - 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爬虫

     

  • 相关阅读:
    第19章_瑞萨MCU零基础入门系列教程之RTC
    项目经理如何做好任务分解,制定项目计划
    Cocos独立游戏开发框架中的日志模块:Bug无所遁形
    React 之 forwardRef用法(十六)
    vue.mixin全局混合选项
    一文搞定垃圾回收器
    2023高教社杯数学建模国赛C题思路解析+代码+论文
    [山东科技大学OJ]1141 Problem E: 编写函数:有序序列插入数据 之二 (Append Code)
    使用groupby统计不同组的缺失值
    【四旋翼飞行器】模拟四旋翼飞行器的平移和旋转动力学(Simulink仿真实现)
  • 原文地址:https://www.cnblogs.com/sljsz/p/16379794.html
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号