楼主: fwbtown
4403 27

[讨论交流] 求助 问一下谁知道双币种期权定价模型的matlab代码应该怎么写啊?? [推广有奖]

11
fwbtown 发表于 2013-10-27 23:11:25
TimeT 发表于 2013-10-27 18:55
我说的“公式”是我自己网上找到的quanto的公式,不是你上面提到的公式。我不会用MATLAB,只会EXCEL。我是 ...
哦哦是这样啊!你给的参考资料我会好好阅读的  谢谢你了哈!!~

12
irvingy 发表于 2013-10-28 07:49:34
1)一般的quanto是高盛paper里的ger,和这个不一样
2)这个和高盛paper里的第一种foreign market options应该是一样的,但是老实说我觉得那个定价是错的
3)我第一次看就觉得matlab积双重对数正态分布会有困难,mathematica就不会,结果和我想的一样
4)积双重正态分布要清楚的多

  1. clear all;
  2. S1 = 20000; q = 0.03; sigma1 = 0.2; S2 = 0.01; sigma2 = 0.1; rho = 0.2;
  3. r1 = 0.08; r2 = 0.04; K = 19000; T = 0.25;
  4. f = @(eta1, eta2) max(eta1 - K, 0) ./ eta1 .*...
  5.     exp(-(sigma2^2 *...
  6.     (log(S1 ./ eta1) + (r2 - q - sigma1 * sigma2 * rho - 0.5 * sigma1^2) * T).^2 -...
  7.     2 * rho * sigma1 * sigma2 *...
  8.     (log(S1 ./ eta1) + (r2 - q - sigma1 * sigma2 * rho - 0.5 * sigma1^2) * T) .*...
  9.     (log(S2 ./ eta2) + (r1 - r2 - 0.5 * sigma2^2) * T) +...
  10.     sigma1^2 * (log(S2 ./ eta2) + (r1 - r2 - 0.5 * sigma2^2) * T).^2) /...
  11.     (2 * sigma1^2 * sigma2^2 * (1 - rho^2) * T));
  12. integral2(f, 0, inf, 0, inf) * exp(-r1 * T) / (2 * pi * sigma1 * sigma2 * sqrt(1 - rho^2))
  13. % matlab积双重对数正态分布不行
  14. ans =
  15.   2.1015e-220
  16. % 积双重正态分布可以
  17. g = @(x,y) S2 * exp((r1 - r2 - 0.5 * sigma2^2) * T + sigma2 * sqrt(T) * x) .*...
  18.     max(S1 * exp((r2 - q - rho * sigma1 * sigma2 - 0.5 * sigma1^2) * T + sigma1 * sqrt(T) * y) - K, 0) .*...
  19.     exp(-(x.^2 - 2 * rho * x .* y + y.^2)/(2 * (1 - rho^2)));
  20. integral2(g, -inf, inf, -inf, inf) * exp(-r1 * T) / (2 * pi * sqrt(1 - rho^2))
  21. ans =
  22.    13.9947
复制代码
mathematica完全没问题

Untitled.jpg

你把K改成18000,就知道为什么我觉得他们搞错了

你可以联系作者杨晓忠,yxiaozh@ncepu.edu.cn,还有一个是周杲昕,没有留电子邮件地址,有回复的话到这里通知一下


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
见路不走 + 5 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 5  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

13
fwbtown 发表于 2013-10-28 15:32:07
irvingy 发表于 2013-10-28 07:49
1)一般的quanto是高盛paper里的ger,和这个不一样
2)这个和高盛paper里的第一种foreign market options应 ...
看了你的回复了!!非常感谢哈!!看完以后清晰了好多,但是对于你说的我还是有一点点疑惑的  想再向你请教一下的  方便的话可以加一下我QQ:23587112吗?  

14
irvingy 发表于 2013-10-28 19:24:57
你还有问题可以这里问,如果我不知道说不定有别人看到了可以回答,我有qq但是从来不用

15
fwbtown 发表于 2013-10-28 23:21:51
irvingy 发表于 2013-10-28 19:24
你还有问题可以这里问,如果我不知道说不定有别人看到了可以回答,我有qq但是从来不用
我想问的是是不是说那论文里面的公式是没错的,但是作者在论文后面给出的数据是错的?确实K=18000模拟出来的数据跟论文模拟结果很类似的,作者貌似论文里面的解析解也算错了啊,,不过论文前面给的那些解析解的公式应该是没错的对吧?你的代码也是完全根据前面那些解析解写出来的吗?

16
irvingy 发表于 2013-10-29 07:52:22
fwbtown 发表于 2013-10-28 23:21
我想问的是是不是说那论文里面的公式是没错的,但是作者在论文后面给出的数据是错的?确实K=18000模拟出来 ...
解析解的公式除了漏了个负号其他都是对的

17
fwbtown 发表于 2013-10-30 15:41:18
irvingy 发表于 2013-10-29 07:52
解析解的公式除了漏了个负号其他都是对的
问一下为什么你第一次看就觉得matlab积双重对数正态分布会有困难,而mathematica就不会呢?能把理由说明一下吗?
还有2点疑惑的:
1.你给的Matlab代码里面第一段是[img]按照论文公式来做的,但是如你所说matlab积双重对数正态分布不行,
第二个算法就可以的,但是我没看懂第二个算法你是根据论文里面哪个公式来写的。。
2.你给的mathematical的第二段代码我看明白了~但是第一段没看懂的,能把你是根据哪个公式写的代码跟我说明一下吗? 没看懂。。 求解释。。

18
irvingy 发表于 2013-10-31 08:44:46
fwbtown 发表于 2013-10-30 15:41
问一下为什么你第一次看就觉得matlab积双重对数正态分布会有困难,而mathematica就不会呢?能把理由说明一 ...
mathematica的NIntegrate会先转换被积函数然后选个最优的算法,matlab的integral2没什么转换,然后这个积分虽然两个变量都从0积到无穷大,但是单位差太远了,一个20000,另外一个0.01,不转换的话matlab根本积不出来

1) change of vairable

1.gif

2) 如果你熟悉change of numeraire

2.gif

W1和W2是相关系数为rho的两个布朗运动,第一个numeaire是利率为r2的money market account,第二个numeraire是利率为r1的money market account,change of numeraire以后

3.gif


已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
见路不走 + 5 + 5 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 5  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

19
fwbtown 发表于 2013-10-31 20:20:29
irvingy 发表于 2013-10-31 08:44
mathematica的NIntegrate会先转换被积函数然后选个最优的算法,matlab的integral2没什么转换,然后这个积 ...
哦哦学习了!对了能不能问一下你的那些附件是从哪个论文里面找的呢?能把出处跟我说一下吗?
我需要再仔细看看的~请问是哪本书或者是哪个论文里面的呢?谢谢啦~~~~~

20
irvingy 发表于 2013-11-1 10:59:45
fwbtown 发表于 2013-10-31 20:20
哦哦学习了!对了能不能问一下你的那些附件是从哪个论文里面找的呢?能把出处跟我说一下吗?
我 ...
mathtype打的

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

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