Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-01, 00:20   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 量化金融Cox Ingersoll Ross将Matlab转换为R,从lsqnonlin转换为nls

我正在尝试将以下旧的Matlab转换为R。这是旧的matlab代码:

sw=[2.40096 2.72778 3.09914 3.25061 3.29394 3.63792 3.90653 3.92677 3.85058 4.14440 4.43973 4.27808 4.82375 4.56853 4.86894]./100; tau = [1;2;3;4;5;6;7;8;9;10;12;15;20;25;30]; T=(1:tau(end))'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Calibration CIR%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [d,fi,ni,r,SSE,scarti]=calibCir(x0,lb,ub,T,tau,swap) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%Data%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % x0 = [0.2 0.12 0.8 0.02]; % Lower bounds % lb = [0 0 0 10^-8]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% options=optimset('tolfun',10e-20,'maxfunevals',20000,'tolx',10e-20,'tolfun',10e-20,'maxiter',20000); [P,SSE,scarti] = lsqnonlin(@fun,x0,lb,ub,options,T,tau,swap); d = P(1); fi = P(2); ni = P(3); r = P(4); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [F] = fun(x,T,tau,swap) A_tau = ((x(1)*exp(x(2).*T))./(x(2)*(exp(x(1).*T)-1)+x(1))).^x(3); B_tau = (exp(x(1).*T)-1)./(x(2)*(exp(x(1).*T)-1)+x(1)); v_model = A_tau.*exp(-x(4).*B_tau); % model prices % where: x(1)=d, x(2)=fi, x(3)=ni, x(4)=r sum_v_model = cumsum(v_model); Q = 100; Z = 100*swap.*sum_v_model(tau)+v_model(tau).*100; F = ZQ; end end 这是我正在构建的新R代码:

sw
poster 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:24


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.