MATLAB实现二叉树期货定价
亚式期权二叉树matlab M文件
for i=1:n+1
temp(i,:)=temp(i,:)*q^(n+1-i)*p^(i-1);
end
% ---------------------------求和并乘上exp(-风险率*期数)
Asianoption=sum(sum(temp))*exp(-r*n);
% u=a+a*sqrt(exp(sigma^2*deltaT)-1);
% -------------------------参数公式二
% q=0.5;
% a=exp(r*deltaT);
% d=a-sigma*sqrt(deltaT);
% u=a+sigma*sqrt(deltaT);
valuetree=zeros(n+1);
valuetree(1,1)=S;
for i=1:n
for j=0:i
valuetree(i+1,j+1)=S*u^j*d^(i-j);
end
end
%====================计算各个节点各个路径的均值==============================
% -------------------------参数公式三
% q=0.5;
% d=exp((r-sigma^2/2)*deltaT-sigma*sqrt(deltaT));
% u=exp((r-sigma^2/2)*deltaT+sigma*sqrt(deltaT));
%==========================求各个节点的值S(矩阵形式)=========================
欧式看涨期权二叉树定价
欧式看涨期权二叉树定价(含matlab代码和结果图)实验概述本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。
19. 2 实验目的(1)了解二叉树的定价机理;(2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法;(3)掌握欧式期权和美式期权的二叉树定价方法。
19. 3 实验工具MATLAB 7. 0。
19. 4 理论要点构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。
这个树图表示了在期权有效期内股票价格可能遵循的路径。
二叉树定价方法与风险中性定价理论是紧密联系的。
Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。
1)一个简单的例子假设当前(3月份)股票的价格So =50元,月利率是25%。
4月份股票价格有两种可能:S高=100元,S低=25元。
有一份看涨期权合约,合约约定在4月份可以以50元价格买进一股股票。
现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,借期为一个月。
根据上述组合,我们可以得到以下到期收益分布表,如表19. 1所示。
表19.1 投资组合的到期收益分布表四月份三月份S低=25元 S高=100元卖出3份看涨期权合约 3C 0 -150买人两股股票 -100 50 200借人现金 40 -50 -50总计 0 0 0由一价定律3C-100+40=0,可得C= 20元,即为期权的价格。
这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。
我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。
于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。
金融计算与分析及MATLAB GUI开发应用课件第13章
▪ 参数: StockSpec - 证券特征格式 RateSpec - 利率特征格式 TimeSpec - 时间离散格式 StockOptSpec - 欧式股票期权结构 ITTTree - ITT型二叉树
MATLAB 函数 13.2 标的资产输入格式
13.2.3 树图时间离散格式 - STT模型
▪ 格式: TimeSpec=stttimespec(ValuationDate, Maturity, NumPeriods)
▪ 参数: ValuationDate - 评估日 Maturity - 到期日 NumPeriods - 离散时间段 TimeSpec - 时间离散结构
MATLAB 函数 13.2 标的资产输入格式
13.2.2 无风险收益率格式
▪ 格式: [RateSpec, RateSpecOld]=intenvset('Parameter1', … Value1, 'Parameter2' , Value2 , ...) [RateSpec, RateSpecOld]=intenvset(RateSpec , … 'Parameter1', Value1, ...)
MATLAB 函数 13.4 树型期权定价
13.4.1 亚式期权价格 - EQP模型
▪ 格式: Price=asianbyeqp(EQPTree, OptSpec, Strike, Settle, … ExerciseDates, AmericanOpt, AvgType, AvgPrice, AvgDate)
基于交易成本和红利的欧式期权二叉树模型及算法
基于交易成本和红利的欧式期权二叉树模型及算法任芳玲;蒋登智【摘要】二叉树期权定价模型是期权定价理论中一种重要的数值方法,典型的二叉树模型是在没有交易成本及红利的基础上建立的,本文考虑有交易成本和红利的欧式期权二叉树图法,分别从已知红利率和交易成本比例以及已知红利数额和交易成本数额两方面,给出了欧式期权二叉树模型.并结合典型二叉树模型的矩阵算法,给出了修正后二叉树模型的矩阵形式算法和MATLAB程序语言,使其在实际金融市场中的应用更加便捷.【期刊名称】《山东科学》【年(卷),期】2018(031)005【总页数】8页(P101-108)【关键词】欧式期权;二叉树图;交易成本;红利;矩阵【作者】任芳玲;蒋登智【作者单位】延安大学数学与计算机科学学院,陕西延安716000;延安大学数学与计算机科学学院,陕西延安716000【正文语种】中文【中图分类】O29;F830.9期权,意为选择权,近年来已成为金融市场最重要的衍生产品,以其灵活多变性备受投资者青睐,因此,有关期权定价问题的模型和方法探讨就成为数理金融领域的热点问题之一。
期权定价的常用方法包括B-S期权定价模型和数值计算模型,其中B-S期权定价模型虽有优点,但其复杂的微分方程推导过程难以为金融务实者接受。
在数值计算模型中,最为突出的即为二叉树模型,此模型在1979年由Cox 等[1]提出,给出了一种简单的离散时间下的期权定价方法,被称为Cox-Ross-Rubinstein二项式期权定价模型,由于其简单直观的构造,不仅可以为欧式期权定价,也可为美式期权定价,应用相当广泛,现已成为期权定价的基本方法之一。
然而,随着经典B-S期权定价模型在实际金融市场中的不断检验和修正,基本的二叉树模型已不能很好地解决相关问题的数值计算,所以许多学者对此问题进行了进一步研究,张铁[2]给出了二叉树模型参数的不同确定方法,刘洪久等[3-4]给出了不确定、随机条件下二叉树期权定价模型,Han等[5-7]都对二叉树模型的参数值进行了估计。
matlab第十章
第十章 二项式期权定价(满分70分)一、单期二项式期权定价1.复制、定价例10.1设某股票当前价格为100元,一年后可能上涨50%(即期末价格为150元),也可能下跌25%(即期末价格为75元),无风险债券的利率为5%(国库券年利率),债券的当前价格为1元,现在有1份执行价格为125元、有效期为1年的该股票看涨期权,试计算该看涨期权的价格。
Step1.复制,即1*Call=X*Shares+Y*Bonds⎩⎨⎧=+=+005.1752505.1150Y X Y X 解出X 和Y 的值。
Step2. 定价,即期末现金流相等,则期初的价格相等: C=X*S0+Y*A0. 输入命令:A=[150,1.05;75,1.05];B=[25;0];X=A\BS 0=100;B 0=1;C=X'*[S 0;B 0]2、风险中性定价(1) 以离散计息的方式进行折现,则单期二项式期权定价公式应为:))(1()0,)1(max()()0,)1(max()(d u r X d S r u X u S d r C ++---+-++= 由于S 、u 、d 、r 、X 的值事先已知,故可以确定出C 的值。
(2) 以连续复利计息的方式进行折现,则单期二项式期权定价公式应为:)()0,)1(max()1()0,)1(max()1(d u e X d S e u X u S d e C r r r +---++-+-+=(3) 若考虑股票派发的红利。
当已知股票派发红利时,如果再已知股票的波动率,可以直接用Cox-Ross-Rubinstein二项式期权定价模型来为期权进行定价,其函数命令为:[AssetPrice, OptionValue] = binprice(Price, Strike, Rate, Time, Increment,…Volatility, Flag, DividendRate, Dividend, ExDiv) 其中,Price、Strike、Rate、Time、Increment、Volatility、Flag、DividendRate、Dividend、ExDiv分别表示股票的当前价格、期权的执行价格、无风险利率、期权的有效期、时间间隔的大小、股票的波动率、期权的看涨看跌类别(看涨取值1,看跌取值0)、红利率、红利、红利支付日期(最后三个变量是可以任选的,默认值均为0)。
MATLAB程序设计 BS公式与二叉树模型—期权定价与分析
BS 公式与二叉树模型—期权定价与分析什么是期权?期权就是当什么时候或条件下,你有什么权力。
教课书上的期权似乎离我们比较遥远,或仅限于金融市场。
但如果仔细想想,车险或疾病保险似乎也是一种期权,期权本质是一种选择权。
例如,商业医疗保险,客户每年缴纳一定的保费,获得在生病时获取一定补偿的权利。
公司期权,若工作业绩达到某个标准(付出),得到公司多少多上的期权。
就如面临选择,需要权衡一样;各种期权也需要衡量(定价)。
1 Black-Scholes 期权定价公式1973年,芝加哥大学教授Black 和MIT 教授Scholes 在美国“政治经济学报”(Journal of Political Economy )上发表了一篇题为“期权定价和公司负债”(The pricing of Options and Corporate Liabilities )的论文;同年,哈佛大学教授Merton 在“贝尔经济管理科学学报”上发表了另一篇论文“期权的理性定价理论”(Theory of rational option pricing ),奠定了期权定价的理论性基础,B-S 期权定价公式诞生了。
1.1布朗运动从概率论的角度讲,标的资产价格的变化是一个随机过程。
因此,了解和掌握这个随机过程的基本特征,是期权定价理论首先要回答的基本问题。
例如,股票价格变动服从几何布朗运动或对数正态分布,是Black 和Scholes 在推导B-S 期权定价模型时用到的最基本的假设。
一般维纳过程:设为布朗运动,则称 为一般化的维纳过程(布朗运动)。
称为瞬时期望漂移率,为瞬时标准差,它们都是给定的参数,是连续的维纳过程。
生成布朗运动的随机序列,作者编写了函数BrownM 可以生成一维或者二维的随机序列,具体使用方法为:function data=BrownM(Npoints,Mean,Std,Opt) 输入参数:Npoints :生成序列的节点数 Mean :正态分布均值 Std : 正态分布标准差Opt : 选择项Opt=1生成一维随机数,Opt=2生成二维随机数 输出参数:Data :服从布朗运动一维或者二维的随机序列 BrownM 源码:function data=BrownM(Npoints,Mean,Std,Opt) %code by ariszheng@ %2009-6-13 dt=1;%dt 时间变化%选择项Opt=1生成一维随机数,Opt=2生成二维随机数 if Opt==1}{(),0B t t ≥()()dS t dt dB t μσ=+μσ()B t%%% standard Brownian motiondata=[0 cumsum(dt^0.5.*random('Normal',Mean,Std,1,Npoints))];%random('Normal',Mean,Std,1,Npoints)%生成服从正态分布的随机数,Mean均值,Std方差,1,Npoints 一行Npoints个%cumsum为累加函数%画图figureplot(0:Npoints,data);elseif Opt==2data=cumsum([zeros(1,3);dt^0.5*random( 'Normal' ,Mean , Std ,Npoints-1,3 )]);%画图figureplot3(data(:, 1), data(:, 2), data(:, 3), 'k');%根据数值设定画图点的颜色pcol = (data-repmat(min(data), Npoints, 1))./ ...repmat(max(data)-min(data), Npoints, 1);%叠加画图hold on;scatter3(data(:, 1), data(:, 2),data(:, 3), ...10, pcol, 'filled');%显示网格grid on;hold off;elseerror('Opt=1 or Opt=2')end注视:累加运算Cumsum 例如A=[1,2,3,4] ;Cumsum(A)=[1,3,6,10]BrownM使用实例:M文件BrownMtest.M%test BrownM%生成1000个数据Npoints=1000;%均值为0Mean=0;%方差为1Std=1;%生成一维随机数Opt=1;dataA=BrownM(Npoints,Mean,Std,Opt);% Opt=2;% dataB=BrownM(Npoints,Mean,Std,Opt);结果图:布朗运动一维随机序列与布朗运动二维随机序列图1布朗运动一维随机序列图图2布朗运动二维随机序列图1.2 B-S 定价模型即著名的Black-Scholes 期权定价公式,欧式买权或卖权解的表达式:其中,Black-Scholes 期权定价模型将股票期权价格的主要因素分为五个:()12()()r T t t t c S N d Xe N d --=-()21[1()][1()]r T t t p Xe N d S N d --=⨯--⨯-2121/221/221[ln()()()]2[()]()t S r T t X d T t d d T t σσσ++-=-=--:标的资产市场价格:执行价格:无风险利率:标的资产价格波动率 :距离到期时间。
欧式看涨期权二叉树定价
阅读使人充实,会谈使人敏捷,写作使人精确。
——培根欧式看涨期权二叉树定价(含matlab代码和结果图)实验概述本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。
19. 2 实验目的(1)了解二叉树的定价机理;(2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法;(3)掌握欧式期权和美式期权的二叉树定价方法。
19. 3 实验工具MATLAB 7. 0。
19. 4 理论要点构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。
这个树图表示了在期权有效期内股票价格可能遵循的路径。
二叉树定价方法与风险中性定价理论是紧密联系的。
Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。
1)一个简单的例子假设当前(3月份)股票的价格So =50元,月利率是25%。
4月份股票价格有两种可能:S=100元,S=25元。
有一份看涨期权合约,合约约定在4月份低高可以以50元价格买进一股股票。
现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。
.培根阅读使人充实,会谈使人敏捷,写作使人精确。
——借期为一个月。
所示。
根据上述组合,我们可以得到以下到期收益分布表,如表19. 1 投资组合的到期收益分布表表19.1四月份三月份元S=100 S=25元高低-150 0 卖出3份看涨期权合约3C200 50 -100 买人两股股票-5040 -50 借人现金总计00 0这个例子说明,元,即为期权的价格。
由一价定律3C-100+40=0,可得C= 20唯一需要做的是假设对投资者而言不存可以用一个相当简单的方法为期权定价,月份使得在4在套利机会。
二叉树和三叉树的期权定价方法
第七章期权定价的二叉树和三叉树方法在这一章中,我们利用二叉树和三叉树方法为期权定价。
在第2.1节中我们已经介绍了利用基础途径的二叉树方法解决期权价格不确定性的模型。
二叉树方法依赖于对相关随机过程的离散化并利用计算和内存的结合以满足易于管理的要求。
我们也在,我们必须把原来的单步格方法扩展到多步格方法,但是我们必须校对格使它能够反映出相关模型,且这个模型是连续时间、连续状态的随机微分方程。
然后我们就可以推广到多步的二叉树格和三叉树格。
在7.1节中,我们从如何利用在离散概率分布的时刻下随机价格波动校准简单的二叉树格。
从这点来看,弄清楚网格技术和蒙特卡洛模拟之间的联系是非常重要的,而利用时刻匹配技术缩减方差可以看作一种快捷的抽样排序。
然后我们讨论内存效率的实现是如何设计的,美式期权定价是7.2节的主题。
同时,还是要注重它和其他技术方法的联系。
现在我们要做的本质上是一个非常简单满足动态规划原则的程序,我们将在第10章程序中进一步拓展。
在7.3节中,我们把上述方法推广到双标的资产的情形,虽然这是一个最简单的情形,但是我们可以从这个情形中看出内存控制是这一情形的基础。
另一种一般化的代表是三叉树格方法,三叉树格方法可以作为一种更普遍的有限差分方法(具体将在,最后,我们在7.5节中具体讨论网格化方法的优势和劣势。
期权定价的二叉树和三叉树格方法图7.1单时期二叉树格7.1二叉树定价方法在,我们已经考虑过单步二叉树方法在无套利情况下的期权定价,这里我们为了方便直接利用图7.1。
其主要思想是复制两个资产,一个是无风险资产,另一个是相关股票。
利用这两项资产,我们可以通过它们的组合塑造任何收益率的资产。
如果我们令u和d为任意两个价格的角标,我们可以看到期权的价格应该为f则,f0=e-rδt[pf u+(1-p)f d](7.1)在公式7.1中fu 和fd是标的资产在涨跌两种情况的期权价格,p是风险中性前提下相关资产升值的概率。
Matlab金融工程教程第6章--金融衍生品计算
13
6.3 衍生产品定价数值解
二叉树定价函数
ቤተ መጻሕፍቲ ባይዱ
调用方式
[AssetPrice, OptionValue]
= binprice(Price, Strike, Rate, Time, Increment,
Volatility,Flag,DividendRate,Dividend, ExDiv)
输入参数
Price
2021/5/18
17
1.证券特征定义
调用方式
StockSpec=stockspec(Sigma, AssetPrice, DividendType,
DividendAmounts,ExDividendDates)
输入参数
Sigma
标的资产波动率
AssetPrice
标的资产的价格
DividendType (Optional)红利发放方式,注意红利发放方式一
AvgType 输 AvgPrice
AvgDate 输出参数
Price
2021/5/18
(Optional)如果AmericanOpt=0,NaN;期权行 权方式为美式,如果为1期权行权方式类似于欧 式期权。默认值是欧式期权 (Optional)如果是算术平均输入字符 ‘arithmetic’ ,默认值为算术平均,几何平均
调用方式
[Call, Put] = blsprice(Price, Strike, Rate, Time, Volatility, Yield)
输入参数
Price
标的资产价格
Strike
执行价
Rate
无风险利率
Time
距离到期日的时间,即期权的存续期
二叉树期权定价模型概述
二叉树期权定价模型概述二叉树期权定价模型是一种基于二叉树结构的金融衍生品定价模型。
它是由美国学者Cox、Ross和Rubinstein在1979年提出的,也被称为CRR模型。
二叉树期权定价模型的核心思想是将时间分割成若干个小时间段,然后在每个时间段内构建一个二叉树,即"向上"和"向下"的可能价格路径。
通过从期权到期时的终点开始,逆向计算每个节点的价值,最终计算出期权的定价。
模型中的二叉树由两个重要的参数组成:上涨幅度(u)和下跌幅度(d)。
这两个参数反映了标的资产价格在不同时间段内上涨或下跌的可能性。
根据这两个参数的取值,可以构建出一棵二叉树,每个节点表示标的资产在相应时间段内的价格。
在每个节点上,可以计算出无风险利率下的期权价格。
对于看涨期权而言,其在节点上的价格由其未来收益和风险中性概率相乘得到。
而看跌期权的价格则是在节点上的看涨期权价格减去标的资产价格与期权的行权价格差值。
通过从终点开始逆向计算每个节点的期权价格,最终可以得到期权在初始节点上的定价。
需要注意的是,为了确保模型的有效性和稳定性,构建二叉树需要满足一些条件,如无套利机会、欧式期权等。
二叉树期权定价模型很好地解决了离散时间下的期权定价问题,并且计算简单、直观。
然而,在实际应用中,它可能存在一些局限,如对标的资产价格的预测不准确、二叉树节点数较多导致计算过于复杂等。
因此,二叉树期权定价模型通常用于简单的期权合约和教学研究中。
在复杂的市场环境下,一般会采用更精细的定价模型,如Black-Scholes模型。
二叉树期权定价模型的应用广泛,特别适用于离散时间下的期权定价问题。
它可以用于定价欧式期权、美式期权、亚式期权等各种类型的期权合约。
同时,由于其简单直观的计算方式,二叉树模型也常被用作其他复杂期权定价模型的验证工具。
在二叉树期权定价模型中,最关键的是确定二叉树的参数,即上涨幅度(u)和下跌幅度(d)。
基于MATLAB的金融工程方法与实践第四章 简单期权的离散模型定价
举例:
股票当前价格为100,无风险利率为r=0.05 u=1.2 d=0.9 欧式看涨期权的执行价格K=100 资产组合 买入h股股票 卖出1份期权 期初价值 + h*100 -C 期末价值 股价S=120 + h*120 -20 股价S=90 + h*90 0
投资组合的净价值
h*100-C
关系式:
u 1 d
定价公式中u和d的确定
联立以上四式得:
ue
d e
t
t
e r t d p ud
无风险利率r是时间t的函数
利率的期限结构并不总是在一条水平线上,而是随着时 间的增加不断的上升或者下降,即是时间t的函数r(t) 不会影响股票的二叉树图形的结构
风险中性概率p会随着r(t)的变化而变化
连续复利:
C(i, j ) Max{Su j d i j K , er*it [ p * C(i 1, j 1) (1 p) * C(i1, j ) ]}
美式看跌期权的二叉树定价模型:
复利:
j i j P , ( i , j ) Max{K Su d
1 [p*P ( i 1, j 1) (1 p) * P ( i 1, j ) ]} i (1 r )
该股票对应的期权的二叉树图形
按固定数额支付红利
在支付红利之后二叉树的结构将发生变化 在之后的时期中二叉树不能重叠在一起,使得节点数大大 增加 支付固定红利股票的价格的三时期二叉树图形
按固定数额支付红利
在支付红利之后二叉树的结构将发生变化
按固定数额支付红利
课程资料:第45讲_二叉树期权定价模型(1)
(二)二叉树期权定价模型1.单期二叉树定价模型期权价格=×+×U:上行乘数=1+上升百分比d:下行乘数=1-下降百分比【理解】风险中性原理的应用其中:上行概率=(1+r-d)/(u-d)下行概率=(u-1-r)/(u-d)期权价格=上行概率×C u/(1+r)+下行概率×C d/(1+r)【教材例7-10】假设ABC公司的股票现在的市价为50元。
有1股以该股票为标的资产的看涨期权,执行价格为52.08元,到期时间是6个月。
6个月以后股价有两种可能:上升33.33%,或者降低25%。
无风险利率为每年4%。
【答案】U=1+33.33%=1.3333d=1-25%=0.75=6.62(元)【例题•计算题】假设甲公司的股票现在的市价为20元。
有1份以该股票为标的资产的看涨期权,执行价格为21元,到期时间是1年。
1年以后股价有两种可能:上升40%,或者降低30%。
无风险利率为每年4%。
要求:利用单期二叉树定价模型确定期权的价值。
【答案】期权价格=(1+r-d)/(u-d)×C u/(1+r)=(1+4%-0.7)/(1.4-0.7)×7/(1+4%)=3.27(元)2.两期二叉树模型(1)基本原理:由单期模型向两期模型的扩展,不过是单期模型的两次应用。
【教材例7-11】继续采用[例7-10]中的数据,把6个月的时间分为两期,每期3个月。
变动以后的数据如下:ABC公司的股票现在的市价为50元,看涨期权的执行价格为52.08元,每期股价有两种可能:上升22.56%或下降18.4%;无风险利率为每3个月1%。
【解析】P=(1+1%-0.816)/(1.2256-0.816)=0.47363C U=23.02×0.47363/(1+1%)=10.80C d=0C0=10.80×0.47363/(1+1%)=5.06(2)方法:先利用单期定价模型,根据C uu和C ud计算节点C u的价值,利用C ud和C dd计算C d的价值;然后,再次利用单期定价模型,根据C u和C d计算C0的价值。
第8讲:二叉树期权定价模型.
9
一般化Generalization
• A derivative lasts for time T and is dependent on a stock
Su
S
ƒu
ƒ=?
Sd
ƒd
Binomial Trees and Option Valuation
of $21. r = 12%.
• The value of the portfolio today (r =12% per annum) is 4.5e – 0.12´0.25 = 4.3670
Binomial Trees and Option Valuation
7
期权的价值
• The portfolio that is long 0.25 shares short 1 option
Stock price = $18 Option value = $0
17
两期二叉树定价A Two-Step Binomial Tree
24.2
22
D
B
20
19.8
A
E
18
C
16.2
F
• Stock: Price = $20, up or down by 10% in each quarter
(3 months); there are two quarters. A call with a strike
14
Valuing the Option
S ƒ
The value of the option is
Su = 22 ƒu = 1
Sd = 18 ƒd = 0
欧式看涨期权二叉树定价说课讲解
欧式看涨期权二叉树定价(含matlab代码和结果图)实验概述本实验首先介绍了二叉树方法的来源和主要理论基础,然后给出期权的二叉树定价方法的基本过程和MATLAB7. 0实现的过程。
19. 2 实验目的(1)了解二叉树的定价机理;(2)掌握用MATLAB7. 0生成股票价格的二叉树格子方法;(3)掌握欧式期权和美式期权的二叉树定价方法。
19. 3 实验工具MATLAB 7. 0。
19. 4 理论要点构造二叉树图(Binomial Tree)是期权定价方法中最为常见的一种。
这个树图表示了在期权有效期内股票价格可能遵循的路径。
二叉树定价方法与风险中性定价理论是紧密联系的。
Cox, Ross & Rubinstein (1979)首次提出了构造离散的风险中性概率可以给期权定价,在此基础上他们给出了二叉树定价方法。
1)一个简单的例子假设当前(3月份)股票的价格So =50元,月利率是25%。
4月份股票价格有两种可能:S高=100元,S低=25元。
有一份看涨期权合约,合约约定在4月份可以以50元价格买进一股股票。
现在考虑一个投资组合,进行几项操作:以价格C卖出3份看涨期权合约;以50元购入2股股票;以25%的月利率借人40元现金,借期为一个月。
根据上述组合,我们可以得到以下到期收益分布表,如表19. 1所示。
表19.1 投资组合的到期收益分布表四月份三月份S低=25元S高=100元卖出3份看涨期权合约3C 0 -150买人两股股票-100 50 200借人现金40 -50 -50总计0 0 0由一价定律3C-100+40=0,可得C= 20元,即为期权的价格。
这个例子说明,可以用一个相当简单的方法为期权定价,唯一需要做的是假设对投资者而言不存在套利机会。
我们可以通过某种方式构造一个股票和期权的组合,使得在4月份该组合的价值是确定的。
于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。
二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。
Matlab金融工程教程第6章 金融衍生品计算
CallTheta 欧式看涨期权Theta值
PutTheta 欧式看跌期权Theta值
.
8
4.欧式期权Rho值 调用方式 [CallRho, PutRho] = blsrho(Price, Strike, Rate, Time, Volatility, Yield) 输入参数同前 输出参数 CallRho 欧式看涨期权Rho值 PutRho 欧式看跌期权Rho值
输入参数同上
.
27
6.4.2 证券类衍生产品二叉树建立
1.CRR型二叉树函数的调用 调用方式 CRRTree=crrtree(StockSpec,RateSpec,TimeSpec)
输入参数 StockSpec 股票的格式 RateSpec 利率的格式 TimeSpec 时间的离散化方法
输出参数 CRRTree 价格树
无风险利率新格式 无风险利率旧格式
.
20
3.CRR二叉树基本原理
ert pu(1p)d
2 e 2 r t( e 2 t 1 ) p u 2 ( 1 p ) d 2 [ p u ( 1 p ) d ] 2
选择满足下面关系 u 1/d 有
p e rt d ud
u e t
d e t .
Volatility,Flag,DividendRate,Dividend, ExDiv)
输入参数
Price
股票价格
Strike
期权的执行价
Rate
无风险利率
Time
期权存续期
Increment 时间的增量
使用Matlab进行国内期货交易
发送队列:报单、撤单直接发送,而其它的请求都先添加到发送队列,由发送 线程去发送,发送失败后自动延时重发。解决了CTP有流控的问题。 接收队列:收到响应后,直接存到队列中,立即返回,然后其它线程从队列中 取。解决用户代码用时过久产生未知错误的问题。 维护请求ID与报单引用,自动加锁,不再纠结于细节,不会出现重复报单。 自动进行连接、客户端授权、登录认证、结算单确认等工作。保证用户登录成 功后就能直接下单。 断线重连后,行情与交易能重新登录认证,其中行情接口还能自动订阅断线前 已经订阅的行情。 对行情与交易流文件自动分目录,解决数据紊乱问题 第七节监控软件的使用 在介绍Matlab对接.NET前,一定得先介绍监控软件,否则在下一节要介绍的开 发上完全是在摸黑。
第八节 Matlab对接期货接口 https:///QuantBox/CTP/tree/master/Matlab-DotNet
请保证相关文件都是最新的。
thostmduserapi.dll、thosttraderapi.dll来自于上期技术 QuantBox.C2CTP.dll来自于C版接口 QuantBox.CSharp2CTP.dll来自于C#版接口
由于OpenQuant插件开发是用的C#,为了满足项目要求,首先得有C#版接口, 考虑到还要为其它语言做准备,一定得有C版接口。当时网络上没有C版接口开 源,附属在一些C#版接口中的C版在对接其它语言时又不够方便,故C层与C# 层另行开发。
有部分网友希望我们能提供Matlab版,因实际我们生产环境中并不使用它进行 交易,没有编写MEX版的动力。不过通过研究,使用了更简化的方式满足了大 家的要求,也就是上一节提到的C#版与Matlab版对接原理。
进程间通讯 这种方式比较灵活,对接64位平台或者跨操作系统、跨主机都是没有问题的,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
min z 0T λ 0
s.t.
T B1 λ E (R)
λ :取值范围无限制
其中
11 B n1
T 1
nk
1k
即对偶问题的解为 0,而且 λ (0 , 1 , 2 , , k ) 可以取任何值,则原问题的最大值不大于 0。由于 w (0,0,
,0) 是原问题的一个可行解,此时目标函数值为 0,因此也是最优解。
对偶问题的约束条件第 i 个方程就是
E ( Ri ) 0 i11 i 22
ik k
(线性空间方法) 沿用上述记号。如果资产
则由无套利假设,必须有 E (R) w 0 。向量组 {1, β1 , β2 ,
T
, βk } 线性无关,由这 k 1 个向
量作为基生成一个 k 1 维子空间 V 。与这个子空间 V 中任何向量均正交的所有向量构成的 正交子空间记为 V ,则显然 w ( w1 , w2 , , wn ) 是正交子空间 V 的元素,这两个子空间
T
的 维 数 相 加 为 n 。 而 由 E ( R ) w 0可 知 , E ( R ) V , 故 存 在 唯 一 k 1 维 向 量
end end price=la(1,1)
美式看跌期权:
function [price,la]=laamput(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,-S0*(u^j)*(d^(N-j))+K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=max(exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)),K-S0 *u^j*d^(1-j)); end end price=la(1,1)
图形如下
18.00 16.00 14.00 12.00 10.00 8.00 6.00 4.00 2.00 0.00 1 2 5 10 计算结果 20 50 100 200 500 1000 10000 BS公式计算结果
可以看出,随着区间的细分程度提高,二项式模型的计算结果越来越趋近于 B-S 公式的 计算结果。 附:以下分别是编写的欧式看跌期权、美式看涨期权和欧式看涨期权的函数,均为不分 红的情况下。 欧式看跌期权:
2. 期望形式的 APT 证明。 证明: 符号说明: 投资组合比例向量: w ( w1 , w2 , , wn )T 资产 i 对因素 j 的敏感性系数: ij 资产 i 收益率: Ri
11 B n1
nk
1k
T
资产收益向量: R ( R1 , R2 , , Rn )T 资产期望收益向量: E (R) ( E ( R1 ), E ( R2 ), , E ( Rn ))T
function [price,la]=laeuput(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,-S0*(u^j)*(d^(N-j))+K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)); end end price=la(1,1)
美式看涨期权:
function [price,la]=laamcall(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,S0*(u^j)*(d^(N-j))-K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=max(exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)),-K+S 0*u^j*d^(1-j));
第二次投资银行学小组作业
曾志涛 方润开 莫子皓 周建荣 朱伟舜 陈洁毅 蔡海彬 潘永全 1. 我们组是用 matlab 软件编写函数来实现的。以上不分红的欧式看涨期权为例,函数的编 写如下:
function [price,la]=laeucall(S0,K,r,T,sigma,N) deltaT=T/N;u=exp(sigma*sqrt(deltaT));d=1/u; %S0 is the current price of the underlying asset, K is the exercise price %of the option, r is the risk-free rate, T is the maturity length, sigma %is the volatility of the asset price, and N is the interval number. p=(exp(r*deltaT)-d)/(u-d);la=zeros(N+1,N+1); for j=0:N la(N+1,j+1)=max(0,S0*(u^j)*(d^(N-j))-K); end for i=N-1:-1:0 for j=0:i la(i+1,j+1)=exp(-r*deltaT)*(p*la(i+2,j+2)+(1-p)*la(i+2,j+1)); end end price=la(1,1)
注释里面已经解释了各个参数的含义。 以下例子中,标的资产现在价格 S0=100,执行价格 K=100,无风险利率 r=0.05,期权期 限 T=1,价格的波动率 sigma=0.3,区间数目 N 和计算结果如下表所示。其中 B-S 公式计算 结果运用 matlab 本身的 blsprice 函数计算。 区间数 1 2 5 10 20 50 100 200 500 1000 10000 B-S 公式结果:14.2313 计算结果 16.9640 12.8905 14.7893 13.9408 14.0849 14.1725 14.2018 14.2165 14.2254 14.2283 14.2310
T
T λ (0 , 1 , 2 , , ) ,使得 E (R) 0 1 1β1 2β2 k
k βk ,写成分量形式就是
E ( Ri ) 0 i11 i 22
ik k
1 (1,1, ,1)T ,元素有 n 个
投资组合收益: RP
1 i n ,1 j k
(线性规划对偶理论)
问题本质上是下列的线性规划问题:
max E ( RP ) E (R)T w
s.t.
1T w 0
Bw 0 w :取值范围无限制
用 t 表示其对偶问题的变量,由于原问题有 k 1 个约束条件,向量 λ (0 , 1 , 2 , , k ) 共有 k 1 个元素。 其对偶问题为