楼主: WenshanQi07
14452 37

[学科前沿] 【求助】欧式期权定价之隐式有限差分法-为什么matlab做出的图那么诡异呀? [推广有奖]

31
Zephyrus_ 发表于 2018-12-26 20:19:03
Chemist_MZ 发表于 2018-12-26 13:38
边界条件的意思
QQ图片20181226201412.png 这个方程应该就是求解期权价格的方程吧,这个Boundary矩阵我还是没懂,层主能仔细讲讲吗?

32
Zephyrus_ 发表于 2018-12-26 20:30:31
Chemist_MZ 发表于 2018-12-26 13:38
边界条件的意思
QQ图片20181219083258.jpg 这个题的price矩阵的边界条件我是这样写的:
QQ图片20181226202736.png
但我不知道boundary矩阵怎么写,这个题的初始参数如下:
QQ图片20181226203009.png

33
Chemist_MZ 在职认证  发表于 2018-12-26 20:43:35
Zephyrus_ 发表于 2018-12-26 20:30
这个题的price矩阵的边界条件我是这样写的:

但我不知道boundary矩阵怎么写,这个题的初始参数如下:
...
你不必要单独列出一个Boundary 矩阵,边界条件完全可以合并在最后的price矩阵里。我只是在楼主的原有code上做一下修改。你完全可以不用单独列出Boundary矩阵

34
Zephyrus_ 发表于 2018-12-26 21:15:05
Chemist_MZ 发表于 2018-12-26 20:43
你不必要单独列出一个Boundary 矩阵,边界条件完全可以合并在最后的price矩阵里。我只是在楼主的原有code ...
QQ图片20181226211251.jpg
我做出来了!舒服!

35
Chemist_MZ 在职认证  发表于 2018-12-26 23:00:36
Zephyrus_ 发表于 2018-12-26 21:15
我做出来了!舒服!
恭喜~~~~~~

36
jsqhryspa 发表于 2019-2-10 09:54:40
Chemist_MZ 发表于 2012-7-30 09:24
帮你修改好了,这回应该没问题了。你那个程序有问题,写得乱七八糟的。或者直接粘来的可能作者没有把输入 ...
Boundary(1,:)= aj(2)*(X-Svec(1))*exp(-r*tvec(end-1:-1:1));这条好像有点问题,我觉得应该改成
Boundary(1,:)= aj(2)*(X-Svec(1))*exp(-r*tvec(end:-1:2));
因为相比于price矩阵,Boundary少的是最后一列

37
jsqhryspa 发表于 2019-2-16 12:36:40
Chemist_MZ 发表于 2012-7-30 09:24
帮你修改好了,这回应该没问题了。你那个程序有问题,写得乱七八糟的。或者直接粘来的可能作者没有把输入 ...
我又发现一个小问题,在于Price矩阵的边界条件。原代码中欧式看涨期权的上边界条件“ price(end,:) = (Svec(end)-X)*exp(-r*tvec(end:-1:1));”应改为“ price(end,:) = Svec(end)-X*exp(-r*tvec(end:-1:1);”
同理,原代码中看跌期权的下边界条件“  price(1,:) = (X-Svec(1))*exp(-r*tvec(end:-1:1))”应改为“  price(1,:) = X*exp(-r*tvec(end:-1:1);”。由于Svec(1)=0,所以其实看跌期权也可以不改,不影响结果。
若有错误,欢迎指正交流。

38
猜.. 发表于 2020-4-23 11:12:19
楼主可以分享一下cn的MATLAB代码吗?有偿也行!!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群
GMT+8, 2025-12-27 03:53