Dear QuantLib, I generate zero rates and discount factors from piecewiseflatforward for JPY curve where interest rates are evry small as you know. I sometimes receive the QuantLib exception: Could not bootstrap curve. segment 5 of 11, last forward = 0.012 , last discount = 0.9942483150 , last zero-yield = 0.012 , last guess was 0.988228670896053 error generated by dummy3m act/act (ISDA) This error is not very clear to me in piecewiseflatforward.cpp, I presume this is because there is a lower limit to the forward or zero rate I reached. Do you know which variable I should change in QuantLib to avoid this error? thank you Xavier |
On 2004.09.22 10:35, [hidden email] wrote:
> I sometimes receive the QuantLib exception: > > Could not bootstrap curve. segment 5 of 11, last forward = 0.012 , > last discount = 0.9942483150 , last zero-yield = 0.012 , last guess > was > 0.988228670896053 > error generated by dummy3m act/act (ISDA) > Xavier, which version of QuantLib are you using? (It wouldn't make much difference, but I might be able to give you more precise directions.) Later, Luigi |
0.3.4
On 2004.09.22 10:35, [hidden email] wrote: > I sometimes receive the QuantLib exception: > > Could not bootstrap curve. segment 5 of 11, last forward = 0.012 , > last discount = 0.9942483150 , last zero-yield = 0.012 , last guess > was > 0.988228670896053 > error generated by dummy3m act/act (ISDA) > Xavier, which version of QuantLib are you using? (It wouldn't make much difference, but I might be able to give you more precise directions.) Later, Luigi |
On 2004.09.24 16:00, [hidden email] wrote:
> > which version of QuantLib are you using? > 0.3.4 Hmm, oldish. Wait a minute while I fetch it from CVS... Ok, I see. In ql/TermStructures/piecewiseflatforward.cpp, line 116, there's double min = accuracy_*10e-4, max = discounts_[i-1]; try { solver.solve(FFObjFunction(this,instrument,i), accuracy_,guess,min,max); Setting min to a small number says that discounts must be positive, which must be enforced. Setting max to the previous value says that the discounts must be decreasing, which in turn means that rates must be positive. You can try increasing max (say, twice the previous discount) to allow negative rates. Hope this helps, Luigi |
Yes I know that's too old but we are working to upgrade the version! I'm going to change that in the code. Thank you very much for help. Xavier
On 2004.09.24 16:00, [hidden email] wrote: > > which version of QuantLib are you using? > 0.3.4 Hmm, oldish. Wait a minute while I fetch it from CVS... Ok, I see. In ql/TermStructures/piecewiseflatforward.cpp, line 116, there's double min = accuracy_*10e-4, max = discounts_[i-1]; try { solver.solve(FFObjFunction(this,instrument,i), accuracy_,guess,min,max); Setting min to a small number says that discounts must be positive, which must be enforced. Setting max to the previous value says that the discounts must be decreasing, which in turn means that rates must be positive. You can try increasing max (say, twice the previous discount) to allow negative rates. Hope this helps, Luigi ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ Quantlib-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/quantlib-users |
Free forum by Nabble | Edit this page |