Composite Trade

Table of Contents

A composite trade is a hybrid position made of several component trades. ORE models it with the trade type CompositeTrade. The container node is CompositeTradeData. This note records the domain grounding, as ORE documents it in its product catalogue.

1. Identifiers

What a trader books it as, and what to grep for. The codes are the trade type catalogue's, which is what the database enforces.

Field Value
Full name Composite Trade
Short name Composite Trade
ORE Studio product code CompositeTrade
Asset class inherited from the component subtrades
Family none; a container rather than a shape, see product family
ORE trade data node CompositeTradeData
ORE documentation compositetrade.tex

2. Summary

A composite trade bundles several component trades into one position. It inherits the characteristics of the trades defined within it. The node carries a currency for the results, a method to calculate the trade notional from the components, and the list of components. A portfolio basket form names a basket from reference data instead.

3. Detail

3.1. What it is

ORE defines the product as follows:

A composite trade is a hybrid position consisting of multiple component subtrades. As such it inherits the characteristics of the trades defined within it.

Source: ORE User Guide, Products catalogue, compositetrade.tex.

ORE gives an example of a composite as follows:

Examples of Composite Trades include combinations of vanilla options like straddles.

Source: ORE User Guide, Products catalogue, compositetrade.tex.

ORE defines the container node as follows:

The CompositeTradeData node is the trade data container for the CompositeTrade trade type.

Source: ORE User Guide, Products catalogue, compositetrade.tex.

3.2. In plain terms

A composite trade is a wrapper around other trades. The wrapper makes several trades report as one position in one currency. The components keep their own payoff behaviour. A straddle is the classic example: one call and one put on the same underlying, booked as a single composite trade.

3.3. How it works in ORE

Currency defines the currency in which the NPV of the composite trade is represented. NotionalCalculation is optional and defines how the notional of the composite is calculated:

  • Sum: the sum of the notionals of the constituent trades. This is the default when the field is omitted.
  • Mean or Average: the mean of the notionals.
  • First: the notional of the first constituent trade.
  • Last: the notional of the last constituent trade.
  • Min: the minimum of the notionals.
  • Max: the maximum of the notionals.
  • Override: the notional is read directly from the override field.

NotionalOverride is optional; when given, it overrides any calculation method. Components is the portfolio of trades that make up the composite. The components are valid trade XMLs of the kind that could otherwise be entered into the portfolio, with the exception that they can have empty ids.

The node also has a portfolio basket form. PortfolioBasket is optional and indicates whether the components represent a portfolio basket. BasketName is the portfolio id. When PortfolioBasket is true, a BasketName must be given, and the basket is looked up in the reference data. IndexQuantity is the number of shares of the index.

3.4. Mathematical notes

The composite trade has no payoff of its own. Its value is the value of the component trades, valued with their own engines and models. The composite aggregates their notionals with the chosen method. Its NPV is reported in Currency, whatever the currencies of the components.

3.5. What moves its value (static sensitivities)

  • The risk factors of each component trade. The composite inherits them all.
  • The currency conversion into the reporting currency.
  • The notional aggregation method, which scales the reported quantities.

There is no single dominant risk factor. The profile is the sum of the profiles of the components.

3.6. How the profile ages (dynamic sensitivities)

A composite trade has no schedule of its own. Each component ages on its own schedule and matures on its own dates. The composite simply holds the components until they all run off.

3.7. Why a customer would want it

A composite trade books a strategy as one position. It reports one NPV, one notional and one set of results in one currency. A customer who trades straddles, or any basket of small trades with a common theme, books them as a composite. In ORE Studio a customer books composite trades to value them and run sensitivities on the ORE engine.

3.8. Example

ORE's catalogue shows a composite with two component trades and a sum notional:

<CompositeTradeData>
  <Currency>USD</Currency>
  <NotionalCalculation>Sum</NotionalCalculation>
  <Components>
    <SubTrade id="">
      <!-- A valid trade xml -->
    </SubTrade>
    <SubTrade id="">
      <!-- A valid trade xml -->
    </SubTrade>
  </Components>
</CompositeTradeData>

Source: ORE User Guide, Products catalogue, compositetrade.tex, listing Composite trade data. The catalogue also shows the portfolio basket form, in which PortfolioBasket is true and a BasketName and IndexQuantity are given.

4. See also

Emacs 29.3 (Org mode 9.6.15)