我是Matlab的新手并阅读财务中的数值方法,所以这应该是一个基本问题。书中的代码如下:
sett = '19 -Mar-2000';
maturity = '15 -Jun-2015';
face = 1000;
couponRate = 0.05;
产量= 0.01:0.01:0.20;
[cleanPrices,accrInts] = bndprice(收益率,couponRate,结算,到期日,2,0,[],[],[],[],[],face);
但是它会返回以下错误
???使用==>时出错rdivide 矩阵维度必须一致。
==>中的错误bndprice at 218 PerDisc = 1./(1 + Yield./Frequency);
如果我投入单一产量,它可以正常工作。关于为什么收益率存在问题的任何线索?
答案 0 :(得分:1)
你会发现这很荒谬,但你需要重新安排收益......
[cleanPrices , accrInts] = bndprice(yields', couponRate, settle, maturity, 2, 0, [],[],[],[],[],face);
啊,当小事出错时