全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
5167 7
2009-08-12
我要解S=VN(d1)-Be^(-rt)N(d2),就是期权公式,这是第一个式子
第二个式子是N(d1) *delta(V)*V=delta(S)*S,delta分别是资产波动率和股价波动率。
要求的V和delta(V),其他都是已知的,怎么求啊,请高手赐教,我没学过MATLAB,正在自学
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-8-12 21:04:18
第一个方程只有V是未知量?那么用fsolve可以解开,去看一下帮助文件就可以了
知道V之后代到第二个方程里面,只有delta(V)是未知的,同理就好了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-8-13 09:55:16
谢谢楼主:
两个方程里边都有两个未知数,第一个是V和DELTA(V),DELTA(V)在d1和d2里边,
第二个式子的未知数也是V和DELTA(V),比较明显
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-8-13 10:11:45
huzhiwei1985 发表于 2009-8-13 09:55
谢谢楼主:
两个方程里边都有两个未知数,第一个是V和DELTA(V),DELTA(V)在d1和d2里边,
第二个式子的未知数也是V和DELTA(V),比较明显
如果是这样的话,那就要麻烦一点了。如果只有这两个是未知的,那么思路就是把其中一个方程写成隐函数,然后代到第二个方程里面解开。比如说,把你的第一个方程理解成一个隐函数,写成一个m文件,输入V,输出DELTA(A)。注意这个过程并不真的要求你把这个隐函数解出来,有一个方程能够做到输入V,输出唯一的Delta(V)就可以了。把这个函数叫做f(v), 然后写主程序解第二个方程,第二个方程里面的delta(V)部分统统引用f(v)这个函数的m文件,然后就可以解了。这个是比较严格的,运算量也很大的方法。

比较快的方法思路是一样的,主要是省掉隐函数求解的运算量。还是把第一个方程看作隐函数,然后不写成一个m文件,而是直接输入一个范围内的V,输出一些Delta(V);把这两个向量存下来,然后把前面的f(v)函数定义为对这两个向量的interpolation。后面的做法就一样了。Interpolation 可以看看interp1函数的帮助文件。这个好处是在解第二个方程的时候不用大量地对第一个方程进行估值;如果你要重复性地解这个方程,比如一万次以上的话,最好考虑用这个方法。一维的interpolation还是挺快的。注意的是在前面输入V的时候,尽量选择的范围广一点,确保在后面是interpolation 而不是extrapolation.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-8-13 10:15:39
如果你没怎么用过matlab的话,最好先看一下自定义函数和Interpolation的帮助文件,这个问题还是稍微有点麻烦的。主要是非线性函数组的问题。当然还有第三个思路就是线性化,然后直接矩阵运算,但要看对你的这个问题是不是适用了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-8-13 10:18:38
当然还有一个思路……我不懂金融,但我觉得你这个应该是个金融学的典型问题,所以去看看matlab finance的工具包,说不定有现成的routine可以直接用……
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群