Documentation generated automatically from the IPL model code.

Messages

8: ExecutionReport
The execution report message is used to: 1. Confirm the receipt of an order 2. Confirm changes to an existing order (i.e. accept cancel and replace requests) 3. Relay order status information 4. Relay fill information on working orders 5. Reject orders 6. Report post-trade fees calculations associated with a trade
TagNameRequiredTypeValidations
1Accountstring
Accountmust bestate.Account
6AvgPxfloat
11ClOrdIDstring
ClOrdIDmust bestate.ClOrdID
14CumQtyfloat
CumQty>=0.0
15CurrencyCurrency
17ExecIDstring
19ExecRefIDstring
18ExecInst
ExecInstmust bestate.ExecInst
20ExecTransTypeExecTransType
ExecTransTypemust beNew
22IDSourceIDSource
37OrderIDstring
OrderIDmust bestate.OrderID
38OrderQtyfloat
OrderQtymust bestate.OrderQty
103OrdRejReasonOrdRejReason
39OrdStatusOrdStatus
40OrdTypeOrdType
OrdTypemust bestate.OrdType
44Pricefloat
Pricemust bestate.Price
48SecurityIDstring
54SideSide
Sidemust bestate.Side
55Symbolstring
Symbolmust bestate.Symbol
58Textstring
59TimeInForceTimeInForce
TimeInForcemust bestate.TimeInForce
60TransactTimeUTCTimestamp
110MinQtyfloat
MinQtymust bestate.MinQty
126ExpireTimeUTCTimestamp
ExpireTimemust bestate.ExpireTime
150ExecTypeExecType
151LeavesQtyfloat
LeavesQtymust be0.0
or
LeavesQtymust be
leavesQty
()
207SecurityExchangeExchange
30LastMktExchange
whenLastMktis present
LastMktmust be one of
[OCXEOCXL]
31LastPxfloat
32LastSharesfloat
375ContraBrokerstring
382NoContraBrokersint
211PegDifferencefloat
PegDifferencemust bestate.PegDifference
1724OrderOriginationOrderOrigination
2362SelfMatchPreventionIDint
8015OrderAttributeTypes
20001AnalyticsTagsstring
AnalyticsTagsmust bestate.AnalyticsTags
20005AuctionIDint
20006AuctionSubIDint
41OrigClOrdIDstring
20007CancelReasonCancelReason
9730TradeLiquidityIndicatorstring
Parties
Parties (repeating group)
Validations
Accountmust bestate.Account
AvgPxis required
ClOrdIDis required
and
ClOrdIDmust bestate.ClOrdID
CumQtyis required
and
CumQty>=0.0
ExecIDis required
ExecInstmust bestate.ExecInst
ExecTransTypeis required
and
ExecTransTypemust beNew
OrderIDis required
and
OrderIDmust bestate.OrderID
OrderQtyis required
and
OrderQtymust bestate.OrderQty
OrdStatusis required
OrdTypeis required
and
OrdTypemust bestate.OrdType
Pricemust bestate.Price
Sideis required
and
Sidemust bestate.Side
Symbolmust bestate.Symbol
TimeInForceis required
and
TimeInForcemust bestate.TimeInForce
TransactTimeis required
MinQtymust bestate.MinQty
ExpireTimemust bestate.ExpireTime
ExecTypeis required
LeavesQtyis required
and
LeavesQtymust be0.0
or
LeavesQtymust be
leavesQty
()
whenLastMktis present
LastMktmust be one of
[OCXEOCXL]
PegDifferencemust bestate.PegDifference
OrderOriginationis required
OrderAttributeTypesis required
AnalyticsTagsmust bestate.AnalyticsTags
Partiesis required
state.orderEntry.isConnected
caseIDSource
whenSome idSource
when
Symbolis not present
and
SecurityIDis present
and
idSourceisISINNumber
then
Currencymust be present
and
SecurityExchangemust be present
whenNone
Symbolmust be present
and
SecurityIDmust not be present
when
ExecTypeis one of
[PartialFillFill]
then
LastMktmust be present
and
LastPxmust be present
and
LastSharesmust be present
and
ContraBrokermust be one of
["OCXL""OCXE"]
and
NoContraBrokersmust be1
and
AuctionIDmust be present
and
AuctionSubIDmust be present
when
ExecTypeis not one of
[PartialFillFill]
then
not
ContraBrokeris present
or
NoContraBrokersis present
or
AuctionIDis present
or
AuctionSubIDis present
when
ExecTypeis notNew
then
SelfMatchPreventionIDmust not be present
when
ExecTypeisNew
then
AvgPxmust be0.0
when
ExecTypeisReplaced
then
OrigClOrdIDmust be present
when
ExecTypeisRejected
then
when
OrdRejReasonis present
and
ExecTypeis notRejected
then
OrdRejReasonmust not be present
when
OrdStatusis one of
[CanceledExpiredRejected]
then
LeavesQtymust be0.0
when
OrdStatusis not one of
[CanceledExpiredRejected]
then
LeavesQtymust be
OrderQty-CumQty
when
ExecTypeis one of
NewCanceledRejectedReplacedPendingCancelPendingReplace
then
LastPxmust be0.0
and
LastSharesmust be0.0
when
ExecTypeisCanceled
then
when
CancelReasonis present
and
ExecTypeis notCanceled
then
CancelReasonmust not be present
when
ExecTypeis one of
[FillPartialFill]
then
TradeLiquidityIndicatormust be present
AuctionIDmust be present
and
AuctionSubIDmust be present
D: NewOrderSingle
The new order message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution.
TagNameRequiredTypeValidations
1Accountstring
whenAccountis present
stringLength(Account)
<=32
11ClOrdIDstring
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
15CurrencyCurrency
18ExecInst
whenExecInstis present
subset(
ExecInst
[MidPricePegNearTouchPegFarTouchPeg]
)
22IDSourceIDSource
21HandlInstHandlInst
38OrderQtyfloat
OrderQty>0.0
40OrdTypeOrdType
44Pricefloat
whenPriceis present
Price>0.0
48SecurityIDstring
54SideSide
55Symbolstring
59TimeInForceTimeInForce
60TransactTimeUTCTimestamp
110MinQtyfloat
whenMinQtyis present
MinQty>0.0
126ExpireTimeUTCTimestamp
207SecurityExchangeExchange
211PegDifferencefloat
528OrderCapacityOrderCapacity
1724OrderOriginationOrderOrigination
2362SelfMatchPreventionIDint
whenSelfMatchPreventionIDis present
SelfMatchPreventionID>=0
and
SelfMatchPreventionID<=65535
8015OrderAttributeTypes
Parties
Parties (repeating group)
20001AnalyticsTagsstring
whenAnalyticsTagsis present
stringLength(AnalyticsTags)
<=32
20004ExpressiveBidURIstring
20009ExpressiveBidArgument1string
20010ExpressiveBidArgument2string
20011ExpressiveBidArgument3string
20012ExpressiveBidArgument4string
20028LegIDint
whenLegIDis present
LegID<255
20029BasketIDstring
whenBasketIDis present
stringLength(BasketID)
<=32
Validations
whenAccountis present
stringLength(Account)
<=32
ClOrdIDis required
and
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
whenExecInstis present
subset(
ExecInst
[MidPricePegNearTouchPegFarTouchPeg]
)
HandlInstis required
OrderQtyis required
and
OrderQty>0.0
OrdTypeis required
whenPriceis present
Price>0.0
Sideis required
TimeInForceis required
TransactTimeis required
whenMinQtyis present
MinQty>0.0
OrderCapacityis required
OrderOriginationis required
whenSelfMatchPreventionIDis present
SelfMatchPreventionID>=0
and
SelfMatchPreventionID<=65535
OrderAttributeTypesis required
Partiesis required
whenAnalyticsTagsis present
stringLength(AnalyticsTags)
<=32
whenLegIDis present
LegID<255
whenBasketIDis present
stringLength(BasketID)
<=32
state.orderEntry.isConnected
when
state.portSettings.dropCopyDisconnect.rejectNew
then
state.orderEntry.isDropCopyConnected
isUnusedClOrdId
(ClOrdID)
isMarketHours
()
when
contains_peg_exec_inst
(ExecInst)
then
OrdTypemust bePegged
and vice versa.
caseIDSource
whenSome idSource
when
Symbolis not present
and
SecurityIDis present
and
idSourceisISINNumber
then
Currencymust be present
and
SecurityExchangemust be present
whenNone
Symbolmust be present
and
SecurityIDmust not be present
isValidSymbol
(Symbol)
when
OrdTypeisLimit
then
Pricemust be present
when
TimeInForceisGoodTillDate
then
ExpireTimemust be present
when
TimeInForceis notGoodTillDate
then
ExpireTimemust not be present
when
TimeInForceis one of
[FillOrKill]
then
MinQtymust not be present
or
whenMinQtyis present
MinQtymust beOrderQty
isValidExpireTime
(ExpireTime)
whenMinQtyis present
MinQty<=OrderQty
when
PegDifferenceis present
then
contains_peg_exec_inst
(ExecInst)
not
isMaxOrderSizeExceeded
(OrderQty)
validExecInst
(ExecInst)
when
not
state.portSettings.allowExpressiveBidding
then
ExpressiveBidArgument3must not be present
and
ExpressiveBidArgument4must not be present
and
LegIDmust not be present
and
BasketIDmust not be present
9: OrderCancelReject
The order cancel reject message is issued by the broker upon receipt of a cancel request or cancel/replace request message which cannot be honored.
TagNameRequiredTypeValidations
1Accountstring
Accountmust bestate.Account
11ClOrdIDstring
ClOrdIDmust bestate.ClOrdID
37OrderIDstring
39OrdStatusOrdStatus
OrdStatusmust bestate.OrdStatus
41OrigClOrdIDstring
58Textstring
102CxlRejReasonCxlRejReason
434CxlRejResponseToCxlRejResponseTo
Validations
Accountmust bestate.Account
ClOrdIDis required
and
ClOrdIDmust bestate.ClOrdID
OrderIDis required
OrdStatusis required
and
OrdStatusmust bestate.OrdStatus
CxlRejReasonis required
CxlRejResponseTois required
state.orderEntry.isConnected
G: OrderCancelReplaceRequest
The order cancel/replace request is used to change the parameters of an existing order.
TagNameRequiredTypeValidations
1Accountstring
whenAccountis present
stringLength(Account)
>0
and
stringLength(Account)
<=32
11ClOrdIDstring
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
15CurrencyCurrency
18ExecInst
ExecInstmust bestate.ExecInst
21HandlInstHandlInst
22IDSourceIDSource
38OrderQtyfloat
isLegalModifyQty
(OrderQty)
40OrdTypeOrdType
OrdTypemust bestate.OrdType
44Pricefloat
48SecurityIDstring
54SideSide
Sidemust bestate.Side
55Symbolstring
Symbolmust bestate.Symbol
59TimeInForceTimeInForce
TimeInForcemust bestate.TimeInForce
60TransactTimeUTCTimestamp
110MinQtyfloat
whenMinQtyis present
MinQty>0.0
41OrigClOrdIDstring
stringLength(OrigClOrdID)
>0
and
stringLength(OrigClOrdID)
<=32
126ExpireTimeUTCTimestamp
ExpireTimemust bestate.ExpireTime
211PegDifferencefloat
207SecurityExchangeExchange
20001AnalyticsTagsstring
whenAnalyticsTagsis present
AnalyticsTagsmust bestate.AnalyticsTags
20004ExpressiveBidURIstring
20009ExpressiveBidArgument1string
20010ExpressiveBidArgument2string
20011ExpressiveBidArgument3string
20012ExpressiveBidArgument4string
20028LegIDint
whenLegIDis present
LegIDmust bestate.LegID
20029BasketIDstring
whenBasketIDis present
BasketIDmust bestate.BasketID
Validations
whenAccountis present
stringLength(Account)
>0
and
stringLength(Account)
<=32
ClOrdIDis required
and
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
ExecInstmust bestate.ExecInst
HandlInstis required
isLegalModifyQty
(OrderQty)
OrdTypeis required
and
OrdTypemust bestate.OrdType
Sideis required
and
Sidemust bestate.Side
Symbolmust bestate.Symbol
TimeInForceis required
and
TimeInForcemust bestate.TimeInForce
TransactTimeis required
whenMinQtyis present
MinQty>0.0
OrigClOrdIDis required
and
stringLength(OrigClOrdID)
>0
and
stringLength(OrigClOrdID)
<=32
ExpireTimemust bestate.ExpireTime
whenAnalyticsTagsis present
AnalyticsTagsmust bestate.AnalyticsTags
whenLegIDis present
LegIDmust bestate.LegID
whenBasketIDis present
BasketIDmust bestate.BasketID
state.orderEntry.isConnected
isUnusedClOrdId
(ClOrdID)
OrigClOrdIDmust bestate.ClOrdID
isMarketHours
()
isLegalStateForCancelOrModify
(state.OrdStatus)
when
OrdTypeisLimit
then
state.Pricemust be present
whenMinQtyis present
MinQty<=OrderQty
when
PegDifferenceis present
then
contains_peg_exec_inst
(ExecInst)
not
isMaxOrderSizeExceeded
(OrderQty)
caseIDSource
whenSome idSource
when
Symbolis not present
and
SecurityIDis present
and
idSourceisISINNumber
then
Currencymust be present
and
SecurityExchangemust be present
whenNone
Symbolmust be present
and
SecurityIDmust not be present
when
not
state.portSettings.allowExpressiveBidding
then
ExpressiveBidArgument3must not be present
and
ExpressiveBidArgument4must not be present
F: OrderCancelRequest
The order cancel request message requests the cancellation of all of the remaining quantity of an existing order.
TagNameRequiredTypeValidations
11ClOrdIDstring
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
15CurrencyCurrency
22IDSourceIDSource
37OrderIDstring
whenOrderIDis present
stringLength(OrderID)
>0
and
stringLength(OrderID)
<=32
41OrigClOrdIDstring
whenOrigClOrdIDis present
stringLength(OrigClOrdID)
>0
and
stringLength(OrigClOrdID)
<=32
38OrderQtyfloat
48SecurityIDstring
54SideSide
Sidemust bestate.Side
55Symbolstring
Symbolmust bestate.Symbol
60TransactTimeUTCTimestamp
207SecurityExchangeExchange
20001AnalyticsTagsstring
Validations
ClOrdIDis required
and
stringLength(ClOrdID)
>0
and
stringLength(ClOrdID)
<=32
whenOrderIDis present
stringLength(OrderID)
>0
and
stringLength(OrderID)
<=32
whenOrigClOrdIDis present
stringLength(OrigClOrdID)
>0
and
stringLength(OrigClOrdID)
<=32
Sideis required
and
Sidemust bestate.Side
Symbolmust bestate.Symbol
TransactTimeis required
state.orderEntry.isConnected
isUnusedClOrdId
(ClOrdID)
isLegalCancelOrder
(OrderID,OrigClOrdID)
isMarketHours
()
isLegalStateForCancelOrModify
(state.OrdStatus)
caseIDSource
whenSome idSource
when
Symbolis not present
and
SecurityIDis present
and
idSourceisISINNumber
then
Currencymust be present
and
SecurityExchangemust be present
whenNone
Symbolmust be present
and
SecurityIDmust not be present
UCC: TradeCancelCorrect
No descriptions found for message with tag UCC
TagNameRequiredTypeValidations
11ClOrdIDstring
ClOrdIDmust bestate.ClOrdID
15CurrencyCurrency
17ExecIDstring
19ExecRefIDstring
20ExecTransTypeExecTransType
ExecTransTypemust be one of
[CancelCorrect]
22IDSourceIDSource
30LastMktExchange
31LastPxfloat
32LastSharesfloat
37OrderIDstring
OrderIDmust bestate.OrderID
42OrigTimeUTCTimestamp
48SecurityIDstring
54SideSide
Sidemust bestate.Side
55Symbolstring
Symbolmust bestate.Symbol
60TransactTimeUTCTimestamp
207SecurityExchangeExchange
9730TradeLiquidityIndicatorstring
Validations
ClOrdIDis required
and
ClOrdIDmust bestate.ClOrdID
ExecIDis required
ExecRefIDis required
ExecTransTypeis required
and
ExecTransTypemust be one of
[CancelCorrect]
LastMktis required
LastPxis required
LastSharesis required
OrderIDis required
and
OrderIDmust bestate.OrderID
OrigTimeis required
Sideis required
and
Sidemust bestate.Side
Symbolmust bestate.Symbol
TransactTimeis required
TradeLiquidityIndicatoris required
state.orderEntry.isConnected
caseIDSource
whenSome idSource
when
Symbolis not present
and
SecurityIDis present
and
idSourceisISINNumber
then
Currencymust be present
and
SecurityExchangemust be present
whenNone
Symbolmust be present
and
SecurityIDmust not be present
OrderEntrymust be one ofstate.portSettings.tradeBustReporting
or
DropCopymust be one ofstate.portSettings.tradeBustReporting

