QuantLib Nelson Siegel模型与Matlab IRFunctionCurve.fitNelsonSiegel

时间:2019-02-21 05:24:30

标签: curve-fitting

嗨,我正在尝试比较Python QuantLib NS功能和Matlab IRFunctionCurve.fitNelsonSiegel函数中的NS参数。 Matlab给了我预期的结果,而Python没有。

Python: 我遵循了这篇文章中的示例: https://letyourmoneygrow.com/2018/04/14/quantlib-python-twisting-a-snake-to-fit-a-yieldcurve/

我得到结果(NS参数): [0.028736820049230394,  -0.019523262218373902,  0.024560176894031914,  0.08641756225010744]

Matlab:

Settle=datenum(bondsmatlab.SETTLE);
Maturity=datenum(bondsmatlab.MATURITYDATE);
CleanPrice=bondsmatlab.PRICE;
CouponRate=bondsmatlab.COUPONRATE;

Instruments = [Settle Maturity CleanPrice CouponRate];
PlottingPoints = Maturity(1):180:Maturity(end);
Yield = bndyield(CleanPrice,CouponRate,Settle,Maturity);

NSModel = IRFunctionCurve.fitNelsonSiegel('Zero',Settle(1),Instruments);

NSModel.Parameters

我得到结果(NS参数): 3.2297 -1.1345 -2.8124 2.7094

Matlab的结果是我所期望的。我不确定是否在python中使用了正确的方法,为什么结果与Mablab如此不同?

谢谢!

0 个答案:

没有答案