嗨,我正在尝试比较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如此不同?
谢谢!