Security Definition (d)

The CQG gateway sends this message in response to a client’s Security Definition Request (c).

For existing UDS, future, options, or native strategy specification requests (SecurityRequestType=0), it indicates whether the request was accepted (matching UDS, future, options, or native strategy found) or rejected (matching UDS, future, options, or native strategy not found). If accepted, it includes the leg definition of the strategy in case of UDS and native strategy, and contract specification in case of future or options.

For new UDS definition requests (SecurityRequestType=1), this message indicates whether the request was accepted or rejected. If accepted, it includes the symbol name that the client/gateway will use to identify the contract in all future messages (e.g. orders on that contract, or execution reports involving that contract) until the defined UDS will become non-tradable.

Notes:

      This response does not duplicate the complete leg definition of the strategy; requesting client is expected to know that already.

      If the UDS becomes non-tradable and your requests (orders, etc) are rejected, then re-define the strategy.

However, be aware that the newly defined strategy may have another symbol.

Currently, only CQG symbology is supported to identify leg contracts, although leg definition includes tags for custom FIX API vendor contract symbol mappings for future use. When custom contract symbol mappings are supported, several additional tags will be present along with each UnderlyingSymbol (311) tag: UnderlyingSymbolSfx (312), UnderlyingSecurityID (309), UnderlyingIDSource (305), UnderlyingSecurityType (310), UnderlyingMaturityMonthYear (313), UnderlyingMaturityDay (314), UnderlyingMaturityDate (50542), UnderlyingSecurityExchange (308), UnderlyingExDestination (20051), UnderelyingExchangeKeyID (20121).

 

Tag

Name

Format

Req

Comments

 

Standard Header

 

Y

MsgType = d

167

SecurityType

String

N

Indicates type of security.

200

MaturityMonthYear

MonthYear

N

Month and year of the maturity.

Format: YYYYMM.

For FIX message consistency, CQG defines maturity as contract last trading date.

201

PutOrCall

Int

N

Indicates whether an option is a put or call.

Valid values:

0 = Put

1 = Call

202

StrikePrice

Price

N

Strike Price for an option.

205

MaturityDay

Int

N

Day of the maturity.

Reserved for contract identification used by custom FIX API vendor contract symbol mappings. It should not appear for FIX vendors that do not have it explicitly configured.

For FIX message consistency, CQG defines maturity as contract last trading date.

207

SecurityExchange

String

N

Market used to help identify a security.

320

SecurityReqID

String(64)

Y

Unique ID for this request as assigned by the FIX client and sent with the Security Definition Request.

322

SecurityResponseID

String(64)

Y

Unique ID of this Security Definition.

323

SecurityResponseType

Int

C*

Valid values:

1 = Accept security proposal as is

5 = Reject security proposal

Required when response is to a Security Definition Request with SecurityRequestType = 1.

393

TotalNumSecurities

Int

Y

Total number of securities. Security definition is used only to respond to a single UDS definition request or request for specifications, so the CQG gateway always sends 1 if the strategy definition was successful or if the strategy was found and 0 if it was unsuccessful/not found.

541

MaturityDate

LocalMktDate

N

Date of maturity.

For FIX message consistency, CQG defines maturity as contract last trading date.

20140

TickSize

Price

N

Minimal contract price increment.

50461

CFICode

String

N

Indicates the type of security as per ISO 10962 standard.

For futures: FXXXXX;

For options: OPXXXX, OCXXXX;

For spreads: MXXXXX;

For other instruments: XXXXXX.

Reserved for contract identification used by custom  FIX Connect vendor contract symbol mappings. It should not appear for FIX vendors that do not have it explicitly configured.

50762

SecuritySubType

String

N

Sub-type qualification/identification of the SecurityType(167). For SecurityType(167) = "MLEG" CQG can provide the name of the futures strategy, such as Calendar, Crack, Butterfly, etc.

Reserved for contract identification used by custom  FIX Connect vendor contract symbol mappings. It should not appear for FIX vendors that do not have it explicitly configured.

55

Symbol

String(64)

N

