Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support the Canadian Overnight Repo Rate Average (CORRA) #1685

Closed
tomwhoiscontrary opened this issue May 30, 2023 · 5 comments · Fixed by #1705
Closed

Support the Canadian Overnight Repo Rate Average (CORRA) #1685

tomwhoiscontrary opened this issue May 30, 2023 · 5 comments · Fixed by #1705

Comments

@tomwhoiscontrary
Copy link
Contributor

I only just noticed we don't have an index class for this. It's a popular interest rate index in Canada, and after 28 June 2024, it will be the only interest rate index in Canada.

https://www.bankofcanada.ca/rates/interest-rates/corra/

It's an overnight index, so adding it should be extremely straightforward, in the mould of ESTR and SOFR. We need to know:

  • familyName
  • settlementDays
  • currency
  • fixingCalendar
  • dayCounter

Family name and currency are obvious. We should be able to find out the others by reading the index documentation. Hopefully it doesn't use some wacky calendar we don't currently have (like SOFR :) ).

There's a strong chance i will have to do this locally soon, and i will push it back up if so.

@tomwhoiscontrary
Copy link
Contributor Author

Methodology for calculating the Canadian Overnight Repo Rate Average (CORRA) says:

Term and time to settlement—Only repos with an overnight term for same-day settlement of the opening leg are included: that is, overnight trades that are agreed to and settled on the same day (T + 0).

So i think settlementDays is 0, as for other repo indexes.

CORRA is published each day that Schedule I banks under the Bank Act (Canada) are open for business in Toronto, Ontario, Canada.

That sounds like normal bank holidays to me, which is what i believe the Canada(Settlement) calendar represents.

There's no explicit mention of a day count convention there. The convention will be whatever is used in the repo market. However, the CORRA Compounded Index is defined in terms of CORRA using a 365-day year, which suggests that CORRA is actual/365.

How-to Guide: SFTR repo day-count conventions, a piece by some hardcore repo transaction reporting geek, gets into some glorious detail about repo day count conventions, and says:

In the UK and Japanese, Canadian, Australian and New Zealand domestic markets the convention is Act/365 Fixed, the actual number of days interest divided by 365 days in a year, regardless of leap-years. This is denoted by A005.

So dayCounter is Actual365Fixed().

@eltoder
Copy link
Contributor

eltoder commented Jun 7, 2023

You might be interested to look in the OpenSourceRisk project. They have CORRA implemented: https://github.com/OpenSourceRisk/Engine/blob/master/QuantExt/qle/indexes/ibor/corra.hpp

It may be possible to move this code into QuantLib itself.

@AND2797
Copy link
Contributor

AND2797 commented Jun 17, 2023

Is anyone working on this? I am a new contributor - I think this is a new contributor friendly issue. Can I work on this?

AND2797 added a commit to AND2797/QuantLib that referenced this issue Jun 18, 2023
@lballabio
Copy link
Owner

Sure, go ahead!

@AND2797
Copy link
Contributor

AND2797 commented Jun 18, 2023

PR here: #1705

@lballabio lballabio linked a pull request Jun 19, 2023 that will close this issue
AND2797 added a commit to AND2797/QuantLib that referenced this issue Jun 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants