股票期权二叉树定价-excel-VBA程序

合集下载

运用EXCEL2007制作美式期权二叉树定价模型

运用EXCEL2007制作美式期权二叉树定价模型

全国中文核心期刊·财会月刊□期权是指一种合约,该合约赋予持有人在某一特定日期或该日期之前的任何时间以固定价格购进或售出一种资产的权利。

按期权执行时间,期权可分为欧式期权和美式期权。

欧式期权只能在期权到期日执行,而美式期权可以在到期日或到期日之前任何时间执行。

期权最先在金融领域出现,但它更广泛地被用于投资评价。

期权定价可基于复制原理或风险中性原理,两者比较,根据风险中性原理计算较为简易。

这里,笔者试图根据风险中性原理基于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-美式期权定价

ExcelVBA金融工程Section2-美式期权定价

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时該期权便应行使。

欧式与美式期权二叉树定价及程序实现.doc

欧式与美式期权二叉树定价及程序实现.doc

姓名:卢众专业:数学与应用数学学号: 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 。

第七章二叉树和三叉树的期权定价方法

第七章二叉树和三叉树的期权定价方法
3
7.1.1 二叉树格的校对 二叉树格方法应该是风险中性过程一个良好的相似。
dS rSdt SdW
因此,我们应以这样的方式参数设置晶格,即保持着连续时间模型的 一些基本属性,这一过程就叫做校准。从 St 开始,经过一个小的时间 步 t ,从 2.5 节我们可以看到新价格是一个随机变量 St t ,且
0.4 ,存续期为 5 个月,利用 B-S 模型,我们知道结果是:
>> call blsprice(50,50,0.1,5 / 12,0.4)
6
>> call 6.1165 如果我们想用二叉树格方法逼近结果的话, 我们首先就要定义格 参数,假定每个时间步为一个月,然后
t 1 / 12 0.0833
最后我们得到这样的等式
e 2 rt 2t (u d )e tt 1
其中,利用 u 1 / d ,可以转化为二次方程:
u 2 e rt u(1 e 2rt ) ett 0
2t
方程的一个跟为
u (1 e 2 rt t ) (1 e 2 rt t ) 2 4e 2 rt
欧式看涨期权接收到通常我们所定义的参数和在此情况下的时 间步 N,通过增加最后一个参数,我们得到了更为精确的价格(同一 计算时间的增加) 。
call(50,50,0.1,5 / 12,0.4,5) >> call latticeEur
>> call
6.3595
call(50,50,0.1,5 / 12,0.4,500) >> call latticeEur
f 0 e rt [ pfu (1 p) f d ]

EXCEL VBA 金融工程 Section 2 - BDT二义树及期限结构模型

EXCEL VBA 金融工程 Section 2 - BDT二义树及期限结构模型

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月份该组合的价值是确定的。

于是我们可以说该组合无风险,它的收益率一定等于无风险收益率。

二叉树方法正是基于上述思想构造了二项分布下的风险中性概率。

第八讲期权二叉树定价模型

第八讲期权二叉树定价模型

如果在第一个时间步之后,还有一个向上的运动,则 在第二个时间步股票价格变动的Delta为:
3.2 0 0.7273 24.2 19.8
如果在第一个时间步之后,还有一个向下的运动,则 在第二个时间步股票价格变动的Delta为:
00 0 19.8 16
在图8-5中,第一个时间步的Delta为:
f d e rt [ pfud (1 p) f dd ] f e
r t
(9.6) (9.7)
[ pfu (1 p) f d ]
将式(9.5)和(9.6)代入式(9.7),得到:
f e2 rt [ p 2 fuu 2 p(1 p) fud (1 p)2 f dd ]
9.6 二叉树模型在实际中的应用
在实际中应用二叉树图方法时,通常将期权有效期分 成30或更多的时间步。在每一个时间步,就有一个二叉树 股票价格运动。30个时间步意味着最后有31个终端股票价
格(terminal stock prices),并且230即大约10亿个可能的股
票价格路径。 从股票价格波动率,可以确定u和d的值。可以有许多 种不同的方式做到这一点。
在风险中性世界,股票的预期收益率一定等于无风险利 率12%。则有:
22p+18(1-p)=20e0.12×0.25