Fields

TagNameTypeMember of
9730TradeLiquidityIndicatorstring
8015OrderAttributeTypes
60TransactTimeUTCTimestamp
6AvgPxfloat
59TimeInForceTimeInForce
58Textstring
55Symbolstring
54SideSide
528OrderCapacityOrderCapacity
48SecurityIDstring
44Pricefloat
434CxlRejResponseToCxlRejResponseTo
42OrigTimeUTCTimestamp
41OrigClOrdIDstring
40OrdTypeOrdType
39OrdStatusOrdStatus
382NoContraBrokersint
38OrderQtyfloat
375ContraBrokerstring
37OrderIDstring
32LastSharesfloat
31LastPxfloat
30LastMktExchange
2362SelfMatchPreventionIDint
22IDSourceIDSource
211PegDifferencefloat
21HandlInstHandlInst
207SecurityExchangeExchange
20029BasketIDstring
20028LegIDint
20012ExpressiveBidArgument4string
20011ExpressiveBidArgument3string
20010ExpressiveBidArgument2string
20009ExpressiveBidArgument1string
20007CancelReasonCancelReason
20006AuctionSubIDint
20005AuctionIDint
20004ExpressiveBidURIstring
20001AnalyticsTagsstring
20ExecTransTypeExecTransType
19ExecRefIDstring
18ExecInst
1724OrderOriginationOrderOrigination
17ExecIDstring
151LeavesQtyfloat
150ExecTypeExecType
15CurrencyCurrency
14CumQtyfloat
126ExpireTimeUTCTimestamp
110MinQtyfloat
11ClOrdIDstring
103OrdRejReasonOrdRejReason
102CxlRejReasonCxlRejReason
1Accountstring

