当前位置:首页 » 股票盈亏 » MATLAB求股票期权价格
扩展阅读
设计总院股票历史股价 2023-08-31 22:08:17
股票开通otc有风险吗 2023-08-31 22:03:12
短线买股票一天最好时间 2023-08-31 22:02:59

MATLAB求股票期权价格

发布时间: 2023-08-23 21:30:53

A. 如何在matlab中用蒙特卡洛模拟计算欧式期权价格

function [c,p]=ucoption(S,X,sigma,r,T,M)
sig2=sigma^2;
srT=sqrt(T);
srTa=sigma*srT;
c=0;
p=0;
for i=1:M
ST=S*exp((r-0.5*sig2)*T+srTa*randn);
c=c+max(ST-X,0);
p=p+max(X-ST,0);
end
c=c/M;
p=p/M;
[Call,Put] = blsprice(S, X, r, T, sigma);
error=[c,p]-[Call,Put]

%可以试试 [c,p]=ucoption(10,10,0.3,0.05,0.5,10^4*100);

B. 如何用matlab计算期权价格

参考论文
期权定价理论是现代金融学中最为重要的理论之一,也是衍生金融工具定价中最复杂的。本文给出了欧式期权定价过程的一个简单推导,并利用Matlab对定价公式给出了数值算例及比较静态分析,以使读者能更直观地理解期权定价理论。
关键词:Matlab;教学实践
基金项目:国家自然科学基金项目(70971037);教育部人文社科青年项目(12YJCZH128)
中图分类号:F83文献标识码:A
收录日期:2012年4月17日
现代金融学与传统金融学最主要的区别在于其研究由定性分析向定量分析的转变。数理金融学即可认为是现代金融学定量分析分支中最具代表性的一门学科。定量分析必然离不开相应计算软件的应用,Matlab就是一款最为流行的数值计算软件,它将高性能的数值计算和数据图形可视化集成在一起,并提供了大量内置函数,近年来得到了广泛的应用,也为金融定量分析提供了强有力的数学工具。
一、Black-Scholes-Merton期权定价模型
本节先给出B-S-M期权定价模型的简单推导,下节给出B-S-M期权定价模型的Matlab的实现。设股票在时刻t的价格过程S(t)遵循如下的几何Brown运动:
dS(t)=mS(t)dt+sS(t)dW(t)(1)
无风险资产价格R(t)服从如下方程:
dR(t)=rR(t)dt(2)
其中,r,m,s>0为常量,m为股票的期望回报率,s为股票价格波动率,r为无风险资产收益率且有0<r<m;dW(t)是标准Brown运动。由式(1)可得:
lnS(T):F[lnS(t)+(m-s2/2)(T-t),s■](3)
欧式看涨期权是一种合约,它给予合约持有者以预定的价格(敲定价格)在未来某个确定的时间T(到期日)购买一种资产(标的资产)的权力。在风险中性世界里,标的资产为由式(1)所刻画股票,不付红利的欧式看涨期权到期日的期望价值为:■[max(S(T)-X,0)],其中■表示风险中性条件下的期望值。根据风险中性定价原理,不付红利欧式看涨期权价格c等于将此期望值按无风险利率进行贴现后的现值,即:
c=e-r(T-1)■[max{S(T)-X,0}](4)
在风险中性世界里,任何资产将只能获得无风险收益率。因此,lnS(T)的分布只要将m换成r即可:
lnS(T):F[lnS(t)+(r-s2/2)(T-t),s■](5)
由式(3)-(4)可得欧式看涨期权价格:
c=S(t)N(d1)-Xe-r(T-1)N(d2)(6)
这里:
d1=■(7)
d2=■=d1-s■(8)
N(x)为均值为0标准差为1的标准正态分布变量的累积概率分布函数。S(t)为t时刻股票的价格,X为敲定价格,r为无风险利率,T为到期时间。欧式看跌期权也是一种合约,它给予期权持有者以敲定价格X,在到期日卖出标的股票的权力。
下面推导欧式看涨期权c与欧式看跌期权p的联系。考虑两个组合,组合1包括一个看涨期权加上Xe-r(T-1)资金,组合2包含一个看跌期权加上一股股票。于是,在到期时两个组合的价值必然都是:
max{X,S(T)}(9)
欧式期权在到期日之前是不允许提前执行的,所以当前两个组合的价值也必相等,于是可得欧式看涨期权与看跌期权之间的平价关系(put-call parity):
c+Xe-r(T-t)=p+S(t)(10)
由式(10)可得,不付红利欧式看跌期权的价格为:
p=Xe-r(T-t)N(-d2)-S(t)N(-d1)(11)
二、Black-Scholes-Merton模型的Matlab实现
1、欧式期权价格的计算。由式(6)可知,若各参数具体数值都已知,计算不付红利的欧式看涨期权的价格一般可以分为三个步骤:先算出d1,d2,涉及对数函数;其次计算N(d1),N(d2),需要查正态分布表;最后再代入式(6)及式(11)即可得欧式期权价格,涉及指数函数。不过,欧式期权价格的计算可利用Matlab中专有blsprice函数实现,显然更为简单:
[call,put]=blsprice(Price,Strike,Rate,Time,Volatility)(12)
只需要将各参数值直接输入即可,下面给出一个算例:设股票t时刻的价格S(t)=20元,敲定价格X=25,无风险利率r=3%,股票的波动率s=10%,到期期限为T-t=1年,则不付红利的欧式看涨及看跌期权价格计算的Matlab实现过程为:
输入命令为:[call,put]= blsprice(20,25,0.03,0.1,1)
输出结果为:call=1.0083put=5.9334
即购买一份标的股票价格过程满足式(1)的不付红利的欧式看涨和看跌期权价格分别为1.0083元和5.9334元。
2、欧式期权价格的比较静态分析。也许纯粹计算欧式期权价格还可以不利用Matlab软件,不过在授课中,教师要讲解期权价格随个参数的变化规律,只看定价公式无法给学生一个直观的感受,此时可利用Matlab数值计算功能及作图功能就能很方便地展示出期权价格的变动规律。下面笔者基于Matlab展示欧式看涨期权价格随各参数变动规律:
(1)看涨期权价格股票价格变化规律
输入命令:s=(10∶1∶40);x=25;r=0.03;t=1;v=0.1;
c=blsprice(s,x,r,t,v);
plot(s,c,'r-.')
title('图1看涨期权价格股票价格变化规律');
xlabel('股票价格');ylabel('期权价值');grid on
(2)看涨期权价格随时间变化规律
输入命令:s=20;x=25;r=0.03;t=(0.1∶0.1∶2);v=0.1;c=blsprice(s,x,r,t,v);
plot(t,c,'r-.')
title('图2看涨期权价格随时间变化规律');
xlabel('到期时间');ylabel('期权价值');grid on
(3)看涨期权价格随无风险利率变化规律
s=20;x=25;r=(0.01∶0.01∶0.5);t=1;v=0.1;c=blsprice(s,x,r,t,v);
plot(r,c,'r-.')
title('图3看涨期权价格随无风险利率变化规律');
xlabel('无风险利率');ylabel('期权价值');grid on
(4)看涨期权价格随波动率变化规律
s=20;x=25;r=0.03;t=1;v=(0.1∶0.1∶1);c=blsprice(s,x,r,t,v);
plot(v,c,'r-.')
title('图4看涨期权价格随波动率变化规律');
xlabel('波动率');ylabel('期权价值');grid on
(作者单位:南京审计学院数学与统计学院)

