Product
@experimental context type representing a tradable product. To be used with OMS and EMS systems.
This type is currently only loosely defined as an extensible context object, with an optional instrument field.
The Product schema does not explicitly include identifiers in the id section, as there is not a common standard for such identifiers. Applications can, however, populate this part of the contract with custom identifiers if so desired.
Schema
https://fdc3.finos.org/schemas/next/context/product.schema.json (github)
Type
fdc3.product
Properties
id (required)
type: object
Additional Properties
type: string
One or more identifiers that refer to the product. Specific key names for systems are expected to be standardized in future.
name
type: string
A human-readable summary of the product.
notes
type: string
A description or set of notes.
instrument
type: Instrument
A financial instrument that relates to the definition of this product
details
type: object
Subproperties:
description
type: string
A description of the product as a string mi the style often used by traders to describe products within a chat messaging system
Example:
"SPY CF W+ 20DEC24 580/590/600 1x2x1 r572.99 d13% (PHLX)"
orderType
type: string with values:
market,limit,limit-sell,buy-stop,stop-loss,stop,day,gtc,iceberg,once-cancels-the-other,immediate-or-cancel,all-or-none,fill-or-kill
The type of order
structureType
type: string
A description of the the structure or strategy of the product
Example:
"Call Fly Wing+"
exchange
type: string
The exchange or marketplace where the product is offered
Example:
"PHLX"
size
type: object
Subproperties:
min
type: number
The minimum size
max
type: number
The maximum size
increment
type: number
The amount to increment the size by
Logic used to determine the size, size limits and increments to use when trading the product.
price
type: object
Subproperties:
tick
type: number
Logic used to determine the size, size limits and increments to use when trading the product.
legs
type: array
Items
type: object
Subproperties:
id
type: string
Unique identifier for this order leg within the multi-leg order
expirationDate
type: string
For options, the date at which the contract expires.
maturityDate
type: string
The date on which the the issuer repays the holders.
strikePrice (required)
type: number
The price at which the underlying asset is bought or sold
ratioQty
type: number
A 'per unit' quantity for the leg as a ratio of the order size.
side (required)
type: string with values:
Buy,Sell
Indicates whether the asset is being bought or sold.
A part of a multi-part transaction.
Description of the parts of a multi-part transaction.
Details that further define this product.
Example
{
"type": "fdc3.product",
"id": {
"productId": "ABC123"
},
"notes": "Some notes attached to this product",
"instrument": {
"type": "fdc3.instrument",
"id": {
"ticker": "MSFT"
}
},
"details": {
"description": "SPY CF W+ 20DEC24 580/590/600 1x2x1 r572.99 d13% (PHLX)",
"structureType": "Call Fly Wing+",
"exchange": "PHLX",
"size": {
"min": 1000,
"increment": 100,
"type": "Lots"
},
"price": {
"tick": 0.1,
"type": "Price"
},
"legs": [
{
"type": "Call",
"maturityDate": "2024-12-20",
"strikePrice": 580,
"ratioQty": 1,
"side": "Buy"
},
{
"type": "Call",
"maturityDate": "2024-12-20",
"strikePrice": 590,
"ratioQty": -2,
"side": "Sell"
},
{
"type": "Call",
"maturityDate": "2024-12-20",
"strikePrice": 600,
"ratioQty": 1,
"side": "Buy"
}
]
}
}