NoComplexEventDates (FIX tag 1491)

NumInGroupFIX 5.0 SP2group counter

NoComplexEventDates (tag 1491) is a NumInGroup field defined in FIX 5.0 SP2. It appears in 72 message types, always optionally. Its datatype is NumInGroup, which makes it a repeating-group counter: its value is the number of entries that follow, not a quantity in its own right.

At a glance

Tag
1491
Name
NoComplexEventDates
Datatype
NumInGroup (int)
Dialects
FIX 5.0 SP2
Messages
72

What the specification says

Number of complex event date occurrences for a given complex event.

Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.

A real message using tag 1491

NewOrderSingle · FIX 5.0 SP2
TagFieldWire valueMeaning
8BeginStringFIXT.1.1
9BodyLength186
35MsgTypeDNewOrderSingle
49SenderCompIDBOARTEAM
56TargetCompIDCOUNTERPARTY
34MsgSeqNum2
52SendingTime20240101-12:00:00.000
11ClOrdIDORD-10042
1483NoComplexEvents1 entry1repeating group
1484ComplexEventType1Capped
1491NoComplexEventDates2 entries2repeating group
1492ComplexEventStartDate20240101-12:00:00.000
1492ComplexEventStartDate20240101-12:00:00.000
54Side1Buy
60TransactTime20240101-12:00:00.000
40OrdType1Market
10CheckSum060
Edit and decode it yourself

Shown with | separators for readability. On the wire FIX uses SOH (0x01), an invisible control byte — and because BodyLength and CheckSum are computed over the actual bytes, the two forms have different checksums. Both are valid and both decode here.

Open in the full decoder →

Generated from the FIX 5.0 SP2 dictionary and verified at build time: it parses and validates with no issues. Open the decoder to try your own message.

Where tag 1491 appears

Requiredness is a property of the message, not of the field: the same tag can be optional in one message and conditionally required in another.

