金融工程 第十一章 二叉树简介
二叉树详解——精选推荐

⼆叉树详解树是⼀种⽐较重要的数据结构,尤其是⼆叉树。
⼆叉树是⼀种特殊的树,在⼆叉树中每个节点最多有两个⼦节点,⼀般称为左⼦节点和右⼦节点(或左孩⼦和右孩⼦),并且⼆叉树的⼦树有左右之分,其次序不能任意颠倒。
本篇博客将详细为⼤家解析⼆叉树。
⾸先介绍两个概念:满⼆叉树:在⼀棵⼆叉树中,如果所有分⽀结点都有左孩⼦和右孩⼦结点,并且叶⼦结点都集中在⼆叉树的最下层,这样的树叫做满⼆叉树如:完全⼆叉树:若⼆叉树中最多只有最下⾯两层的结点的度数可以⼩于2,并且最下⾯⼀层的叶⼦结点都是依次排列在该层最左边的位置上,则称为完全⼆叉树如:区别:满⼆叉树是完全⼆叉树的特例,因为满⼆叉树已经满了,⽽完全并不代表满。
所以形态你也应该想象出来了吧,满指的是出了叶⼦节点外每个节点都有两个孩⼦,⽽完全的含义则是最后⼀层没有满,并没有满。
⼆叉树的链式存储结构是⼀类重要的数据结构,定义结果为:Cpp代码1. //定义树的结构2. struct node3. {4. node * lchild;5. node * rchild;6. string data;7. //初始化8. node()9. {10. lchild=rchild=NULL;11. }12. };⼆叉树的建⽴⾸先我们⽤户输⼊⽣成⼀棵⼆叉树,要⽣的的⼆叉树如下图所⽰:#代表空结点。
下⾯我们根据上⾯图中所⽰的⼆叉树,利⽤先序依次输⼊ABDG###E#H##C#F##(即先序遍历)⽣成⼆叉树的代码如下:Cpp代码1. //⼆叉树⽣成--先序遍历输⼊要⽣成的⼆叉树数据,#代表空结点2. void CreateTree(node * & root)3. {4. char data;5. cin>>data;6. if(data!='#')7. {8. root=new node;9. root->data=data;10.11. CreateTree(root->lchild);12.13. CreateTree(root->rchild);14.15. }16. }⼆叉树节点查找采⽤递归的⽅法在⼆叉树root⾥查找只为aim的结点,若找到此节点则返回其指针,否则返回NULL 查找代码如下:Cpp代码1. //检查⼆叉树是否包含数据aim,有则返回其指针2. node * Findnode(node * & root,string aim)3. {4. node * p;5. if(root==NULL)//空树6. return NULL;7. else if(root->data==aim)8. return root;9. else10. {11. p=Findnode(root->lchild,aim);12. if(p!=NULL)13. return p;14. else15. return Findnode(root->rchild,aim);16. }17. }这⾥解释⼀下递归中的return的意思:return 对当前函数来说是结束了,对调⽤它的⽗函数来说你这个函数执⾏完成了,⽗函数就会接着执⾏下⼀语句。
二叉树模型介绍

5)偏离均衡价格时的套利: 如果期权的价值超过了$0.633,构造该 组合的成本就有可能低于$4.367,并将 获得超过无风险利率的额外收益; 如果期权的价值低于$0.633,那么卖空 该证券组合将获得低于无风险利率的资 金。
2、一般结论
1)条件: 考虑一个无红利支付的股票,股 票价格为S。 基于该股票的某个衍生证券的当 前价格为f。 假设当前时间为零时刻,衍生证 券给出了在T时刻的盈亏状况 。
看跌期权的价值是$4.1923。 利用每个单步二步二叉树向回倒推算, 也可以得到这个结果。
四、美式期权
1、方法: 从树图的最后末端向开始的起点倒推计 算。 在每个节点检验提前执行是否最佳。 在最后节点的期权价值与欧式期权在最 后节点的期权价值相同。
在较早的一些节点,期杈的价值是取如 下两者之中较大者: 1).由公式f=e-rT[pfu+(1-p)fd] 求出的值。 2).提前执行所得的收益。
该组合的现值 ( S u f u )e S f
rT
该组合的成本
则有: S f (Su f u )e
rT
rT
得到: f e [ pfu (1 p) f d ]
d 其中 : p ud e
rT
3、股票预期收益的无关性
衍生证券定价公式没有用到股票上升和 下降的概率。 人们感觉:假设如果股票价格上升的概 率增加,基于该股票的看涨期权价值也 增加,看跌期权的价值则减少。
3、风险中性估值(risk-neutralvaluation): 把金融资产放在风险中性的世界去估值 即为期权和其它衍生证券估值时,世界 是风险中性的。 在风险中性世界中得到的价格,在现实 世界中也是正确的。
10.3二叉树看跌期权定价与平价原理

