4

I think your discrepancy is a problem in Excel: https://support.office.com/en-us/article/DAYS360-function-b9a509fd-49ef-407e-94df-0cbda5718c2a =DAYS360(29/02/2016,01/03/2016,0) = 1 (suitable for 30/360 US) =DAYS360(29/02/2016,01/03/2016,1) = 2 And reverse calculated the different is 2, because Excel count both days as whole days: =DAYS360(01/03/...


4

No. It is a detail that is important to get right, but otherwise uninteresting. There is no point in changing a convention once you've set one. There are some more common ones associated with the biggest markets, like Act/360, but that's all. Day count conventions are well documented. There is a degree of consolidation via ISDA standard contracts in the ...


3

Day count conventions such as Act/Act or Act/360 are used for bond math, e.g. interest accrual calculation. The $dt$ in your Monte Carlo simulation is just model time increment and is unrelated to day count conventions. If $T$ is your time horizon for the simulation and you want a uniformly spaced time line $\{t_k\}$ with $N$ time points simply set $dt = T/N$...


3

There are lots, decide which ones you actually need for your project - follow the coding maxim You Ain't Gonna Need It. Be aware that those rules have variants: Actual/365 has 2 varieties, fixed and actual, 30/360 has at least 3 varieties (see that Wikipedia article). Then there is Brazillian Bus/252, etc etc. Consider using a library (like Fincad or ...


2

You're pretty much correct, so these are mostly confirmations: Yes, the "3-month" USD LIBOR rate is really a 2 business day forward 3-month LIBOR rate (assuming the anchor date of your yield curve, the date on which the discount factor is 1, is "today"). USD swaps observe both New York and London holidays. If the maturity date is a bad day, it is adjusted ...


2

The discount curve should be constructed such that there's a one-to-one mapping between a date and a discount factor. It is common practice to use either Actual/365 or Actual/365.25 for the discount curve. Once a convention has been adopted, it should be used for all discount curve construction, regardless of the market convention of the product in question. ...


2

I am using Act/365 day-count convention. How do I compute the time offset between 2/28/2015 and 3/1/2016? 3/1/2017 So it is not clear whether you are referring to the Act/365F (Fixed) or the Act/365A (Actual). I think you are trying to us Act/365A as it is much more commonly used in the USA. Where as the Act/365F is more used in the UK from what I know. ...


2

By no arbitrage, market participants need to agree on the values of the discount factor, even if they are using different conventions (day count, compounding period) to convert the discount factor into a rate. For example, consider two discount factors computed using continuous compounding, where one is computed using the 30/360 day count (year fraction $t_{...


1

Quarterly-Quarterly Swaps (normal rolls) start on a specific date, say 20th March 2018 and have roll dates on the 20th of each Mar, Jun, Sep and Dec, meaning the fixing and accrual start date will be as close as possible to the 20th (but rolled forward if the 20th falls on a holiday). E.g. Normal QQ 20th Rolls Swap: PaymentDate Fixing Date Accrual Start ...


1

The swap convention is that on swap start, the swap has 0 value. In your example, you entered into a swap to start in two days. The convention for Libor is that the fix applies from settlement date for the tenor of rate, calculated on an Act/360 basis. From the start of the swap, 1/9/19, to the first payment date of 4/9/19, there is exactly 90 days hence ...


1

In your second example (when no period is specified), the ActualActual.ISMA DayCounter basically returns RoundedNumberOfMonthsBetween(date1,date2) / 12 = 5 / 12 = 0.41666 whereas in the first one (when there is a specific period) some fancy adjustments are made based on the difference in days (20 - 8 + halfday = 12.5): RoundedNumberOfMonthsBetween(...


1

On most markets (GBP being a notable exception) the Libor fixes 2 days before its start date, so the Libor rate is actually a forward rate computed on $t_{\text{fix}}$ that covers the period $t_{\text{start}}$ to $t_{\text{end}}$. It has no impact on valuation of products with linear payoffs (such as swaps), but it does have an impact on the valuation of ...


1

Looking at the link to QuantLib's implementation of Act/Act AFB posted by Helin Gai in comments, this would be the part that the determines DiY (variable den): Real den = 365.0; // the DiY if (Date::isLeap(newD2.year())) { temp = Date(29, February, newD2.year()); if (newD2>temp && d1<=temp) den += 1.0; } else if (Date::isLeap(...


1

When the convention is ACT/360, it means that 365 calendar days of interest is calculated as 365/360 years. I knows it seems stupid, but before industrial use of computers, it was convenient for a year to be a nice round number like 360. I forget how the 30/360 convention is handled - I once coded up all the conventions, but they have worked really well ...


1

As I know act/act you are using the sum of 2 fractions. One with 365 and one with 366 in the denominator. In your example the number of days in non-leap-years is 1155 and we have 366 days in leap-years. The resulting year fraction would be 1155/365 + 366/366 = 4.164


1

This is rather a long comment to your post. I think YEARFRAC version Act/Act has nothing to do with finance at all, probably it is a big bug. Also, I checked the link "Implementation of the YEARFRAC", the author of that page is not fully right either - "Property 1: Additivity" - day conventions need not be additive. Act/365L (and Act/Act-AFB) we sometimes ...


Only top voted, non community-wiki answers of a minimum length are eligible