Symbol for the UDS. This tag is present only if the definition was successful or the strategy was found.

15

Currency

String(64)

C

Currency code associated with the price. Sent only if tag 150 (ExecType) is 1 (Partial Fill) or 2 (Fill) on reports for single securities. For multi-leg securities, tag 50556 (LegCurrency) is populated instead. Currency format is ISO-4217-based currency code, note that cryptos use codes that are ISO-4217-style, though usually not actual ISO codes and can be longer than 3 chars.

58

Text

String

N

Free format text string. If the definition was rejected or the strategy not found, this tag should be present and contain information about the reason for failure.

20049

UserStrategyType

String(64)

C

Indicates strategy type the user defining the strategy specified. Required if SecurityRequestType=0 and strategy was found.

20119

ExchangeKeyID

String(10)

N

Unique identifier, assigned by the CQG gateway, for exchange.

20144

CurrentTickSize

Price

N

Current tick size value for contracts that changes it when the front month changes.

20145

MinimumTickSize

Price

N

Minimum tick size value for contracts that changes it when the front month changes.

20146

MaximumTickSize

Price

N

Maximum tick size value for contracts that changes it when the front month changes.

20607

ContractDate

LocalMktDate

N

Contract date of the symbol.

Remember that contract date may not match contract LTD, e.g. a June monthly contract may have LTD during May, while the first/last weekly contracts for a given month may have LTD in the prior/following month.

Month and Day portions follow the same rules described in ContractMonthYear and ContractDay.

20608

ContractDay

Int

N

Contract day of the symbol. Contains day of month (1-31).

For products with weekly listings, Contract Day identifies the day within the week according to product-specific conventions, e.g. some options use Friday's date to identify the week, while some weekly power contracts use Monday's date to identify the week.

For products with monthly or yearly listings, Contract Day is always 1.

20609

ContractMonthYear

MonthYear

N

Contract month and year of the symbol.

Format: YYYYMM.

Remember that contract month/year may not match LTD month/year, e.g. a June contract may have LTD during May.

For products with yearly listings, month portion is always 01.

Start of component block, expanded in line < PriceBasedVariableTickSizeGrp >

20141

NoPriceBasedTickSizes

Int

C

Number of MinPrice/TickSize pairs for contracts which have a tick size that changes according to price level.

20142

MinimumPrice

Price

Y

Minimum contract price that changes a tick size value.

20143

PriceBasedTickSize

Price

Y

Minimum price increment according to price level.

End of component block, expanded in line < PriceBasedVariableTickSizeGrp >

Start of component block, expanded in line < UnderlyingSecurityGrp >

146

NoRelatedSym

Int

C

Number of legs that make up the Security (UDS). UDS are always defined from the buy perspective, so leg qty and sides below correspond to buying the strategy. Required if SecurityRequestType=0.

20050

LegNumber

Int

C

Leg number within the strategy (1-based). Must be the first field in the repeating group. Required if NoRelatedSym > 0.

311

UnderlyingSymbol

String(64)

C

Contract of the leg. Corresponds to Symbol (55); see description in New Order Single (D). Required if NoRelatedSym > 0.

312

UnderlyingSymbolSfx

String

N

Corresponds to SymbolSfx (65); see description in New Order Single (D).

309

UnderlyingSecurityID

String

N

Corresponds to SecurityID (48); see description in New Order Single (D).

305

UnderlyingIDSource

String

N

Corresponds to IDSource (22); see description in New Order Single (D).

310

UnderlyingSecurityType

String

N

Indicates type of security.

Valid values: FUT, OPT, and MLEG.

313

UnderlyingMaturityMonthYear

MonthYear

N

Format: YYYYMM.

Corresponds to MaturityMonthYear (200); see description in New Order Single (D).

314

UnderlyingMaturityDay

Int

N

Corresponds to MaturityDay (205); see description in New Order Single (D).

315

UnderlyingPutOrCall

Int

N

Corresponds to PutOrCall (201); see description in New Order Single (D).

316

UnderlyingStrikePrice

Price

N