MessageMsgTypeRequirednessWhere in the message
AdjustedPositionReportBLOptionalinside InstrmtGrp › Instrument › ComplexEvents › ComplexEventDates
Advertisement7Optionalinside Instrument › ComplexEvents › ComplexEventDates
AllocationInstructionJOptionalinside Instrument › ComplexEvents › ComplexEventDates
AllocationInstructionAlertBMOptionalinside Instrument › ComplexEvents › ComplexEventDates
AllocationReportASOptionalinside Instrument › ComplexEvents › ComplexEventDates
AssignmentReportAWOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralAssignmentAYOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralInquiryBBOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralInquiryAckBGOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralReportBAOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralRequestAXOptionalinside Instrument › ComplexEvents › ComplexEventDates
CollateralResponseAZOptionalinside Instrument › ComplexEvents › ComplexEventDates
ConfirmationAKOptionalinside Instrument › ComplexEvents › ComplexEventDates
ContraryIntentionReportBOOptionalinside Instrument › ComplexEvents › ComplexEventDates
CrossOrderCancelReplaceRequesttOptionalinside Instrument › ComplexEvents › ComplexEventDates
CrossOrderCancelRequestuOptionalinside Instrument › ComplexEvents › ComplexEventDates
DerivativeSecurityListAAOptionalinside RelSymDerivSecGrp › Instrument › ComplexEvents › ComplexEventDates
DerivativeSecurityListUpdateReportBROptionalinside RelSymDerivSecUpdGrp › Instrument › ComplexEvents › ComplexEventDates
DontKnowTradeQOptionalinside Instrument › ComplexEvents › ComplexEventDates
EmailCOptionalinside InstrmtGrp › Instrument › ComplexEvents › ComplexEventDates
ExecutionAcknowledgementBNOptionalinside Instrument › ComplexEvents › ComplexEventDates
ExecutionReport8Optionalinside Instrument › ComplexEvents › ComplexEventDates
IOI6Optionalinside Instrument › ComplexEvents › ComplexEventDates
ListStrikePricemOptionalinside InstrmtStrkPxGrp › Instrument › ComplexEvents › ComplexEventDates
MarketDataIncrementalRefreshXOptionalinside MDIncGrp › Instrument › ComplexEvents › ComplexEventDates
MarketDataRequestVOptionalinside InstrmtMDReqGrp › Instrument › ComplexEvents › ComplexEventDates
MarketDataSnapshotFullRefreshWOptionalinside Instrument › ComplexEvents › ComplexEventDates
MassQuoteiOptionalinside QuotSetGrp › QuotEntryGrp › Instrument › ComplexEvents › ComplexEventDates
MassQuoteAcknowledgementbOptionalinside QuotSetAckGrp › QuotEntryAckGrp › Instrument › ComplexEvents › ComplexEventDates
MultilegOrderCancelReplaceACOptionalinside Instrument › ComplexEvents › ComplexEventDates
NewOrderCrosssOptionalinside Instrument › ComplexEvents › ComplexEventDates
NewOrderListEOptionalinside ListOrdGrp › Instrument › ComplexEvents › ComplexEventDates
NewOrderMultilegABOptionalinside Instrument › ComplexEvents › ComplexEventDates
NewOrderSingleDOptionalinside Instrument › ComplexEvents › ComplexEventDates
NewsBOptionalinside InstrmtGrp › Instrument › ComplexEvents › ComplexEventDates
OrderCancelReplaceRequestGOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderCancelRequestFOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderMassActionReportBZOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderMassActionRequestCAOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderMassCancelReportrOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderMassCancelRequestqOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderMassStatusRequestAFOptionalinside Instrument › ComplexEvents › ComplexEventDates
OrderStatusRequestHOptionalinside Instrument › ComplexEvents › ComplexEventDates
PositionMaintenanceReportAMOptionalinside Instrument › ComplexEvents › ComplexEventDates
PositionMaintenanceRequestALOptionalinside Instrument › ComplexEvents › ComplexEventDates
PositionReportAPOptionalinside Instrument › ComplexEvents › ComplexEventDates
QuoteSOptionalinside Instrument › ComplexEvents › ComplexEventDates
QuoteCancelZOptionalinside QuotCxlEntriesGrp › Instrument › ComplexEvents › ComplexEventDates
QuoteRequestROptionalinside QuotReqGrp › Instrument › ComplexEvents › ComplexEventDates
QuoteRequestRejectAGOptionalinside QuotReqRjctGrp › Instrument › ComplexEvents › ComplexEventDates
QuoteResponseAJOptionalinside Instrument › ComplexEvents › ComplexEventDates
QuoteStatusReportAIOptionalinside Instrument › ComplexEvents › ComplexEventDates
QuoteStatusRequestaOptionalinside Instrument › ComplexEvents › ComplexEventDates
RFQRequestAHOptionalinside RFQReqGrp › Instrument › ComplexEvents › ComplexEventDates
RequestForPositionsANOptionalinside Instrument › ComplexEvents › ComplexEventDates
RequestForPositionsAckAOOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityDefinitiondOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityDefinitionRequestcOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityDefinitionUpdateReportBPOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityListyOptionalinside SecListGrp › Instrument › ComplexEvents › ComplexEventDates
SecurityListRequestxOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityListUpdateReportBKOptionalinside SecLstUpdRelSymGrp › Instrument › ComplexEvents › ComplexEventDates
SecurityStatusfOptionalinside Instrument › ComplexEvents › ComplexEventDates
SecurityStatusRequesteOptionalinside Instrument › ComplexEvents › ComplexEventDates
SettlementObligationReportBQOptionalinside SettlObligationInstructions › Instrument › ComplexEvents › ComplexEventDates
StreamAssignmentReportCDOptionalinside StrmAsgnRptGrp › StrmAsgnRptInstrmtGrp › Instrument › ComplexEvents › ComplexEventDates
StreamAssignmentRequestCCOptionalinside StrmAsgnReqGrp › StrmAsgnReqInstrmtGrp › Instrument › ComplexEvents › ComplexEventDates
TradeCaptureReportAEOptionalinside Instrument › ComplexEvents › ComplexEventDates
TradeCaptureReportAckAROptionalinside Instrument › ComplexEvents › ComplexEventDates
TradeCaptureReportRequestADOptionalinside Instrument › ComplexEvents › ComplexEventDates
TradeCaptureReportRequestAckAQOptionalinside Instrument › ComplexEvents › ComplexEventDates
TradingSessionStatushOptionalinside Instrument › ComplexEvents › ComplexEventDates

Wire format

The number of entries in the repeating group that follows. The next field on the wire is the group's delimiter tag. @boarteam/fix parses the value as a number and reports parse/invalid-int when it does not lex as one; the raw string is kept either way.

Read tag 1491 in TypeScript

decode.tsts
import { createFixEngine } from "@boarteam/fix";import { dictionary } from "@boarteam/fix-dict-fix50sp2";const fix = createFixEngine(dictionary);const { message, issues } = fix.parse(raw);// NoComplexEventDates is a group counter, so the entries live on message.groups —// NOT on message.fields. message.fields[1491] is undefined.const entries = message.groups[1491] ?? [];for (const entry of entries) {  // entry.fields is keyed by tag; entry.groups holds nested groups}

Other NumInGroup fields

Decode this in your own code

The same engine that produced the decoded example above is an Apache-2.0 npm package with zero runtime dependencies. It runs in Node and in the browser, and parse() returns problems as data instead of throwing.

npm i @boarteam/fix @boarteam/fix-dict-fix50sp2