FpML Issues Tracker

1318: rollConvention for relativeDates

July 14, 2023

assigned

Tweak

N/A

Examples/Test Cases

5.11 Recommendation (Build 6)

XAPWG

MAZA

None

Summary

Good evening FpML experts.

I have a question about the rollConvention for swaption fixed-float.

I have reviewed example 2.38 Example 30 - Compounding and Averaging Swap with Relative Dates in detail, and I have the following questions regarding these parts of the code:

code_part1

   <tradeDateid="tradeDate">2005-07-31</tradeDate>
  </tradeHeader>
  <swap>
   <productType>InterestRate:IRSwap:FixedFloat</productType>
   <swapStreamid="swapStream_0_0">
    <payerPartyReferencehref="party1"/>
    <receiverPartyReferencehref="party2"/>
    <calculationPeriodDatesid="calculationPeriodDates_0_0">
     <relativeEffectiveDateid="effectiveDate_0_0">
      <periodMultiplier>2</periodMultiplier>
      <period>D</period>
      <dayType>Business</dayType>
      <businessDayConvention>NONE</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
      </businessCenters>
      <dateRelativeTohref="tradeDate"/>
      <relativeDateAdjustments>
       <businessDayConvention>MODFOLLOWING</businessDayConvention>
       <businessCenters>
        <businessCenter>GBLO</businessCenter>
        <businessCenter>USNY</businessCenter>
       </businessCenters>
      </relativeDateAdjustments>
     </relativeEffectiveDate>
     <relativeTerminationDateid="terminationDate_0_0">
      <periodMultiplier>2</periodMultiplier>
      <period>Y</period>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
      <dateRelativeTohref="effectiveDate_0_0"/>
     </relativeTerminationDate>
     <calculationPeriodDatesAdjustments>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
     </calculationPeriodDatesAdjustments>
     <calculationPeriodFrequency>
      <periodMultiplier>6</periodMultiplier>
      <period>M</period>
      <rollConvention>2</rollConvention>
     </calculationPeriodFrequency>
    </calculationPeriodDates>

Question_1: why rollConvention value is defined as "2" ?

 

code_part2

     <relativeEffectiveDateid="effectiveDate_0_1">
      <periodMultiplier>2</periodMultiplier>
      <period>D</period>
      <dayType>Business</dayType>
      <businessDayConvention>NONE</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
      </businessCenters>
      <dateRelativeTohref="tradeDate"/>
      <relativeDateAdjustments>
       <businessDayConvention>MODFOLLOWING</businessDayConvention>
       <businessCenters>
        <businessCenter>GBLO</businessCenter>
        <businessCenter>USNY</businessCenter>
       </businessCenters>
      </relativeDateAdjustments>
     </relativeEffectiveDate>
     <relativeTerminationDateid="terminationDate_0_1">
      <periodMultiplier>2</periodMultiplier>
      <period>Y</period>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
      <dateRelativeTohref="effectiveDate_0_1"/>
     </relativeTerminationDate>
     <calculationPeriodDatesAdjustments>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
     </calculationPeriodDatesAdjustments>
     <calculationPeriodFrequency>
      <periodMultiplier>3</periodMultiplier>
      <period>M</period>
      <rollConvention>NONE</rollConvention>
     </calculationPeriodFrequency>
    </calculationPeriodDates>
     <relativeEffectiveDateid="effectiveDate_0_1">
      <periodMultiplier>2</periodMultiplier>
      <period>D</period>
      <dayType>Business</dayType>
      <businessDayConvention>NONE</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
      </businessCenters>
      <dateRelativeTohref="tradeDate"/>
      <relativeDateAdjustments>
       <businessDayConvention>MODFOLLOWING</businessDayConvention>
       <businessCenters>
        <businessCenter>GBLO</businessCenter>
        <businessCenter>USNY</businessCenter>
       </businessCenters>
      </relativeDateAdjustments>
     </relativeEffectiveDate>
     <relativeTerminationDateid="terminationDate_0_1">
      <periodMultiplier>2</periodMultiplier>
      <period>Y</period>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
      <dateRelativeTohref="effectiveDate_0_1"/>
     </relativeTerminationDate>
     <calculationPeriodDatesAdjustments>
      <businessDayConvention>MODFOLLOWING</businessDayConvention>
      <businessCenters>
       <businessCenter>GBLO</businessCenter>
       <businessCenter>USNY</businessCenter>
      </businessCenters>
     </calculationPeriodDatesAdjustments>
     <calculationPeriodFrequency>
      <periodMultiplier>3</periodMultiplier>
      <period>M</period>
      <rollConvention>NONE</rollConvention>
     </calculationPeriodFrequency>
    </calculationPeriodDates>

Question_2: why rollConvention value is defined as "NONE" ?

 

Validation of this example is failed (ird-57 validation rule is applied)!

My assumption is that it seems rollConvention should be equal for boths parts of the code (both legs), and their values must be defined as "2".

 

The main questions are:

  1. How is the rollConvention determined when using a choice through relativeDates (not adjustableDates)?

Thoughts: If we use the relativeDates choice in fact, we will not know the exact date (adjusted/unadjusted effective and termination), but we will only know its relativity, for example 2 business Days to some possible American/Bermuda style exercise date.

 

        2.For example, how can we define a roll convention for an American-style swaption that can be exercised on any day?

 

Hope for your cooperation as usual.

Thank you in advance.

Best regards,

Maksym

Notes:

  • MAZA

    08/06/23 3:40 am

    UPD: Question # “2.For example, how can we define a roll convention for an American-style swaption that can be exercised on any day?”

    is no longer relevant.

    Thanks,

    Maksym

  • JasonPolis

    08/31/23 10:25 am

    XAPWG: 2023-08-31

    In depth look at example. It looks a bit made up, so warrants further scrutiny.

     

    At first, it looks like both roll conventions should be 2,
    as for the relative effective dates and termination dates, wihtou stub periods,

    2 Business Days after Sunday 2005-07-31 would be 2005-08-02.

     

    However, the cashflows have adjustedEndDate of 4, 5, 6,
    so it looks more like a roll convention of 4,

    for an relative effective date of 2 business days on from a trade date of 2005-08-02,

    or 4 business days from a 2005-07-31.

     

    • JP to check additional details for consistency, and pass to GG for review.
  • Leave an update

    You must be logged in to post an update.