主要参考文献:
[1]罗琰,杨招军,张维.非完备市场欧式期权无差别定价研究[J].湖南大学学报(自科版),2011.9.
[2]罗琰,覃展辉.随机收益流的效用无差别定价[J].重庆工商大学学报(自科版),2011.
[3]邓留宝,李柏年,杨桂元.Matlab与金融模型分析[M].合肥工业大学出版社,2007.

C. 股票指数期权的定价公式

期权定价问题(Options Pricing)一直是理论界与实务界较为关注的热点问题,同时也是开展期权交易所遇到的最为实际的关键问题。期权价格是期权合约中惟一的可变量,它通常由内涵价值与时间价值两部分构成。而决定期权价格的主要因素包括以下几方面:(1)履约价格的高低;(2)期权合约的有效期;(3 )期权标的物市场的趋势;(4)标的物价格波动幅度;(5)利率的变化。股票指数期权价格的确定也是如此。
根据布莱克·修斯的期权定价模型, 可以分别得到欧式看涨股票指数期权和看跌股票指数期权的定价公式为:
c=se-q(T-t)N(d1)-xe-r(T-t)N(d2);
P=xe-r(T-t)N(-d2)N-se-q(T-t)N(-d1)。
其中 ln(SX)+(r-q+σ2/2)(T-t) ┌──
d1=───────────── ,d2=d1-σ│T-T
┌──
σ│T-t
S为股票指数期权的现货价格,X为执行价格,T为到期日,r为无风险年利率,q为年股息率,σ为指数的年变化率即风险。
例如,以期限为两个月的标准普尔500指数的欧式看涨期权,假定现行指数价格为310,期权的协议价格为300,无风险年利率为8%,指数的变化率年平均为20 %,预计第一个月和第二个月的指数平均股息率分别为0.2%和0.3%。将这些条件,即S=310,X=300,r=0.08,σ=0.2,T-T=0.1667,q=0.5%×6=0.03,代入以上的欧式看涨股票指数期权定价公式,可以得到d1=0.5444,d2=0.4628,N(d1)= 0.7069,N(d2)=0.6782,则C=17.28,即一份股票指数期权合约的成本为17.28 美元。

D. 平价关系式中可以说一种资产是什么

在20世纪70年代初,费希尔·布莱克( Fisher black)、迈伦·斯科尔斯( Myron Scholes)和罗伯特·默顿( Robert Merton)在对欧式股票期权定价研究方面取得了重大的理论突破,提出了针对欧式期权定价的模型,该模型被称为布莱克-斯科尔斯-默顿模型(简称BSM模型)。

模型假设:
在推导出布莱克斯科尔斯-默顿模型时,有以下7个假设前提条件:

一是假设基础资产的股票价格服从几何布朗过程;二是可以卖空证券,并且可以完全运用卖空所获得的资金;三是无交易费用和无税收,所有证券均可无限分割;四是在期权期限内,基础资产无期间收入(比如股票不支付股息);五是市场不存在无风险套利机会;六是证券交易是连续进行的;七是短期无风险利率是一个常数,并对所有期限都是相同的。

微分方程:
此外,模型在推导过程中运用到了一个很重要的微分方程,具体就是

微分方程
其中,式子中的 f 表示看涨期权价格,S表示期权基础资产的价格,r为连续复利的无风险收益率,σ为基础资产价格百分比变化(收益率)的波动率,t是时间变量。

定价公式:
欧式看涨期权的定价公式

看涨期权定价公式
通过看涨-看跌平价关系式,可以得到看跌期权的定价公式:

看跌期权定价公式
其中:

d的计算
c与p分别代表欧式看涨、看跌期权的价格,S0是基础资产在初始0时刻的价格,K是期权的执行价格,r是连续复利的无风险收益率,σ为基础资产价格百分比变化(收益率)的年化波动率,T是期权合约的期限(单位是年),N()表示累积标准正态分布的概率密度。

代码实现基于布莱克-斯科尔斯-默顿模型计算欧式看涨期权、看跌期权定价的函数:

import numpy as np
from scipy.stats import norm

def call_BS(S,K,sigma,r,T):
    '''用bs模型计算欧式看涨期权价格
    S 期权基础资产价格
    K 期权执行价格
    sigma 基础资产价格百分比变化(收益率)的年化波动率
    r 无风险收益率
    T 期权合约剩余年限
    '''
    d1 = (np.log(S/K) + (r + pow(sigma,2)/2)*T) / (sigma*np.sqrt(T))
    d2 = d1 - sigma*np.sqrt(T)
    return S*norm.cdf(d1) - K*np.exp(-r*T)*norm.cdf(d2)

def put_BS(S,K,sigma,r,T):
    '''用bs模型计算欧式看跌期权价格
    S 期权基础资产价格
    K 期权执行价格
    sigma 基础资产价格百分比变化(收益率)的年化波动率
    r 无风险收益率
    T 期权合约剩余年限
    '''
    d1 = (np.log(S/K) + (r + pow(sigma,2)/2)*T) / (sigma*np.sqrt(T))
    d2 = d1 - sigma*np.sqrt(T)
    return K*np.exp(-r*T)*norm.cdf(-d2) - S*norm.cdf(-d1)
例子:
一份期限为6个月的股票期权,期权的基础资产是工商银行的A股股票,2018年12月28日股票收盘价是5.29元/股,期权的执行价格为6元股,无风险利率为年化4%,股票收益率的年化波动率是24%,运用布莱克斯科尔斯-默顿模型计算看涨期权看跌期权的价格。

call_BS(S=5.29, K=6, sigma=0.24, r=0.04, T=0.5)
put_BS(S=5.29, K=6, sigma=0.24, r=0.04, T=0.5)
二、看涨-看跌期权 平价关系式
具有相同执行价格与期限的欧式看跌期权、看涨期权在价格上有一个重要关系式。

1.两个投资组合
首先,考虑以下两个投资组合在期权合约到期时的盈亏情况。A投资组合:一份欧式看涨期权和一份在T时刻到期的本金为K的零息债券;B投资组合:一份欧式看跌期权和一份基础资产。这里需要假设看涨期权与看跌期权具有相同的执行价格K与相同的合约期限T。

对于A投资组合而言,零息债券在期权合约到期日(T时刻)的价值显然是等于K,而对于看涨期权则分两种情形讨论。

情形1:如果在T时刻,基础资产价格St>K,A投资组合中的欧式看涨期权将被执行,此时,A投资组合的价值是(St-K)+K=St;

情形2:如果在T时刻,基础资产价格St<K,A投资组合中的欧式看涨期权就没有价值,此时A投资组合的价值为K。

对于B投资组合而言,也分两种情形讨论。

情形1:如果在T时刻,基础资产价格St>K,此时,B投资组合中的欧式看跌期权没有价值,此时,B投资组合价值为St,也就是仅剩下基础资产的价值;

情形2:如果在T时刻,基础资产价格St<K,此时,B投资组合中的欧式看跌期权会被行使,此时B投资组合价值为(K-St)+St=K。综合以上的分析,当St>K时,在T时刻两个投资组合的价值均为St;当St<K时在T时刻两个投资组合的价值均为K。换而言之,在T时刻(期权合约到期时),两个投资组合的价值均为max(St, K)

由于A投资组合与B投资组合中的期权均为欧式期权,在期权到期之前均不能行使,既然两个投资组合在T时刻均有相同的收益,在期权合约的存续期内也应该有相同的价值。否则,就会出现无风险套利机会,套利者可以买入价格低的投资组合,与此同时卖空价格高的投资组合进行无风险的套利,无风险套利收益就是等于两个组合价值的差额。

2. 抽象的数学表达式
看涨期权 + 零息债券价格 = 看跌期权 + 基础资产价格

平价共识
代码实现:

def call_parity(p,S,K,r,T):
    '''通过平价关系式用看跌期权价格计算欧式看涨期权价格。
    p:欧式看跌期权价格
    S:期权基础资产价格
    K:执行价格
    r:无风险收益率
    T:合约剩余期限    
    '''
    return p + S - K * np.exp(-r * T)

def put_parity(c,S,K,r,T):
    '''通过平价关系式,用看涨期权价格计算欧式看跌期权价格。
    c:欧式看涨期权价格
    S:期权基础资产价格
    K:执行价格
    r:无风险收益率
    T:合约剩余期限    
    '''
    return c + K * np.exp(-r * T) - S
例子:
假设当前股票价格为20元股,期权的执行价格为18元/股,无风险收益率为每年5%,3个月的欧式看涨期权价格对外报价是2.3元,3个月的欧式看跌期权对外报价是0.3元,期权价格是否合理?

call_parity(p=0.3, S=20, K=18, r=0.05, T=0.25)
==>2.523599591110134
put_parity(c=2.3, S=20, K=18, r=0.05, T=0.25)
==>0.07640040888986732
通过计算,看涨期权被低估,看跌期权则被高估,因此可以通过持有看涨期权的多头头寸并买入零息债券(相当于买入A投资组合),同时持有看跌期权的空头头寸并卖空基础资产(相当于卖空B投资组合),从而实现无风险套利。

