Matlab金融计算讲义_第1页
Matlab金融计算讲义_第2页
Matlab金融计算讲义_第3页
Matlab金融计算讲义_第4页
Matlab金融计算讲义_第5页
已阅读5页,还剩132页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专题十一: MATLAB 金融计算目 录金融时间序列分析金融时间序列分析1固定收益证券计算固定收益证券计算2资产组合计算资产组合计算3金融衍生品计算金融衍生品计算4蒙特卡罗模拟蒙特卡罗模拟6金融数据可视化技术金融数据可视化技术7有限差分法定价有限差分法定价5时间序列变量的创立时间序列变量的创立1.1金融时间序列的统计特征金融时间序列的统计特征1.2时间序列模型的估计时间序列模型的估计1.3GARCH模型的参数估计模型的参数估计1.4第第1章章 金融时间序列分析金融时间序列分析金融时间序列金融时间序列GUI1.51.1 时间序列时间序列变量的变量的创立创立1.1.1 fints函数创立时间变量函

2、数创立时间变量序列序列 Matlab中有专门的时间序列格式来保存时间序列数据。命令为fints(dates, data)。第一列为时间,其他列为相应的数据。例例1-1 文件:fts_ex01.m 程序:dates=today:today+5; data=1:6; tsobjkt = fints(dates, data) 1.1.2 时间序列时间序列数据的数据的读取读取(1)ascii2fts函数 读取后缀为txt、dat文件的数据。tsobj = ascii2fts(filename, timedata, descrow, colheadrow,skiprows)filename:文件名tim

3、edata:判断是不是按天记录的数据,是则输 入t,否则为nt。可缺省。descrow:确定文件中文字说明的行数colheadrow:变量名所在的行数skiprows:不需要读入的列例例1-2 读取文件名为fts_ex02.txt内的数据命令: tsobj = ascii2fts(fts_ex02.txt,1, 2)结果: tsobj = desc: USST Company Stock freq: Unknown (0) dates: (6) CLOSE: (6) 06-Jun-2013 1 07-Jun-2013 2 08-Jun-2013 3 09-Jun-2013 4 10-Jun-2

4、013 5 11-Jun-2013 6(2)xlsread函数 读取excel中的数据。 data,txt = xlsread(filename.xlsx,Sheet1); data:读取的数据 txt:读取的文本,包括日期。 例例1-3 读取文件名为fts_ex03.xlsx内的数据。 data,txt = xlsread(fts_ex03.xlsx,Sheet1); 结果: 2013/012013/022013/032013/042013/053233343536373839日 期收盘价2013.1.4-2013.5.21青 岛 啤 酒 的 日 收 盘 价 (3)fetch函数 从网络获取

5、股票数据(Yahoo、Bloomberg) c=yahoo;%从雅虎获取数据 x=fetch(c,security_name,fields,fromedate, todate,period); security:证券的名字(代号) fields可取close,high,volume period可取d,w,m,v,分别表示日、周、月、红利 例例1-4 从雅虎获取宝钢股份2013.1.4至 2013.5.21的日收盘价,并绘图。 文件:fts_ex04.m 结果:2013/012013/022013/032013/042013/054.74.754.84.854.94.9555.055.15.1

6、55.2日 期收盘价2013.1.4-2013.5.21宝 钢 股 份 的 日 收 盘 价1.1.3数据数据的简单的简单处理处理 (1)日期运算 函数函数用途用途格式格式now现在时刻a=nowtoday现在日期a=todaydatestr数字日期转换为字符串日期a=datestr(num)datenum字符串日期转换为数字日期a=datenum(str)day确定每月的第几天a=day(date)weekday查询星期num,str=weekday(date)month查询月份num,str=month(date)daysact计算日期间隔a=dayscat(date1,date2)函数函数

7、用途用途格式格式todaily从时间序列中抽取日数据a=todaily(fints_data)toweekly从时间序列中抽取周末数据a=toweekly(fints_data)tomonthly从时间序列中抽取月末数据a=tomonthly(fints_data)toquarterly从时间序列中抽取季度末数据a=toquarterly(fints_data)tosemi从时间序列中抽取半年度末数据a=tosemi(fints_data)toannual从时间序列中抽取年度末数据a=toannual(fints_data)特定日期抽取函数 (2)数据类型转换 函数函数用途用途格式格式fts2

