股票期权二叉树定价-excel-VBA程序
- 格式:docx
- 大小:18.88 KB
- 文档页数:4
全国中文核心期刊·财会月刊□期权是指一种合约,该合约赋予持有人在某一特定日期或该日期之前的任何时间以固定价格购进或售出一种资产的权利。
按期权执行时间,期权可分为欧式期权和美式期权。
欧式期权只能在期权到期日执行,而美式期权可以在到期日或到期日之前任何时间执行。
期权最先在金融领域出现,但它更广泛地被用于投资评价。
期权定价可基于复制原理或风险中性原理,两者比较,根据风险中性原理计算较为简易。
这里,笔者试图根据风险中性原理基于EXCEL2007平台,建立美式期权估价模型。
一、EXCEL2007的相关函数及工具介绍1.单元格绝对引用与相对引用。
例:在A4单元格内输入“=sum ($A1:A $3)”,复制A4单元格,并粘贴至B5单元格,B5格的公式为“=sum ($A2:B $3)”,前面加“$”的为绝对引用,不随移动复制位置的改变而改变。
2.if (Logical_test ,value_if_true ,value_if_false ),判断Logical_test 条件是否为真,为真则执行value_if_true ,为假则执行value_if_false 。
例如:A1单元格输入“50”,A2格内输入“=if (A1>60,”及格”,”不及格”)”,结果A2格内值为“不及格”。
3.sumproduct (array1,array2,array3,….),返回相应的数组或区域乘积的和。
例如:在A1:A3区域分别输入“1,2,3”,在B1:B3区域内输入“2,3,4”,在B4内输入“=sumproduct (A1:A3,B1:B3)”,B4格内的计算实质为“=A1*B1+A2*B2+A3*B3”,结果值为“20”。
4.OR (logical1,logical2,...),在其参数组中,任一参数值为TRUE ,即返回TRUE ;只有当所有参数值均为FALSE 时才返回FALSE 。
例如:在某单元格输入“=OR (D4=“”,D4=“入库”)”,如果D4单元格为空值或“入库”字样,结果为TRUE ;若为其他字符或公式,结果为FALSE 。
ExcelVBA金融工程Section2-美式期权定价梦特卡罗期权价格计算美式期权指在合约期限内任何时点(直至及包括到期日)均可执行的一种期权,不同于只能在到期日才能执行的欧式期权。
例如,美式看跌期权可以在到期前行使而其内在价值是根據其期权金計算?(S)=max{K-S, 0}。
標的资产价格S t在時间t時,以美式看跌期权計算其公平价值在风险中性時如下F(S t, t)=ê(e?r(τs?t)?(Sτs)|S t(9.39)當隨机资产价格変动從S t開始到首次行使時间ζs。
它的發生可以是在期权到期時或是在期限内任何时点而當它的内在价值大過它的合理价值時。
在期限内任何时点t時,它的最优條款(S t) ≧F(S t, t) (9.40)美式看跌期权的价格应包括以下特性f(S t,t)=max{F(S t, t), ?(S t)} (9.41)公式(9.40)可以用來定義其价格S c(t)在時点t時其行使权的條件需符合S t≦S c(t)。
在此方法下,制定的條款便可輕易地實施只需简單地测試资产價格在特定的價格下便可。
特別注意其公平價值F(S t, t)可以被估計出當所有特定價格,或範圍,在時间t時都被计算出。
即是其特定價格S c(t)都可由倒退法找出開始由期权到期S c(T)=K。
要找出美式看跌期权的現貨價格,需要首先做出整個主要的範圍然后才評估其中性风险的期望値为f0=max{ê(e-rζs?(Sζs)|S0), ?(S0)} (9.42)再者,可以将一個非常大的N分为相等的時间间距Δt=T/N ,那庅便可产生整個期权的生命里當i由0走到N-1为止時每一個時间步骤t i=iΔt。
在時间t i時,試考慮S ti=x同時假設主要遠期時间範圍为{S c(t i+1),… , S c(t N)=K}。
美式看跌期权的公平價格可以用梦特卡罗模拟法中計算出F(S ti=x,t i)= ê(e-r(tζ-ti)?(S tζ )|S ti=x) (9.43)公式(9.43) 可产生资产價格迴路而餘下生命週期的期权则可将公式(9.44) 中的j由i走到N-1为止開始時由S ti=xS tj+1=S tjexp((r-12?σ2)Δt+σ√?tεj(9.44)假如在期权到期前任何时间里其产生價格是S tj+1≤S c(t j+1)的时候,同时当公式(9.43)里的τs=t j+1时該期权便应行使。
姓名:卢众专业:数学与应用数学学号: 08101116指导老师:许志军2011 年 6 月 3 日目录一、期权二叉树定价简介 (3)二、假设 (3)三、符号说明 (3)四、欧式二叉树模型 (4)1、一步二叉树模型 (4)2、风险中性定价原理 (5)3、两步二叉树模型 (6)4、多步二叉树模型 (6)五、美式二叉树模型 (7)1、单步二叉树 (7)2、多步二叉树 (8)六、对于其他标的资产的期权的定价 (9)1、支付连续股息收益率股票期权的定价 (9)2、股指期权期权的定价 (10)3、货币期权 (10)4、期货期权 (10)七、实例解析 (10)八、程序 (11)一、期权二叉树定价简介期权定价领域中一个有用并常见的工具是所谓的二叉树方法,这里的二叉树是指代表在期权期限内可能会出现的股票价格变动路径的图形,这里股票价格被假定为服从随机漫步,在树形的每一步,股票价格具有一定的概率会向上移动一定的比率,同时股票价格也具有一定的概率会向下移动一定的比率。
在极限状况,即步长足够小时,二叉树中的股票价格趋于对数正态分布,而对数正态分布正式布莱克-斯科尔斯模型关于股票价格的假设。
二、假设1、市场上无套利机会存在;2、所有的数据来源可靠;三、符号说明编号 符号 意义1 r 无风险利率2 u 股票上涨比率3 d 股票下跌比率4 0S股票初始价格 5 Λ,,,d u f f f 期权价值 6 t 时间步长 7 ∆ 股票数量8 p 股票上涨的概率 9 δ 股票的波动大小 10 1H 股票在初始时刻价格 112H期权的执行价格四、欧式二叉树模型100.10.20.30.40.50.60.70.80.910.10.20.30.40.50.60.70.80.91生的分枝一个时间步长,图8.1表示的二叉树称为一步(one-step )二叉树。
这是最简单的二叉树模型。
一般地,假设一只股票的当前价格是0S ,基于该股票的欧式期权价格为f 。
Black-Derman-Toy 模型Black-Derman-Toy 二义树及期限结构模型与股票期权相似,利率衍生产品都是倚靠其目标物-利率。
而利率期限结构是某个时点不同期限的利率所组成的一条曲线。
它是资产定价、金融产品设计、保值和风险管理、套利以及投机等的基准,也是中央银行控制短期利率变化以影响中长期利率变化的传递机制。
而单因素利率期限结构模型,瞬时短期利率r t 是起着决定性作用的内生变量。
根据市场期望假设,中长期利率等于未来相应时期内瞬时短期利率总和的期望。
而其衍生产品的价格便可根据此短期利率在风险中性下定价f 0=E (e −∫r t dt T 0f T |r 0) (1)在公式(1),期权的未来收益f T 是会根据产生出来到期利率进行评估。
已近代的方法则会以Health, Jarrow, and Morton 的无套利定价方法进行。
在期权定价上,以上的用树式方法便足够将风险中性的短期利率同现实的利率曲线比较。
而Black-Derman-Toy 因此发展出一个简单的二义树模型校正现实零息债券的利率期限结构及波动率.BDT 模型发展出结合将风险中性的短期利率的二义树及特定时间Δt ,如图1(a) 。
图1:(a) BDT 二义树模型结合树交叉点。
(b) 使用风险中性作为期权定价的单一个BDT 分支树在时间t=i Δt ,由上到下会有t+1个交叉点及短期利率r ij 而j 则由0到i 为止。
而其则代表按年计一个周期利率以最短可以借到的期限Δt 由t 到t+Δt 。
BDT 树则跟从Jarrow and Rudd 到参数设定及概率为p=12。
普遍来说,向上及向下的因素会倚赖时间及其相关短期利率的值。
假设设定为一个non-stochastic 结构的短期利率的波动率,就可表示其关系为时间及每一步骤i 时整个列里的短期利率都可设置为两个因素r ij =αi (βi )j (2)公式(1),BDT 树提供一个工具用来评估利率期权在风险中性的定价。
欧式看涨期权二叉树定价(含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月份该组合的价值是确定的。
于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。
二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。
(下转第157页)Excel 计算欧式看涨期权的价格二叉树鲍世杰(衡水学院数学与计算机学院河北衡水053000)【摘要】:欧式看涨期权是基于标的股票的衍生证券,可以利用股票的二叉树模型通过链锁法求解欧式看涨期权的初始价格,本文主要采用excel 通过股票的二叉树计算欧式看涨期权的初始价格,并且可以把其中的参数设为变量,表单建立后只需修改参数值就可以重新计算欧式看涨期权的价格,因此具有很大的实用性。
【关键词】:欧式看涨期权;衍生证券;二叉树一、引言:随着金融市场的不断发展衍生证券也逐渐的引入中国的证券市场,欧式看涨期权作为基本的衍生证券也进入中国的证券市场,欧式看涨期权的定价主要由标的的股票决定的,【1】股票的二叉树、欧式看涨期权二叉树是其中重要的一种分析方法,本文利用excel 工具计算欧式看涨期权。
二、股票二叉树、期权二叉树【2】欧氏看涨期权:认购期权(call)是一种合约。
合约持有者有权利却无义务在规定的时间或之前按指定的价格买入特定数量的某种标的资产。
建立股票简化二叉树应用【3】链式法则计算欧式看涨期权二叉树三、利用excel 计算欧式看涨期权打开excel 以J1单元格为顶点建立股票的二叉树模型,J11为顶点建立欧氏看涨期权的二叉树模型。
A1键入100,B1键入股价,B 列键入为解释A 列数值代表的意义,以下同理。
A2单元格键入105,B2键入执行价格,A3单元格键入5,B3键入期数,A7键入0.9,B7键入d 值,A8键入1.1,B8键入u 值,A11键入0.95,B11键入,A12键入0.7564,B12键入q ,A13键入0.2436,B13键入1-qJ1中键入公式“=A1”,I2中键入“=J1*$A$7”,在K2中键入公式“=J1*$A$8”,然后选择I2单元格的左下对角单元格复制I2中公式即可,直到E6。
在K2右下单元格中复制K2公式直到Q6,依次类推填满所需要的单元格,从而得到股票的二叉树。
Sub期权定价()
Dim i As Long
'将输入的参数的值赋给相应的变量s0 = Worksheets(1).Cells(1,2) x =
Worksheets(1).Cells(2, 2) r =
Worksheets(1).Cells(3, 2) s =
Worksheets(1).Cells(4, 2) t =
Worksheets(1).Cells(5, 2) n =
Worksheets(1).Cells(6, 2) '生成表格
Worksheets(1).Cells(1,4)="期数"
Worksheets(1).Cells(2, 4)="时间(年)" Worksheets(1).Cells(3, 4)="上行乘数" Worksheets(1).Cells(4, 4)="下行乘数" Worksheets(1).Cells(5, 4)="股票价格”Worksheets(1).Cells(n + 6, 4)="执行价格" Worksheets(1).Cells(n + 7, 4)="上行概率" Worksheets(1).Cells(n + 8, 4)="下行概率" Worksheets(1).Cells(n + 9, 4)="买入期权价格" '合并相应单元格
Set rr1 = Ran ge("D5")
For i = 1 To n
Set rr1 = Union(Range("D" & (5 + i)), rr1) Next
rr1.Select
With Selecti on
.Horiz on talAlig nment = xlGe
neral .VerticalAlig nment =
xlBottom .WrapText = False
.Orie ntati on = 0
.Addl ndent = False
」nden tLevel = 0
.Shri nkToFit = False .Readi ngOrder =
xlC on text .MergeCells = True
End With
'设置格式居中With Selection
.HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText =
False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit =
False .ReadingOrder = xlContext .MergeCells = True
End With
'合并相应单元格
Set rr2 = Range("D" & (n + 9))
For i = 1 To n
Set rr2 = Union(Range("D" & (n + 9 + i)), rr2) Next
rr2.Select
With Selection
.HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText =
False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit =
False .ReadingOrder = xlContext .MergeCells = True
End With
'设置格式居中
With Selection
.HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText =
False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit =
False .ReadingOrder = xlContext .MergeCells = True
End With
'计算表格相应内容'期数Worksheets(1).Cells(1, 5) = 0 For i = 1 To n Worksheets(1).Cells(1, 5 + i) = i Next
'时间(年) Worksheets(1).Cells(2, 5) = 0
For i = 1 To n
Worksheets(1).Cells(2, 5 + i) = t / (12 * n) * i Next
'上行乘数
u = Exp(s * (t / (12 * n)) A 0.5)
Worksheets(1).Cells(3, 5) = u
'下行乘数
d = 1 / u
Worksheets(1).Cells(4, 5) = d '股票价格
For i = 1 To n + 1
Worksheets(1).Cells(4 + i, 4 + i) = 50 * d A (i - 1)
Next
For i = 1 To n
For j = i To n
Worksheets(1).Cells(4 + i, 5 + j) = Worksheets(1).Cells(4 + i, 4 + j) * u
Next
Next
'执行价格
Worksheets(1).Cells(n + 6, 5 + n) = x
'上行概率、下行概率
p = ((r * t) / (12 * n) + 1 - d) / (u - d)
Worksheets(1).Cells(n + 7, 5 + n) = p
Worksheets(1).Cells(n + 8, 5 + n) = 1 - p
'买入期权价格'最后一期的期权价值
For i = 1 To n + 1 希望是本无所谓有,无所谓无的。
这正如地上的路;其实地上本没有路,走的人多了,也便成了路。
q = Worksheets(1).Cells(4 + i, 5 + n) - x If q > 0 The n
Worksheets(1).Cells(n + 8 + i, 5 + n) = q Else
Worksheets(1).Cells( n + 8 + i, 5 + n) = 0 End If
Next
'由后往前推各期的价值
For ii = n To 1 Step -1 '列
For jj = 1 To ii '行
If Worksheets(1).Cells(n + 8 + jj, 4 + ii + 1) > 0 Or Worksheets(1).Cells(n + 8 + jj + 1,4 + ii + 1) > 0 The n
Worksheets(1).Cells( n + 8 + jj, 4 + ii) = (p * Worksheets(1).Cells( n + 8 + jj, 4 + ii + 1) + (1 - p) *
Worksheets(1).Cells(n + 8 + jj + 1,4 + ii + 1)) / (1 + (r / 12) * (t / n))
Else
Worksheets(1).Cells( n + 8 + jj, 4 + ii) = 0
End If
Next
Next
End Sub
效果如下:
A B C D E F G H I J K L 1股累现,价屍50期数0 123456
2执行价格1T52. Q8时间f年}0 0. 083338a 1666670.250. 3333330,4166670.5
3年无风险利率0. 04上行乘数 1.124606
4监析■瀬动率C际准差}0. 4068下行乘數0. 8892
5劃期时间{梦少个月〉650 56. 2303263. 2369771.116779. 9782980. 94409101.1517
6划分朗数644.465056. 2303263. 2369771. 116779.97929
739. 5338444. 465056. 2303263.23657
8脸票忻格35.15349的.533S4也4650
g31.2594835, 1534939.53384 1027, 7950531.25348 1124. 71586
12执行桥格52. 08
13上行祉率0. 4B4835 140. 515165
15 5. 294956 3. 51705113. 261S419. S35G28. 243763B. 0371149.07169
16 2.296B164. 1067137.16050112. 050S19. 2097227.69329
170. 608334 1.258906 2.605Z25-39132211.15697
13买入期釈价格0000 19000 2000
210
22
23
24 1 11
25。