打开CSDN APP,看更多技术内容

产品定价模型
产品定价模型划分 销售品 作为资费和服务的承载实体,是面向市场和客户提供的商务实体,包括销售品基本信息、生命周期、销售品属性、扣费规则、销售品品牌等等 定价计划 资费规则的打包,用户订购一个销售品时,只能实例出一个定价计划 定价 定义销售品具体的定价信息,包括计费基础费率、累积优惠和赠送、免费资源、折上折、帐务固费和优惠等等 产品定价模型概念视图 销售品信息根据实际业务需求通过配置实现。 定价计划-计费基础费率 普通费率 既直线费率 阶梯费率 分段费率 混合费率 基于上述两种费率,结合时间
继续访问

第1节 欧式期权价格
第1节 欧式期权价格 1.1 简介 1.2 Python 代码实现计算 1.3 细节说明 1.3.1 参数说明 1.3.2 价格和价值 1.3.3 正态分布累计概率函数N(x)N(x)N(x) 1.3.4 欧式期权的看跌-看涨平价关系 1.3.5 计算中使用无风险利率rrr而不是资产预期收益率μ\muμ 1.1 简介         考虑期权对应的资产价格为S(t)S(t)S(t), 记为SSS,它的变化过程为几何布朗运动, dSS=μdt+σdz   
继续访问

【金融量化分析】#BSM formula 的推导(解随机微分方程)
【金融量化分析】#BSM formula 的推导(解随机微分方程)
继续访问
热门推荐 BSM的两个基本问题与python实现(欧式期权定价公式)
在我们的定义中,定量分析是数学或统计学方法在市场数据上的应用。 ——John Forman BSM定价模型的两个基本问题: 隐含波动率 以某些到期日的期权报价倒推出这些期权的隐含波动率,并汇出图表——这是期权交易者和风险管理者每天都要面对的任务。 蒙特卡洛模拟 欧式期权价值的计算。通过蒙特卡罗技术,模拟股票在一段时间中变化。 像Black-Scholes-Merton(1973)这样有深远影响...
继续访问

金融分析与风险管理——期权BSM模型
金融分析与风险管理——期权BSM模型1. BSM模型的假定2. 期权价格与相关变量的关系2.1 期权价格与标的物(S)价格的关系2.2 期权价格与执行价格(K)的关系2.3 期权价格与波动率(sigma)的关系2.4 期权价格与无风险收益率(r)的关系2.5 期权价格与期权剩余期限(t)的关系 1. BSM模型的假定 1.标的物价格服从几何布朗运动 2.允许做空,且可以完全运用做空所获得的资金 3.无交易费用、无税收费用,且可以无限分割 4.在期权期限内,标的物无期间收入 5.市场不存在无风险套利机会 6
继续访问

布莱克—斯科尔斯—默顿(BSM)模型
BSM模型是最常用的期权定价模型之一,虽然其假设不合符市场事实,但是该模型的提出奠定了现代金融衍生品法则的基石。 该模型在学界的发展: 早期的期权定价大多采用Black-Scholes(B-S)期权定价模型,B-S模型假定标的资产收益率服从正态分布且波动率是常数,但是这一假定无法解释“波动率微笑”和“杠杆效应”。在随后的研究中,不断有学者对B-S模型进行改进,例如修正常数波动率、重新刻画资产波动率分布等。 随机波动率模型对B-S模型做出了优化,较为着名的模型有Heston、3/2、...
继续访问

期权的定义与BSM定价
期权定价模型期权定义期权,是指一种合约,源于十八世纪后期的美国和欧洲市场,该合约赋予持有人在某一特定日期或该日之前的任何时间以固定价格购进或售出一种资产的权利。期权定义的要点如下:1、期权是一种权利,期权合约至少涉及买家和出售人两方。持有人享有权利但不承担相应的义务。2、期权的标的物。期权的标的物是指选择购买或出售的资产。它包括股票、政府债券、货币、股票指数、商品期货等。期权是这些标的物“衍生”的...
继续访问