第10章二叉树法期权定价及其Python应用本章精粹蒙特卡罗模拟法便于处理报酬函数复杂、标的变量多等问题,但是在处理提前行权问题时却表现出明显的不足。
本章将要介绍的二叉树法可以弥补蒙特卡罗模拟法的这种不足。
二叉树的基本原理是:假设变量运动只有向上和向下两个方向,且假设在整个考察期内,标的变量每次向上或向下的概率和幅度不变。
将考察期分为若干阶段,根据标的变量的历史波动率模拟标的变量在整个考察期内所有可能的发展路径,并由后向前以倒推的形式走过所有结点,同时用贴现法得到在0时刻的价格。
如果存在提前行权的问题,必须在二叉树的每个结点处检查在这一点行权是否比下一个结点上更有利,然后重复上述过程。
10.1 二叉树法的单期欧式看涨期权定价假设:(1) 市场为无摩擦的完美市场,即市场投资没有交易成本。
这意味着不支付税负,没有买卖价差(Bid-Ask Spread)、没有经纪商佣金(Brokerage Commission)、信息对称等。
(2) 投资者是价格的接受者,投资者的交易行为不能显著地影响价格。
(3) 允许以无风险利率借入和贷出资金。
(4) 允许完全使用卖空所得款项。
(5) 未来股票的价格将是两种可能值中的一种。
为了建立好二叉树期权定价模型,我们先假定存在一个时期,在此期间股票价格能够从现行价格上升或下降。
下面用实例来说明二叉树期权定价模型的定价方法。
1. 单一时期内的买权定价假设股票今天(t =0)的价格是100美元,一年后(t =1)将分别以120美元或90美元出售,就是1年后股价上升20%或下降10%。
期权的执行价格为110美元。
年无风险利率为8%,投资者可以这个利率放款(购买这些利率8%的债券)或借款(卖空这些债券)。
如图10-1所示。
今天 1年后t =0 t =1u S 0=120 上升20% 1000=Sd S 0=90 下降10%u 0max(u ,0)max(120110,0)10C S X =-=-=?0=Cd 0max(d ,0)max(90110,0)0C S X =-=-=图10-1 买权价格图10-1表示股票买权的二叉树期权定价模型。
二叉树定价模型知识讲解

