楼主: aloneparis
1295 0

[问答] 求解有关自己写BS代码的问题 [推广有奖]

  • 2关注
  • 0粉丝

高中生

92%

还不是VIP/贵宾

-

威望
0
论坛币
1329 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
442 点
帖子
11
精华
0
在线时间
53 小时
注册时间
2012-4-16
最后登录
2019-8-19

5论坛币
代码:如何改动可以算出C,delta,vega 的值,用自己输入的数值
  1. clear all;
  2. syms S0 k r T sigma
  3. d1=(log(S0/k)+(r+0.5*sigma^2)*T)/(sigma*sqrt(T));
  4. d2=(log(S0/k)+(r-0.5*sigma^2)*T)/(sigma*sqrt(T));
  5. C=S0*normcdf(d1)-k*exp(-r*T)*normcdf(d2);
  6. dCdS0=diff(C,S0);
  7. dCdsigma=diff(C,sigma);
  8. S0=input('请输入S0=');
  9. k=input('请输入k=');
  10. r=input('请输入r=');
  11. T=input('请输入T=');
  12. sigma=input('请输入sigma=');
  13. d1=subs(d1);
  14. d2=subs(d2);
  15. C=subs(C)
  16. delta=subs(dCdS0)
  17. vega=subs(dCdsigma)
复制代码
这段代码运行出错结果:
  1. 错误使用 symfun>validateArgNames (line 211)
  2. Second input must be a scalar or vector of unique symbolic variables.

  3. 出错 symfun (line 45)
  4.             y.vars = validateArgNames(inputs);

  5. 出错 sym/subsasgn (line 762)
  6.                 C = symfun(B,[inds{:}]);

  7. 出错 normcdf>localnormcdf (line 100)
  8.     p(sigma==0 & x<mu) = 0;

  9. 出错 normcdf (line 46)
  10. [varargout{1:max(1,nargout)}] = localnormcdf(uflag,x,varargin{:});

  11. 出错 Untitled6 (line 5)
  12. C=S0*normcdf(d1)-k*exp(-r*T)*normcdf(d2);
复制代码



关键词:Variables Symbolic Variable unique Second
您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 13:07