15 COMMODITY DERIVATIVE PRODUCT ARCHITECTURE

15.1 Introduction

This section provides a detailed description of the product architecture for commodity derivatives. FpML provides support for commodity swaps (whether fix/float or float/float) and commodity options (American, European and Asian). Physically-settled trades are also covered including swaps for Electricity, Natural Gas, and Oil commodities. Support for Bullion Forwards is also included. A representation for a commodity underlyer has also been introduced, which is used within the commodity products but that can also be used within other products such as equity baskets.

15.2 Commodity Underlyer

The 'commodity' underlyer is meant to identify the commodity ‘index’ which is subject to the trade and is flexible enough to support agricultural products, and energy. Support for other commodity types has not been fully evaluated but this does preclude their being able to be represented A number of global elements are already defined in the FpML schema for various asset types. The commodity underlyer follows the same model.

images/commodity-derivatives/Commodity.jpg

The 'instrumentId' and the 'description' elements are derived from the IdentifiedAsset type, which is used by multiple underlyers. The 'instrumentId' contains the unique identifier for the asset, and is intended to hold a Commodity Reference Price in the format set out by ISDA in the 1993 or 2005 Commodity Definitions. However, a CUSIP, ISIN, or any other identifier could also be used. The 'description' contains the name of the asset.

The following sequence of elements is optional and they are specified only in the event that no ISDA Commodity Reference Price or other identifier for this commodity ‘index’ exists.

The 'specified Price' is not defined in the Commodity Reference Price and so needs to be stated in the underlyer definition as it will impact the calculation of the Floating Price.

The 'deliveryDates' element is applicable for a Commodity Transaction that references a listed future.

The 'deliveryDateRollConvention' specifies, for a Commodity Transaction that references a listed future via the 'deliveryDates' element, the day on which the specified future will roll to the next nearby month when the referenced future expires.

The 'multiplier' specifies the multiplier associated with the transaction. This element is intended for use with freight transactions.

15.3 commoditySwap

The commodity swap product is designed to support both fixed/float swaps and float/float swaps. There is also support for describing the attributes of physical commodity delivery. Its design is fully compatible with other FpML products and reuses standard common types.

As with all products in FpML the commodity swaps are accessed through a global element 'commoditySwap' which can substitute the 'product' element used in the construction of trade structures. The following diagram outlines the product structure.

images/commodity-derivatives/commoditySwap.jpg

The 'commoditySwap' structure only defines parameters for product-related information (e.g. dates, rates, underlying commodity, price source, etc.). Other trade-related information (e.g. trade date, identifiers, legal documentation, etc.) is held in the containing trade structure.

The repeating 'fixedLeg' and 'floatingLeg' elements contain the details of any scheduled payments or exchanges during the life of the instrument and are described later. A simple commodity swap would contain two legs, typically one fixed and one floating, but the repetition allows more complex multi-legged exchanges to be described.

The optional 'commonPricing' flag may be relevant for a Transaction that references more than one Commodity Reference Price. If Common Pricing is not specified as applicable (value set to 'true'), it will be deemed not to apply.

The optional 'marketDisruption' structure defines how the product should behave if there is a market disruption as defined in the 'ISDA 1993 Commodity Definitions' or in the 'ISDA 2005 Commodity Definitions', as applicable.

images/commodity-derivatives/CommodityMarketDisruption.jpg

The commodity swap's 'rounding' element, if present, defines the direction and number of decimal places to which rounding should be performed in all amount calculations.

15.3.1 fixedLeg

A schedule of fixed payments associated with a commodity swap are defined within a 'fixedLeg' using the following structure.

images/commodity-derivatives/FixedPriceLeg.jpg

As with other FpML leg structures the payer and receiver parties are explicitly indicated in the 'payerPartyReference' and 'receiverPartyReference'.

The role of the remaining elements is as follows:

  • The 'calculationPeriods' or the 'calculationPeriodsSchedule' are only intended to be used if the Calculation Periods differ on each leg. If Calculation Periods mirror another leg, then the 'calculationPeriodsReference' element should be used to point to the Calculation Periods on that leg - or the 'calculationPeriodsScheduleReference' can be used to point to the Calculation Periods Schedule for that leg.
  • The 'fixedPrice' structure defines the price for a given unit of the underlying commodity where that price is fixed for the life of the trade.
  • On the other hand, if the fixed price varies over the life of the trade, then the 'fixedPriceSchedule' structure is used instead of the 'fixedPrice'. Note that the intention is that a fixed price step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the fixed price schedule to the calculation periods as clearly as possible. The fixed price steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).
  • The notional amount is specified stating either the 'notionalQuantity' or if the notional changes over the life of the transaction, then the 'notionalQuantitySchedule' is specified. In addition, the 'totalNotionalQuantity' must be specified. Note that the intention is that a notional step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the notional quantity schedule to the calculation periods as clearly as possible. The notional steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).
  • The 'paymentDates' structure supports either the definition of dates as either a series of unadjusted dates along with a date roll convention and business center list for adjustment, or as set of adjusted dates relative to some other date schedule defined elsewhere in the product (e.g. in the floating leg).
  • The 'relativePaymentDates' are specified when the payment dates are relative to the calculation periods.

15.3.2 floatingLeg

Each 'floatingLeg' defines a series of financial payments for a commodity who's value is derived from a floating price source such as an exchange.

images/commodity-derivatives/FloatingPriceLeg.jpg

As with the 'fixedLeg' they parties obligation to pay and receive the payments are explicitly indicated by the 'payerPartyReference' and 'receiverPartyReference' elements.

Two structures distinguish the 'floatingLeg' from the 'fixedLeg': the existence of the 'commodity' underlyer (see description above at the Commodity Underlyer section) and the 'calculation' structure within the floating leg.

