求助BS模型中含有动态波动率的偏微分方程证明

论坛 期权论坛 期权     
指尖冰凉°1b1   2017-8-22 21:53   10809   1
求助BS模型中含有动态波动率的偏微分方程证明
分享到 :
0 人收藏

1 个回复

倒序浏览
2#
玄宝上人250  2级吧友 | 2017-8-25 14:17:12
1、打开一个空白Excel工作表,打开VBA编辑器(点击菜单:工具->宏->VisualBasic编辑器):2、插入模块(点击VBA编辑器菜单:插入->模块):3、将以下代码复制/粘贴到代码窗口中:FunctionCallOpt(stock,exercise,maturity,rate,volatility)AsDouble    D1=(Log(stock/exercise)+(rate+(volatility^2)/2)*maturity)/(volatility*Sqr(maturity))    D2=D1-volatility*Sqr(maturity)    CallOpt=stock*Application.NormSDist(D1)-exercise*Exp(-rate*maturity)*Application.NormSDist(D2)EndFunctionFunctionPutOpt(stock,exercise,maturity,rate,volatility)AsDouble    D1=(Log(stock/exercise)+(rate+(volatility^2)/2)*maturity)/(volatility*Sqr(maturity))    D2=D1-volatility*Sqr(maturity)    PutOpt=exercise*Exp(-rate*maturity)*Application.NormSDist(-D2)-stock*Application.NormSDist(-D1)EndFunction粘贴完成后如下图:3、关闭“VisualBasic编辑器”窗口,回到工作表。此时若查看函数列表,可看到在“用户定义”类别中增加了两个函数,CallOpt和PutOpt:=CallOpt(stock,exercise,maturity,rate,volatility)用于计算认购权证的理论价格;=PutOpt(stock,exercise,maturity,rate,volatility)用于计算认沽权证的理论价格。两个函数都是需要5个变量,依次为:stock-正股现价;exercise-权证行权价;maturity-权证剩余期限(折算成年,在Excel中=(到期日-当前日)/365);rate-无风险利率(一般取国债的年收益率);volatility-波动率(一般取正股最近3个月的历史波动率);现在只需要在单元格中输入函数名并依顺序输入各变量,就可轻而易举的算出权证理论价格了。若还有不明白的,请将下表复制/粘贴到工作表“A1”单元格中试试看。最后将该Excel文件保存起来。记住,以后每次打开该文件,都会出现以下的安全警告,记得一定要点选“启用宏”,否则自定义函数将不能使用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:
帖子:
精华:
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP