楼主: kuluomu
700 1

[有偿编程] 老师们,为什么我尝试复现的这个Asian Option公式程序算出来是NaN [推广有奖]

  • 0关注
  • 1粉丝

高中生

25%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.6000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
69 点
帖子
5
精华
0
在线时间
44 小时
注册时间
2018-7-22
最后登录
2023-1-25

楼主
kuluomu 发表于 2022-3-3 00:14:14 |AI写论文
300论坛币
各位老师们,为什么我这个代码算出来的结果和中途积分的结果都是NaN,可以正常运行函数代码复现的是这篇文章的Asian option定价公式(定理4.1)
  • Kim, B. & Wee, I. 2014, "Pricing of geometric Asian options under Heston's stochastic volatility model", Quantitative finance, vol. 14, no. 10, pp. 1795-1809.
函数代码如下
  1. function call=KimCallQuad(nu,theta,s0,r,T,t,sigma,rho,kappa,w,n,K)
  2. call=exp(-r*(T-t))*KimB(nu,theta,s0,r,T,t,sigma,rho,kappa,w,n,K);

  3. function ret=KimB(nu,theta,s0,r,T,t,sigma,rho,kappa,w,n,K)
  4. global psi10
  5. ret=((psi10-K)/2)+(1/pi)*quadl(@KimIntegral,0,10^5,[],[],...
  6.     nu,theta,s0,r,T,t,sigma,rho,kappa,w,n,K);
  7.    
  8. function ret=KimIntegral(nu,theta,s0,r,T,t,sigma,rho,kappa,xi,w,n,K)
  9. ret=real((Kimpsi(nu,theta,s0,r,T,t,sigma,rho,kappa,xi,w,n,3)-...
  10.     Kimpsi(nu,theta,s0,r,T,t,sigma,rho,kappa,xi,w,n,2)*K)*...
  11.     (exp(-i*xi*log(K)))/(i*xi));
复制代码
  1. function psi=Kimpsi(nu,theta,s0,r,T,t,sigma,rho,kappa,xi,w,n,type)
  2. if type == 1
  3.     xi=1;
  4. else
  5.     if type == 2
  6.         xi=1i*xi;
  7.     else
  8.         type == 3
  9.         xi=1+1i*xi;
  10.     end
  11. end   
  12. a1=2*nu/(sigma^2);
  13. a2=2*kappa*theta/(sigma^2);
  14. a3=((T-t)/T)*log(s0)+((r*sigma-kappa*theta*rho)*(T-t)^2)/(2*sigma*T)-(rho*(T-t)/(sigma*T))*nu;
  15. a4=log(s0)-(rho/sigma)*nu+(r-(rho*kappa*theta/sigma))*(T-t);
  16. a5=(kappa*nu+(kappa^2)*theta*(T-t))/(sigma^2);
  17. psi=exp(-a1*(KimHtilde(T,t,sigma,rho,kappa,xi,w,n,type)/KimH(T,t,sigma,rho,kappa,xi,w,n,type))-...
  18.     a2*log(KimH(T,t,sigma,rho,kappa,xi,w,n,type))+...
  19.     a3*xi+a4*w+a5);


  20. function H=KimH(T,t,sigma,rho,kappa,xi,w,n,type)
  21. if type == 1
  22.     xi=1;
  23. else
  24.     if type == 2
  25.         xi=1i*xi;
  26.     else
  27.         type == 3
  28.         xi=1+1i*xi;
  29.     end
  30. end
  31. h=[];
  32. h(1)=0; % h-2
  33. h(2)=0;% h-1
  34. h(3)=1;% h0
  35. h(4)=((T-t)*(kappa-w*rho*sigma))/2; % h1
  36. for j=5:n+4 % h for n bigger than or equal 2
  37.     h(j)=(((T-t)^2)/ (4*n*(n-1)*T^2))*(-1*(xi^2)*(sigma^2)*(1-(rho^2))*((T-t)^2)*h(j-4)+...
  38.         (xi*sigma*T*(sigma-2*rho*kappa)-2*xi*w*sigma^2*T*(1-(rho^2)))*(T-t)*h(j-3)+...
  39.         T*((kappa^2)*T-2*xi*rho*sigma-w*(2*rho*kappa-sigma)*sigma*T-(w^2)*(1-(rho^2)*(sigma^2)*T)*h(j-2)));
  40. end
  41. H=sum(h(3:n+4));

  42. function Htilde=KimHtilde(T,t,sigma,rho,kappa,xi,w,n,type)
  43. if type == 1
  44.     xi=1;
  45. else
  46.     if type == 2
  47.         xi=1i*xi;
  48.     else
  49.         type == 3
  50.         xi=1+1i*xi;
  51.     end
  52. end   
  53. h=[];
  54. h(1)=0; % h-2
  55. h(2)=0; % h-1
  56. h(3)=1; % h0
  57. h(4)=((T-t)*(kappa-w*rho*sigma))/2; % h1
  58. for j=5:n+4 % h for n bigger than or equal 2
  59.     h(j)=(((T-t)^2)/ (4*n*(n-1)*T^2))*(-1*(xi^2)*(sigma^2)*(1-(rho^2))*((T-t)^2)*h(j-4)+...
  60.         (xi*sigma*T*(sigma-2*rho*kappa)-2*xi*w*sigma^2*T*(1-(rho^2)))*(T-t)*h(j-3)+...
  61.         T*((kappa^2)*T-2*xi*rho*sigma-w*(2*rho*kappa-sigma)*sigma*T-(w^2)*(1-(rho^2)*(sigma^2)*T)*h(j-2)));
  62.     hh(j)=(j-4)/(T-t)*h(j);
  63. end
  64. Htilde=sum(hh(5:n+4))+1/(T-t)*h(4);
复制代码
xi是那个歪歪曲曲的变量
运行代码如下
  1. clear
  2. clc

  3. T=0.5
  4. t=0
  5. sigma=0.39
  6. kappa=1.15
  7. rho=-0.64
  8. n=10
  9. w=0
  10. nu=0.09
  11. r=0.05
  12. theta=0.348
  13. s0=100
  14. K=90
  15. syms xi

  16. global psi10
  17. psi10=Kimpsi(nu,theta,s0,r,T,t,sigma,rho,kappa,xi,w,n,1)

  18. C=KimCallQuad(nu,theta,s0,r,T,t,sigma,rho,kappa,w,n,K)
复制代码


论文中的公式如下:   
    由于t=0,所以0-t对log(Su)的积分我没有写进函数方程。

   

麻烦各位老师了!代码文件同样上传了附件






1646238402(1).jpg (51.28 KB)

公式

公式

1646238389(1).jpg (93.63 KB)

1646238389(1).jpg

1646238377(1).jpg (16.86 KB)

1646238377(1).jpg

1646238358(1).jpg (48.78 KB)

1646238358(1).jpg

codev3.zip
下载链接: https://bbs.pinggu.org/a-3633137.html

1.21 KB

本附件包括:

  • code.m
  • KimCallQuad.m
  • Kimpsi.m

关键词:Option Asian Asia SIA OPT 期权定价;Matlab

沙发
kuluomu 发表于 2022-3-4 04:11:07
求助

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 17:15