第6章金融衍生品计算MATLAB教学网Matlab.net.cn6.1金融衍生产品种类6.1.1期权分类基本期权欧式期权美式期权奇异期权亚式期权障碍期权复合期权回望期权百慕大期权6.2欧式期权计算6.2.1Black-Scholes方程6.2.2欧式期权价格函数调用方式[Call,Put]=blsprice(Price,Strike,Rate,Time,Volatility,Yield)输入参数Price标的资产价格Strike执行价Rate无风险利率Time距离到期日的时间,即期权的存续期Volatility标的资产的标准差Yield标的资产的红利率输出参数Call欧式看涨期权价格Put欧式看跌期权价格股票价格为100,股票波动率标准差为0.5,无风险率为10%,期权执行价95,存续期为0.25年,试计算该股票欧式期权价格。[Call,Put]=blsprice(100,95,0.1,0.25,0.5)Call=13.6953Put=6.34976.2.3欧式期权希腊字母1.欧式期权Delta值调用方式[CallDelta,PutDelta]=blsdelta(Price,Strike,Rate,Time,Volatility,Yield)输入参数同上输出参数CallDelta欧式看涨期权DeltaPutDelta欧式看跌期权Delta2.欧式期权Gamma值。调用方式Gamma=blsgamma(Price,Strike,Rate,Time,Volatility,Yield)输入参数同前输出参数Gamma欧式期权Gamma值3.欧式看涨期权Theta值。调用方式[CallTheta,PutTheta]=blstheta(Price,Strike,Rate,Time,Volatility,Yield)输入参数同前输出参数CallTheta欧式看涨期权Theta值PutTheta欧式看跌期权Theta值4.欧式期权Rho值调用方式[CallRho,PutRho]=blsrho(Price,Strike,Rate,Time,Volatility,Yield)输入参数同前输出参数CallRho欧式看涨期权Rho值PutRho欧式看跌期权Rho值5.欧式期权Vega调用方式Vega=blsvega(Price,Strike,Rate,Time,Volatility,Yield)输入参数同前输出参数Vega欧式期权Vega6.欧式期权隐含波动率调用方式Volatility=blsimpv(Price,Strike,Rate,Time,Value,Limit,Tolerance,Type)输入参数Price标的资产当前价格Strike期权执行价Rate无风险利率Time存续期Value欧式期权价格Limit(Optional)欧式期权波动率上限,默认值是10Yield(Optional)标的资产的分红,折合成年收益率Tolerance(Optional)可以忍受隐含波动率,默认值为10Type(Optional)欧式期权种类,如果是欧式看涨期权则输入Type={‘call’},如果是欧式看跌期权则输入Type={‘put’},默认值为欧式看涨期权输出参数Volatility欧式期权隐含波动率,期权类别由Type确定6.2.4期货期权定价函数调用方式[Call,Put]=blkprice(Price,Strike,Rate,Time,Volatility)输入参数Price期货价格Strike期货期权执行价Rate无风险利率Time期权存续期Volatility期货变化标准差输出参数Call欧式看涨期权价格Put欧式看跌期权价格6.3衍生产品定价数值解二叉树定价函数调用方式[AssetPrice,OptionValue]=binprice(Price,Strike,Rate,Time,Increment,Volatility,Flag,DividendRate,Dividend,ExDiv)输入参数Price股票价格Strike期权的执行价Rate无风险利率Time期权存续期Increment时间的增量Volatility波动率的标准差Flag确定期权种类,看涨期权((Flag=1),看跌期权(Flag=0)。DividendRate(Optional)红利发放率。默认值为0,表示没有红利,如果给出了红利率,Dividend与ExDiv值为0。Dividend(Optional)标的资产价外红利金额,除了固定红利率之外的红利。ExDiv(Optional)标的资产除息日期。输出参数Price二叉树每个节点价格。Option期权在每个节点现金流。股票价格为52,无风险利率为10%,期权存续期为5个月,波动率的标准差为0.4,在3个半月(折合时间为3.5)发放红利2.06元,看跌期权执行价为50,利用二叉树模型估计看跌期权价格。[Price,Option]=binprice(52,50,0.1,5/12,1/12,0.4,0,0,2.06,3.5)6.4证券类衍生产品定价函数6.4.1标的资产输入格式MATLAB对衍生产品定价是通过价格树来完成的,价格树由三个部分构成分别是标的资产特征、无风险利率特征与时间的离散方法,用公式表示为:价格树=证券特征+无风险利率特征+时间的离散方法。定义标的资产特征、无风险利率特征函数比较简单,分别是stockspec与intenvset函数,定义时间离散方法有很多,不同模型定义时间的离散方法不一样。1.证券特征定义调用方式StockSpec=stockspec(Sigma,AssetPrice,DividendType,DividendAmounts,ExDividendDates)输入参数Sigma标的资产波动率AssetPrice标的资产的价格DividendType(Optional)红利发放方式,注意红利发放方式一定是以现金形式,“cash”现金红利绝对额,“constant”常数红利,“continuous”连续形式红利。DividendAmounts(Optional)发放红利数量,可以为向量形式,或者用标量表示的每年以固定数量的红利。ExDividendDates(Optional)除息日,如果红利是连续型的,则不需要该参数。无风险利率格式调用方式[RateSpec,RateSpecOld]=intenvset(RateSpec,‘Parameter1’,Value1,‘Parameter2’,Value2,)输入参数RateSpec旧无风险利率格式Parameter1参数1的名称Value1参数1的值Parameter2参数2的名称Value2参数2的值各个参数内容如下Disc为贴现率Rates国债票息StartDates开始日EndDates结束日ValuationDate评估日,即价格树起始时间Basis应计天数计算方式EndMonthRule月末法则Compounding(Optional)票息转换为贴现率方式输出参数RateSpec无风险利率新格式RateSpecOld无风险利率旧格式3.CRR二叉树基本原理选择满足下面关系有(1)rtepupd222222(1)(1)[(1)]rtteepupdpupd1/udrtttedpuduede1)CRR型树时间离散格式调用方式TimeSpec=crrtimespec(ValuationDate,Maturity,NumPeriods)输入参数ValuationData评估日,CRR型树起始日期Maturity到期日NumPeriods离散时间段EQP(等概率)二叉树基本原理EQP模型(EqualProbability)表示在二叉树模型中上升与下降的概率相等都是1/2。这样模型就变成了EQP二叉树模型,公式(6.11),(6.12)变为。(1)rtepupd1/2p222222(1)(1)[(1)]rtteepupdpupd2(11)rttuee设有2(11)rttdee图中部分数字的计算方式如下。593.4034=51u5.2831=max(0,52-46.7169) 2.6196=dis*(0.5*0+0.5*5.2831) 2)EQP模型调用方式调用方式TimeSpec=eqptimespec(ValuationDate,Maturity,NumPeriods)输入参数同上6.4.2证券类衍生产品二叉树建立1.CRR型二叉树函数的调用调用方式CRRTree=crrtree(StockSpec,RateSpec,TimeSpec)输入参数StockSpec股票的格式RateSpec利率的格式TimeSpec时间的离散化方法输出参数CRRTree价格树6.4.3证券类衍生产品定价函数1.亚式期权定价CRR型对亚式期权定价调用方式Price=asianbycrr(CRRTree,OptSpec,Strike,Settle,ExerciseDates,AmericanOpt,AvgType,AvgPrice,AvgDate)输入参数CRRTreeCRR型二叉树OptSpec期权类型,如果是亚式看涨期权输入字符‘Call’,如果是亚式看跌期权输入字符'Put'Strike亚式期权执行价,如果是NaN表示执行价是浮动的。Settle结算日ExerciseDates行权日期AmericanOpt(Optional)如果AmericanOpt=0,NaN;期权行权方式为美式,如果为1期权行权方式类似于欧式期权。默认值是欧式期权AvgType(Optional)如果是算术平均输入字符‘arithmetic’,默认值为算术平均,几何平均输入字符'geometric'AvgPrice(Optional)计算期标的资产平均价,默认值为当前股价AvgDate(Optional)开始计算平均价格日期,默认值为结算日输出参数Price期权价格6.4.4证券类衍生产品输入格式6.4.5证券类衍生产品定价函数6.5利率类衍生产品定价函数6.5.1利率类衍生产品介绍利率的顶(Cap)利率互换(InterestSwap)固定收益票据(Fixed-ratenote)浮动利率票据(Floading-ratenote)债券期权(Bondoption)6.5.2利率模型介绍Ho-Lee模型Hull-White(1990)模型Black-Karasinski(1991)模型Black-Derman-Toy(1990)模型Heath-Jarrow-Morton(1992)模型6.5.3利率类衍生产品输入格式现金流债券工具(Bondinstrument)债券期权(Bondoption)固定收益票据(Fixed-ratenoteinstrument)帽子期权(Capinstrument)地板期权(Floorinstrument)利率互换(Swapinstrument)6.5.4利率树波动率格式Hull-White利率树波动率格式BDT模型利率波动率格式BK模型利率波动率格式HJM模型利率波动率格式2.树图时间展开输入格式Hull-White模型时间展开格式BDT模型时间展开格式BK模型时间展开格式HJM模型时间展开格式6.5.5说明利率期限结构函数6.5.6建立利率树HW模型利率树BDT模型利率树BK模型利率树HJM模型利率树6.5.7利率产品定价模型名称输入参数HW模型hwprice(HWTree,InstSet,Options)BK模型bkprice(BKTree,InstSet,Options)BDT模型bdtprice(BDTTree,InstSet,Options)HJM模型hjmprice(HJMTree,InstSet,Options)EQP模型Eqpprice(EQP