trying to build the spot yield curve for AUD by using the following data from bloomberg, RBACOR Index The Reserve Bank of Australia interbank overnight cash rate 0.03 ADBB1M 1m bank bill 0.005 ADBB2M 2m bank bill 0.015 ADBB3M 3m bank bill 0.015 the data is from last Friday 2021-08-13, however the below code returns me error RuntimeError: convergence not reached after 99 iterations; last improvement 4.45714e-05, required accuracy 1e-12. I can reduce the accuracy to 1e-04 to make this work but wanted to check what went wrong here? it looks like the 1m bank bill rate is surprisingly low while the overnight cash rate is too high. any help/comments are welcome/appreciated.
dateStr = '2021-07-30'
pricingDate = ql.DateParser.parseFormatted(dateStr, '%Y-%m-%d')
depoHelpers = []
depoHelpers.append(ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.03/100)),
ql.Period(1, ql.Days),
2,
ql.Australia(),
ql.ModifiedFollowing,
False,
ql.Actual365Fixed()))
depoHelpers.append(ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.0051/100)),
ql.Period('1M'),
2,
ql.Australia(),
ql.ModifiedFollowing,
False,
ql.Actual365Fixed()))
depoHelpers.append(ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.015/100)),
ql.Period('2M'),
2,
ql.Australia(),
ql.ModifiedFollowing,
False,
ql.Actual365Fixed()))
depoHelpers.append(ql.DepositRateHelper(ql.QuoteHandle(ql.SimpleQuote(0.015/100)),
ql.Period('3M'),
2,
ql.Australia(),
ql.ModifiedFollowing,
False,
ql.Actual365Fixed()))
yieldcurve = ql.PiecewiseLogCubicDiscount(pricingDate,
depoHelpers,
ql.Actual360())
yieldcurve.enableExtrapolation()
yieldcurve.dates()