# FpML 4.2 Trial Recommendation

## 10 September 2021

## Reporting Component Definitions

### Version: 4.2

### This Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Latest Version:

> http://www.fpml.org/spec/fpml-4-2-13-tr-6

### Previous Version:

> https://www.fpml.org/spec/fpml-4-2-12-rec-2/

### Errata for this Version:

> http://www.fpml.org/spec/errata/fpml-4-2-13-tr-6-errata.html

Document built: Thu 09/09/2021 16:55:35.72

Copyright (c) 1999 - 2006 by INTERNATIONAL SWAPS AND DERIVATIVES ASSOCIATION, INC.
Financial Products Markup Language is subject to the FpML public license
A copy of this license is available at http://www.fpml.org/documents/license.html

The FpML specifications provided are without warranty of any kind, either expressed or implied, including, without limitation, warranties that FpML, or the FpML specifications are free of defects, merchantable, fit for a particular purpose or non-infringing. The entire risk as to the quality and performance of the specifications is with you. Should any of the FpML specifications prove defective in any respect, you assume the cost of any necessary servicing or repair. Under no circumstances and under no legal theory, whether tort (including negligence), contract, or otherwise, shall ISDA, any of its members, or any distributor of documents or software containing any of the FpML specifications, or any supplier of any of such parties, be liable to you or any other person for any indirect, special, incidental, or consequential damages of any character including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses, even if such party shall have been informed of the possibility of such damages.

# Contents

  Global Simple Types
  Global Complex Types
    PortfolioValuationItem
    PositionReport
    RequestValuationReport
    TradeValuationItem
    ValuationReport
  Global Elements
    portfolio
    queryPortfolio
  Groups
  Schema Listing

# Global Simple Types

The schema does not contain any global simple types.

# Global Complex Types

## PortfolioValuationItem

### Description:

A type used in valuation enquiry messages which relates a portfolio to its trades and current value.

### Figure:

### Contents:

Portfolio identifier portfolio (exactly one occurrence; of the type Portfolio)

- Global portfolio element used as a basis for a substitution group.

tradeValuationItem (zero or more occurrences; of the type TradeValuationItem)

- Zero or more trade valuation items.

The portfolio valuation. valuationSet (zero or one occurrence; of the type ValuationSet)

### Used by:

- RequestValuationReport/portfolioValuationItem
- ValuationReport/portfolioValuationItem

### Schema Fragment:

    <xsd:complexType name="PortfolioValuationItem">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used in valuation enquiry messages which relates a
          portfolio to its trades and current value.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element ref="portfolio">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Portfolio identifier
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Zero or more trade valuation items.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="valuationSet" minOccurs="0">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The portfolio valuation.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## PositionReport

### Description:

A type defining the content model for a message allowing one party to send a report consisting of positions.

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type NotificationMessage)

- A type defining the basic content for a message sent to inform another system that some 'business event' has occured. Notifications are not expected to be replied to.

asOfDate (zero or one occurrence; of the type IdentifiedDate)

- The date for which this document reports positions and valuations.

dataSetName (zero or one occurrence; of the type xsd:string)

- The name of the data set (portfolio, product type, etc.) that this report corresponds to. Used to help document the contents of the report.

quotationCharacteristics (zero or one occurrence; of the type QuotationCharacteristics)

- The default quotation characteristics for this document (e.g. currency, location). Currency must be specified; other fields may be specified.

position (one or more occurrences; of the type Position)

- The positions included in the position report.

party (one or more occurrences; of the type Party)

- The parties whose trades are included included in this position report.

### Used by:

### Extension of:

- NotificationMessage

### Schema Fragment:

    <xsd:complexType name="PositionReport">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the content model for a message allowing one
          party to send a report consisting of positions.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="NotificationMessage">
          <xsd:sequence>
            <xsd:element name="asOfDate" type="IdentifiedDate" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The date for which this document reports positions and
                  valuations.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="dataSetName" type="xsd:string" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The name of the data set (portfolio, product type, etc.)
                  that this report corresponds to. Used to help document
                  the contents of the report.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="quotationCharacteristics" type="QuotationCharacteristics" minOccurs="0">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The default quotation characteristics for this document
                  (e.g. currency, location). Currency must be specified;
                  other fields may be specified.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="position" type="Position" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The positions included in the position report.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="party" type="Party" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  The parties whose trades are included included in this
                  position report.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## RequestValuationReport

### Description:

A type defining the content model for a message allowing one party a report containing valuations of one or many existing trades.

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type RequestMessage)

- A type defining the basic content of a message that requests the receiver to perform some business operation determined by the message type and its content.

party (one or more occurrences; of the type Party)

market (zero or one occurrence; of the type Market)

- This is a global element used for creating global types. It holds Market information, e.g. curves, surfaces, quotes, etc.

portfolioValuationItem (zero or more occurrences; of the type PortfolioValuationItem)

- An instance of a unique portfolio valuation.

tradeValuationItem (zero or more occurrences; of the type TradeValuationItem)

- An instance of a unique trade valuation.

### Used by:

### Extension of:

- RequestMessage

### Schema Fragment:

    <xsd:complexType name="RequestValuationReport">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the content model for a message allowing one
          party a report containing valuations of one or many existing
          trades.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="RequestMessage">
          <xsd:sequence>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            <xsd:element ref="market" minOccurs="0"/>
            <xsd:element name="portfolioValuationItem" type="PortfolioValuationItem" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An instance of a unique portfolio valuation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An instance of a unique trade valuation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

## TradeValuationItem

### Description:

A type used in trade valuation enquiry messages which relates a trade identifier to its current value.

### Figure:

### Contents:

partyTradeIdentifier (zero or more occurrences; of the type PartyTradeIdentifier)

- One or more trade identifiers needed to uniquely identify a trade.

trade (zero or more occurrences; of the type Trade)

- Fully-described trades whose values are reported.

The trade valuation. valuationSet (exactly one occurrence; of the type ValuationSet)

### Used by:

- PortfolioValuationItem/tradeValuationItem
- RequestValuationReport/tradeValuationItem
- ValuationReport/tradeValuationItem

### Schema Fragment:

    <xsd:complexType name="TradeValuationItem">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type used in trade valuation enquiry messages which relates a
          trade identifier to its current value.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:sequence>
        <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              One or more trade identifiers needed to uniquely identify a
              trade.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element name="trade" type="Trade" minOccurs="0" maxOccurs="unbounded">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              Fully-described trades whose values are reported.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
        <xsd:element ref="valuationSet">
          <xsd:annotation>
            <xsd:documentation xml:lang="en">
              The trade valuation.
            </xsd:documentation>
          </xsd:annotation>
        </xsd:element>
      </xsd:sequence>
    </xsd:complexType>

## ValuationReport

### Description:

A type defining the content model for a message normally generated in response to a RequestValuationReport request.

### Figure:

### Contents:

Inherited element(s): (This definition inherits the content defined by the type NotificationMessage)

- A type defining the basic content for a message sent to inform another system that some 'business event' has occured. Notifications are not expected to be replied to.

party (one or more occurrences; of the type Party)

market (zero or one occurrence; of the type Market)

- This is a global element used for creating global types. It holds Market information, e.g. curves, surfaces, quotes, etc.

portfolioValuationItem (zero or more occurrences; of the type PortfolioValuationItem)

- An instance of a unique portfolio valuation.

tradeValuationItem (zero or more occurrences; of the type TradeValuationItem)

- A collection of data values describing the state of the given trade.

### Used by:

### Extension of:

- NotificationMessage

### Schema Fragment:

    <xsd:complexType name="ValuationReport">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          A type defining the content model for a message normally
          generated in response to a RequestValuationReport request.
        </xsd:documentation>
      </xsd:annotation>
      <xsd:complexContent>
        <xsd:extension base="NotificationMessage">
          <xsd:sequence>
            <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
            <xsd:element ref="market" minOccurs="0"/>
            <xsd:element name="portfolioValuationItem" type="PortfolioValuationItem" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  An instance of a unique portfolio valuation.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
            <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
              <xsd:annotation>
                <xsd:documentation xml:lang="en">
                  A collection of data values describing the state of the
                  given trade.
                </xsd:documentation>
              </xsd:annotation>
            </xsd:element>
          </xsd:sequence>
        </xsd:extension>
      </xsd:complexContent>
    </xsd:complexType>

# Global Elements

## portfolio

### Description:

Global portfolio element used as a basis for a substitution group.

### Figure:

### Contents:

Element portfolio is defined by the complex type Portfolio

### Used by:

- PortfolioValuationItem

### Substituted by:

- queryPortfolio