8、ascii保存为文本文件a=fts2ascii(name,tsobj)fts2mat转换为矩阵数据a=fts2mat(tsobj,datesflag)extfield抽取列数据a=extfield(tsobj,name)price2ret转换为收益率a=price2ret(price)ret2price转换为价格a=ret2price(ret, StartPrice) (3)缺失数据的处理 利用插值法补全数据。 命令:newfts=fillts(oldfts,method) oldfts:原始数据 method:处理方法。 linear:线性插值法 cubic:3次插值法 spline:样条插

9、值法 nearest:最近法 pchip:逐段光滑的3次hemite多项式法1.2.1平稳性检验平稳性检验(1)ADF检验 原假设h0:时间序列为单位根过程h,pValue,stat,cValue,reg=adftest(y,Para_Name,Para_Value,.)输入参数:y:时间序列变量;Para_Name:参数名字,包括:alpha,lags,model,test model包括AR,ARD,TS,test包括t1,t2,Fh=0不能拒绝时间序列为单位根过程的假设,h=1拒绝pValue:p值,若pValuealpha,拒绝时间序列为单位根过程 的原假设cValue:统计量拒绝原假

10、设的临界值reg:结构型变量,包括有效样本容量,回归系数等1.2 金融金融时间序列的时间序列的统计分析统计分析 (2)Phillips-Perron检验调用方式: h,pValue,stat,cValue,reg=pptest(y,Para_Name, Para_Value,.)输入参数同上 1.2.2 相关性相关性函数名称格式corrcoef相关系数r=corrcoef(x,y)parcorr偏相关系数a,b=parcorr(series)autocorr自相关系数a,b=autocorr(x) 1.2.3 假设检验(1)单个样本均值的t检验命令: h,p,ci,stats=ttest(X,

11、m,alpha,tail)输入参数: X:样本 m:理论值 alpha:显著性水平 tail:检验方式,tail=0表示双尾检验,tail=1表示右尾检 验(h0:ux=m) ci:1-alpha的置信区间 stats:结构型变量,给出了t统计量,t统计量的自由度, 样本的标准差;(2)两个样本均值的t检验 h,p,ci,stats=ttest2(X,Y,alpha,tail,vartpye)输入参数: vartpye:equal表示两个样本的方差相等, unequal表示方差不等。(3)单个样本卡方检验 h,p,ci,stats=vartest(X,V,alpha,tail)输入参数: V:

12、方差的理论值 (4)两个样本的F检验 h,p,ci,stats=vartest2(X,Y,alpha,tail)1.3时间序列模型的时间序列模型的估计估计1.3.1时间序列模型时间序列模型介绍介绍(1)自回归(AR)模型 如果时间序列是它前期值与随机项的线性函数,即 引入滞后算子Q,并记AR(Q)为: 模型可以写为:(2)移动平均(MA)模型如果时间序列是随机项的线性组合,即引入滞后算子Q,并记MA(Q)为:模型可以表示为: (3)自回归移动平均模型(ARMA) 如果时间序列是随机项的线性组合和前期的线性函数,即引入滞后算子Q,模型可以表示为: MATLAB中时间序列的模型如下:其中:A(Q)

13、,B(Q),C(Q),D(Q),F(Q)都是含有延迟算子的多项式。1.3.2时间序列模型估计时间序列模型估计(1)AR模型的估计命令:m = ar(y,n) m,ref1= ar(y,n,approach,window) y:观察值 n:模型的阶数 approach:计算模型参数的方法 fb:Forward-Backward方法 ls:最小二乘 yw:Yule-Walker方法 burg:Burgs Lattic-Based方法 gl:Geomatic Lattic方法 window:处理缺失值的方法 now:没有缺失值 yw:Yule-Walker方法处理缺失值 例例1-5 给出青岛啤酒20

14、12年5月2日至2013年5月21日的日收盘价收益率,用2阶的AR模型进行估计。 文件:fts_ex05.m 结论:偏相关系数都落在置信区间内, AR模型不适合描述其收益率。 (2)ARMAX模型的估计 命令:sys = armax(data,na nb nc nk)sys = armax(data,na nb nc nk,Name,Value) data:数据 na nb nc nk:滞后阶数ARMAX模型的格式: 其中: 如果只取na nc,则模型变为ARMA模型 如果只取na,则模型变为AR模型 如果只取nc,则模型变为MA模型 如果只取na,nb,nk,则模型变为ARX模型即: AR模

