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.MeanorAverage: 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
- Knowledge — the hub of all knowledge notes, with the alphabetical product run.
- ORE User Guide, Product catalogue: products.tex, which inputs compositetrade.tex. The upstream project is OpenSourceRisk/Engine.