二叉树定价模型期权定价的二叉树模型Cox、Ross和Rubinstein提出了期权定价的另一种常用方法二叉树(binomial tree)模型,它假设标的资产在下一个时间点的价格只有上升和下降两种可能结果,然后通过分叉的树枝来形象描述标的资产和期权价格的演进历程。
本章只讨论股票期权定价的二叉树模型,基于其它标的资产如债券、货币、股票指数和期货的期权定价的二叉树方法,请参考有关的书籍和资料。
8.1一步二叉树模型我们首先通过一个简单的例子介绍二叉树模型。
例8.1 假设一只股票的当前价格是$20,三个月后该股票价格有可能上升到$22,也有可能下降到$18. 股票价格的这种变动过程可通过图8.1直观表示出来。
在上述二叉树中,从左至右的节点(实圆点)表示离散的时间点,由节点产生的分枝(路径)表示可能出现的不同股价。
由于从开始至期权到期日只考虑了一个时间步长,图8.1表示的二叉树称为一步(one-step)二叉树。
这是最简单的二叉树模型。
一般地,假设一只股票的当前价格是,基于该股票的欧式期权价格为。
经过一个时间步(至到期日T)后该股票价格有可能上升到相应的期权价格为;也有可能下降到相应的期权价格为. 这种过程可通过一步(one-step)二叉树表示出来,如图8.2所示。
我们的问题是根据这个二叉树对该欧式股票期权定价。
为了对该欧式股票期权定价,我们采用无套利(no arbitrage)假设,即市场上无套利机会存在。
构造一个该股票和期权的组合(portfolio),组合中有股的多头股票和1股空头期权。
如果该股票价格上升到,则该组合在期权到期日的价值为;如果该股票价格下降到,则该组合在期权到期日的价值为。
根据无套利假设,该组合在股票上升和下降两种状态下的价值应该相等,即有由此可得(8.1)上式意味着是两个节点之间的期权价格增量与股价增量之比率。
在这种情况下,该组合是无风险的。
以表示无风险利率,则该组合的现值(the present value)为 ,又注意到该组合的当前价值是,故有即将(8.1)代入上式,可得基于一步二叉树模型的期权定价公式为(8.2)(8.3)需要指出的是,由于我们是在无套利(no arbitrage)假设下讨论欧式股票期权的定价,因此无风险利率应该满足: .现在回到前面的例子中,假设相应的期权是一个敲定价为$21,到期日为三个月的欧式看涨权,无风险的年利率为12%,求该期权的当前价值。
二叉树的基本性质

二叉树的基本性质(1)在二叉树的第k层上,最多有2k-1(k≥1)个结点;解释:最多的时候是满二叉树,它的第1层有21-1=1个结点;第2层有22-1=2个结点;第3层23-1=4个结点;第4层有24-1=8个结点;……(2)深度为m的二叉树最多有2m-1个结点,最少有m个结点;(3)对于任意一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个;即如果其叶子结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;(4)具有n个结点的二叉树,其深度至少为[log2n]+1,其中[log2n]+1表示取log2n的整数部分;(5)给定N个节点,能构成h(N)种不同的二叉树;h(N)为卡特兰数的第N项。
h(n)=C(n,2*n)/(n+1)。
(6)具有n个结点的完全二叉树的深度为[log2n]+1;(7)设完全二叉树共有n个结点。
如果从根结点开始,按层序(每一层从左到右)用自然数1,2,….n给结点进行编号(k=1,2….n),有以下结论:①若k=1,则该结点为根结点,它没有父结点;若k>1,则该结点的父结点编号为INT(k/2);②若2k≤n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点(也无右子结点);③若2k+1≤n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。
性质1 在二叉树的第i层上至多有2i-1个结点(i>=1)。
证明采用归纳法证明此性质。
当i=1时,只有一个根结点,2i-1=20 =1,命题成立。
现在假定对所有的j,1<=j<i,命题成立,即第j层上至多有2j-2个结点,那么可以证明j=i时命题也成立。
由归纳假设可知,第i-1层上至多有2i-2个结点。
由于二叉树每个结点的度最大为2,故在第i层上最大结点数为第i-1层上最大结点数的二倍,即2×(2i-2)=2i-1。
性质2 深度为k的二叉树至多有2k-1个结点(k>=1)。
二叉树.ppt