15、型:armax(data,na,na) ARX模型:armax(data,na,na,nb,nb,nk,nk) MA模型:armax(data,nc,nc) ARMA模型:armax(data,na,na,nc,nc) 例例1-6 利用例5中的数据,用MA模型 进行估计。 文件:fts_ex06.m例例1-7 利用青岛啤酒和沪深300指数2012年5月2日至2013年5月21日的日收盘价收益率,用ARMAX模型进行估计。 文件:fts_ex07.m (3)广义线性模型PEM 调用方式: sys=pem(data,na,na,nb,nb,nc,nc,nd, nd,nf,nf,nk,nk)(4)B

16、ox-Jenkins模型 调用方式:sys=bj(data,nb,nb,nc,nc,nd,nd,nf,nf,nk,nk)1.4 GARCH模型模型1.4.1 广义自回归条件异方差(广义自回归条件异方差(GARCH)模型)模型 1.4.2 GARCH模型的参数设定模型的参数设定命令: Spec = garchset(param1,val1,param2,val2,.)例例1-8 生成GARCH模型可识别的参数命令:spec = garchset(c,0,k,0.0001,garch,0.9,arch,0.05) 1.4.3模拟生成模拟生成GARCH(P,Q)数据数据 命令:y=garchsim(

17、spec,num)例例1-9 模拟生成出例8中GARCH(1,1)模型的10个样本值。 命令:spec = garchset(c,0,k,0.0001,garch,0.9,arch,0.05)y=garch(spec,10) 1.4.4 GARCH模型的参数估计模型的参数估计命令:Coeff, Errors, LLF, Innovations, Sigmas = garchfit(Spec, Series) Series :时间序列的样本观测值 Coeff:模型的参数估计值 Errors :模型参数的标准差 LLF :最大似然估计法中的对数目标函数值 Innovations :残差向量 Sig

18、mas :对应于Innovations 的标准差。例例1-10 对于例8中的GARCH(1,1)模型,模拟生成数据,然后进行估计。 文件:fts_ex10.m1.5 金融金融时间序列时间序列GUI1.5.1 ftstool演示演示1.5.2 ftsgui演示演示1.5.3 tatool演示演示1.5.1 ftstool1.建立和管理时 间序列对象; 2.并可以连接 ftstool。演示文件:ftst.mat1.5.2 ftsgui主窗口演示文件: disney.mat1.5.3 tatool1.获取股票数据2.分析股票走势3.各种指标分析演示文件:tat.mat 案例案例1 由上证指数2011

19、.1.1-2011.12.31的成交量数据,建立ARMA模型,并预测未来10天的成交量。 文件:anli01.m0501001502002503000.20.40.60.811.21.41.61.82x 108天 数成交量上 证 指 数 成 交 量 预 测 图第第2章章 固定收益证券计算固定收益证券计算固定收益证券基本概念固定收益证券基本概念2.1现金流计算函数现金流计算函数2.2利率期限结构利率期限结构2.32.1 固定收益证券基本概念固定收益证券基本概念 定义:固定收益证券是指持券人可以在特定的时间内取得固定的收益并预先知道取得收益的数量和时间,如固定利率债券、优先股股票等。 交易日:买卖

20、双方达成交易的日期。 交割日:买方支付价格和卖方交割证券的日期。 起息期间:上一次付息日与下一次付息日之间的天数。 交割日距离到期日的天数:规则是包括交割日不包括到期日。 起息日到交割日天数:含计息日不含交割日。 到期日:固定收益证券的终止日期。 常见应计期间计算方法:名称名称含义含义Act/Act分子分母都是按照实际天数计算,大多数年份是365天,闰年是366天。Act/360按实际天数计息,一年按360天计算。Act/365按实际天数计息,一年按365天计算。30/360 (European)每月30天,每年360天,起始日或到期日为31日则改为30日。30/360(ISDA)每月30天,

21、每年360天。但如果到期日为31日,起始日不为30日、31日,则31日不变。30/360(PSA)起始日为2月最后一天改为30日。30/360(SIA)如果起始日和到期日都是二月最后一天,到期日记为30日。如果起始日为某月31日,或二月最后一天,则改为30日。2.2 现金流计算函数现金流计算函数2.2.1 现金流基本计算现金流基本计算函数函数功能功能命令命令pvvar计算现金流现值PV = pvvar(CashFlow, Rate)fvvar计算现金流终值FV = fvvar(CashFlow, Rate)annurate计算年金利率Rate = annurate(NumPeriods, Pa

22、yment, PresentValue, FutureValue,Due)irr计算内部收益率Return = irr(CashFlow)2.2.2 计算复杂形式现金流计算复杂形式现金流 函数函数功能功能命令命令tbilldisc2yield计算债券收益率BEYield MMYield = tbilldisc2yield(Discount, Settle, Maturity)tbillyield2disc计算贴现率Discount = tbillyield2disc(Yield, Settle, Maturity, Type)tbillprice计算债券价格Price = tbillprice

