0
$\begingroup$

Quick and hopefully simple question about a standard swap schedule. Let's say we have a plain vanilla 3y fix-flt interest rate swap with cpn-freq = 1, no stubs, in for example EUR. Start date: 2021-11-29 (NOT last bus day in month) Maturity: 2024-11-29 (last bus day in month) If I just have a quote on a screen what should be assumed regarding the intermediary roll dates? Should they be on the end-of-moth dates or not i.e. [2022-11-29, 2023-11-29] or [2022-11-30, 2023-11-30]? Thanks.

$\endgroup$
18
  • $\begingroup$ It's impossible to answer without looking at the contract. The only thing I can tell you is that 90% of the swaps that I have seen with broken period, had the broken period at the beginning of the swap, so the payment schedule was built starting from the maturity. $\endgroup$
    – Sebastian
    Commented Nov 26, 2021 at 10:55
  • $\begingroup$ Can't be certain from the given information, but usualy if people want the date to roll on 11/30, they'd give 11/30 as the start date; if it's not a business day in 2021, it would be bumped to 11/29 under modified following rule. As Sebastian said, usually, but not always, the dates march backwards from the maturity date, with the odd period remaining at the beginning. $\endgroup$ Commented Nov 26, 2021 at 13:40
  • $\begingroup$ I guess my question is what is the implied market convention for a standard let's say fix vs Euribor float as it is displayed on a market screen (eg. icap reuter page). Obviously I don't have a contract but the rate on the market screen obviously implies some rules. The "screen swaps" all have straight periods ... no stub periods. The start date is 2021-11-29 which is t+2. You can roll fwd or roll backward ... both implies no stub period either in front or in the end in this case. The question is if the eom-rule is triggered from the maturity date or from the settlement date. $\endgroup$
    – Magnyz
    Commented Nov 26, 2021 at 14:28
  • $\begingroup$ What is the settlement date? 21-11-29 or 21-11-25? $\endgroup$
    – Sebastian
    Commented Nov 27, 2021 at 10:58
  • 1
    $\begingroup$ Without going to much into detail, the reason why I am saying there is no eom-rule for vanilla swaps is because these swaps are used to build the zero curves. I am not a trader but I have built these curves before and match them against Murex. Our swap builder had a vanilla swap pricer on it and we never used eom convenction for the bootstrapping. I was able to replicate the discount factors and price the swaps to 10^-15 accuracy. It there was eom-rule some swaps or some curves would have been off and they weren't. $\endgroup$
    – Sebastian
    Commented Nov 28, 2021 at 18:10

2 Answers 2

1
$\begingroup$

Actually a tricky question. In the 2021 ISDA the end-of-month convention was specified to mean last calendar date of the month instead of last business day (see https://www.isda.org/a/BNEgE/Key-Changes-in-the-2021-ISDA-Interest-Rate-Derivatives-Definitions-June-2021.pdf). As Sebastian correctly pointed out, swaps are usually rolled out from maturity. So I would say that, if you contractually agree that the eom-rule applies to the swap in scope, then it gets activated if the maturity date is the last calendar date of the month. But I couldn't find any document verifying this statement.

Having that said I always hear from my traders that the eom-rule does not apply to standard swaps. Assume you would have traded a 10y EURIOBOR swap on 2024-02-26, starting on 2024-02-28 and maturing on 2034-02-28. Assume further that the eom-rule applies to that swap and gets activated as maturity date is the last calendar date of the respective month. Then one would roll over 2024-02-29 (leap year) and this would imply a natural stub of 1d - which is definitely not standard.

$\endgroup$
0
1
$\begingroup$

This is, in general, quite a difficult question. One which I have had extensive discussions with my internal quants at various different banks and with the fixed income coordinator at Bloomberg who decides on their definitions on tickered instruments (i.e. those with monikers such as EUSA4Y).

If we just address the item in the question:

29 Nov 2021 (not EoM) -> 29 Nov 2024 (EoM) what should be assumed regarding the roll dates?

This swap cannot be EoM roll dates and be a regular schedule (one without stubs); that is impossible because the effective date is not end-of-month. If you try to create this schedule with those specific dates and roll you will define a stub: short by default or long if specified. This should be fairly consistently implemented across all schedule builders.

from rateslib import *  # python==3.12, rateslib==1.4.0

schedule = Schedule(
    effective=dt(2021, 11, 29), 
    termination=dt(2024, 11, 29), 
    roll="eom", 
    frequency="a",
    calendar="bus",
)
###
freq: A,  stub: SHORTFRONT,  roll: eom,  pay lag: 2,  modifier: MF
    Period Unadj Acc Start Unadj Acc End  Acc Start    Acc End    Payment
0     Stub      2021-11-29    2021-11-30 2021-11-29 2021-11-30 2021-12-02
1  Regular      2021-11-30    2022-11-30 2021-11-30 2022-11-30 2022-12-02
2  Regular      2022-11-30    2023-11-30 2022-11-30 2023-11-30 2023-12-04
3  Regular      2023-11-30    2024-11-30 2023-11-30 2024-11-29 2024-12-03
###

Since the 29th is the day number on both effective and termination and both of those are valid and at least one is not EoM then the most logical explanation is that the roll is 29 and the swap should be scheduled as follows:

schedule = Schedule(
    effective=dt(2021, 11, 29), 
    termination=dt(2024, 11, 29), 
    frequency="a",
    calendar="bus",
)
###
freq: A,  stub: SHORTFRONT,  roll: 29,  pay lag: 2,  modifier: MF
    Period Unadj Acc Start Unadj Acc End  Acc Start    Acc End    Payment
0  Regular      2021-11-29    2022-11-29 2021-11-29 2022-11-29 2022-12-01
1  Regular      2022-11-29    2023-11-29 2022-11-29 2023-11-29 2023-12-01
2  Regular      2023-11-29    2024-11-29 2023-11-29 2024-11-29 2024-12-03
###

rateslib makes the subjective assumption that inferred rolldays when "eom" is impossible are numeric only. A counter example might be 15 march 20xx to 15 march 20xy where obviously 15th satisfies as a rollday but it might also be an "imm" rollday. This is documented in rateslib's released book: "Coding Interest Rates: FX, Swaps and Bonds"

Termination as Tenor

When the termination is a tenor such as 3Y, effective from a date which is "eom" rateslib assumes two possibilities;

  • either eom is True and the end date is determined as eom,
  • eom is False and the end date is determined from the day of the effective date and may not be eom.

In markets this choice is usually a market convention. Some markets, e.g. GBP tend to apply eom rules across the whole curve, whereas other markets such as Eur, Us, and Canada seem to apply the eom rule only for short dated swaps (upto 1y or 2y) and don't apply eom for longer tenors.

Effective and Termination as Tenors (the 1y1y problem)

These issues branch to more complicated cases when both dates are defined as tenors, and these are explored in that book.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.