|
From: Arkadiy N. <ark...@gm...> - 2021-04-03 21:57:10
|
And as to the zeros - I may be wrong, but try explicitly setting the evaluationDate to whatever date you want to be your spot. On Sat, Apr 3, 2021 at 5:50 PM Arkadiy Naumov <ark...@gm...> wrote: > Hi Brian, > > Without running your code - the reason Jan29th comes into play is because > Euribor6M has a two days settlement built in: > https://github.com/lballabio/QuantLib/blob/master/ql/indexes/ibor/eurlibor.cpp#L63 > > > On Sat, Apr 3, 2021 at 10:22 AM Brian Smith <bri...@gm...> > wrote: > >> Hi, >> >> I found out that I have to add a dummy quote to get this work. So I added >> - >> >> myindex = Euribor6M(curveHandle) >> myindex.addFixing(Date(27, 7, 2018), 0.00) >> >> bond_schedule = Schedule(mydate, >> mydate + Period("1y"), Period(6, Months), Canada(), Unadjusted, >> Unadjusted, DateGeneration.Forward, False) >> >> [c.amount() for c in FloatingRateBond(0, 10000, bond_schedule , >> myindex, Actual360()).cashflows()] >> [c.date() for c in FloatingRateBond(0, 10000, bond_schedule , myindex, >> Actual360()).cashflows()] >> >> However with this, I am getting strange result as all the coupon >> payments are coming as zero. >> >> Can you please help me to understand what went wrong in my code? >> >> >> On Sat, 3 Apr 2021 at 14:39, Brian Smith <bri...@gm...> >> wrote: >> > >> > Hi, >> > >> > I want to extract all the cash flow amounts from a bond as defined >> below - >> > >> > from QuantLib import * >> > >> > mydate = Date(31, 1, 2018) >> > >> > spots = [mydate, mydate + Period("6m"), mydate + Period("1y"), mydate >> > + Period("2y"), mydate + Period("3y")] >> > spotsdate = [0, 0.25, 0.45, 0.65, 0.85] >> > >> > curveHandle = YieldTermStructureHandle(ZeroCurve(spots, spotsdate, >> > Actual360(), Canada(), Linear(), Continuous)) >> > >> > [c.amount() for c in FloatingRateBond(0, 10000, Schedule(mydate, >> > mydate + Period("1y"), Period(6, Months), Canada(), Unadjusted, >> > Unadjusted, DateGeneration.Forward, False) , Euribor6M(curveHandle), >> > Actual360()).cashflows()] >> > >> > However above code failed to achieve any result, but giving out below >> error - >> > >> > Traceback (most recent call last):File "<stdin>", line 1, in >> > <module>File "<stdin>", line 1, in <listcomp>File >> > "/usr/local/lib/python3.9/site-packages/QuantLib/QuantLib.py", line >> > 9967, in amountreturn _QuantLib.CashFlow_amount(self)RuntimeError: >> > Missing Euribor6M Actual/360 fixing for January 29th, 2018 >> > >> > I wonder where the date January 29th, 2018 comes from and how to >> resolve this? >> > >> > Any pointer will be highly appreciated. >> > >> > Thanks for your time. >> >> >> _______________________________________________ >> QuantLib-users mailing list >> Qua...@li... >> https://lists.sourceforge.net/lists/listinfo/quantlib-users >> > |