当前位置: 首页 > news >正文

期权无风险套利(Risk-Free Arbitrage)举例以及期权无套利定价公式

期权市场的无风险套利

中文版

期权市场中的套利实例

为了清楚地说明,让我们通过一个现实的例子来展示套利。

期权市场中的套利实例

假设市场上有以下价格:

  • 标的股票价格:100美元
  • 欧式看涨期权(行权价100美元,3个月到期):8美元
  • 欧式看跌期权(行权价100美元,3个月到期):5美元
  • 无风险利率:2%(年化)

我们使用一个经典的套利策略,称为“转换套利”:

转换套利策略

转换套利涉及买入标的股票、买入看跌期权并卖出看涨期权。如果期权与标的股票之间存在定价错误,此策略可以锁定无风险利润。

逐步过程:
  1. 买入标的股票

    • 以100美元购买1股XYZ公司股票。
  2. 买入欧式看跌期权

    • 以5美元购买一个行权价为100美元的看跌期权。
  3. 卖出欧式看涨期权

    • 以8美元卖出一个行权价为100美元的看涨期权。
总初始投资:
  • 购买股票:100美元
  • 购买看跌期权:5美元
  • 卖出看涨期权:-8美元(你收到8美元)

总初始投资 = 100美元(股票) + 5美元(看跌期权) - 8美元(看涨期权) = 97美元

到期时的收益:

无论股票价格在到期时是多少,你的头寸都是对冲的:

  1. 如果股票价格高于100美元(例如110美元)

    • 看跌期权作废。
    • 看涨期权被执行,你以100美元卖出股票。
    • 你收到100美元。
  2. 如果股票价格低于100美元(例如90美元)

    • 看跌期权被执行,你以100美元卖出股票。
    • 看涨期权作废。
    • 你收到100美元。

在这两种情况下,你到期时都得到100美元。

利润计算:
  • 到期时收到的总金额:100美元
  • 总初始投资:97美元

利润 = 100美元 - 97美元 = 3美元

这是由于期权相对于标的股票的初始定价错误而获得的无风险利润3美元。

无套利例子

在一个无套利市场中,不会存在这样的差异。看涨期权和看跌期权的价格会与股票价格和无风险利率对齐,以便上述策略不会产生无风险利润。

无套利条件下的期权定价实际例子

在无套利条件下,期权的价格应该符合以下无套利定价公式:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

其中:

  • ( C ) 是看涨期权的价格
  • ( P ) 是看跌期权的价格
  • ( S ) 是股票价格
  • ( K ) 是行权价
  • ( r ) 是无风险利率
  • ( t ) 是到期时间
实例说明

假设以下市场条件:

  • 标的股票价格(S):100美元
  • 行权价(K):100美元
  • 无风险利率(r):2%(年化)
  • 到期时间(t):3个月(即0.25年)

我们需要验证期权价格是否满足无套利条件。假设当前市场价格:

  • 看涨期权价格(C):8美元
  • 看跌期权价格(P):4.5美元

现在,我们将这些数值代入无套利定价公式来验证:

计算无套利定价公式

首先计算右边的表达式 ( K × e − r t K \times e^{-rt} K×ert ):

K × e − r t = 100 × e − 0.02 × 0.25 K \times e^{-rt} = 100 \times e^{-0.02 \times 0.25} K×ert=100×e0.02×0.25

计算 ( e − 0.02 × 0.25 e^{-0.02 \times 0.25} e0.02×0.25 ):

e − 0.005 ≈ 0.995 e^{-0.005} \approx 0.995 e0.0050.995

因此:

100 × 0.995 = 99.5 100 \times 0.995 = 99.5 100×0.995=99.5

代入公式:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

左边是:

8 - 4.5 = 3.5

右边是:

100 - 99.5 = 0.5

显然,这里不满足无套利条件。

调整后的无套利定价

为了满足无套利条件,我们需要调整看跌期权的价格,使公式成立:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

即:

8 − P = 100 − 99.5 8 - P = 100 - 99.5 8P=10099.5

8 − P = 0.5 8 - P = 0.5 8P=0.5

P = 8 − 0.5 = 7.5 P = 8 - 0.5 = 7.5 P=80.5=7.5

所以,在无套利条件下,看跌期权的价格应为7.5美元。

总结
  • 看涨期权价格(C):8美元
  • 看跌期权价格(P):7.5美元

在这个调整后的例子中:

