Open-Cap-Table-Coalition / Open-Cap-Format-OCF

Open Cap Format (OCF) - The Open Source Company Capitalization Data Standard. OCF can be used to structure and track the complex data structures necessary to build and maintain accurate capitalization (cap) tables.
https://opencaptablecoalition.com
Other
150 stars 32 forks source link

[Question]: What does our DayCountType ACTUAL_365 value actually mean? #423

Open pjohnmeyer opened 1 year ago

pjohnmeyer commented 1 year ago

Question:

I've received questions from developers on what "Actual/365" interest accrual means, especially when it comes to things like leap years. I've consulted multiple sources, and I am getting different answers depending on where I look.


Here's a specific case, with daily accrual + annual compounding.

Initial principal: $1000 Annual interest rate: 5% Year 1 is a 365-day year Year 2 is a 366-day leap year Anniversary is 15 Jan.

Interpretation 1

Daily accrual for year 1 = ($1000 0.05) / 365 = $0.1369... On 15 Jan, $50 accrued starts compounding, new principal = $1050 Daily accrual for year 2 = ($1050 0.05) / 365 = $0.1438... On 15 Jan, ~$52.64 accrued starts compounding, new principal = $1102.64 The accrued amount for year 2 is daily accrual * 366 because of the extra leap day.

This is the one I believe is what is intended by our enum value, but it is unclear.

Interpretation 2

Daily accrual for year 1 = ($1000 0.05) / 365 = $0.1369... On 15 Jan, $50 accrued starts compounding, new principal = $1050 Daily accrual for year 2 = ($1050 0.05) / 365 = $0.1438... On 14 Jan, $52.50 accrued starts compounding, new principal = $1102.50 The accrued amount for year 2 is daily accrual * 365; anniversary has shifted one day because of the leap day.

My understanding is this is 365/365, not Actual/365, which is why I believe Interpretation 1 is "correct".


However, I'm starting to think that we may need multiple versions of "Actual/365" in the schema, as I've found at least one reference with 3 different versions (https://cbonds.com/glossary/day-count-convention/).

Anything else we need to know?

https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF/blob/61ef4a2611639ca95a2f56b1efe9ca717c7d6014/schema/enums/DayCountType.schema.json#L1-L9

jacobyavis commented 1 year ago

Meeting Notes May 16

pjohnmeyer commented 1 year ago

It looks like our system doesn't (currently) implement either of the interpretations in the original post for compound interest.

Interpretation 3 Daily accrual for year 1 = ($1000 0.05) / 365 = $0.1369... On 15 Jan, $50 accrued starts compounding, new principal = $1050 Daily accrual for year 2 = ($1050 0.05) / 365 = $0.1438... On 15 Jan, $52.50 accrued starts compounding, new principal = $1102.50 The accrued amount for year 2 is daily accrual * 365; no interest accrues on the leap day.

The only difference between this and Interpretation 2 is that the anniversary date doesn't shift. This might correspond to https://cbonds.com/glossary/nl-365/ but I'm not positive.

JSv4 commented 1 year ago

Per TWG 5/30/23 - going to compare notes again in the next meeting. If we don't get more details by mid-June will probably start by picking an approach and can add additional enums as needed.

JSv4 commented 1 year ago

@xudiera says there are two options in their system - 365.25 or 366 (but no one uses 366).

JSv4 commented 1 year ago

@dan-pulley and team working on this internally

sachin-shrestha commented 1 year ago

Shareworks has 360 and 365 day counts. These are used to calculate the daily interest rates. However, the interest accrued based on that interest rate is over the actual number of days of the year. Hence for leap years, interest accrues over 366 days. @JSv4 @jacobyavis