BSM期权定价
1. BSM期权定价公式 2. 代码实现 import pandas as pd import numpy as np from math import sqrt,log from scipy import stats def BSM(S0,K,T,r,sigma): ''' S0: 股票价格; K: 执行价格; T: 期权期限; r: 无风险利率 sigma: 波动率 ''' S0 = float(S0) d1 = (np.
继续访问
最新发布 GBDT实战 —— 产品定价模型
GBDT实战 —— 产品定价模型
继续访问

欧式香草期权(普通看涨、看跌)的定价公式及实现
本文将从文献中查阅欧式看涨、看跌期权的定价公式,用代码实现该公式。
继续访问

Black-Scholes-Merton欧式期权定价公式
理论和实际价格通常不吻合
继续访问
数据有价——数据资产定价研究初探
数据(Data)是一项资产的观念形成虽然时间不长,但已经成为人们的共识。成为资产的两个基本前提条件是能够确权和定价。确权是确定谁拥有什么权利或权益,定价使得资产具备可转让...
继续访问
BSM模型心得,python实现方案
#BSM模型心得,python实现方案 BSM简介 首先对于BSM模型先简单介绍一下,接触过期权的人应该都不陌生,BSM模型全称Black-Scholes-Merton model,其主要的贡献是提供了一种期权定价模式,并且首次提出了对冲风险的概念,也就是delta hedging,通过delta hedging我们可以完全对冲掉风险,这也为当时的投资界提供了一个崭新的思路。 对于期权的定价我把方...
继续访问
期权定价公式的推导(欧式)
1.C=e−rTEQ[max(ST−K,0)]C = e^{-rT}E^{Q}[max(S_T-K,0)]C=e−rTEQ[max(ST​−K,0)] 又可以写为C=e−rTEQ[(ST−K)]IIST>=K](1)C = e^{-rT}E^{Q}[(S_T-K)]II_{S_T > =K }] \tag 1 C=e−rTEQ[(ST​−K)]IIST​>=K​](1) 其中QQ...
继续访问

期权定价模型之经典--BS模型
期权定价模型之BS模型
继续访问

matlab找出定价规律,基于MATLAB建立数学模型对定价系统的研究
1. 引言首先,应用MATLAB软件对所搜集数据进行删减,得到有效数据。利用有效数据建立起任务所在的经纬度坐标、任务标价以及任务完成情况的三维散点图,说明了价格、任务量和任务地点之间的内在关系。为了方便后续分析,运用MATLAB的K值聚类将这些散点分入A、B、C、D四个区域,建立了相应的二维散点图和各个区域的柱状图,得到价格、成功率和任务量分配之间的关系。另外,建立二维图直观分析了会员分布与成功率...
继续访问
分支定价算法(branch and price, B&P)
目录前言分支定界算法列生成算法步骤参考文献 前言 简述分支定价算法原理,如有错误可私信,谢谢。部分截图来自本人汇报所用PPT以及参考文献。 分支定界算法 分支定价算法(branch and price, B&P)=分支定界(branch and bound, B&B)+列生成(column generation, CG, 线性规划)。其中列生成算法用于求节点的下界,即节点松弛模型的最优解。列生成算法因其求解方法的本质会大大减少计算量,求解的并非节点松弛模型本身,而是受限制的松弛模型,即减少了
继续访问

matlab欧式期权定价公式,[转载]期权定价的Matlab实现(以欧式看涨期权为例)
二叉树模型考虑到欧式期权的特性,忽略中间过程,直接关注末期状态及其概率分布。function price=bino(s,k,r,t,v,n)dt=t/n;u=exp(v*sqrt(dt));d=1/u;p=(exp(r*dt)-d)/(u-d);for i=0:nst(i+1)=s*power(u,n-i)*power(d,i);prob(i+1)=nchoosek(n,i)*power(p,n-...
继续访问
定价模型,该如何做分析?
“为啥书上讲的和实际做的不一样???”在数据领域,有很多“书上一讲就明白,实际一干就报废”的知识点,因此同学们才有这种疑惑。趁着开年,系统帮同学们解答一下,后续工作、面试都用得上。而在众多...
继续访问
比特币
区块链
数学建模