FpML Issues Tracker

54: Swap Legs

March 25, 2004

closed

Minor

Always

Request New Feature

Admin

mgratacos

Summary

This is a comment about how Swap products are assembled from legs inside FpML.

FpML Swaps are substitutions of the Product element. Each Swap is made up of different 'legs' or 'swap streams'. Each Swap product use a different composition it's legs: creditDefaultSwap - feeLeg and protectionTerms fxSwap - fxSingleLeg (repeating) swap - swapStream (repeating) equitySwap - equityLeg and interestLeg

** In the same way each Product is derived by extension from the Product complex type I'd like to see each Leg derived by extension from a Leg complex type. **

By deriving each Leg from a Leg complex type would allow me to assemble the more unusual swaps more easily. And for FpML extensions would allow me to define a new leg type without needing to define a new product type.

Also for type based queries I could make use of the common root type. For example find me the Legs of all types of Swap is easier if Leg is defined.

As I see it, why should the floating leg of an IRS be any different to the floating leg of a TRS?

Your help would be much appreciated.

Notes:

  • mgratacos

    10/19/05 11:17 am

    In FpML 4.2 Second Working Draft (2005-10-12) the equity swap structure has suffered important changes to better support return type swaps. These changes include:

    The fpml-eqs-4-2.xsd file has been renamed fpml-return-swaps-4-2.xsd. In addition, the following changes have been implemented:
    – equitySwap has been deprecated (it will be removed in the next major version) and a new returnSwap element has been created.
    – the new head of the substitution group is now called returnSwapLeg (it was called returnLeg before).
    – equityLeg has been deprecated (it will be removed in the next major version) and a new returnLeg element of type ReturnLeg has been created.
    – ReturnLeg type has the same structure as EquityLeg but the following elements have been renamed:
    — valuation is now called rateOfReturn
    — equityAmount is now called amount.
    — equityNotionalReset is now called notionalReset.
    — equityPaymentDates is now called paymentDates
    — equityValuation is now called valuationRules
    — equityPaymentDatesInterim is now called paymentDatesInterim
    — equityPaymentDateFinal is now called paymentDateFinal

    The types of the elements listed above have been renamed as well but the old types are being kept in the schema for backward compatibility reasons.

    On the other hand, the support of Inflation Swaps in this version has been done with the use of substitution groups in the floating rate level in order to differentiate floatin rate indices from inlation indices. This follows the pattern expressed suggested in this issue.

  • mgratacos

    10/06/06 9:11 am

    AWG agreed to have a modelling design paper.

    Ask Coord group to have a technical review group to keep consistency.

  • mgratacos

    03/08/07 3:29 pm

    Changes have been committed to the trunk. All swap legs extend Leg (except FxLeg).

  • Leave an update

    You must be logged in to post an update.