• 初始化二叉树
• 合并两棵二叉树 二叉树的大部分运算都是围绕结点进行的
• 访问某个结点的左子结点、右子结点、父结点
• 访问结点存储的数据。
4.3 二叉树的抽象数据类型
二叉树结点抽象数据类型BinaryTreeNode是带有参数
T 的模板,T是存储在结点中的数据类型
每个元素结点都有leftchild()和rightchild()左右子结点结构
4.3 二叉树的抽象数据类型
public: BinaryTreeNode(); //缺省构造函数 BinaryTreeNode(const T& ele);//拷贝构造函数
//给定了结点值和左右子树的构造函数
BinaryTreeNode(const T& ele, BinaryTreeNode<T>* l, BinaryTreeNode<T>* r); T value() const;//返回当前结点的数据 //返回当前结点指向左子树
BinaryTreeNode<T>* leftchild() const;
4.3 二叉树的抽象数据类型
//设置当前结点的左子树 void setLeftchild(BinaryTreeNode<T>*) ; //设置当前结点的右子树
void setRightchild(BinaryTreeNode<T>*) ;
定该抽象数据类型的存储方式 template <class T> class BinaryTree { private: //二叉树根结点指针
பைடு நூலகம்
BinaryTreeNode<T>* root;
期权定价的二叉树模型

03
二叉树模型在期权定价中 的应用
二叉树模型在欧式期权定价中的应用
欧式期权定义
二叉树模型原理
欧式期权是一种只能在到期日行权的期权。
二叉树模型是一种离散时间模型,通过构造 一个二叉树来模拟股票价格的演变过程。
模型参数
定价过程
包括无风险利率、股票波动率、期权行权价 等。
从到期日逆推至起始时间,考虑各种可能的 价格路径,计算期权的预期收益,并使用无 风险利率折现至起始时间。
与其他理论的结合
二叉树模型与其它金融理论的结合也是理论研究的一个重要方向,如将二叉 树模型与随机过程理论、博弈论等相结合,以提供更深入、更全面的分析框 架。
二叉树模型的应用研究进展
扩展到其他金融衍生品
二叉树模型在期权定价方面的应用已经非常成熟,研究者们正在将其应用于其他金融衍生品的定价,如期货、 掉期等。
案例一:某公司股票期权定价
背景介绍
某上市公司股票期权激励计划需要为期权定价,以确定向员工发 放的期权数量和行权价格。
模型应用
根据二叉树模型,预测股票价格的上涨和下跌幅度,并计算期权 的内在价值和时间价值。
结论分析
根据计算结果,确定期权的行权价格和数量,实现了员工激励与公 司发展的双赢。
案例二:某交易所债券期权定价
调整利率和波动率
根据市场数据和实际情况,调整利率和波动率的参数,可以提 高模型的拟合度。
模型的选择与比较
1 2
基于误差
比较不同模型的预测误差,选择误差最小的模 型。
基于风险
比较不同模型的风险指标,选择风险最小的模 型。
3
基于解释性
选择更具有解释性的模型,以便更好地理解市 场行为和风险。
05
期权定价的二叉树模型介绍

计算期权的价值
计算期权的现值
根据预期收益和折现率,我们可以计算出期权的现值。 看涨期权的现值是每个节点的股票价格与执行价格的差 值与风险中性概率的乘积之和;看跌期权的现值是每个 节点的执行价格与股票价格的差值与风险中性概率的乘 积之和。
校准二叉树模型参数
为了使模型的预测结果与实际期权价格一致,我们需要 校准模型参数。通常,我们使用历史数据来估计参数, 例如股票价格的波动率和无风险利率。
建立二叉树
以时间步长为单位,从最后一个时间步长开始,依 次向前建立二叉树,每个节点代表一个时间步长。
确定初始股票价格
确定股票的当前价格
通常以市场价格为基础确定初始股票价格 。
考虑股息
如果股票在期权有效期内发放股息,需要 在每个时间步长上调整股票价格。
确定无风险利率与时间步长
要点一
确定无风险利率
无风险利率是投资者在相同风险水平下可以获得的最低 回报率。
05
二叉树模型的结果分析
模拟结果展示
假设一个股票价格变动模型,通过二叉树模型模拟股 票价格的涨跌情况,并计算期权的价值。
根据不同的利率和波动率等参数设置,模拟不同的股 票价格路径,从而得到期权价格的模拟结果。
结果分析与比较
将模拟结果与实际期权价格进行比较,分析二叉树模型 定价的准确性。
对比不同参数设置下的模拟结果,分析利率和波动率等 因素对期权价格的影响。
期权定价的二叉树模型介绍
2023-11-06
目 录
• 引言 • 二叉树模型基本原理 • 构建二叉树模型 • 计算期权价值 • 二叉树模型的结果分析 • 二叉树模型在金融实践中的应用 • 结论与展望
01
引言
研究背景与意义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
该组合在当前的价格:由无套利原理,组合的价
格为其价值的无风险贴现:
0.123/12
4.5e
4.367
期权的价格:设股票当前的价格为 20,期权的价 格为 f,则 20*0.25 - f = 4.367, 得 f = 0.633
1.2 推广:一般公式 记号如图
40
C
9.4636
F
•在第 1 步,
Delta=
•在第2步
Delta=
结论
在二叉树中,各个节点处的 Delta 不同,这实
际反映了Delta 值将随时间变化而变化;
看涨期权的Delta是正的,空头表示需要买入
标的,看跌期权的Delta是负的,期权空头表
示需要卖出标的。
11.7 选取 u 和 d 使得二叉树与波动率吻合 Matching volatility with u and d
S0 ƒ
S0d ƒd
考虑股票的期望价格:
当股票上涨的概率为 p 时,有
或者
代入11.2中 p的值,即有 (11.4)
风险中性世界:投资者对风险不要求任何补偿
,所有证券的期望收益等于无风险收益。
(11.4)表明:当股票上涨的概率p由(11.3)定义
时,股票的期望收益率等于无风险利率,即p
是在风险中性世界里股票上涨的概率;
Call option
D
22
B
24.2 3.2 19.8 0.0 16.2 0.0
20 1.2823
A
2.0257 18 0.0
C
E
F
•在第 1 步,
Delta=
•如果在第 1 步,股价上涨,则在第2步
Delta=
Put option
D
60 50 4.1923
A
72 0
48 4 32 20
B
E
1.4147
引例
+10% p
+10% p*p
24.2
K=21, r=12% p=0.6523
22
20
-10% 1-p
-10% p*(1-p) 19.8 +10%
18 -10%
(1-p)*(1-p)
16.2
0.5 t
0
0.25
f u 2.0257 22
B
D
24.2 3.2 19.8 0.0 16.2 0.0
(11.2) 表明:期权的价格等于风险中性世界里
期权期望价值的无风险贴现
2.1 应用风险中性定价的举例
计算股价上涨的概率 p
方法1:公式(11.3)
方法2:由公式(11.4) ,即
或者
即得 p=0.6523
计算期权价格 f 根据公式(11.2), 由
fu 1,f d 0
贴现,即得
0.6523e
f uu
20 1.2823
A
E
fd
18 0.0
fud
f dd
C F
节点 B 的价值 e–0.12*0.25(0.6523*3.2 + 0.3477*0) = 2.0257 节点 A 的价值 e–0.12*0.25(0.6523*2.0257 + 0.3477*0) = 1.2823
11.4 看跌期权实例 a put example
var(r ) s , E[r ] m
那么股票在 Dt 时间间隔内波动率和期望收
益率为
var(rDt ) s Dt , E[rDt ] mDt
股票价格的期望与二叉树中股票价格期望一致,
即
可得
EST
(11.11)
二叉树中,股票价格波动率应与现实世界的波动 率一致,即
ST S0 ST var var S0 S0 1 2 2 [ EST ( EST ) 2 ] S0
S0 ƒ
涨
S0 u ƒu
跌
S0d ƒd
f u max{S0u S0 , 0} 期权的价值 f d max{S0 d S0 , 0}
组合的价值
如果股票上涨,则组合的价值为
如果股票下跌, 则组合的价值为
由两种情形组合的价值相同,可计算股票头寸的数 量D
期权的价格
由构造组合的成本=组合价值的贴现:
0.120.25
0.633
结论:风险中性定价与无套利方法等价
2.2 现实世界与风险中性世界 计算股价上涨的真实概率 p* 设股票在现实世界中的期望收益率为 16%,则
得 计算现实世界期权价格 f 的困难
不能确定期权在真实世界里的期望收益率,无 法获得贴现利率
11.3 两步二叉树 Two-step binomial trees
问题 股票价格是一个随机变量,在二叉树中,如
何反映了股价的真实波动率?
二叉树中的 u 和 d 是反应股价波动率的参
数,这实际上是如何选择,使得二叉树与股
票真实的波动率吻合。
现实世界
风险中性世界
7.1 现实世界 real world
设股票在 Dt 时间间隔内收益率记为 DS rDt S 假设股票价格的年波动率为 s, 年期望收益为 m, 即
3个月股价 = $22 1 当前价格 = $20 3个月股价 = $18 0
建立一个无风险投资组合:即无论股价如何变
化,该组合的价值保持不变
购买Δ股股票; 0.25股股票
卖空一个欧式看涨期权。
如果 22D– 1 = 18 D or D =0.25, 则投资组合无风险。
该组合在到期时的价值
如果S=22,则 V=22*0.25 - 1=4.5
忽略时间的高阶项 现实世界的波动率
代入u, d
结论: 当从现实世界转向风险中性世界时,股价的收 益率期望将会发生变化,但收益的波动率(即 股价波动率)不会改变; 当从一组风险偏好转向另一组风险偏好时,变 量的期望收益率会发生变化,但波动率保持不 变。
7.3 美式期权举例 考虑一个美式看跌期权,如图,r=5%,Dt=2, s30%
11.5 美式期权 America option
定价方法
从树的末尾出发,以倒推的形式到树的起点,
在树的每个节点处计算期权的价值(价格),
直到树的起点止,由(11.5)计算。
在中间(包括起点)的每个节点处,验证提前执
行是否最优,即假设提前执行,比较与不提前 执行,期权的价值。
举例:一个美式看跌期权,假设 K = 52, Dt =1yr, u=1.2, d=0.8,r = 5%, p= 0.6282 (由(11.2))
不提前 执行 不提前 执行
D B
60 50 2 < 5.0894
Байду номын сангаас
72 0 48 4 32 20
f uu
0 fu 1.4147 A 40
E
fud
f dd
12 > f d 9.4636
提前 执行
C
F
11.6 Delta
定义:Delta (D) 是期权价格变化与标的股票
价格变化的比率
关于公式(11.2)
假设随机变量 X 表示期权在 T 时刻的价值, 并设
P{ X fu } p, P{X f d } 1 p;
期权的当前的价格即是其期望价值的无风险贴 现,即 f e rT E (X )
p: 可解释为股票上涨的概率,
p as a Probability
S0u ƒu
1.1 引例 假设股票的当前价格是20美元,3个月后,该股 票的价格可能为22美元或者18美元,一个欧式看 涨期权的敲定价格是21美元,确定期权的当前价
格。
A stock price is currently $20,K= 21 In 3 months it will be either $22 or $18
第11章 二叉树简介 introduction to binomial trees
内容提纲
11.1 单步二叉树与无套利方法
11.2 风险中性定价及其与无套利的关系
11.3 两步二叉树
11.4~11.5 看跌期权与美式期权
11.6 Delta 对冲
11.7 u和d与波动率
11.1 单步二叉树与无套利 A one-step binomial trees vs. arbitrage-free
假设 K = 52, Dt =1yr, u=1.2,d=0.8 r = 5%, p= 0.6282 (由(11.2))
D
60 50 4.1923
A
72 0
48 4 32 20
f uu
f u 1.4147
40
B
E
fd
C F
fud
f dd
9.4636
由(11.10)可得
方法总结
从树的末尾出发,以倒推的形式到树的起点, 在树的每个节点处计算期权的价值(价格), 直到树的起点止。
f D S
意义:对于期权的空头,为了构造无风险组
合,往往需要通过持有(卖空)标的股票来对冲
风险,Delta应该持有(卖空)标的股票的数量,
这也称为Delta对冲方法或期权的复制。
举例 假设当前股价 S=20,K= 21, Dt=0.25
22 1 20
18 0
1 0 Delta 0.25 22 18
即期权的价格为:
代入 D , 即有:
(11.2)
其中
(11.3)
例 P166 : 在前例中,有
因此
1.3 股票收益期望与期权价格的无关性