4p=20e0.12×0.25-18
p=0.6523
在三个月末尾:看涨期权价值为$1的概率为0.6523,价值 为零的概率为0.3477。因此,看涨期权的期望值为: 0.6523×1+0.3477×0=$0.6523 按无风险利率贴现得期权现在的价值:
式中,p2,2p(1-p)和(1-p)2是达到最后上、中、下三个

14.期权定价的二叉树

14.期权定价的二叉树

乐经良
有关数据
若将 T 分成五段,每段长度1个月, 则t =0.0833(年),利用已知数据可以求出
ue
0 .4 t
1.1224,
1 d 0.8909 u
a e 0.1 t 1.0084,
ad p 0.5076 ud
乐经良
用二叉树计算
79.35 0 62.99 0 50 2.66 39.69 10.31 31.50 18.50 89.07 0 70.70 0 56.12 0 44.55 5.45 35.36 14.64 28.07 22.93
乐经良
Su2 Su S Sd Sd2
S
计算期权的价格
期权的预期收益率也应该等于无风险利率, 故
Ve r t pVu (1 p )Vd
V e r t [ pVu (1 p )Vd ]
期权的计算将从树图 Vu V Vd
乐经良

的末端( T 时刻)开始向后 倒推进行.时刻T 的期权价 值是已知的,可倒推出前 一个时刻的期权价格
利用 Matlab
编制 m 文件后可以取t 充分小,例如取 t =1/360, 求得期权价格= $4.76
乐经良
美式期权的例子
股票现价S=50(美元),该股票的年波动率 为 s=40% ,市场的无风险年利率 r =10%;敲定价 格 X =50(美元),美式看跌期权的有效期为五个 月,即 T =0.4167 (年)意味着期权持有者有权在 月内的任何一天执行期权,即他可以用敲定价 格出售股票给期权提供者;当然他也可以放弃 这种权利.那么这种期权的定价应为多少?
乐经良
如何定价的思路
基本思路是套期保值,即交易者为减少风险而 采取的投资组合(portfolio)的策略.假定现在套 利者卖出一份股票期权,价格为V ,再以价格S 买进 a 份这种股票,那么该组合的价格为

利用Excel中的宏VBA让股票自动显示当前价格

利用Excel中的宏VBA让股票自动显示当前价格

