Skip to content

Potential flaw in Actual/Actual Day Count Convetion when compared to ISDA docs, LSEG and Bloomberg #2257

@denisgeogeo

Description

@denisgeogeo

It seems as if the ActualActual dc method is producing results different from what the documentation says.

I tried the examples from https://www.isda.org/a/pIJEE/The-Actual-Actual-Day-Count-Fraction-1999.pdf page 2:

Below delivers 150, which is fine
ql.ActualActual(ql.ActualActual.ISMA).dayCount(d1=ql.Date('1999-02-01', '%Y-%m-%d'),
d2=ql.Date('1999-07-01', '%Y-%m-%d'))

Below delivers 183, based on the examples from ISDA, it should deliver 184
ql.ActualActual(ql.ActualActual.ISMA).dayCount(d1=ql.Date('1999-07-01', '%Y-%m-%d'),
d2=ql.Date('1999-12-31', '%Y-%m-%d'))

Below delivers 183, based on examples from ISDA, it should deliver 182
ql.ActualActual(ql.ActualActual.ISMA).dayCount(d1=ql.Date('1999-12-31', '%Y-%m-%d'),
d2=ql.Date('2000-07-01', '%Y-%m-%d'))

I found this issue when trying to compare against Bloomberg and LSEG, which both calculate 107 days with settlement = "2025-07-08" on XS2320031383. Using Actual/Actual.ISMA on QuantLib delivers 106 days, however.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions