首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在matlab中计算利率树

在matlab中计算利率树
EN

Stack Overflow用户
提问于 2014-02-07 01:55:18
回答 1查看 169关注 0票数 0

我想使用matlab中的优化工具来校准利率树。需要一些指导来做这件事。

利率树如下所示:

它的工作原理:

3.73% = 2.5%*exp(2*0.2)

96.40453 =(0.5x100+0.5x100)/(1+3.73%)

94.15801 = (0.5*96.40453+ 0.5*97.56098)/(1+2.50%)

2.5%的值是任意的,上面的节点是通过乘以2*波动率的指数(这里是20%)得到的。

我需要通过改变较低节点的不同值来优化问题。

如何在Matlab中进行此优化?

到目前为止我都试了些什么?

代码语言:javascript
运行
复制
InterestTree{1}(1,1) = 0.03;
InterestTree{3-1}(1,3-1)= 2.5/100;
InterestTree{3}(2,:) = 100;
InterestTree{3-1}(1,3-2)= (2.5*exp(2*0.2))/100;
InterestTree{3-1}(2,3-1)=(0.5*InterestTree{3}(2,3)+0.5*InterestTree{3}(2,3-1))/(1+InterestTree{3-1}(1,3-1));
j = 3-2;
InterestTree{3-1}(2,3-2)=(0.5*InterestTree{3}(2,j+1)+0.5*InterestTree{3}(2,j))/(1+InterestTree{3-1}(1,j));
InterestTree{3-2}(2,3-2)=(0.5*InterestTree{3-1}(2,j+1)+0.5*InterestTree{3-1}(2,j))/(1+InterestTree{3-2}(1,j));

但我不确定如何进行优化。任何改进代码的建议,一定要告诉me..Need一些关于这方面的指导。

EN

回答 1

Stack Overflow用户

发布于 2014-02-07 11:22:29

你期望这棵树会变大吗?或者你只是在优化"2.5%“参数的值?

如果是后者,有两种方法。第一种方法是使用封闭形式的表达式对树进行建模,将2.5%替换为x,这对于树是可能的。Matlab中有一些非线性优化工具箱(例如more here),但我已经很久没有这样做了,无法给你一个更详细的答案。

秒数是我会立即做的方法。我正在解释你给出的例子,所以我使用的方程式可能是不正确的-但是,使用for循环的原理是相同的。

代码语言:javascript
运行
复制
vol = 0.2;
maxival = 100;
val1 = zeros(1,maxival); %Preallocate
finalval = zeros(1,maxival);
for ival=1:maxival
  val1(ival) = i/1000; %Use any scaling you want.  This will go from 0.1% to 10%
  val2=val1(ival)*exp(2*vol);
  x1 = (0.5*100+0.5*100)/(1+val2); %Based on the equation you gave
  x2 = (0.5*100+0.5*100)/(1+val1(ival)); %I'm assuming this is how you calculate the bottom node
  finalval(ival) = x1*0.5+x2*0.5/(1+...);  %The example you gave isn't clear, so replace this with whatever it should be
end

[maxval, indmaxval] = max(finalval);

最大值在maxval中,最大化它的兴趣在val1(indmaxval)中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21610445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档