#NAME? #NAME?
万年青 平安银行
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME?
#NAME? #NAME?
中信银行H股 #NAME? #NAME? #NAME?
#NAME?
开盘价 #NAME? #NAME? #NAME?
单日最高价 #NAME?
说明: 1.股票行情使用新浪行情接口完成。上面黄色的6列就是从网上抓取的。 2.举例:以B5格子长江电力为例,格子里面填的是=getStockPrice("sh600900");另外其他4个功能函数 价/成交总量),分别命名getOpenStockPrice( ),getMaxStockPrice( ),getMinStockPrice( ),getTra 3.自动刷新功能:可以选择运行宏mycalc,30秒定时刷新;如果不需要自动刷新功能,也可手工触发刷 格,按下键盘delete即可)。
股票名称 上证指数 深证综指 创业板指
当前价 #NAME? #NAME? #NAME?
昨收盘 #NAME? #NAME? #NAME?
涨跌 #NAME? #NAME?
涨跌幅度 #NAME? #NAME?
长江电力 光大银行
#NAME? #NAME? #NAME? #NAME?
#NAME? #NAME?
当日最低价 #NAME? #NAME? #NAME?
当日成交额(万元) #NAME? #NAME? #NAME?
#NAME?
#NAME?
);另外其他4个功能函数(开盘价/最高价/最低 nStockPrice( ),getTradeVolume( )。 新功能,也可手工触发刷新(在excel上找个空

Excel计算欧式看涨期权的价格二叉树

Excel计算欧式看涨期权的价格二叉树

(下转第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,依次类推填满所需要的单元格,从而得到股票的二叉树。

(仅供参考)Excel VBA 金融工程 Section 2 - 期权定价

(仅供参考)Excel VBA 金融工程 Section 2 - 期权定价

梦特卡罗期权价格计算欧洲看涨不派息股票期权我会将之前介绍到技巧应用在不派息的欧洲看涨期权上。

分别是控制変量方法CMcEuropeanCall()程序- 请参考源代码OP02,对偶変量法AMcEuropeanCall()程序-请参考源代码OP03及原模拟McEuropeanCall()程序- 请参考源代码OP04,。

当分别输入资料{S0, K, r, σ, T, n},而经由读取程序readData() -请参考源代码OP01后。

而readData()程序会分别将资料放到以上三个不同方法的程序里,最后结果会输回其期权现价及标准误差到readData()程序。

在全部程序里,随机抽样数ɛ会由StdNormNum()函数产生,并由此根据(FOP.16)带出抽様的到期价格S T(ɛ)。

就对偶変量法,在相同的随机数上加上负数即可S T(-ɛ)。

相同的数值在不同函数,引用不同公式(FOP.18), (FOP.19) 及(FOP.21)里运作后评估。

根据(FOP.2),其均值及方差的现值可将每个抽祥数分别加起来及将其倍乘即可,其可以一个小回路程序由1到n项。

可以更简单的将(FOP.2)的方差计算用以下方式表达S2=1n+1∑gni=12(xi)-nn−1m2(FOP.25)此两个流程都可以在估算期权现价时得出其均值。

在控制变量法,一定要时刻记者将S0包括在均值估算上当为控制变量(FOP.20)的解决方法。

在评估过程里的标准误差可以根据在方差计算时的附加因子1/√n所找出。

Sub readData()Dim assetPrice As Double: assetPrice = Cells(2, 2)Dim strike As Double: strike = Cells(3, 2)Dim maturity As Double: maturity = Cells(4, 2)Dim riskFree As Double: riskFree = Cells(5, 2)Dim sigma As Double: sigma = Cells(6, 2)Dim nsample As Long: nsample = Cells(7, 2)Dim optionPrice As DoubleDim stdEr As Doubleseed = 5678Call McEuropeanCall(assetPrice, strike, riskFree, sigma, maturity, nsample, optionPrice, stdEr)Cells(9, 2) = optionPriceCells(10, 2) = stdErCall CMcEuropeanCall(assetPrice, strike, riskFree, sigma, maturity, nsample, optionPrice, stdEr)Cells(9, 3) = optionPriceCells(10, 3) = stdErCall AMcEuropeanCall(assetPrice, strike, riskFree, sigma, maturity, nsample, optionPrice, stdEr)Cells(9, 4) = optionPriceCells(10, 4) = stdErEnd Sub源代码OP01: 读取基本期权资料程序Sub CMcEuropeanCall(assetPrice As Double, strike As Double, riskFree As Double, sigma As Double, maturity As Double, nsample As Long, ByRef optionPrice As Double, ByRef stdEr As Double)Dim sum01 As Double, sum02 As Double, Vnum As DoubleDim mean As Double, Vd As Double, Vs As LongDim sT As Double, fT As Double, pV As Doublesum01 = 0sum02 = 0For Vs = 1 To nsampleVnum = StdNormNum()sT = assetPrice * Exp((riskFree - 0.5 * sigma ^ 2) * maturity + sigma * Sqr(maturity) * Vnum)fT = CallPayoff(strike, sT) - sTpV = Exp(-riskFree * maturity) * fTsum01 = sum01 + pVsum02 = sum02 + pV * pVNext Vsmean = sum01 / nsampleVd = Sqr(sum02 / (nsample - 1) - (nsample / (nsample - 1)) * mean ^ 2)optionPrice = assetPrice + meanstdEr = Vd / Sqr(nsample)End Sub源代码OP02: 欧州看涨期权控制変量法梦特卡罗模拟程序Sub AMcEuropeanCall(assetPrice As Double, strike As Double, riskFree As Double, sigma As Double, maturity As Double, nsample As Long, ByRef optionPrice As Double, ByRef stdEr As Double)Dim sum01 As Double, sum02 As Double, Vnum As DoubleDim mean As Double, Vd As Double, Vs As LongDim sT As Double, sTa As Double, fT As Double, pV As Doublesum01 = 0sum02 = 0For Vs = 1 To nsampleVnum = StdNormNum()sT = assetPrice * Exp((riskFree - 0.5 * sigma ^ 2) * maturity + sigma * Sqr(maturity) * Vnum)sTa = assetPrice * Exp((riskFree - 0.5 * sigma ^ 2) * maturity + sigma * Sqr(maturity) * (-Vnum))fT = (CallPayoff(strike, sT) + CallPayoff(strike, sTa)) / 2pV = Exp(-riskFree * maturity) * fTsum01 = sum01 + pVsum02 = sum02 + pV * pVNext Vsmean = sum01 / nsampleVd = Sqr(sum02 / (nsample - 1) - (nsample / (nsample - 1)) * mean ^ 2)optionPrice = meanstdEr = Vd / Sqr(nsample)End Sub源代码OP03: 欧州看涨期权对偶変量法梦特卡罗模拟程序Sub McEuropeanCall(assetPrice As Double, strike As Double, riskFree As Double, sigma As Double, maturity As Double, nsample As Long, ByRef optionPrice As Double, ByRef stdEr As Double)Dim sum01 As Double, sum02 As Double, Vnum As DoubleDim mean As Double, Vd As Double, Vs As LongDim sT As Double, fT As Double, pV As Doublesum01 = 0sum02 = 0For Vs = 1 To nsampleVnum = StdNormNum()sT = assetPrice * Exp((riskFree - 0.5 * sigma ^ 2) * maturity + sigma * Sqr(maturity) * Vnum)fT = CallPayoff(strike, sT)pV = Exp(-riskFree * maturity) * fTsum01 = sum01 + pVsum02 = sum02 + pV * pVNext Vsmean = sum01 / nsampleVd = Sqr(sum02 / (nsample - 1) - (nsample / (nsample - 1)) * mean ^ 2)optionPrice = meanstdEr = Vd / Sqr(nsample)End Sub源代码OP04: 欧州看涨期权原梦特卡罗模拟程序Public seed As LongFunction StdNormNum() As DoubleDim v1 As Double, v2 As Double, w As Double, fac As DoubleDim snnUse As DoubleStatic flagSave As Integer: If IsEmpty(flagSave) Then flagSave = 0Static snnSave As DoubleIf (flagSave = 0) ThenNewTrial:v1 = 2# * ran0() - 1#v2 = 2# * ran0() - 1#w = v1 ^ 2 + v2 ^ 2If (w >= 1#) Then GoTo NewTrialfac = Sqr(-2# * Log(w) / w)snnSave = fac * v1snnUse = fac * v2flagSave = 1ElsesnnUse = snnSaveflagSave = 0End IfStdNormNum = snnUseEnd FunctionFunction ran0() As DoubleDim IA As Long: IA = 16807Dim IM As Long: IM = 2147483647Dim IQ As Long: IQ = 127773Dim IR As Long: IR = 2836Dim MASK As Long: MASK = 123459876Dim AM As Double: AM = 1# / IMDim k As Longseed = seed Xor MASKk = seed / IQseed = IA * (seed - k * IQ) - IR * kIf (seed < 0) Then seed = seed + IMran0 = AM * seedseed = seed Xor MASKEnd FunctionFunction CallPayoff(strike As Double, assetPrice As Double) As DoubleCallPayoff = Max(assetPrice - strike, 0)End FunctionFunction Max(x As Double, y As Double) As DoubleIf x > y Then Max = x Else Max = yEnd Function源代码OP05: 随机抽样数函数产生器及看涨期权净值函数m=12n ∑gni=1(x i) and S2=1n+1∑(gni=1(x i)- m)2(FOP.2)S T=S0exp((r-1/2σ2)T+σ√Tɛ(0,1)) (FOP.16) n r(ɛ)=max{S T(ɛ)-K, 0} (FOP.18) ńr(ɛ)=max{S T(ɛ)-K, 0} - S T(ɛ) (FOP.19)n0=S0+Ê(e-rTńr |S0) (FOP.20) ňr(ɛ)=1/2[max{S T(ɛ)-K, 0} +max{S T(-ɛ)-K, 0}] (FOP,21)欧洲看涨派息股票期权现在考虑欧洲看涨派息股票期权的计算方法,假知它支付的股息是{D1, … , D n}而支付时间为{t1, … , t n=T}。

期权二叉树的excel实现总表

期权二叉树的excel实现总表

股息发放日将未来 的股息折现到该时 点,再将该折现值 复利到直到下一个 股息发放日之间的 每一步,并将该值 加到对应步数的无 红利股价上,得到
有红利的总股价。
3
4
0.002953767 0.003938356
5 0.004922945
6
7
8
9
0.005908 0.006892 0.0078767 0.008861
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
12.44518 12.62595 12.809356 12.99542
12.26699 12.445176 12.62595
12.091349 12.26699
11.91823
10
11
12
13
14
15
16
17
18
0.009846 0.01083 0.011815 0.0128 0.013784 0.014769 0.015753 0.016738 0.017723
185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238

第10章二叉树法期权定价及其Python应用

第10章二叉树法期权定价及其Python应用

第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表示股票买权的二叉树期权定价模型。

股票期权二叉树定价-excel-VBA程序

股票期权二叉树定价-excel-VBA程序

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 = Range("D5")For i = 1 To nSet rr1 = Union(Range("D" & (5 + i)), rr1) Nextrr1.SelectWith Selection.HorizontalAlignment = xlGeneral.VerticalAlignment = xlBottom.WrapT ext = False.Orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlContext.MergeCells = TrueEnd With'设置格式居中With Selection.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenter.WrapT ext = False.Orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlContext.MergeCells = TrueEnd With'合并相应单元格Set rr2 = Range("D" & (n + 9))For i = 1 To nSet rr2 = Union(Range("D" & (n + 9 + i)), rr2) Nextrr2.SelectWith Selection.HorizontalAlignment = xlGeneral.VerticalAlignment = xlBottom.WrapT ext = False.Orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlContext.MergeCells = TrueEnd With'设置格式居中With Selection.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenter.WrapT ext = False.Orientation = 0.AddIndent = False.IndentLevel = 0.ShrinkToFit = False.ReadingOrder = xlContext.MergeCells = TrueEnd With'计算表格相应内容'期数Worksheets(1).Cells(1, 5) = 0For i = 1 To nWorksheets(1).Cells(1, 5 + i) = iNext'时间(年)Worksheets(1).Cells(2, 5) = 0For i = 1 To nWorksheets(1).Cells(2, 5 + i) = t / (12 * n) * iNext'上行乘数u = Exp(s * (t / (12 * n)) ^ 0.5)Worksheets(1).Cells(3, 5) = u'下行乘数d = 1 / uWorksheets(1).Cells(4, 5) = d'股票价格For i = 1 To n + 1Worksheets(1).Cells(4 + i, 4 + i) = 50 * d ^ (i - 1)NextFor i = 1 To nFor j = i To nWorksheets(1).Cells(4 + i, 5 + j) = Worksheets(1).Cells(4 + i, 4 + j) * u NextNext'执行价格Worksheets(1).Cells(n + 6, 5 + n) = x'上行概率、下行概率p = ((r * t) / (12 * n) + 1 - d) / (u - d)Worksheets(1).Cells(n + 7, 5 + n) = pWorksheets(1).Cells(n + 8, 5 + n) = 1 - p'买入期权价格'最后一期的期权价值For i = 1 To n + 1q = Worksheets(1).Cells(4 + i, 5 + n) - xIf q > 0 ThenWorksheets(1).Cells(n + 8 + i, 5 + n) = qElseWorksheets(1).Cells(n + 8 + i, 5 + n) = 0End IfNext'由后往前推各期的价值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 ThenWorksheets(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)) ElseWorksheets(1).Cells(n + 8 + jj, 4 + ii) = 0End IfNextNextEnd Sub效果如下:。

二叉树期权定价模型

二叉树期权定价模型

支付已知红利率资产的期权定价
可通过调整在各个结点上的证券价格,算出期权价格;
如果时刻 it 在除权日之前,则结点处证券价格仍为:
Su j d i j , j 0,1,, i
如果时刻 it 在除权日之后,则结点处证券价格相应调整为:
S (1 )u j d i j
j 0,1, ,i
若在期权有效期内有多个已知红利率,则 it 时刻结点的相应的证券价格为:
2、保持不变,仍为 S ;
3、下降到原先的 d 倍,即 Sd
Su3
Su2
Su2
Su
Su
Su
S
S
S
S
Sd
Sd
Sd
Sd2 Sd2
Sd3
一些相关参数:
u e 3t
d1 u
pm
2 3
pd
t 12 2
r
q
2 2
1 6
t
2 1
pu
12 2
r q
2
6
控制方差技术 基本原理:期权A和期权B的性质相似,我们可以得到期权B的解析定价公
的波动率,mˆ i 为 i 在风险中性世界中的期望增长率, ik为 i 和 k 之间的瞬间相关系数)
常数利率和随机利率的蒙特卡罗模拟 利率为常数时:期权价值为(初始时刻设为0):
.
f erT Eˆ fT
其中, Eˆ 表示风险中性世界中的期望。
利率为变量时:期权价值为(初始时刻设为0): f Eˆ erT fT
j 0,1, ,i
注意:由于
u 1 d
,使得许多结点是重合的,从而大大简化了树图。
得到每个结点的资产价格之后,就可以在二叉树模型中采用倒推定价 法,从树型结构图的末端T时刻开始往回倒推,为期权定价。

EXCEL VBA 金融工程 Section 2 - BDT二义树及期限结构模型

EXCEL VBA 金融工程 Section 2 - BDT二义树及期限结构模型

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 树提供一个工具用来评估利率期权在风险中性的定价。

简述期权定价的二叉树模型微分部分处理流程

简述期权定价的二叉树模型微分部分处理流程

简述期权定价的二叉树模型微分部分处理流程下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!期权定价的二叉树模型微分部分处理流程在期权定价的二叉树模型中,微分部分处理是非常关键的一部分。

基于控制变量技术的美式看跌期权定价的EXCEL方法

基于控制变量技术的美式看跌期权定价的EXCEL方法

基于控制变量技术的美式看跌期权定价的EXCEL方法金凌辉;郭丽莎;胡军浩【摘要】介绍了控制变量技术的基本理论,分析了该技术对美式看跌期权数值估值的作用,并给出了一种利用Excel为美式看跌期权估值的方法.【期刊名称】《西南民族大学学报(自然科学版)》【年(卷),期】2012(038)003【总页数】4页(P337-340)【关键词】美式看跌期权;控制变量技术;二叉树模型;Excel【作者】金凌辉;郭丽莎;胡军浩【作者单位】武汉科技大学城市学院公共课部,湖北武汉430083;中南民族大学数学与统计学院,湖北武汉430074;中南民族大学数学与统计学院,湖北武汉430074【正文语种】中文【中图分类】F224众所周知, 美式看跌期权无法用 Black-Scholes公式求出解析解, 因而只能通过数值方法为其定价, 其中二叉树方法无疑是最重要也是最常用的一种. 使用二叉树方法时, 对期权的有效期分割得越细, 即时间步越多, 所得到的结果就越精确. 一般而言, 当时间步大于30时便可以得到较精确的结果. 但30个时间步意味着最后有31个终端股票价格, 并且有 230即大约 10亿个可能的股票价格路径, 计算量将非常大. 然而, 利用控制变量技术,却能在减少时间步的情况下提高估值精度, 从而只需要借助最常用的办公软件Excel, 便可实现对美式看跌期权的定价.当希望对两种类似的期权A和B进行定价时, 可以使用控制变量技术. 控制变量技术的关键在于使用同样的数值方法对A和B进行估值, 并且要求知道B的精确价格. 当B能求出精确价格时, 对其使用数值方法估值看似是多于的, 但是, 如果用数值方法对A和B估值产生的估计误差是无偏的(或偏差相同)并且高度相关时,则可以提高对A估值的精确度. 为说明控制变量技术的应用, 定义如下记号:当所考虑的期权为美式看跌期权时, 与其最为类似的期权显然是欧式看跌期权. 由于欧式看跌期权可以用Black-Scholes公式计算出精确值, 故可以利用控制变量技术来为美式期权进行数值估值. 设用同一数值方法计算出来的美式期权和欧式期权的价值分别为 f A和 f E, 使用控制变量技术对美式期权的估值为 fA*, 用Black-Scholes公式计算出的欧式期权的价值为 f B S, 则由(1)式有为简单起见, 可虑一个不支付红利的股票美式看跌期权. 股票当前价格S40元, 期权的执行价格X35元, 无风险利率r0.0488, 期权有效期T=0.5833年, 股票年波动率0.2. 对于这个期权, 二叉树方法的创立者——Cox和Rubinstein曾用500个时间步的二叉树模型计算出其价值为0.433元. 现在用Excel来对其定价, 先建立一个5步二叉树, 即时间步n=5, 每个时间步长.1167年. 先用Excel生成二叉树模型所需参数的值, 其中首先在表格中的A2、B2、C2、D2和E2处直接输入S、X、r、和的值, 然后在F2处输入: =EXP(D2*SQRT(E2)), 回车后Excel自动计算出u的值并在F2中显示. 同理, 在G2处输入: =1/F2; 在H2处输入: =EXP(C2*E2); 在I2处输入:=(H2-G2)/(F2-G2)便可得到我们需要的数值(如表1).接下来生成股价二叉树. 在表单的空白单元格, 比如A10处输入: =A2, 回车后会发现该单元格中显示为40,即股票的当前价格. 接下来在A10的右上角即B9处输入: =A10*$F$2, 回车后B9中显示的将是股票在一个时间步后上涨的价格. 此处输入的公式中加入美元符号“$”的目的是为了使我们在后面复制粘贴该单元格的公式时不会改变其相应的运算规律. 接下来我们便将刚才输入的公式复制后依次粘贴到B9右上方的单元格C8、D7、E6和F5中, 你会发现这些单元格会自动计算并显示出需要的数值, 此时, 二叉树的一个分支已经生成好了. 同理, 在A10的右下角即B11处输入: = A10*$G$2, 回车后可得到一个步长后股价下降的价格, 然后将该单元格的公式复制并粘贴到二叉树剩下的节点处, 便可轻松的生成股价的二叉树(如表2).现在来为欧式看跌期权估值. 首先在F17处输入: =MAX($B$2-F5,0)并回车, Excel 自动计算出该节点出期权的价值并在该单元格显示. 然后复制该单元格的公式并依次粘贴到 F19、F21、F23、F25、F27处, 则可得树图末端各节点处期权的价格. 接下来在E18处输入: =EXP(-$C$2*$E$2)*($I$2*F17+(1-$I$2)*F19), Excel将自动计算出该节点出期权的价值并显示. 最后将 E18的公式复制粘贴到其余节点, 便可得到欧式看跌期权的价值二叉树(如表3), 树图最左端为期权价值0.4689元.用Excel为美式看跌期权估值的方法与欧式看跌期权类似. 只是在除树图的末端外的各节点处需要考虑是否应该提前执行, 但这在 Excel上实现起来也是很方便的. 首先按欧式期权的方法生成树图末端各节点处的期权价格. 然后在E30处输入:=MAX((EXP(-$C$2*$E$2)*($I$2*F29+(1-$I$2)*F31)),$B$2-E6), Excel便会自动算出该节点出期权的价值并显示. 接着将此公式复制粘贴到其他节点, 便可得到美式看跌期权的价值二叉树(如表4) , 树图最左端为期权价值0.4788元.欧式看跌期权的 Black-Scholes公式为:为均值为 0标准差为 1的标准正态分布变量的累计概率分布函数. 利用 Excel生成Black-Scholes公式的计算程序. 首先在K2处输入: =(LN(A2/B2)+(C2+D2*D2/2)*0.5833)/(D2*SQRT(0.5833)), 便可得到 d1的值, 紧接着在 L2处输入: =K2-D2*SQRT(0.5833)便可得到 d2的值. 接下来利用 Excel自带的函数NORMSDIST求d1和d2的标准正态分布函数值, 例如我们在M2处输入: =NORMSDIST(-K2)便可得到N(d1), 同理可求出N(d2). 最后在O2处输入: =B2*EXP(-C2*0.5833)*N2-A2*M2, 便可得到欧式看跌期权的价值fBS=0.4170元(如表5).在上述过程后, 利用(3)式, 便可得到利用控制变量技术对美式看跌期权估值的结果 f A*=0.4170+(0.4788-0.4689)=0.4269, 这一结果显然比fA更接近于期权的真实值.利用上述方法, 我们分别建立不同时间步的二叉树模型对期权进行了估值. 结果如下表, 其中n=时间步,步长.从表1可以看出, 当n较小时, fA*比 f A更接近于期权的真实价值. 并且随着n的增大, fA*趋于期权真实价值的速度也比 fA快. 这充分说明, 当二叉树模型的时间步较小时, 利用控制变量技术能显著提高估值的效率,这对于利用如Excel这样的简单工具估计期权价格是非常重要的.当然, 在现实的金融市场中, 所遇到的情况绝不会那么简单. 比如股票期权的标的物大多是支付红利的,且无风险利率也不一定是常数. 但在对二叉树模型作适当修改后仍然可以结合控制变量技术来为期权估值, 因此本文给出的方法具有一定的可借鉴性.【相关文献】[1] JOHN C COX, S ROSS. The valuation of option for alternative stochastic processes[J]. Journal of Financial Economics, 1976(2): 145-166.[2] JOHN C COX, ROSS S A, MARK RUBINSTEIN. Option Pricing: A Simplified Approach[J]. Journal of Financial Economics, 1979,7: 229-264.[3] JOHN C COX, MARK RUBINSTEIN. Options Market[M]. Englewood Cliffs: Prentice-Hall, 1984.[4] J HULL, A WHITE. The Use of the Control Variate Technique in Option Pricing[J]. Journal of Financial and Quantitative Analysis,1988, 23(9): 237-251.[5] FISHER BLACK, MYRON SCHOLES. The pricing of option and corporate liabilities[J]. Journal of Politic Economic, 1973(81):637-659.[6] R MERTON. Theory of rational options pricing[J]. Bell Journal of Economics andManagement Science, 1973(2): 141-183.[7] JOHN C HULL. 期权、期货和其他衍生产品[M]. 张陶伟, 译. 北京: 华夏出版社, 2000.[8] JOSEPH STAMPFLI, VICTOR GOODMAN. 金融数学[M]. 蔡明超, 译. 北京: 机械工业出版社, 2004.[9] 姜礼尚. 期权定价的数学模型与方法[M]. 北京: 高等教育出版社, 2003.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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。

相关文档
最新文档