Skip to main content
Version: Next

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"
}
]
}
}