Repeating Groups Tutorial Example

Messages

Incoming Messages

D: NewOrderSingle

TagNameRequiredTypeValidity
1Accountstring
11ClOrdIDstring
38OrderQtyData.OrderQtyQty
40OrdTypeOrdType

OrdType has value in [OrdType.Limit, OrdType.Market, OrdType.StopSpread]

44PricePrice
54SideSide
60TransactTimeUTCTimestamp
spSpreadProportionfloat

if present, x > 0.0 and x <= 1.0

PartiesParties

field PartyIndex > 0 and field PartyIndex < 100

field PartyID equals ""

Validation
if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present and if field OrdType equals OrdType.StopSpread then field Price is present
if field OrdType equals OrdType.StopSpread then field SpreadProportion is present
if field OrdType equals OrdType.Market then must be present and price > 0.0
if present, field Parties.PartyID equals x

Outgoing Messages

8: ExecutionReport

TagNameRequiredTypeValidity
14CumQtyQty
17ExecIDstring
37OrderIDstring
38OrderQtyData.OrderQtyQty
39OrdStatusOrdStatus
54SideSide
58Textstring
150ExecTypeExecType
151LeavesQtyQty
PartiesParties

Fields

Fields

NameTagTypeMember of:Validation
Account1 string NewOrderSingle
ClOrdID11 string NewOrderSingle
CumQty14 Qty ExecutionReport
ExecID17 string ExecutionReport
OrderID37 string ExecutionReport
OrderQtyData.OrderQty38 Qty NewOrderSingle
ExecutionReport
OrdStatus39 OrdStatus ExecutionReport
OrdType40 OrdType NewOrderSingle if field OrdType equals OrdType.StopSpread then field SpreadProportion is present
if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present and if field OrdType equals OrdType.StopSpread then field Price is present
if field OrdType equals OrdType.Market then must be present and price > 0.0
OrdType has value in [OrdType.Limit, OrdType.Market, OrdType.StopSpread]
Price44 Price NewOrderSingle if field OrdType equals OrdType.Market then not field Price is present and if field OrdType equals OrdType.Limit then field Price is present and if field OrdType equals OrdType.StopSpread then field Price is present
if field OrdType equals OrdType.Market then must be present and price > 0.0
Side54 Side NewOrderSingle
ExecutionReport
Text58 string ExecutionReport
TransactTime60 UTCTimestamp NewOrderSingle
ExecType150 ExecType ExecutionReport
LeavesQty151 Qty ExecutionReport
SpreadProportionsp float NewOrderSingle if field OrdType equals OrdType.StopSpread then field SpreadProportion is present
if present, x > 0.0 and x <= 1.0
Parties Parties NewOrderSingle field PartyIndex > 0 and field PartyIndex < 100
field PartyID equals ""
ExecutionReport

Repeating Groups

Parties

TagNameTypeRequired
447PartyIDSourcePartyIDSource
448PartyIDstring
452PartyRolePartyRole
453NoPartyIDsNumInGroup
piPartyIndexint
PtysSubGrpPtysSubGrp

PtysSubGrp

TagNameTypeRequired
523PartySubIDstring
802NoPartySubIDsNumInGroup
803PartySubIDTypePartySubIDType

Enumeration Types

ExecType

Encoding:char
CaseTag
New0
DoneForDay3
Canceled4
Replaced5
PendingCancel6
Stopped7
Rejected8
Suspended9
PendingNewA
CalculatedB
ExpiredC
RestatedD
PendingReplaceE
TradeF
TradeCorrectG
TradeCancelH
OrderStatusI

OrdStatus

Encoding:char
CaseTag
New0
PartiallyFilled1
Filled2
DoneForDay3
Canceled4
Replaced5
PendingCancel6
Stopped7
Rejected8
Suspended9
PendingNewA
CalculatedB
ExpiredC
AcceptedForBiddingD
PendingReplaceE

OrdType

Encoding:char
CaseTag
Market1
Limit2
Stop3
StopLimit4
WithOrWithout6
LimitOrBetter7
LimitWithOrWithout8
OnBasis9
PreviouslyQuotedD
PreviouslyIndicatedE
ForexSwapG
FunariI
MarketIfTouchedJ
MarketWithLeftOverAsLimitK
PreviousFundValuationPointL
NextFundValuationPointM
PeggedP
StopSpreads

PartyIDSource

Encoding:char
CaseTag
KoreanInvestorID1
TaiwaneseForeignInvestorID2
TaiwaneseTradingAcct3
MalaysianCentralDepository4
ChineseInvestorID5
UKNationalInsuranceOrPensionNumber6
USSocialSecurityNumber7
USEmployerOrTaxIDNumber8
AustralianBusinessNumber9
AustralianTaxFileNumberA
BICB
GeneralIdentifierC
ProprietaryD
ISOCountryCodeE
SettlementEntityLocationF
MICG
CSDParticipantH
ISITCAcronymI

PartyRole

Encoding:int
CaseTag
ExecutingFirm1
BrokerOfCredit2
ClientID3
ClearingFirm4
InvestorID5
IntroducingFirm6
EnteringFirm7
Locate8
FundManagerClientID9
SettlementLocation10
OrderOriginationTrader11
ExecutingTrader12
OrderOriginationFirm13
GiveupClearingFirm14
CorrespondantClearingFirm15
ExecutingSystem16
ContraFirm17
ContraClearingFirm18
SponsoringFirm19
UnderlyingContraFirm20
ClearingOrganization21
Exchange22
CustomerAccount24
CorrespondentClearingOrganization25
CorrespondentBroker26
Buyer27
Custodian28
Intermediary29
Agent30
SubCustodian31
Beneficiary32
InterestedParty33
RegulatoryBody34
LiquidityProvider35
EnteringTrader36
ContraTrader37
PositionAccount38

PartySubIDType

Encoding:int
CaseTag
Firm1
Person2
System3
Application4
FullLegalNameOfFirm5
PostalAddress6
PhoneNumber7
EmailAddress8
ContactName9
SecuritiesAccountNumber10
RegistrationNumber11
RegisteredAddressForConfirmation12
RegulatoryStatus13
RegistrationName14
CashAccountNumber15
BIC16
CSDParticipantMemberCode17
RegisteredAddress18
FundAccountName19
TelexNumber20
FaxNumber21
SecuritiesAccountName22
CashAccountName23
Department24
LocationDesk25
PositionAccountType26

Side

Encoding:char
CaseTag
Buy1
Sell2
BuyMinus3
SellPlus4
SellShort5
SellShortExempt6
Undisclosed7
Cross8
CrossShort9
CrossShortExemptA
AsDefinedB
OppositeC
SubscribeD
RedeemE
LendF
BorrowG