MaturityMonthYear (FIX tag 200)
MaturityMonthYear (tag 200) is a MonthYear field defined in FIX 4.4 and FIX 4.2. It appears in 59 message types, always optionally.
At a glance
- Tag
- 200
- Name
- MaturityMonthYear
- Datatype
- MonthYear (String)
- Format
- YYYYMM[DD|WW]
- Dialects
- FIX 4.4 and FIX 4.2
- Messages
- 59
What the specification says
FIX 4.4
Can be used with standardized derivatives vs. the MaturityDate (541) field. Month and Year of the maturity (used for standardized futures and options). Format: YYYYMM (i.e. 199903) YYYYMMDD (20030323) YYYYMMwN (200303w) for week A specific date or can be appended to the MaturityMonthYear. For instance, if multiple standard products exist that mature in the same Year and Month, but actually mature at a different time, a value can be appended, such as "w" or "w2" to indicate week as opposed to week 2 expiration. Likewise, the date (0-3) can be appended to indicate a specific expiration (maturity date).
FIX 4.2
Month and Year of the maturity for SecurityType=FUT or SecurityType=OPT. Required if MaturityDay is specified. Format: YYYYMM (i.e. 199903)
Descriptions are quoted from the FIX Orchestra sources under the Apache 2.0 licence.
A real message using tag 200
| Tag | Field | Wire value | Meaning |
|---|---|---|---|
| 8 | BeginString | FIX.4.4 | |
| 9 | BodyLength | 122 | |
| 35 | MsgType | D | Order – Single |
| 49 | SenderCompID | BOARTEAM | |
| 56 | TargetCompID | COUNTERPARTY | |
| 34 | MsgSeqNum | 2 | |
| 52 | SendingTime | 20240101-12:00:00.000 | |
| 11 | ClOrdID | ORD-10042 | |
| 200 | MaturityMonthYear | 202401 | |
| 54 | Side | 1 | Buy |
| 60 | TransactTime | 20240101-12:00:00.000 | |
| 40 | OrdType | 1 | Market |
| 10 | CheckSum | 235 |
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.
Generated from the FIX 4.4 dictionary and verified at build time: it parses and validates with no issues. Open the decoder to try your own message.
Where tag 200 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.
| Message | MsgType | FIX 4.4 | FIX 4.2 | Where in the message |
|---|---|---|---|---|
| Advertisement | 7 | Optional | Optional | inside the Instrument component |
| AllocationInstruction | J | Optional | Optional | inside the Instrument component |
| AllocationReport | AS | Optional | — | inside the Instrument component |
| AssignmentReport | AW | Optional | — | inside the Instrument component |
| CollateralAssignment | AY | Optional | — | inside the Instrument component |
| CollateralInquiry | BB | Optional | — | inside the Instrument component |
| CollateralInquiryAck | BG | Optional | — | inside the Instrument component |
| CollateralReport | BA | Optional | — | inside the Instrument component |
| CollateralRequest | AX | Optional | — | inside the Instrument component |
| CollateralResponse | AZ | Optional | — | inside the Instrument component |
| Confirmation | AK | Optional | — | inside the Instrument component |
| CrossOrderCancelReplaceRequest | t | Optional | — | inside the Instrument component |
| CrossOrderCancelRequest | u | Optional | — | inside the Instrument component |
| DerivativeSecurityList | AA | Optional | — | inside RelSymDerivSecGrp › Instrument |
| DontKnowTrade | Q | Optional | Optional | inside the Instrument component |
| C | Optional | Optional | inside InstrmtGrp › Instrument | |
| ExecutionReport | 8 | Optional | Optional | inside the Instrument component |
| IOI | 6 | Optional | Optional | inside the Instrument component |
| ListStrikePrice | m | Optional | Optional | inside InstrmtStrkPxGrp › Instrument |
| MarketDataIncrementalRefresh | X | Optional | Optional | inside MDIncGrp › Instrument |
| MarketDataRequest | V | Optional | Optional | inside InstrmtMDReqGrp › Instrument |
| MarketDataSnapshotFullRefresh | W | Optional | Optional | inside the Instrument component |
| MassQuote | i | Optional | Optional | inside QuotSetGrp › QuotEntryGrp › Instrument |
| MassQuoteAcknowledgement | b | Optional | Optional | inside QuotSetAckGrp › QuotEntryAckGrp › Instrument |
| MultilegOrderCancelReplace | AC | Optional | — | inside the Instrument component |
| NewOrderCross | s | Optional | — | inside the Instrument component |
| NewOrderList | E | Optional | Optional | inside ListOrdGrp › Instrument |
| NewOrderMultileg | AB | Optional | — | inside the Instrument component |
| NewOrderSingle | D | Optional | Optional | inside the Instrument component |
| News | B | Optional | Optional | inside InstrmtGrp › Instrument |
| OrderCancelReplaceRequest | G | Optional | Optional | inside the Instrument component |
| OrderCancelRequest | F | Optional | Optional | inside the Instrument component |
| OrderMassCancelReport | r | Optional | — | inside the Instrument component |
| OrderMassCancelRequest | q | Optional | — | inside the Instrument component |
| OrderMassStatusRequest | AF | Optional | — | inside the Instrument component |
| OrderStatusRequest | H | Optional | Optional | inside the Instrument component |
| PositionMaintenanceReport | AM | Optional | — | inside the Instrument component |
| PositionMaintenanceRequest | AL | Optional | — | inside the Instrument component |
| PositionReport | AP | Optional | — | inside the Instrument component |
| Quote | S | Optional | Optional | inside the Instrument component |
| QuoteCancel | Z | Optional | Optional | inside QuotCxlEntriesGrp › Instrument |
| QuoteRequest | R | Optional | Optional | inside QuotReqGrp › Instrument |
| QuoteRequestReject | AG | Optional | — | inside QuotReqRjctGrp › Instrument |
| QuoteResponse | AJ | Optional | — | inside the Instrument component |
| QuoteStatusReport | AI | Optional | — | inside the Instrument component |
| QuoteStatusRequest | a | Optional | Optional | inside the Instrument component |
| RFQRequest | AH | Optional | — | inside RFQReqGrp › Instrument |
| RequestForPositions | AN | Optional | — | inside the Instrument component |
| RequestForPositionsAck | AO | Optional | — | inside the Instrument component |
| SecurityDefinition | d | Optional | Optional | inside the Instrument component |
| SecurityDefinitionRequest | c | Optional | Optional | inside the Instrument component |
| SecurityList | y | Optional | — | inside SecListGrp › Instrument |
| SecurityListRequest | x | Optional | — | inside the Instrument component |
| SecurityStatus | f | Optional | Optional | inside the Instrument component |
| SecurityStatusRequest | e | Optional | Optional | inside the Instrument component |
| TradeCaptureReport | AE | Optional | — | inside the Instrument component |
| TradeCaptureReportAck | AR | Optional | — | inside the Instrument component |
| TradeCaptureReportRequest | AD | Optional | — | inside the Instrument component |
| TradeCaptureReportRequestAck | AQ | Optional | — | inside the Instrument component |
Wire format
A month, optionally with a day or week — the format pattern shows which forms are legal. @boarteam/fix keeps the value as a string; format rules are checked by validate(), which reports validate/invalid-value rather than throwing.
Read tag 200 in TypeScript
import { createFixEngine } from "@boarteam/fix";import { dictionary } from "@boarteam/fix-dict-fix44";const fix = createFixEngine(dictionary);const { message, issues } = fix.parse(raw);const field = message.fields[200];field?.name; // "MaturityMonthYear"field?.raw; // the verbatim wire stringfield?.value; // coerced to a stringOther MonthYear 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-fix44