Enumeration types

CancelReason
Encoding: string
No descriptions found for enumeration type CancelReason
CaseTag
Unspecified0
UserInitiated1
IOC2
FOK3
TimeInForce4
Halt5
OrderEntryDisconnect6
DropCopyDisconnect7
Currency
Encoding: string
three letter code from ISO4217
CaseTag
EUREUR
GBPGBP
USDUSD
CHFCHF
CxlRejReason
Encoding: int
Code to identify reason for cancel rejection.
CaseTag
TooLateToCancel0
UnknownOrder1
OrderAlreadyInPendingStatus3
BrokerOption2
InvalidExpressiveBidURI4
CxlRejResponseTo
Encoding: char
Identifies the type of request that a Cancel Reject is in response to.
CaseTag
OrderCancelRequest1
OrderCancelReplaceRequest2
Exchange
Encoding: string
ISO 10383 Market Identifier Code
CaseTag
OCXLOCXL
OCXEOCXE
ExecInst
Encoding: MultipleValueChar
Instructions for order handling on exchange trading floor. If more than one instruction is applicable to an order, this field can contain multiple instructions separated by space.
CaseTag
MidPricePegM
NearTouchPegR
FarTouchPegP
ExecTransType
Encoding: char
Identifies transaction type
CaseTag
New0
Cancel1
Correct2
Status3
ExecType
Encoding: char
Describes the specific ExecutionRpt (i.e. Pending Cancel) while OrdStatus will always identify the current order status (i.e. Partially Filled)
CaseTag
New0
PartialFill1
Fill2
PendingReplaceE
Replaced5
PendingCancel6
Canceled4
DoneForDay3
ExpiredC
Rejected8
HandlInst
Encoding: char
Instructions for order handling on Broker trading floor
CaseTag
AutomatedExecutionNoIntervention1
IDSource
Encoding: string
Identifies class of alternative SecurityID
CaseTag
ISINNumber4
RICCode5
OrdRejReason
Encoding: int
Code to identify reason for order rejection.
CaseTag
UnknownSymbol1
ExchangeClosed2
OrderExceedsLimit3
DuplicateOrder6
BrokerOption0
InvalidExpressiveBidURI9
OrdStatus
Encoding: char
Identifies current status of order.
CaseTag
PendingNewA
New0
PartiallyFilled1
Filled2
PendingReplaceE
Replaced5
PendingCancel6
Canceled4
ExpiredC
Rejected8
OrdType
Encoding: char
Order type.
CaseTag
Limit2
PeggedP
OrderAttributeTypes
Encoding: MultipleValueInt
No descriptions found for enumeration type OrderAttributeTypes
CaseTag
LiquidityProvisionActivity2
AlgorithmicOrder4
OrderCapacity
Encoding: string
No descriptions found for enumeration type OrderCapacity
CaseTag
AgencyA
PrincipalP
RisklessPrincipalR
OrderOrigination
Encoding: int
No descriptions found for enumeration type OrderOrigination
CaseTag
NonDEA0
DEA5
PartyIDSource
Encoding: string
No descriptions found for enumeration type PartyIDSource
CaseTag
ShortCodeIdentifierP
PartyRole
Encoding: int
No descriptions found for enumeration type PartyRole
CaseTag
ClientId3
ExecutingTrader12
InvestorId122
PartyRoleQualifier
Encoding: int
No descriptions found for enumeration type PartyRoleQualifier
CaseTag
NoQualifier0
Algorithm22
LEI23
NaturalPerson24
Side
Encoding: char
Side of order
CaseTag
Buy1
Sell2
TimeInForce
Encoding: char
Specifies how long the order remains in effect. Absence of this field is interpreted as DAY.
CaseTag
Day0
ImmediateOrCancel3
FillOrKill4
GoodTillDate6
auctionCycle
Encoding: string
No descriptions found for enumeration type auctionCycle
CaseTag
ContinuousOrderManagement
LockedForOptimization
SendingFills
dropCopyType
Encoding: string
No descriptions found for enumeration type dropCopyType
CaseTag
OrderByOrder0
OnlyFills1
session
Encoding: string
No descriptions found for enumeration type session
CaseTag
PreMarketOrderEntry
RegularMarket
PostMarket
MarketClose
tradeBustReportingType
Encoding: string
No descriptions found for enumeration type tradeBustReportingType
CaseTag
OrderEntry
DropCopy

Repeating groups

Parties
TagNameRequiredType
453NoPartyIDsint
448PartyIDint
447PartyIDSourcePartyIDSource
452PartyRolePartyRole
2376PartyRoleQualifierPartyRoleQualifier