23、(Rate, Settle, Maturity, Type)effrr年回报率转化为月回报率Return = effrr(Rate, NumPeriods)例例2-1 某债券结算日为2012年10月1日,到期日为2013年3月31日,年贴现率为0.0497,求债券收益率。 文件:fis_ex01.m 2.2.3 短期债券回购计算短期债券回购计算TBEDiscount = tbillrepo(RepoRate, InitialDiscount, PurchaseDate,SaleDate, Maturity) RepoRate:回购利率 InitialDiscount:初始贴现率 Purchas

24、eDate:购买日期 SaleDate:卖出日期 Maturity:到期日 TBEDiscount:回购盈亏平衡 点的贴现率例例2-2 短期债券初始贴现率为0.0475,债券到期日为2013年4月3日,购买债券日期为2013年1月3日,卖出日期为2013年2月3日,回购利率为0.045,求该项投资的盈亏平衡点贴现率。 文件:fis_ex02.m 2.2.4 国库券收益国库券收益 MMYield, BEYield, Discount = tbillyield(Price, Settle, Maturity) Price:面值为100的国库券价格 Settle:结算日 Maturity:到期日 M

25、MYield:货币市场的收益 BEYield:债券市场的收益 Discount:债券的贴现率例例2-3 已知债券的价格为98.75,结算日期为2012年10月1日,到期日为2013年3月31日,将其分别折算为货币市场收益率、债券市场收益率和贴现率。 文件:fis_ex03.m 2.2.5 可转换债券定价可转换债券定价 CbMatrix, UndMatrix, DebtMatrix, EqtyMatrix =cbprice(RiskFreeRate, StaticSpread, Sigma, Price, ConvRatio,NumSteps, IssueDate, Settle, Maturi

26、ty, CouponRate) RiskFreeRate:无风险利差 StaticSpread:静态利差 Sigma:股票波动的标准差 ConvRatio:转换比例 CouponRate:息票率 CbMatrix:可转换债券的可转换价格矩阵 UndMatrix:二叉树格式的债券价格 DebtMatrix:可转换债券价格的债券部分 EqtyMatrix:可转换债券价格的股票部分例例2-4 已知无风险利率为0.05,标的资产波动标准差为0.3,可转换债券转换比率为1:1,二叉树时间离散数目为200个时间段。债券发行日为2002年1月2日,结算日为2002年1月2日,到期日为2007年1月2日,息票

27、率为0.04,每年支付2次利率,天数采用30/360(SIA)方法。月末法则默认为1,红利以绝对数量美元支付,在2004年1月2日以110元的价格赎回。 文件:fis_ex04.m 2.2.6 固定收益久期固定收益久期 Duration, ModDuration = cfdur(CashFlow, Yield) CashFlow:各期现金流 Yield:贴现率 Duration:久期 ModDuration:修正的久期2.3利率期限结构利率期限结构 利率期限结构是指在在某一时点上,不同期限资金的收益率与到期期限之间的关系。利率的期限结构反映了不同期限的资金供求关系,揭示了市场利率的总体水平和变