Corresponds to StrikePrice (202); see description in New Order Single (D).

50542

UnderlyingMaturityDate

LocalMktDate

N

Corresponds to MaturityDate (541); see description in New Order Single (D).

308

UnderlyingSecurityExchange

String

N

Corresponds to SecurityExchange (207); see description in New Order Single (D).

435

UnderlyingCouponRate

Price

N

Corresponds to CouponRate (223); see description in New Order Single (D).

50463

UnderlyingCFICode

String

N

Underlying security's CFICode as per ISO 10962 standard.

For futures: FXXXXX;

For options: OPXXXX, OCXXXX;

For spreads: MXXXXX;

For other instruments: XXXXXX.

20051

UnderlyingExDestination

String

N

Corresponds to ExDestination (100); see description in New Order Single (D).

à

318

UnderlyingCurrency

String(64)

N

Underlying security's currency. Currency format is ISO-4217-based currency code, note that cryptos use codes that are ISO-4217-style, though usually not actual ISO codes and can be longer than 3 chars.

319

RatioQty

Qty

C

This leg’s quantity ratio. Required if NoRelatedSym > 0.

54

Side

Char

C

This leg’s side.

Valid values:

1 = Buy

2 = Sell

Required if NoRelatedSym > 0.

20121

UnderlyingExchangeKeyID

String(10)

N

Corresponds to ExchangeKeyID field (tag 20119). See in Confirmation/Acknowledgement: Execution Report message.

20147

UnderlyingTickSize

Price

N

Minimal leg contract price increment.

20151

UnderlyingCurrentTickSize

Price

N

Current tick size value for leg contracts that changes it when the front month changes.

20152

UnderlyingMinimumTickSize

Price

N

Minimum tick size value for leg contracts that changes it when the front month changes.

20153

UnderlyingMaximumTickSize

Price

N

Maximum tick size value for leg contracts that changes it when the front month changes.

à

20613

UnderlyingContractDate

LocalMktDate

N

Contract date of the Underlying Symbol.

Remember that contract date may not match contract LTD, e.g. a June monthly contract may have LTD during May, while the first/last weekly contracts for a given month may have LTD in the prior/following month.

Month and Day portions follow the same rules described in ContractMonthYear and ContractDay.

à

20614

UnderlyingContractDay

Int

N

Contract day of the Underlying Symbol. Contains day of month (1-31).

For products with weekly listings, Contract Day identifies the day within the week according to product-specific conventions, e.g. some options use Friday's date to identify the week, while some weekly power contracts use Monday's date to identify the week.

For products with monthly or yearly listings, Contract Day is always 1.

à

20615

UnderlyingContractMonthYear

MonthYear

N

Contract month and year of the Underlying Symbol.

Format: YYYYMM.

Remember that contract month/year may not match LTD month/year, e.g. a June contract may have LTD during May.

For products with yearly listings, month portion is always 01.

à

50566

LegPrice

Price

N

Price of covering futures contract. Tag is present only for a Covered options UDS.

à

51017

LegOptionDelta

Float

N

Delta used to calculate the quantity of futures used to cover the option or options spread.

Value range depends on specific exchange rules.

Start of component block, expanded in line <UnderlyingPriceBasedTickSizeGrp>

20148

NoUnderlyingPriceBasedTickSizes

Int

C

Number of MinPrice/TickSize pairs for leg contracts which have a tick size that changes according to price level.

20149

UnderlyingMinimumPrice

Price

N

Minimum leg contract price that changes a tick size value.

20150

UnderlyingPriceBasedTickSize

Price

N

Leg contract minimum price increment according to price level.

End of component block, expanded in line < UnderlyingPriceBasedTickSizeGrp >

End of component block, expanded in line <UnderlyingSecurityGrp>

 

Standard Trailer

 

Y

 

 

Example: Security Definition

8=FIX.4.2 | 9=113 | 35=d | 320=Request113 | 322=214673df-7906-408e-bf6e-915568689eff | 323=1 | 393=1 | 55=U.Q1-641347 | 10=110 |