8 − 7.5 = 100 − 99.5 8 - 7.5 = 100 - 99.5 87.5=10099.5

0.5 = 0.5 0.5 = 0.5 0.5=0.5

这满足了无套利条件。因此,市场在这种情况下没有套利机会,所有期权价格是合理的。

结合前面的无风险套利实例

前面的套利例子中,通过构建保护性看跌和备兑看涨策略,我们发现期权价格存在偏差,导致无风险利润。现在,我们通过无套利条件调整了看跌期权的价格,使其符合市场有效性,从而消除了套利机会。

这个例子说明了在无套利市场中,期权价格如何通过无套利定价公式保持一致,以防止套利机会。

英文版

Example of Arbitrage in the Options Market

To illustrate more clearly, let’s go through a more realistic example of arbitrage.

Example of Arbitrage in the Options Market

Assume the following market prices:

  • Underlying stock price: $100
  • European call option (strike price $100, 3 months to expiry): $8
  • European put option (strike price $100, 3 months to expiry): $5
  • Risk-free interest rate: 2% (annualized)

We will use a classic arbitrage strategy known as a “conversion arbitrage.”

Conversion Arbitrage Strategy

Conversion arbitrage involves buying the underlying stock, buying a put option, and selling a call option. If there is a pricing discrepancy between the options and the underlying stock, this strategy can lock in a risk-free profit.

Step-by-Step Process:
  1. Buy the underlying stock:

    • Purchase 1 share of XYZ company stock at $100.
  2. Buy a European put option:

    • Purchase a put option with a strike price of $100 for $5.
  3. Sell a European call option:

    • Sell a call option with a strike price of $100 for $8.
Total Initial Investment:
  • Purchase of stock: $100
  • Purchase of put option: $5
  • Sale of call option: -$8 (you receive $8)

Total initial investment = $100 (stock) + $5 (put option) - $8 (call option) = $97

Payoff at Expiration:

Regardless of the stock price at expiration, your positions are hedged:

  1. If the stock price is above $100 (e.g., $110):

    • The put option expires worthless.
    • The call option is exercised, and you sell the stock at $100.
    • You receive $100.
  2. If the stock price is below $100 (e.g., $90):

    • The put option is exercised, and you sell the stock at $100.
    • The call option expires worthless.
    • You receive $100.

In both cases, you receive $100 at expiration.

Profit Calculation:
  • Total amount received at expiration: $100
  • Total initial investment: $97

Profit = $100 - $97 = $3

This $3 risk-free profit is due to the initial mispricing of the options relative to the stock.

Example of No-Arbitrage

In a no-arbitrage market, such discrepancies would not exist. The prices of call and put options would align with the stock price and the risk-free interest rate, preventing such risk-free profits from being made.

Example of No-Arbitrage Pricing in the Options Market

In a no-arbitrage market, option prices should satisfy the following no-arbitrage pricing formula:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

where:

  • ( C ) is the price of the call option
  • ( P ) is the price of the put option
  • ( S ) is the stock price
  • ( K ) is the strike price
  • ( r ) is the risk-free interest rate
  • ( t ) is the time to expiration
Example Illustration

Assume the following market conditions:

  • Stock price (S): $100
  • Strike price (K): $100
  • Risk-free interest rate ( r): 2% (annualized)
  • Time to expiration (t): 3 months (or 0.25 years)

We need to verify if the option prices meet the no-arbitrage condition. Assume the current market prices are:

  • Call option price ( C): $8
  • Put option price ( P): $4.5

Let’s plug these values into the no-arbitrage pricing formula to verify:

Calculating the No-Arbitrage Pricing Formula

First, calculate the right side of the equation ( K × e − r t K \times e^{-rt} K×ert ):

K × e − r t = 100 × e − 0.02 × 0.25 K \times e^{-rt} = 100 \times e^{-0.02 \times 0.25} K×ert=100×e0.02×0.25

Calculate ( e − 0.02 × 0.25 e^{-0.02 \times 0.25} e0.02×0.25 ):

e − 0.005 ≈ 0.995 e^{-0.005} \approx 0.995 e0.0050.995

Thus:

100 × 0.995 = 99.5 100 \times 0.995 = 99.5 100×0.995=99.5

Substitute into the formula:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

Left side:

8 − 4.5 = 3.5 8 - 4.5 = 3.5 84.5=3.5

Right side:

100 − 99.5 = 0.5 100 - 99.5 = 0.5 10099.5=0.5

