Quantlib 求贴现因子遇到问题 不知怎么解决 需要帮助 付费悬赏!
我这边是用excel的solver来bootstrapping贴现因子 我这里第一到第十年的即期利率分别是黄色的这一行 假设一年支付一次coupon(票息)我想要让最后的贴现现金流永远等于100 来求每年的贴现因子 excel在第一张图 做法差不多就是下面第二张图这样 我这边是最简单的假设 然后需要用quantlib求 最终出来的答案要跟这个一模一样 最后一张图是我的码以及出来的结果 但跟excel上面对不上 想知道问题出在哪里
calendar = ql.TARGET()
todaysDate = ql.Date(3,ql.January,2012);
ql.Settings.instance().evaluationDate = todaysDate
settlementDate = ql.Date(3,ql.January,2012);
settlementDays = 2
fixedLegFrequency = ql.Annual
fixedLegTenor = ql.Period(12,ql.Months)
fixedLegAdjustment = ql.Unadjusted
fixedLegDayCounter = ql.SimpleDayCounter()
rate = [3.6931,3.5435,3.525,3.491,3.48,3.5108,3.546,3.5864,3.6315,3.666]
tenor = [ql.Period(1,ql.Years),ql.Period(2,ql.Years),ql.Period(3,ql.Years),ql.Period(4,ql.Years),ql.Period(5,ql.Years),ql.Period(6,ql.Years),ql.Period(7,ql.Years),ql.Period(8,ql.Years),ql.Period(9,ql.Years),ql.Period(10,ql.Years)]
discountfactor = []
for i in range(len(rate)):
swapHelpers = [ ql.SwapRateHelper(ql.QuoteHandle(ql.SimpleQuote(rate[i]/100)),
tenor[i], calendar,
fixedLegFrequency, fixedLegAdjustment,
fixedLegDayCounter, ql.Euribor6M())]
discountTermStructure = ql.RelinkableYieldTermStructureHandle()
forecastTermStructure = ql.RelinkableYieldTermStructureHandle()
discountSwapCurve = ql.PiecewiseLogCubicDiscount(settlementDate,swapHelpers,
ql.SimpleDayCounter())
for c in discountSwapCurve.dates():
discountfactors = discountSwapCurve.discount(c)
discountfactor.append(discountfactors)
discountfactor