### Schema Fragment:

    <xsd:element name="portfolio" type="Portfolio">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Global portfolio element used as a basis for a substitution
          group.
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

## queryPortfolio

### Description:

Global element used to substitute for "portfolio".

### Figure:

### Contents:

Element queryPortfolio is defined by the complex type QueryPortfolio

### Used by:

### Schema Fragment:

    <xsd:element name="queryPortfolio" type="QueryPortfolio" substitutionGroup="portfolio">
      <xsd:annotation>
        <xsd:documentation xml:lang="en">
          Global element used to substitute for "portfolio".
        </xsd:documentation>
      </xsd:annotation>
    </xsd:element>

# Groups

The schema does not contain any groups.

# Full XML Schema

    <xsd:schema targetNamespace="http://www.fpml.org/2005/FpML-4-2" elementFormDefault="qualified" attributeFormDefault="unqualified" version="$Revision: 884 $">
      <xsd:include schemaLocation="fpml-msg-4-2.xsd"/>
      <xsd:include schemaLocation="fpml-valuation-4-2.xsd"/>
      <xsd:complexType name="PositionReport">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the content model for a message allowing one
            party to send a report consisting of positions.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="NotificationMessage">
            <xsd:sequence>
              <xsd:element name="asOfDate" type="IdentifiedDate" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The date for which this document reports positions and
                    valuations.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="dataSetName" type="xsd:string" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The name of the data set (portfolio, product type,
                    etc.) that this report corresponds to. Used to help
                    document the contents of the report.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="quotationCharacteristics" type="QuotationCharacteristics" minOccurs="0">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The default quotation characteristics for this document
                    (e.g. currency, location). Currency must be specified;
                    other fields may be specified.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="position" type="Position" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The positions included in the position report.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="party" type="Party" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    The parties whose trades are included included in this
                    position report.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="PortfolioValuationItem">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used in valuation enquiry messages which relates a
            portfolio to its trades and current value.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element ref="portfolio">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Portfolio identifier
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Zero or more trade valuation items.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element ref="valuationSet" minOccurs="0">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The portfolio valuation.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="RequestValuationReport">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the content model for a message allowing one
            party a report containing valuations of one or many existing
            trades.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="RequestMessage">
            <xsd:sequence>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
              <xsd:element ref="market" minOccurs="0"/>
              <xsd:element name="portfolioValuationItem" type="PortfolioValuationItem" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    An instance of a unique portfolio valuation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    An instance of a unique trade valuation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:complexType name="TradeValuationItem">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type used in trade valuation enquiry messages which relates a
            trade identifier to its current value.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:sequence>
          <xsd:element name="partyTradeIdentifier" type="PartyTradeIdentifier" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                One or more trade identifiers needed to uniquely identify a
                trade.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element name="trade" type="Trade" minOccurs="0" maxOccurs="unbounded">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                Fully-described trades whose values are reported.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
          <xsd:element ref="valuationSet">
            <xsd:annotation>
              <xsd:documentation xml:lang="en">
                The trade valuation.
              </xsd:documentation>
            </xsd:annotation>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="ValuationReport">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            A type defining the content model for a message normally
            generated in response to a RequestValuationReport request.
          </xsd:documentation>
        </xsd:annotation>
        <xsd:complexContent>
          <xsd:extension base="NotificationMessage">
            <xsd:sequence>
              <xsd:element name="party" type="Party" maxOccurs="unbounded"/>
              <xsd:element ref="market" minOccurs="0"/>
              <xsd:element name="portfolioValuationItem" type="PortfolioValuationItem" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    An instance of a unique portfolio valuation.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
              <xsd:element name="tradeValuationItem" type="TradeValuationItem" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                  <xsd:documentation xml:lang="en">
                    A collection of data values describing the state of the
                    given trade.
                  </xsd:documentation>
                </xsd:annotation>
              </xsd:element>
            </xsd:sequence>
          </xsd:extension>
        </xsd:complexContent>
      </xsd:complexType>
      <xsd:element name="portfolio" type="Portfolio">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Global portfolio element used as a basis for a substitution
            group.
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
      <xsd:element name="queryPortfolio" type="QueryPortfolio" substitutionGroup="portfolio">
        <xsd:annotation>
          <xsd:documentation xml:lang="en">
            Global element used to substitute for "portfolio".
          </xsd:documentation>
        </xsd:annotation>
      </xsd:element>
    </xsd:schema>