15.3.2.1 calculation

The 'calculation' structure captures details relevant to the calculation of the floating price.

images/commodity-derivatives/FloatingLegCalculation.jpg

The structure is defined by the following elements:

  • The 'pricingDates' represent the dates on which prices are observed for the underlyer.
  • The 'averagingMethod' element specifies the method of averaging specified by the parties when more than one pricing date is applicable.
  • If the Notional Quantity is specified in a unit that does not match the unit in which the Commodity Reference Price is quoted, the scaling or conversion factor used to convert the Commodity Reference Price unit into the Notional Quantity unit should be stated in the 'conversionFactor' element. If there is no conversion, the 'conversionFactor' element is not intended to be used.
  • The 'rounding' structure defines the rounding direction and precision for price values.
  • In some trades, there may be a spread under or over the Commodity Reference Price, in that case the spread may defined by the 'spread' element or if the spread is not constant over the life of the trade, the 'spreadStep' will be used to define the spread schedule. Note that the intention is that a spread step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the spread schedule to the calculation periods as clearly as possible. The spread steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).
  • The FX observations to be used to convert the observed Commodity Reference Price to the Settlement Currency are covered by the 'fx' element.

15.3.3 Physical Leg

15.3.3.1 Coverage

The support for physically-settled commodities trades includes,

  • Natural Gas
  • Oil
  • Electricity
images/commodity-derivatives/CoverageMatrix.jpg
15.3.3.2 Product Representation

The product representation of physically-settled trades is done within the commoditySwap product element by adding a family of physical legs.

  • Fixed price transaction = xxxPhysicalLeg + fixedLeg
  • Floating price transaction = xxxPhysicalLeg + floatingLeg

Note: xxx gets replaced by oil, gas, and electricity.

The following structures vary between all these commodities,

  • Delivery periods
  • Product
  • Delivery
  • Quantities
15.3.3.2.1 oilPhysicalLeg - deliveryPeriods
images/commodity-derivatives/oilPhysicalLeg-deliveryPeriods.jpg
15.3.3.2.2 oilPhysicalLeg - product
images/commodity-derivatives/oilPhysicalLeg-product.jpg
15.3.3.2.3 oilPhysicalLeg - delivery
images/commodity-derivatives/oilPhysicalLeg-delivery.jpg
15.3.3.2.4 oilPhysicalLeg - deliveryQuantity
images/commodity-derivatives/oilPhysicalLeg-deliveryQuantity.jpg

15.4 commodityOption

The product support for commodity options in FpML is based on the creation of a new 'commodityOption' product. The product references the 'commodity' underlyer in order to support the underlying asset of the option.

images/commodity-derivatives/commodityOption.jpg

All FpML products inherit two optional elements from the Product type: 'productType' and 'productId'. The 'productType' defines a classification of the type of product. FpML defines a simple product categorization using a coding scheme. The 'productId' contains a product reference identifier allocated by a party. In this case, FpML does not define the domain values associated with this element.

The 'buyerPartyReference' and 'sellerPartyReference' contain references to the parties that buy or sell the instrument respectively. Buying the instrument means paying for the instrument and receiving the rights defined by it. On the other hand, selling the instrument means granting the rights defined by the instrument and in return receiving a payment for it.

The optionType element is for specifying whether this is a call option or a put option.

The 'commodity' underlyer component is specified using a reference to the 'commodity' asset (see description above at the Commodity Underlyer section).

The following elements are specific to asian/averaging commodity options only:

As with the 'commoditySwap', the notional amount of the 'commodityOption' is specified stating either the 'notionalQuantity' or if the notional changes over the life of the transaction, then the 'notionalQuantitySchedule' is specified. In addition, the 'totalNotionalQuantity' must be specified. Note that the intention is that a notional step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the notional quantity schedule to the calculation periods as clearly as possible. The notional steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).

The 'exercise' structure contains the parameters for defining how the commodity option can be exercised and how it is settled.

The different options for specifying the strike price per unit will consist of a single strike price of a strike price schedule. Note that the intention is that a strike price per unit step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the strike price schedule to the calculation periods as clearly as possible. The strike price per unit of the strike price per unit steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).

The 'premium' element defines the option premium payable by the buyer to the seller. Should the premium differ over the course of an Asian options life (e.g. because delivery is per calendar day which is reflected in the premium), a premium schedule should be specified. Note that the intention is that a premium step should be specified for each Calculation Period in the trade, regardless of whether there is a change in value between two periods. This is so as to match the premium schedule to the calculation periods as clearly as possible. The premium steps must be in chronological order (i.e the first step corresponds to the first Calculation Period, the last step to the last Calculation Period).

The 'commonPricing', 'marketDisruption', and 'rounding' elements are common across all commodity transactions. For a detailed description of them see the commoditySwap section.

15.5 commodityForward

The commodityForward product element supports the representation of Bullion Forwards. Whilst some commodity forwards are booked as single period swaps, precious forwards are extremely basic trades and are confirmed under a different ISDA confirmation template

Even though the initial scope is limited to Bullion Forward, the intention of the working group is to allow support for other commodity classes should this be required.

images/commodity-derivatives/commodityForward.jpg

15.5.1 fixedLeg

The fixed payment of the Commodity Forward product is represented using the fixedLeg element of type NonPeriodicFixedPriceLeg.

images/commodity-derivatives/fixedLeg.jpg

15.5.2 bullionPhysicalLeg

The intention of the new leg is to re-use as many existing commodity components as possible to achieve a flexible implementation of a forward that will be adaptable for use with further commodity classes.

Consequently, the BullionPhysicalLeg component will be a member of a choice group such that further commodity types can be added over time.

images/commodity-derivatives/bullionPhysicalLeg.jpg
Previous Top Next