Multicurrency holiday calendar math and combinations

I have recently observed a trade which calculated spot (T+2) from Friday 16th June 2023 for a EURUSD FX product and derived the date Tuesday 20th June 2023.

In EUR under the target calendar this is a regular spot calculation and there are no intermediate holidays.

In USD under general New York business days calendar spot would actually be Wednesday 21st June 2023 becuase of the Juneteenth holiday being observed on Monday 19th June 2023.

Calculation Principles

When combining holidays this seems to suggest different approaches for date adjustement calculations; these are the most logical I can observe initially:

1. Holiday Calendar Union: The union of holidays from multiple calendars can be first derived. Then the date adjustment is made. This would result in Juneteenth being a holiday and:

$$\textit{16th June} + 2 b.d. = \textit{21st June} \qquad \text{under} \quad ('tgt' \cup 'nyc')$$

1. Earliest Valid Day (one calendar or the other): The calculation of spot is applied to each holiday calendar first and the results cross checked with the other calendar starting with the earliest date. If valid, accept, otherwise do something else.

$$\textit{16th June} + 2 b.d. = \textit{20st June} \qquad \text{under} \quad ('tgt' \vee 'nyc')$$

The union method is more well defined, but as the example shows the "earliest" date method has some use in practice for some products.

But earliest date method might pose further ambiguity when holidays over lap, the easiest solution just moving forwarding 1day until a valid date on both cals is found.

Examples might be:

• Tues 17th June 2025 + 2b.d. under a "stockholm" and "nyc" calendar. (19th is US hol, 20th is SE hol)
• Mon 23rd Dec 2024 + 2b.d. under "stockholm" and "nyc" (25th is US hol, 24+25+26 is SE hol).

Does anyone have experience with multicurrency date adjustments? Are there any officially defined specifications?

• FWIW, I went to IB and their web site says; interactivebrokers.co.uk/en/general/currencyHoliday.php mentions that even if neither currencies is USD, they still bump for US holidays. Commented May 8 at 13:21
• Thanks, that's another complication I had not envisioned. Seems to tally with other sources I am finding also.
– Attack68
Commented May 8 at 13:38

FX is quite tricky here. There is also no complete agreement between market makers and regions.

However, if you have access to Bloomberg, you can look up many rules on the help page of FRD. It is a very reliable implementation of the rules and BBG also frequently reaches out to market makers to discuss rules and conventions. BBG will also show you what calendars are relevant.

Some general rules:

• It's the ISO calendars (for each currency) plus always the FED (FD) calendar.
• Spot settlement date is the maximum of the spot settlement dates computed for ISO1-USD and USD-ISO2.
• Weekends are ignored, so Monday follows Friday.
• When spot falls on a holiday in any of the respected calendars (including FD), it's advanced to the next day that is a business day in all respected calendars.
• When counting business days to find T+2 spot, any day that is a holiday in any respected calendar (except FD) is ignored just as weekend days are ignored.
• For any non-USD pair, if spot falls on a holiday in any of the respected calendars, then it is advanced to the next business day in all respected calendars.
• If USD is in the pair, then any FED holiday that is not a holiday in any other relevant calendar will not be ignored (you do not move forward, your EURUSD example is explained with this rule) unless spot falls on the spot holiday, in which case the rule above applies. Another example can be seen when checking on FRD for USDTWD which shows 27/12/2016 as spot date while 26/12/2016 is a US holiday (one would expect it should be 28th for T+2).
• Exceptions are USD-MXN, USD-BRL, USD-COP, USD-CLP, USD-ARS, and USD-PEN where the FD holiday is ignored like a weekend.

Particularly odd examples

1. $$\color{blue}{USDJPY \ vs \ USDGBP \ on \ 28th \ of \ April \ 2017}$$
• USDJPY settles Spot on 2nd of May as there is no holiday on USDJPY Curncy DES -> 98 ) calendars (FD and JN calendar) on the 1st of May.
• GBPJPY settles Spot on 8th of May because the GBP calendar has a holiday on the 1st of May, which is why there is no settlement, and it would move to the 3rd of May, which is a holiday in Japan. The next settlement day is only on Monday 8th. Therefore, Spot T+2 settlement for GBPJPY on 28th of April 2017 is the 8th of May.

You can also check CDR on Bloomberg to see this:

1. $$\color{blue}{SAR \ \ Thursday \ rule}$$
More exotic currencies like SAR, KWD, QAR, ILS, AED, BHD, JOD or OMR have special rules. For example, you need to adjust spot to Tuesday if the pricing date is on a Thursday for SAR.

2. $$\color{blue}{CNY\ \ TOM \ vs \ Spot \ for \ Oct \ 4, \ 2011}$$
With forwards (also explained on FRD), the rules get even more cumbersome, like a special End-of-Month Rule or TOM, SN, TN rules. An interesting example is CNY for Oct 4, 2011, where TOM is Sep 30, 2011 and SP is Oct 11, 2011. That's because for T+2 currency pairs, TOM is defined as the first day before spot that is neither a weekend nor a holiday in any respected calendar. In this case the calculated TOM settlement date is before the trade date!

With options, you will get a distinction between price date, premium date, expiry date and delivery date and two different time gaps, as shown in this answer.

• An important point that CDR FD may not be "general New York business days". Commented May 8 at 23:18

In my experience in trading FX Swaps, your description of the "Earliest Valid Day" is the probably the most accurate description but not the way you interpret it. In your example, if you were to buy EUR on Friday June 16, 2023, the EUR will be delivered to your custodian/bank on t+2, Tuesday, June 20, 2023. As this is not a US Holiday, this would be a good settlement day and you will have to deliver USD on June 20 to settle your trade.

So what happens if the settlement date falls on a US holiday? This would be the case if you were to buy EUR on Thursday, June 15, 2023. t+2 would be Monday, June 19, 2023. As this is US holiday, the trade would be settled on the next valid business day, which would be June 20, 2023.

In your SEK example, if you bought SEK on 12/23/24, t+2 would be 12/30/24 due to the SEK holidays. On this day, you will be delivered SEK and pay USD on 12/30/24. As you would not be delivered SEK until 12/30/24, you will not have a SEK balance and therefore not earn SEK interest rates. However, as you were still long the USD until 12/30/24, you will earn USD interest until you settle the SEK.