Clearly, this does not satisfy the no-arbitrage condition.

Adjusted No-Arbitrage Pricing

To satisfy the no-arbitrage condition, we need to adjust the put option price so that the formula holds:

C − P = S − K × e − r t C - P = S - K \times e^{-rt} CP=SK×ert

So:

8 − P = 100 − 99.5 8 - P = 100 - 99.5 8P=10099.5

8 − P = 0.5 8 - P = 0.5 8P=0.5

P = 8 − 0.5 = 7.5 P = 8 - 0.5 = 7.5 P=80.5=7.5

Therefore, under the no-arbitrage condition, the put option price should be $7.5.

Summary
  • Call option price ( C): $8
  • Put option price ( P): $7.5

In this adjusted example:

8 − 7.5 = 100 − 99.5 8 - 7.5 = 100 - 99.5 87.5=10099.5

0.5 = 0.5 0.5 = 0.5 0.5=0.5

This satisfies the no-arbitrage condition. Thus, the market in this case has no arbitrage opportunities, and all option prices are fair.

Relating to the Previous Risk-Free Arbitrage Example

In the previous arbitrage example, we identified a pricing discrepancy through the protective put and covered call strategy, leading to a risk-free profit. Now, by adjusting the put option price to meet the no-arbitrage condition, we ensure market efficiency and eliminate the arbitrage opportunity.

This example illustrates how option prices, in a no-arbitrage market, are aligned by the no-arbitrage pricing formula to prevent arbitrage opportunities.

后记

2024年6月16日于上海。基于GPT4o模型。

相关文章:

期权无风险套利(Risk-Free Arbitrage)举例以及期权无套利定价公式

