I'm trying to match QL clean price with BBG clean price for POLGB 2.75 10/25/29 1029 priced for 15th of October 2021 for 2.5% yield. I'm not sure if my setup of bond is wrong or if there is a problem with precision of calculations.
import QuantLib as ql
todaysDate= ql.Date(15,10,2021)
ql.Settings.instance().setEvaluationDate(todaysDate)
issueDate = ql.Date(11, 2, 2019)
maturityDate = ql.Date(25, 10, 2029)
tenor = ql.Period(ql.Annual)
calendar = ql.Poland()
bussinessConvention = ql.Following
dateGeneration = ql.DateGeneration.Backward
monthEnd = False
schedule = ql.Schedule (ql.Date(25,10,2018), maturityDate, tenor, calendar, ql.Unadjusted,
ql.Unadjusted , dateGeneration, monthEnd)
dayCount = ql.ActualActual(ql.ActualActual.ISMA)
couponRate = .0275
coupons = [couponRate]
settlementDays = 0
faceValue = 100
fixedRateBond = ql.FixedRateBond(settlementDays, faceValue, schedule, coupons, dayCount)
print(round(fixedRateBond.cleanPrice(0.025,ql.ActualActual(ql.ActualActual.ISMA),ql.CompoundedThenSimple,ql.Annual),6))
QuantLib clean price = 101.796832
BBG clean price = 101.796834
POLGB 2 ¾ 10/25/29 ( PL0000111498 ) Spread 18.52bp vs 8yPOLGB 2 ¾ 10/29 Price 101.796834 103.154 Yield 2.5000000Wst 2.3147811 Ann Wkout 10/25/2029@ 100.00 Yld7 7 Settle 10/15/21 10/15/21 Trade 10/13/21 Retro (Using input price)
$\endgroup$