28、化方向,为投资者从事债券投资和政府有关部门加强债券管理提供可参考的依据。 2.3.1 已知债券收益率计算利率期限结构已知债券收益率计算利率期限结构 调用方式: ZeroRates, CurveDates = zbtyield(Bonds, Yields, Settle,OutputCompounding) Bonds:息票的时间利率和面值 OutputCompounding:复利的计算方式 ZeroRates:期限结构上的利率 CurveDates:期限结构的日期 例例2-5 已知国债面值为100美元,各期收益率如下表,试分析上述品种构成的利率期限结构。 国债品种国债品种票息(票息(%)到期日

29、到期日当前收益(当前收益(%)3个月17-Apr-031.156个月17-Jul-031.182年1.7531-Dec-041.685年3.0015-Nov-072.9710年4.0015-Nov-124.0130年5.37515-Feb-314.92文件:fis_ex05.m 2.3.2 计算特定时间收益率计算特定时间收益率 调用方式: Rates= ratetimes(Compounding,RefRates, RefEndDates,RefStartDates,EndDates, StartDates,ValuationDate) Compounding:每年支付利息的频率 RefRat

30、es:每个时间段的利率 RefEndDates:时间段的结束日期 RefStartDates:时间段的开始日期 EndDates:新时间段的结束日期 StartDates:新时间段的开始日期 ValuationDate:利率的评估日例例2-6 如果已知原始利率期限结构如下: 求出对应于下面日期的利率:开始日开始日结束日结束日利率利率15-Feb-200015-Aug-20000.0515-Feb-200015-Feb-20010.05615-Feb-200015-Aug-20010.0615-Feb-200015-Feb-20020.06515-Feb-200015-Aug-20020.075

31、开始日开始日结束日结束日利率利率15-Feb-200015-Aug-200015-Aug-200015-Feb-200115-Feb-200115-Aug-200115-Aug-200115-Feb-200215-Feb-200215-Aug-2002文件:fis_ex06.m第第3章章 资产组合计算资产组合计算资产组合基本原理资产组合基本原理3.1资产组合有效前沿资产组合有效前沿3.23.1 资产组合基本原理资产组合基本原理 一般来说,投资者对于投资活动所最关注现的问题是预期收益和预期风险的关系。投资者或“证券组合”管理者的主要意图,是尽可能建立起一个有效组合。那就是在市场上为数众多的证券中

32、,选择若干证券进行组合,以求得单位风险水平上的收益最高,或单位收益水平上风险最小。 3.1.1 基本函数基本函数函数函数功能功能命令命令ret2tick收益率序列转换为价格序列TickSeries, TickTimes = ret2tick(RetSeries, StartPrice,RetIntervals, StartTime, Method)tick2ret价格序列转换为收益率序列RetSeries, RetIntervals = tick2ret(TickSeries, TickTimes, Method)corr2cov相关系数矩阵转换为协方差矩阵ExpCovariance = co

33、rr2cov(ExpSigma, ExpCorrC)portstats计算资产组合收益率和方差PortRisk, PortReturn = portstats(ExpReturn, ExpCovariance,PortWts) 3.1.2资产组合资产组合VaR 调用方式: ValueAtRisk = portvrisk(PortReturn, PortRisk, RiskThreshold,PortValue) PortReturn:总资产的回报 PortRisk:总资产的标准差 RiskThreshold:概率阈值 PortValue:资产总的价值例例3-1 已知资产年回报率为0.0029,

34、标准差为0.0308,资产现在价值为1亿,求1%水平下资产的在险价值。 文件:pf_ex01.m3.2资产组合有效前沿资产组合有效前沿3.2.1 均值方差有效前沿均值方差有效前沿 命令: PortRisk, PortReturn, PortWts = frontcon(ExpReturn,ExpCovariance, NumPorts, PortReturn, AssetBounds, Groups,GroupBounds) ExpReturn:每项资产预期回报 ExpCovariance:资产之间的协方差矩阵 NumPorts:资产组合有效前沿上的点的个数 PortReturn:有效前沿上每

35、个点的回报 AssetBounds:资产权重的上下限区间 Groups:区分资产是否属于群 GroupBounds:每种群权重约束区间 PortRisk:组合的标准差 PortReturn:组合的回报 PortWts:权重3.2.2 带约束条件的资产组合有效前沿带约束条件的资产组合有效前沿 命令:PortRisk, PortReturn, PortWts = portopt(ExpReturn, ExpCovariance,NumPorts, PortReturn, ConSet) ConSet:约束条件 其他同上。 例例3-2 各资产的相关系数矩阵、预期回报和标准差如下表,试给出有效前沿。资

36、产资产A资产资产B资产资产C相关系数矩阵资产A10.80.4资产B0.810.3资产C0.40.31预期回报0.10.150.20各资产标准差0.20.250.18文件:pf_ex02.m3.2.3 线性规划求解组合资产问题线性规划求解组合资产问题 MATLAB中线性规划形式: 命令: x = linprog(f,A,b) x = linprog(f,A,b,Aeq,beq,lb,ub)例例3-3 某资产组合中有3种资产,各资产的收益率分别为0.2、0.1、0.15。要求资产1与资产3的权重小于资产2的权重,且没有卖空。求解使得上述收益率最大的投资组合。 文件:pf_ex03.m例3-4 以我

37、国上证股票代号为600006到600010(2012.4.10-2013.4.10)的5只股票为例,考虑如何在这5只股票中选择一个最优权重式的组合的收益达到2%的月收益,同时使得组合的风险在所有满足2%的月收益的可能组合中风险最小(考虑允许卖空和不允许卖空) 文件:pf_ex04.m0.020.040.060.080.10.120.140.160.180.2-0.02-0.0100.010.020.030.040.050.06标 准 差收益 不 允 许 卖 空允 许 卖 空单 个 股 票 的 风 险 和 收 益第第4章章 金融金融衍生衍生品计算品计算金融衍生品种类金融衍生品种类4.1欧式期权计

38、算欧式期权计算4.2衍生品定价数值解(二叉树)衍生品定价数值解(二叉树)4.3证券类衍生品定价证券类衍生品定价4.4利率类衍生品定价利率类衍生品定价4.5本章框架本章框架金融衍生品计算解析解欧式期权定价数值解二叉树模型证券类衍生品定价利率类衍生品定价4.1 金融衍生产品种类金融衍生产品种类期权分类基本期权欧式期权美式期权奇异期权亚式期权障碍期权复合期权回望期权百慕大期权4.2 欧式期权计算欧式期权计算4.2.1 Black-Scholes方程方程 这个表达式就是表示期权价格变化的Black-Scholes偏微分方程。它同时适合欧式看涨期权、欧式看跌期权、美式看涨期权和美式看跌期权,只是它们的终

39、值条件和边界条件不同,其价值也不相同。4.2.2欧式期权价格函数欧式期权价格函数命令 Call, Put = blsprice(Price, Strike, Rate, Time, Volatility, Yield)输入参数 Price 标的资产价格 Strike 执行价 Rate 无风险利率 Time 距离到期日的时间,即期权的存续期 Volatility 标的资产的标准差 Yield 标的资产的红利率输出参数 Call 欧式看涨期权价格 Put 欧式看跌期权价格例例4-1 股票价格为100,股票波动率标准差为0.5,无风险率为10,期权执行价95,存续期为0.25年,试计算该股票欧式期权

40、价格。 Call, Put = blsprice(100, 95, 0.1, 0.25, 0.5)Call = 13.6953Put = 6.34974.2.3 欧式期权希腊字母欧式期权希腊字母 函数函数名称名称命令命令blsdelta欧式期权Delta值 CallDelta, PutDelta = blsdelta(Price, Strike, Rate, Time, Volatility, Yield)blsgamma欧式期权Gamma值Gamma = blsgamma(Price, Strike, Rate, Time, Volatility, Yield)blstheta欧式期权The

41、ta值CallTheta, PutTheta = blstheta(Price, Strike, Rate, Time, Volatility, Yield)blsrho欧式期权Rho值 CallRho, PutRho = blsrho(Price, Strike, Rate, Time, Volatility, Yield)blsvega欧式期权VegaVega = blsvega(Price, Strike, Rate, Time, Volatility, Yield)blsimpv欧式期权隐含波动率Volatility = blsimpv(Price, Strike, Rate, Tim

42、e, Value, Limit, Tolerance, Type)4.2.4 期货期权定价函数期货期权定价函数 输入方式:Call, Put = blkprice(Price, Strike, Rate, Time, Volatility)输入参数 Price 期货价格 Strike 期货期权执行价 Rate 无风险利率 Time 期权存续期 Volatility 期货变化标准差输出参数 Call 欧式看涨期权价格 Put 欧式看跌期权价格4.3 衍生产品定价数值解衍生产品定价数值解 4.3.1 二叉树模型二叉树模型 对于一些期权,无法像欧式期权一样有解析解,因此需要用数值解进行近似计算,二叉

43、树方法就是其中一种。 二叉树期权定价模型把时间分成许多小的时间段,并假设期权价格波动只有向上和向下两个方向,且假设在整个考察期内,价格每次向上(或向下)波动的概率和幅度不变。得到二叉树结构图,最后根据二叉树进行倒推定价。 二叉树模型分为:CRR二叉树模型和EQP二叉树模型。4.3.2 二叉树二叉树定价函数定价函数 命令: AssetPrice, OptionValue = binprice(Price, Strike, Rate, Time, Increment, Volatility,Flag,DividendRate,Dividend, ExDiv) Increment:时间的增量 Vol

44、atility :波动率的标准差 Flag :看涨期权(Flag=1),看跌期权(Flag=0) DividendRate:默认值为0,表示没红 利,如果给出了 红利率,Dividend与ExDiv值为0。 Dividend:标的资产价外红利金额,除了固定 红利 率之外的红利。 ExDiv:标的资产除息日期。 AssetPrice :二叉树每个节点价格。 OptionValue :期权在每个节点现金流。例例4-2 股票价格为52,无风险利率为10,期权存续期为5个月,波动率的标准差为0.4,在3个半月(折合时间为3.5)发放红利2.06元,看跌期权执行价为50,利用二叉树模型估计看跌期权价格。

45、 输入命令:Price,Option=binprice(52,50,0.1,5/12,1/12,0.4,0,0, 2.06,3.5)两种定价函数调用方式各类产品定价函数CRR模型二叉树构建证券特征定义无风险收益率格式时间的离散格式EQP模型定价统一定价函数CRR模型EQP模型二叉树构建证券特征定义无风险收益率格式时间的离散格式各类产品输入格式4.4 证券类衍生产品定价函数证券类衍生产品定价函数 1.证券特征定义(StockSpec)调用方式 StockSpec=stockspec(Sigma, AssetPrice, DividendType, DividendAmounts,ExDivide

46、ndDates)输入参数 Sigma 标的资产波动率 AssetPrice 标的资产的价格 DividendType 红利发放方式,“cash”现金红利绝对额, “constant” 常数红利,“continuous”连续 形式红利。 DividendAmounts 发放红利数量 ExDividendDates 除息日,如果红利是连续型的,则不需要该 参数。4.4.1分类定价分类定价2.无风险收益率格式( RateSpec )命令:RateSpec, RateSpecOld = intenvset(RateSpec, Parameter1, Value1,Parameter2, Value2

47、)输入参数 RateSpec 旧无风险利率格式 Parameter1 参数1的名称 Value1 参数1的值 Parameter2 参数2的名称 Value2 参数2的值 输出参数 RateSpec 无风险利率新格式 RateSpecOld 无风险利率旧格式RateSpec中各个参数内容如下 Disc 为贴现率 Rates 国债票息 StartDates 开始日 EndDates 结束日 ValuationDate 评估日,即价格树起始时间 Basis 应计天数计算方式 EndMonthRule 月末法则 Compounding 票息转换为贴现率方式3.树图离散时间格式(1)CRR型树时间离散

48、格式 调用方式 TimeSpec = crrtimespec(ValuationDate, Maturity, NumPeriods) 输入参数 ValuationData 评估日,CRR型树起始日期 Maturity 到期日 NumPeriods 离散时间段(2)EQP型树时间离散格式调用方式 TimeSpec = eqptimespec(ValuationDate, Maturity, NumPeriods)输入参数同上4.4.2 证券证券类衍生产品二叉树建立类衍生产品二叉树建立1. CRR型二叉树函数的调用 命令: CRRTree=crrtree(StockSpec,RateSpec,T

49、imeSpec)输入参数 StockSpec 股票的格式 RateSpec 利率的格式 TimeSpec 时间的离散化方法输出参数 CRRTree 价格树2. EQP型二叉树函数的调用 命令: EQPTree=eqptree(StockSpec,RateSpec,TimeSpec)例例4-3 股票波动的标准差为0.2,标的资产的价格为50,红利类型为现金红利,除息日期如下表所示,分别求出CRR型和EQP型价格树。 文件:fd_ex03.m日期日期2003-1-32003-4-12003-7-12003-10-1红利红利0.50.50.50.54.4.3 各类期权定价函数各类期权定价函数期权名称

50、期权名称CRR模型模型EQP模型模型亚式期权asianbycrrasianbyeqp障碍期权barrierbycrrbarrierbyeqp复合期权compoundbycrrcompoundbyeqp回望期权lookbackbycrrlookbackbyeqp欧式、美式、百慕大期权optstockbycrroptstockbyeqp1亚式期权定价(1)CRR模型对亚式期权定价调用方式 Price = asianbycrr(CRRTree, OptSpec, Strike, Settle, ExerciseDates, AmericanOpt, AvgType, AvgPrice, AvgDat

51、e) 输入参数 CRRTree CRR型二叉树 OptSpec 期权类型,看涨期权为Call ,看跌期权为Put Strike 亚式期权执行价,如果是NaN表示执行价是浮动的。 Settle 结算日 ExerciseDates 行权日期 AmericanOpt 如果AmericanOpt0,NaN,期权行权方式为美 式,如果为1期权行权方式类似于欧 式期权。默 认值是欧式期权 AvgType 算术平均为arithmetic ,默认值为算术平均, 几何平均为geometric AvgPrice 计算期标的资产平均价,默认值为 当前股价 AvgDate 开始计算平均价格日期,默认值为结 算日 例例

52、4-4 调用MATLAB金融衍生工具箱自带的deriv变量中的二叉树并进行定价计算。 文件:fd_ex04.m(2)EQP模型对亚式期权定价调用方式:Price = asianbyeqp(EQPTree, OptSpec, Strike, Settle, ExerciseDates, AmericanOpt, AvgType, AvgPrice, AvgDate)输入参数同asianbycrr函数2.障碍期权定价(1)CRR模型对障碍期权定价 命令: Price, PriceTree = barrierbycrr(CRRTree,OptSpec, Strike, Settle, Exercis

53、eDates, AmericanOpt,BarrierSpec, Barrier,Rebate, Options)BarrierSpec:UI为上涨入局期权UO为上涨出局期权DI 为下跌入局期权DO为下跌出局期权Barrier:障碍期权的障碍值Rebate:反馈金Options:由derivset函数构建的输出格式(2)EQP模型对障碍期权定价 Price, PriceTree = barrierbyeqp(EQPTree,OptSpec, Strike, Settle, ExerciseDates, AmericanOpt,BarrierSpec, Barrier,Rebate, Optio

54、ns)3.复合期权定价(1)CRR模型对复合期权定价Price, PriceTree = compoundbycrr(CRRTree, UOptSpec, UStrike,USettle, UExerciseDates, UAmericanOpt, COptSpec,CStrike, CSettle, CExerciseDates, CAmericanOpt)(2)EQP模型对复合期权定价Price, PriceTree = compoundbyeqp(EQPTree, UOptSpec, UStrike,USettle, UExerciseDates, UAmericanOpt, COptS

55、pec,CStrike, CSettle, CExerciseDates, CAmericanOpt)4.回望期权定价(1)CRR模型对回望期权定价 Price = lookbackbycrr(CRRTree, OptSpec, Strike,Settle, ExerciseDates, AmericanOpt)(2)EQP模型对回望期权定价 Price = lookbackbyeqp(EQPTree, OptSpec, Strike,Settle, ExerciseDates, AmericanOpt)5.欧式、美式、百慕大期权定价(1)CRR模型对欧式、美式、百慕大期权定价 Price,

56、PriceTree = optstockbycrr(CRRTree,OptSpec, Strike,Settle, ExerciseDates, AmericanOpt)(2)EQP模型对欧式、美式、百慕大期权定价 Price, PriceTree = optstockbycrr(EQPTree,OptSpec, Strike,Settle, ExerciseDates, AmericanOpt)4.4.4 统一定价统一定价1.利用instadd函数构造各类衍生品输入格式(1)亚式期权输入格式InstSet = instadd(Asian, OptSpec, Strike, Settle,Ex

57、erciseDates, mericanOpt,AvgType, AvgPrice, AvgDate)(2)障碍期权输入格式InstSet = instadd(Barrier, OptSpec, Strike, Settle, ExerciseDates,AmericanOpt, BarrierType, Barrier, Rebate)(3)复合期权输入格式InstSet = instadd(Compound, UOptSpec, UStrike, USettle, UExerciseDates, UAmericanOpt,COptSpec, CStrike, CSettle,CExerci

58、seDates, CAmericanOpt)(4)回望期权输入格式InstSet = instadd(Lookback, OptSpec, Strike, Settle, ExerciseDates,AmericanOpt)(5)普通股票期权输入格式InstSet = instadd(OptStock, OptSpec, Strike, Settle, Maturity,AmericanOpt)2.两个统一定价函数(1)CRR模型定价Price, PriceTree = crrprice(CRRTree, InstSet, Options)输入参数 CRRTree:CRR价格树 InstSet

59、:各类衍生品输入格式 Options:控制期权(2)EQP模型定价Price, PriceTree = eqpprice(EQPTree,InstSet, Options)例例4-5 利用MATLAB自带的数据对利率产品进行定价。 文件:fd_ex05.m4.5 利率类衍生产品定价函数利率类衍生产品定价函数统一定价函数利率类衍生产品输入格式利率树利率波动率格式树图时间展开输入格式说明利率期限结构函数4.5.1 利率类衍生产品介绍利率类衍生产品介绍 利率顶:是一个选择权,它限制了浮动利率负债所支付的最高利率 利率互换:双方同意未来时期内,根据同种货币的相同名义本金交换现金流。 固定收益票据:是一

60、种长期债券,票息是固定的,而且要到期支付。 浮动利率票据:类似于债券,其利率每隔一段时间就要参照某个基准利率进行调整。 债券期权:买方可以在商定的某个日期以某个价格购买某个债券。4.5.2 利率模型介绍利率模型介绍 Ho-Lee模型 Hull-White(1990)模型 Black-Karasinski(1991)模型 Black-Derman-Toy(1990)模型 Heath-Jarrow-Morton(1992)模型 4.5.3 利用利用instadd函数构造衍生函数构造衍生产品输入格式产品输入格式1.现金流输入格式调用方式InstSet = instadd(CashFlow, CFlo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论