期权市场的无风险套利 中文版 期权市场中的套利实例 为了清楚地说明,让我们通过一个现实的例子来展示套利。 期权市场中的套利实例 假设市场上有以下价格: 标的股票价格:100美元欧式看涨期权(行权价100美元,3个月…...

Java基础知识巩固自测(上)

前言 该文章适用于已初步了解Java基础知识的入门学习者,便于快速回顾知识点,查漏补缺。 内容包括:Java面向对象相关知识、SQL基础语法 复习建议技巧 实用3W思维法(What、Why、How) 1. What(什么&#x…...

通过 Python+Nacos实现微服务,细解微服务架构

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 背景 一直以来的想法比较多,然后就用Python编写各种代码脚本。很多…...

如何使用new和delete操作符进行动态内存分配和释放?

在C中,new 和 delete 操作符用于在堆(heap)上动态地分配和释放内存。这是管理内存的一种重要方式,特别是在需要创建可变数量或生命周期与程序执行流程不一致的对象时。 使用 new 进行动态内存分配 当你使用 new 操作符时&#x…...

【SCAU数据挖掘】数据挖掘期末总复习题库选择题及解析

1.将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?( C ) A.频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 解析:数据预处理是数据分析和数据挖掘的重要步骤之一,包括数据清洗、集成、变换、规约(如维度规约、数值规约)等。这…...

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH)

顶顶通呼叫中心中间件-限制最大通话时间(mod_cti基于FreeSWITCH) 一、最大通话时间 1、配置拨号方案 1、点击拨号方案 ->2、在框中输入通话最大时长->3、点击添加->4、根据图中配置->5、勾选continue。修改拨号方案需要等待一分钟即可生效 action"sched…...

深度学习:使用argparse 模块

在深度学习中,结合 Bash 脚本和 argparse 模块,可以实现高效的任务自动化和参数管理。Bash 脚本可以用来调度任务和管理环境,而 argparse 模块可以用来解析命令行参数,控制深度学习模型的训练和评估过程。 1.argparse 模块 argp…...

unity text根据文本内容自动设置高度

我们经常会遇到需要根据文字数量动态修改文本框高度的需求,我们可以使用文本的行数*每行的高度来计算文本框的高度,伪代码如下: int oneLineHight 50;// 每行的像素高度 private void ResetTextHight(string str) {//设置文字内容ShowText.…...

ARM 汇编 C语言 for循环

在使用 Keil 编译基于 STM32F103 的 C 语言程序时,生成的汇编代码会有一些不同。STM32F103 是基于 ARM Cortex-M3 内核的微控制器,因为汇编语言是 ARM 汇编,而不是 x86 汇编。 示例 C 代码 假设我们有如下的简单 C 语言 for 循环代码&#x…...

java:【@ComponentScan】和【@SpringBootApplication】扫包范围的冲突

# 代码结构如下&#xff1a; 注意【com.chz.myBean.branch】和【com.chz.myBean.main】这两个包是没有生重叠的。 主程序【MyBeanTest1、MyBeanTest2、MyBeanTest3】这两个类是在包【com.chz.myBean.main】下 # 示例代码 【pom.xml】 <dependency><groupId>org.…...

本学期嵌入式期末考试的综合项目,我是这么出题的

时间过得真快&#xff0c;临近期末&#xff0c;又到了老师出卷的时候。作为《嵌入式开发及应用》这门课的主讲教师&#xff0c;今年给学生出的题目有一点点难度&#xff0c;最后的综合项目要求如下所示&#xff0c;各位学生朋友和教师同行可以评论一下难度如何&#xff0c;单片…...

CSS概述

CSS是一种样式表语言&#xff0c;用于为HTML文档控制外观&#xff0c;定义布局。例如&#xff0c; CSS涉及字体、颜色、边距、高度、宽度、背景图像、高级定位等方面 。 ● 可将页面的内容与表现形式分离&#xff0c;页面内容存放在HTML文档中&#xff0c;而用 于定义表现形式…...

Tensorflow-GPU工具包了解和详细安装方法

目录 基础知识信息了解 显卡算力 CUDA兼容 Tensorflow gpu安装 CUDA/cuDNN匹配和下载 查看Conda driver的版本 下载CUDA工具包 查看对应cuDNN版本 下载cuDNN加速库 CUDA/cuDNN安装 CUDA安装方法 cuDNN加速库安装 配置CUDA/cuDNN环境变量 配置环境变量 核验是否安…...

【python】OpenCV GUI——Trackbar(14.2)

学习来自 OpenCV基础&#xff08;12&#xff09;OpenCV GUI中的鼠标和滑动条 文章目录 GUI 滑条介绍cv2.createTrackbar 介绍牛刀小试 GUI 滑条介绍 GUI滑动条是一种直观且快速的调节控件&#xff0c;主要用于改变一个数值或相对值。以下是关于GUI滑动条的详细介绍&#xff1a…...

Qt自定义日志输出

Qt自定义日志输出 简略版&#xff1a; #include <QApplication> #include <QDebug> #include <QDateTime> #include <QFileInfo> // 将日志类型转换为字符串 QString typeToString(QtMsgType type) {switch (type) {case QtDebugMsg: return "D…...

[C++] vector list 等容器的迭代器失效问题

标题&#xff1a;[C] 容器的迭代器失效问题 水墨不写bug 正文开始&#xff1a; 什么是迭代器&#xff1f; 迭代器是STL提供的六大组件之一&#xff0c;它允许我们访问容器&#xff08;如vector、list、set等&#xff09;中的元素&#xff0c;同时提供一个遍历容器的方法。然而…...

Java——变量作用域和生命周期

一、作用域 1、作用域简介 在Java中&#xff0c;作用域&#xff08;Scope&#xff09;指的是变量、方法和类在代码中的可见性和生命周期。理解作用域有助于编写更清晰、更高效的代码。 2、作用域 块作用域&#xff08;Block Scope&#xff09;&#xff1a; 块作用域是指在…...

WPF界面设计

1、使用C#-WPF实现抽屉效果-炫酷漂亮的侧边栏导航菜单-SplitViewMD主题重绘原生控件的美观效果-提供源码Demo下载 码源地址&#xff1a;https://download.csdn.net/download/Prince999999/89424685 2、使用C#-WPF实现抽屉效果-菜单导航功能实现&#xff0c;常规的管理系统应该…...

【C#】使用JavaScriptSerializer序列化对象

在C#开发语言编程中&#xff0c;通常使用系统内置的JavaScriptSerializer类来序列化对象&#xff0c;以便将其转换为JSON格式的文本存储与后台服务通信, 在这里将为大家详细介绍一下这个过程。 文章目录 反序列化序列化忽略属性 假设处理的数据中有一个对象类, 如下 public cl…...

HTML静态网页成品作业(HTML+CSS)—— 明星吴磊介绍网页(5个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有5个页面。 二、作品演示 三、代…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

Objective-C常用命名规范总结

【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名&#xff08;Class Name)2.协议名&#xff08;Protocol Name)3.方法名&#xff08;Method Name)4.属性名&#xff08;Property Name&#xff09;5.局部变量/实例变量&#xff08;Local / Instance Variables&…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...