All Downloads are FREE. Search and download functionalities are using the official Maven repository.

uk.co.real_logic.artio.entrypoint.binary_entrypoint.xml Maven / Gradle / Ivy

There is a newer version: 0.157
Show newest version
<!--
=================================================================================

B3 Entrypoint FIXP SBE Messages

=================================================================================
History 
=================================================================================
5.6 | 2022-08-24 | Tag PossResend included for outgoing messages (ExecutionReports, PositionMaintenanceReport, AllocationReport, etc.)
    |            | MetricType enum and NoMetrics group removed
    |            | MarketSegmentReceivedTime added to ExecutionReport_Reject message
5.5 | 2022-06-21 | Updating OrderMassActionRequest/OrderMassActionReport for new filter parameters for mass cancel
    |            | Adding new domains for OrderCategory, RoutingInstruction and ExecRestatementReason to support various QDF modes and Mass Cancel
	|            | Adding side and account fields to SimpleModifyOrder message
	|            | Removing QuantityU64 and QuantityOptionalU64 type definition
	|            | Removing NewOrderSingle_U64, OrderCancelReplaceRequest_U64 and ExecutionReport_Trade_U64 messages
	|            | Changing Quantiy and QuantityOptional fields to uint64 type
5.4 | 2022-04-13 | Moving SenderLocation field from Negotiate to incoming messages
    |            | Including CxlRejResponseTo field in the ExecutionReport_Reject
    |            | Removing EnteringTrader field from PositionMaintenanceReport and AllocationReport
	|            | Including ExternalRFQIndicator for cross/trade execution report to support RFQ System
    |            | Adjusting message layout to not have any fields to tranverse cache line (64 bytes including SBE header)
    |            | Changing AllocRejCode field type from uint64 to uint32
	|            | Changing ThresholdAmount type to PriceOffsetOptional type (uint32 to uint64)
	|            | Domains of NegotiationRejectCode, EstablishRejectCode, TerminationCode, RetransmitRejectCode changed
    |            | Including SimpleOpenFramingHeader composite type for reference (and non-functional message to allow stub generation)
    |            | To equalize MD and OE specs: Bool type => Boolean type
    |            | Unifying all reject code to RejReason type
    |            | Unifying contra broker type and contra firm type into contra broker type
    |            | Cosmetic changes: id attribute always after type attribute in field declaration inside messages
================================================================================= 
-->

<!-- Reference: https://github.com/real-logic/simple-binary-encoding -->
<sbe:messageSchema xmlns:ns2="http://www.fixprotocol.org/ns/simple/1.0"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:sbe="http://fixprotocol.io/2016/sbe"
	package="b3.entrypoint.fixp.sbe"
	id="1"
	version="5"
	semanticVersion="5.6"
	description="B3 Binary Entrypoint FIXP messages"
	byteOrder="littleEndian"
	xsi:schemaLocation="http://fixprotocol.io/2016/sbe sbe.xsd">
	<types>
		<enum name="Boolean" encodingType="uint8" semanticType="Boolean" description="Boolean type">
			<validValue name="FALSE_VALUE" description="false, N, 0">0</validValue>
			<validValue name="TRUE_VALUE" description="true, Y, 1">1</validValue>
		</enum>
		<enum name="AllocTransType" encodingType="char" semanticType="Char" description="Identifies allocation transaction type.">
			<validValue name="NEW">0</validValue>
			<validValue name="CANCEL">2</validValue>
		</enum>
		<enum name="AllocReportType" encodingType="char" semanticType="Char" description="Describes the specific type or purpose of an Allocation Report message.">
			<validValue name="REQUEST_TO_INTERMEDIARY">8</validValue>
		</enum>
		<enum name="AllocType" encodingType="char" semanticType="Char" description="Describes the specific type or purpose of an Allocation message.">
			<validValue name="REQUEST_TO_INTERMEDIARY">8</validValue>
		</enum>
		<enum name="AllocNoOrdersType" encodingType="char" semanticType="Char" description="Indicates how the orders being booked and allocated by an Allocation Instruction.">
			<validValue name="NOT_SPECIFIED">0</validValue>
		</enum>
		<enum name="AllocStatus" encodingType="char" semanticType="Char" description="Identifies status of allocation.">
			<validValue name="ACCEPTED">0</validValue>
			<validValue name="REJECTED_BY_INTERMEDIARY">5</validValue>
		</enum>
		<enum name="QuoteStatus" encodingType="uint8" semanticType="uint8" description="Identifies the status of the quote acknowledgement.">
			<validValue name="EXPIRED">7</validValue>
			<validValue name="ACCEPTED">0</validValue>
			<validValue name="REJECTED">5</validValue>
			<validValue name="QUOTE_NOT_FOUND">9</validValue>
			<validValue name="PENDING">10</validValue>
			<validValue name="PASS">11</validValue>
			<validValue name="CANCELED">17</validValue>
		</enum>
		<enum name="PosType" encodingType="char" semanticType="Char" description="Used to identify the type of quantity.">
			<validValue name="TRANSACTION_QUANTITY">T</validValue>
			<validValue name="START_OF_DAY_QTY">S</validValue>
			<validValue name="OPTION_EXERCISE_QTY">E</validValue>
			<validValue name="BLOCKED_QTY">B</validValue>
			<validValue name="UNCOVERED_QTY">U</validValue>
			<validValue name="COVERED_QTY">C</validValue>
		</enum>
		<enum name="MassActionScope" encodingType="uint8" semanticType="Int" description="Specifies the scope of the action. All Day and MOC orders will be cancelled. GTC, GTD and MOA orders will not be cancelled.">
			<validValue name="ALL_ORDERS_FOR_A_TRADING_SESSION">6</validValue>
			<validValue name="ALL_ORDERS_FOR_DEFINED_ORDER_TAG_ID">20</validValue>
		</enum>
		<enum name="MassActionType" encodingType="uint8" semanticType="Int" description="Specifies the type of action requested.">
			<validValue name="SUSPEND_ORDERS">1</validValue>
			<validValue name="RELEASE_ORDERS_FROM_SUSPENSION">2</validValue>
			<validValue name="CANCEL_ORDERS">3</validValue>
		</enum>
		<enum name="MassActionResponse" encodingType="uint8" semanticType="Int" description="Specifies the action taken by matching engine when it receives the Order Mass Action Request.">
			<validValue name="REJECTED">0</validValue>
			<validValue name="ACCEPTED">1</validValue>
		</enum>
		<enum name="MassActionRejectReason" encodingType="uint8" semanticType="Int" description="Reason Order Mass Action Request was rejected.">
			<validValue name="MASS_ACTION_NOT_SUPPORTED">0</validValue>
			<validValue name="INVALID_OR_UNKNOWN_MARKET_SEGMENT">8</validValue>
			<validValue name="OTHER">99</validValue>
		</enum>
		<enum name="SecurityResponseType" encodingType="uint8" semanticType="Int" description="Type of Security Definition message response.">
			<validValue name="ACCEPT_SECURITY_PROPOSAL_AS_IS">1</validValue>
			<validValue name="REJECT_SECURITY_PROPOSAL">5</validValue>
			<validValue name="ACCEPT_SECURITY_AS_PROPOSAL_WITH_REVISIONS">2</validValue>
		</enum>
		<enum name="PosMaintStatus" encodingType="char" semanticType="Char" description="Status of Position Maintenance Request.">
			<validValue name="ACCEPTED">0</validValue>
			<validValue name="REJECTED">2</validValue>
			<validValue name="COMPLETED">3</validValue>
			<validValue name="NOT_EXECUTED">9</validValue>
		</enum>
		<enum name="ExecuteUnderlyingTrade" encodingType="char" semanticType="Char" description="Specifies if a simultaneous trade of the underlying is to be performed.">
			<validValue name="NO_UNDERLYING_TRADE">0</validValue>
			<validValue name="UNDERLYING_OPPOSING_TRADE">1</validValue>
		</enum>
		<enum name="PosTransType" encodingType="uint8" semanticType="uint8" description="Identifies the type of position transaction.">
			<validValue name="EXERCISE">1</validValue>
			<validValue name="AUTOMATIC_EXERCISE">105</validValue>
			<validValue name="EXERCISE_NOT_AUTOMATIC">106</validValue>
		</enum>
		<enum name="PosMaintAction" encodingType="char" semanticType="Char" description="Maintenance Action to be performed.">
			<validValue name="NEW">1</validValue>
			<validValue name="CANCEL">3</validValue>
		</enum>
		<enum name="SettlType" encodingType="char" semanticType="Char" description="Indicates who in the contract has control over evoking settlement.">
			<validValue name="BUYERS_DISCRETION">0</validValue>
			<validValue name="SELLERS_DISCRETION">8</validValue>
			<validValue name="MUTUAL">X</validValue>
		</enum>
		<enum name="SelfTradePreventionInstruction" encodingType="char" semanticType="Char" description="Indicates which order should be canceled due to self-trade prevention.">
			<validValue name="CANCEL_AGGRESSOR_ORDER">1</validValue>
			<validValue name="CANCEL_RESTING_ORDER">2</validValue>
			<validValue name="CANCEL_BOTH_ORDERS">3</validValue>
		</enum>
		<enum name="TimeUnit" encodingType="uint8" semanticType="Int" description="Unit of time used for measurement.">
			<validValue name="SECOND">0</validValue>
			<validValue name="MILLISECOND">3</validValue>
			<validValue name="MICROSECOND">6</validValue>
			<validValue name="NANOSECOND">9</validValue>
		</enum>
		<enum name="MessageType" encodingType="uint8" semanticType="Int" description="Defines message type.">
			<validValue name="Negotiate">0</validValue>
			<validValue name="NegotiateResponse">1</validValue>
			<validValue name="NegotiateReject">2</validValue>
			<validValue name="Establish">3</validValue>
			<validValue name="EstablishAck">4</validValue>
			<validValue name="EstablishReject">5</validValue>
			<validValue name="Terminate">6</validValue>
			<validValue name="FinishedSending">7</validValue>
			<validValue name="FinishedReceiving">8</validValue>
			<validValue name="NotApplied">9</validValue>
			<validValue name="RetransmitRequest">10</validValue>
			<validValue name="Retransmission">11</validValue>
			<validValue name="RetransmitReject">12</validValue>
			<validValue name="Sequence">13</validValue>
			<validValue name="BusinessMessageReject">14</validValue>
			<validValue name="SimpleNewOrder">15</validValue>
			<validValue name="SimpleModifyOrder">16</validValue>
			<validValue name="NewOrderSingle">17</validValue>
			<validValue name="OrderCancelReplaceRequest">18</validValue>
			<validValue name="OrderCancelRequest">19</validValue>
			<validValue name="NewOrderCross">20</validValue>
			<validValue name="ExecutionReport_New">21</validValue>
			<validValue name="ExecutionReport_Modify">22</validValue>
			<validValue name="ExecutionReport_Cancel">23</validValue>
			<validValue name="ExecutionReport_Trade">24</validValue>
			<validValue name="ExecutionReport_Reject">25</validValue>
			<validValue name="ExecutionReport_Forward">26</validValue>
			<validValue name="SecurityDefinitionRequest">27</validValue>
			<validValue name="SecurityDefinitionResponse">28</validValue>
			<validValue name="OrderMassActionRequest">29</validValue>
			<validValue name="OrderMassActionReport">30</validValue>
			<validValue name="QuoteRequest">31</validValue>
			<validValue name="QuoteStatusReport">32</validValue>
			<validValue name="Quote">33</validValue>
			<validValue name="QuoteCancel">34</validValue>
			<validValue name="QuoteRequestReject">35</validValue>
			<validValue name="PositionMaintenanceCancelRequest">36</validValue>
			<validValue name="PositionMaintenanceRequest">37</validValue>
			<validValue name="PositionMaintenanceReport">38</validValue>
			<validValue name="AllocationInstruction">39</validValue>
			<validValue name="AllocationReport">40</validValue>
		</enum>
		<enum name="FlowType" encodingType="uint8" semanticType="Int" description="Type of message flow from client to server or from server to client.">
			<validValue name="NONE">0</validValue>
			<validValue name="RECOVERABLE">1</validValue>
			<validValue name="UNSEQUENCED">2</validValue>
			<validValue name="IDEMPOTENT">3</validValue>
		</enum>
		<enum name="NegotiationRejectCode" encodingType="uint8" semanticType="Int" description="Identifies the code of reject negotiation.">
			<validValue name="UNSPECIFIED">0</validValue>
			<validValue name="CREDENTIALS">1</validValue>
			<validValue name="FLOWTYPE_NOT_SUPPORTED">2</validValue>
			<validValue name="ALREADY_NEGOTIATED">3</validValue>
			<validValue name="SESSION_BLOCKED">4</validValue>
			<validValue name="INVALID_SESSIONID">5</validValue>
			<validValue name="INVALID_SESSIONVERID">6</validValue>
			<validValue name="INVALID_TIMESTAMP">7</validValue>
			<validValue name="INVALID_FIRM">8</validValue>
			<validValue name="NEGOTIATE_NOT_ALLOWED">20</validValue>
		</enum>
		<enum name="EstablishRejectCode" encodingType="uint8" semanticType="Int" description="Identifies the code of reject establishment.">
			<validValue name="UNSPECIFIED">0</validValue>
			<validValue name="CREDENTIALS">1</validValue>
			<validValue name="UNNEGOTIATED">2</validValue>
			<validValue name="ALREADY_ESTABLISHED">3</validValue>
			<validValue name="SESSION_BLOCKED">4</validValue>
			<validValue name="INVALID_SESSIONID">5</validValue>
			<validValue name="INVALID_SESSIONVERID">6</validValue>
			<validValue name="INVALID_TIMESTAMP">7</validValue>
			<validValue name="INVALID_KEEPALIVE_INTERVAL">8</validValue>
			<validValue name="INVALID_NEXTSEQNO">9</validValue>
			<validValue name="ESTABLISH_ATTEMPTS_EXCEEDED">10</validValue>
			<validValue name="ESTABLISH_NOT_ALLOWED">20</validValue>
		</enum>
		<enum name="TerminationCode" encodingType="uint8" semanticType="Int" description="Identifies the code of termination.">
			<validValue name="UNSPECIFIED">0</validValue>
			<validValue name="FINISHED">1</validValue>
			<validValue name="UNNEGOTIATED">2</validValue>
			<validValue name="NOT_ESTABLISHED">3</validValue>
			<validValue name="SESSION_BLOCKED">4</validValue>
			<validValue name="NEGOTIATION_IN_PROGRESS">5</validValue>
			<validValue name="ESTABLISH_IN_PROGRESS">7</validValue>
			<validValue name="KEEPALIVE_INTERVAL_LAPSED">10</validValue>
			<validValue name="TERMINATE_NOT_ALLOWED">20</validValue>
			<validValue name="TERMINATE_IN_PROGRESS">24</validValue>
			<validValue name="BACKUP_TAKEOVER_IN_PROGRESS">27</validValue>
		</enum>
		<enum name="RetransmitRejectCode" encodingType="uint8" semanticType="Int" description="Identifies the code of reject retransmission.">
			<validValue name="OUT_OF_RANGE">0</validValue>
			<validValue name="INVALID_SESSION">1</validValue>
			<validValue name="REQUEST_LIMIT_EXCEEDED">2</validValue>
			<validValue name="RETRANSMIT_IN_PROGRESS">3</validValue>
			<validValue name="INVALID_TIMESTAMP">4</validValue>
			<validValue name="INVALID_FROMSEQNO">5</validValue>
			<validValue name="INVALID_COUNT">9</validValue>
		</enum>
		<enum name="CancelOnDisconnectType" encodingType="uint8" semanticType="Int" description="Criteria used to initiate cancel on disconnect mechanism by the gateway.">
			<validValue name="DO_NOT_CANCEL_ON_DISCONNECT_OR_TERMINATE">0</validValue>
			<validValue name="CANCEL_ON_DISCONNECT_ONLY">1</validValue>
			<validValue name="CANCEL_ON_TERMINATE_ONLY">2</validValue>
			<validValue name="CANCEL_ON_DISCONNECT_OR_TERMINATE">3</validValue>
		</enum>
		<enum name="Side" encodingType="char" semanticType="Char" description="Side of order.">
			<validValue name="BUY">1</validValue>
			<validValue name="SELL">2</validValue>
		</enum>
		<enum name="TimeInForce" encodingType="char" semanticType="Char" description="Specifies how long the order remains in effect.">
			<validValue name="DAY">0</validValue>
			<validValue name="GOOD_TILL_CANCEL">1</validValue>
			<validValue name="IMMEDIATE_OR_CANCEL">3</validValue>
			<validValue name="FILL_OR_KILL">4</validValue>
			<validValue name="GOOD_TILL_DATE">6</validValue>
			<validValue name="AT_THE_CLOSE">7</validValue>
			<validValue name="GOOD_FOR_AUCTION">A</validValue>
		</enum>
		<enum name="OrdType" encodingType="char" semanticType="Char" description="Order type.">
			<validValue name="MARKET">1</validValue>
			<validValue name="LIMIT">2</validValue>
			<validValue name="STOP_LOSS">3</validValue>
			<validValue name="STOP_LIMIT">4</validValue>
			<validValue name="MARKET_WITH_LEFTOVER_AS_LIMIT">K</validValue>
			<validValue name="RLP">W</validValue>
			<validValue name="PEGGED_MIDPOINT">P</validValue>
		</enum>
		<enum name="RoutingInstruction" encodingType="uint8" semanticType="Int" description="Indicates additional order instruction.">
			<validValue name="RETAIL_LIQUIDITY_TAKER">1</validValue>
			<validValue name="WAIVED_PRIORITY">2</validValue>
			<validValue name="BROKER_ONLY">3</validValue>
			<validValue name="BROKER_ONLY_REMOVAL">4</validValue>
		</enum>
		<enum name="ExecType" encodingType="char" semanticType="Char" description="Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for the current order status (e.g, Partially Filled).">
			<validValue name="TRADE">F</validValue>
			<validValue name="TRADE_CANCEL">H</validValue>
		</enum>
		<enum name="OrdStatus" encodingType="char" semanticType="Char" description="Identifies current status of order.">
			<validValue name="NEW">0</validValue>
			<validValue name="PARTIALLY_FILLED">1</validValue>
			<validValue name="FILLED">2</validValue>
			<validValue name="CANCELED">4</validValue>
			<validValue name="REPLACED">5</validValue>
			<validValue name="REJECTED">8</validValue>
			<validValue name="EXPIRED">C</validValue>
			<validValue name="RESTATED">R</validValue>
			<validValue name="PREVIOUS_FINAL_STATE">Z</validValue>
		</enum>
		<enum name="ExecRestatementReason" encodingType="uint8" semanticType="Int" description="Indicates reason of restatement, if available.">
			<validValue name="MARKET_OPTION">8</validValue>
			<validValue name="CANCEL_ON_HARD_DISCONNECTION">100</validValue>
			<validValue name="CANCEL_ON_TERMINATE">101</validValue>
			<validValue name="CANCEL_ON_DISCONNECT_AND_TERMINATE">102</validValue>
			<validValue name="SELF_TRADING_PREVENTION">103</validValue>
			<validValue name="CANCEL_FROM_FIRMSOFT">105</validValue>
			<validValue name="CANCEL_RESTING_ORDER_ON_SELF_TRADE">107</validValue>
			<validValue name="MARKET_MAKER_PROTECTION">200</validValue>
			<validValue name="RISK_MANAGEMENT_CANCELLATION">201</validValue>
			<validValue name="ORDER_MASS_ACTION_FROM_CLIENT_REQUEST">202</validValue>
			<validValue name="CANCEL_ORDER_DUE_TO_OPERATIONAL_ERROR">203</validValue>
			<validValue name="ORDER_CANCELLED_DUE_TO_OPERATIONAL_ERROR">204</validValue>
			<validValue name="CANCEL_ORDER_FIRMSOFT_DUE_TO_OPERATIONAL_ERROR">205</validValue>
			<validValue name="ORDER_CANCELLED_FIRMSOFT_DUE_TO_OPERATIONAL_ERROR">206</validValue>
			<validValue name="MASS_CANCEL_ORDER_DUE_TO_OPERATIONAL_ERROR_REQUEST">207</validValue>
			<validValue name="MASS_CANCEL_ORDER_DUE_TO_OPERATIONAL_ERROR_EFFECTIVE">208</validValue>
			<validValue name="CANCEL_ON_MIDPOINT_BROKER_ONLY_REMOVAL">209</validValue>
		</enum>
		<enum name="MultiLegReportingType" encodingType="char" semanticType="Char" description="Used to indicate what an Execution Report represents.">
			<validValue name="SINGLE_SECURITY">1</validValue>
			<validValue name="INDIVIDUALLEG_OF_MULTILEG_SECURITY">2</validValue>
			<validValue name="MULTILEG_SECURITY">3</validValue>
		</enum>
		<enum name="OrderCategory" encodingType="char" semanticType="Char" description="Defines the type of interest behind a trade i.e. why a trade occurred.">
			<validValue name="RESULT_OF_OPTIONS_EXERCISE">B</validValue>
			<validValue name="RESULT_OF_ASSIGNMENT_FROM_OPTIONS_EXERCISE">C</validValue>
			<validValue name="RESULT_OF_SCHEDULED_OPTIONS_EXERCISE">D</validValue>
			<validValue name="RESULT_OF_MIDPOINT_ORDER">E</validValue>
			<validValue name="RESULT_OF_POINT_IN_TIME_AUCTION">F</validValue>
		</enum>
		<enum name="AccountType" encodingType="uint8" semanticType="Int" description="Type of Account associated with an order.">
			<validValue name="REMOVE_ACCOUNT_INFORMATION">38</validValue>
			<validValue name="REGULAR_ACCOUNT">39</validValue>
		</enum>
		<enum name="CxlRejResponseTo" encodingType="uint8" semanticType="Int" description="Identifies the type of request that this cancel reject is in response to.">
			<validValue name="ORDER_CANCEL_REQUEST">1</validValue>
			<validValue name="ORDER_CANCEL_REPLACE_REQUEST">2</validValue>
		</enum>

		<type name="AllocID" primitiveType="uint64" semanticType="Int" description="Unique identifier for this allocation instruction message."/>
		<type name="ClOrdID" primitiveType="uint64" semanticType="Int" description="Unique identifier of the order as assigned by the market participant."/>
		<type name="ClOrdIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier of the order as assigned by the market participant."/>
		<type name="SessionID" primitiveType="uint32" semanticType="Int" description="Counterparty identification of gateway in the connection assigned by Exchange."/>
		<type name="SessionVerID" primitiveType="uint64" semanticType="Int" description="Session version identification: unique identification of a sequence of messages to be transmitted to exchange gateway associated with given SessionId."/>
		<type name="SeqNum" primitiveType="uint32" semanticType="Int" description="Implicit sequence number of a given SessionID/SessionVerID."/>
		<type name="Quantity" primitiveType="uint64" semanticType="Qty" description="Quantity in order/trade."/>
		<type name="QuantityOptional" primitiveType="uint64" semanticType="Qty" presence="optional" nullValue="0" description="Optional quantity in order/trade."/>
		<type name="LocalMktDate" primitiveType="uint16" semanticType="LocalMktDate" presence="optional" nullValue="0" description="Local calendar date: days since Unix epoch (January 1st, 1970)."/>
		<type name="Account" primitiveType="uint32" semanticType="Int" presence="optional" nullValue="0" description="Account mnemonic."/>
		<type name="Firm" primitiveType="uint32" semanticType="Int" description="Identification of the broker firm."/>
		<type name="FirmOptional" primitiveType="uint32" semanticType="Int" presence="optional" nullValue="0" description="Optional identification of the broker firm."/>
		<type name="Trader" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="5" description="Identification of the trader."/>
		<type name="TraderOptional" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="5" presence="optional" description="Optional identification of the trader."/>
		<type name="ExecID" primitiveType="uint64" semanticType="Int" description="Unique identifier of execution message as assigned by exchange."/>
		<type name="ExecIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier of execution message as assigned by exchange."/>
		<type name="OrderID" primitiveType="uint64" semanticType="Int" description="Exchange-generated order identifier."/>
		<type name="OrderIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional exchange-generated order identifier."/>
		<type name="SenderLocation" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="10" description="Identifies the original location for routing orders."/>
		<type name="InvestorID" primitiveType="uint32" semanticType="Int" presence="optional" nullValue="0" description="Unique identifier of customer."/>
		<type name="RejReason" primitiveType="uint32" semanticType="Int" presence="optional" nullValue="0" description="Code to identify reason for order rejection. Please refer to the error codes document for domain information."/>
		<type name="AllocReportID" primitiveType="uint64" semanticType="Int" description="Unique identifier for this allocation report message."/>
		<type name="PosMaintRptID" primitiveType="uint64" semanticType="Int" description="Unique identifier for this position maintenance report message."/>
		<type name="PosMaintRptIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier for this position maintenance report message."/>
		<type name="PosReqID" primitiveType="uint64" semanticType="Int" description="Unique identifier for the position maintenance request."/>
		<type name="PosReqIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier for the position maintenance request."/>
		<type name="DayOffset" primitiveType="uint16" semanticType="Int" presence="optional" description="Day offset between 2 dates."/>
		<type name="SecurityReqRespID" primitiveType="uint64" semanticType="Int" description="Unique ID of a Security Definition Request/Response."/>
		<type name="SecurityStrategyType" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="3" presence="optional" description="Indicates the type of Strategy created."/>
		<type name="BusinessRejectRefID" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Value of business-level identification field on the message being referenced."/>
		<type name="MassActionReportID" primitiveType="uint64" semanticType="Int" description="Unique ID of Order Mass Action Report as assigned by the matching engine."/>
		<type name="OrdTagID" primitiveType="uint8" semanticType="Int" presence="optional" nullValue="0" description="Identifies the order tag identification."/>
		<type name="MarketSegmentID" primitiveType="uint8" semanticType="Int" description="Identifies the market segment. Required for all tradable instruments. Not present in equity indexes, ETF indexes, BTB and Option Exercise."/>
		<type name="SecurityID" primitiveType="uint64" semanticType="Int" description="Security identification as defined by exchange. For the SecurityID list, see the Security List/Definition message in Market Data feed."/>
		<type name="SecurityIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional security identification as defined by exchange. For the SecurityID list, see the Security List/Definition message in Market Data feed."/>
		<type name="SecurityIDSource" primitiveType="char" semanticType="String" characterEncoding="ASCII" presence="constant" length="1" description="Identifies class or source of the SecurityID(48) value.">8</type>
		<type name="SecurityExchange" primitiveType="char" semanticType="Exchange" characterEncoding="ASCII" presence="constant" length="4" description="Market Identifier Code: 4-character used to identify stock markets and other trading exchanges.">BVMF</type>
		<type name="Symbol" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="20" description="B3 requires that this field is properly set. It contains the human readable form of the SecurityID tag ans is also available in the Security List message in Market Data feed."/>
		<type name="SecurityGroup" primitiveType="char" semanticType="String" characterEncoding="ASCII" length="3" presence="optional" description="Indicates the group this instrument belongs to."/>
		<type name="CrossID" primitiveType="uint64" semanticType="Int" description="Identifier for a cross order. Must be unique during a given trading day."/>
		<type name="TradeID" primitiveType="uint32" semanticType="Int" presence="optional" nullValue="0" description="The unique identification assigned to the trade entity once it is received or matched by the exchange or central counterparty."/>
		<type name="QuoteID" primitiveType="uint64" semanticType="Int" description="Unique identifier for quote."/>
		<type name="QuoteIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier for quote."/>
		<type name="QuoteReqID" primitiveType="uint64" semanticType="Int" description="Unique identifier for quote request."/>
		<type name="QuoteReqIDOptional" primitiveType="uint64" semanticType="Int" presence="optional" nullValue="0" description="Optional unique identifier for quote request."/>
		<type name="TotNoRelatedSym" primitiveType="uint8" semanticType="Int" presence="optional" nullValue="0" description="Number of leg fill notice messages sent with spread summary."/>
		<type name="MessageCounter" primitiveType="uint32" semanticType="Int" description="Counter of related messages."/> 
		
		<!-- Mandatory composite definitions -->
		<composite name="messageHeader" description="Message identifiers and length of message root.">
			<type name="blockLength" primitiveType="uint16" description="Length of the root of the FIX message contained before repeating groups or variable/conditions fields."/>
			<type name="templateId" primitiveType="uint16" description="Template ID used to encode the message."/>
			<type name="schemaId" primitiveType="uint16" description="ID of the system publishing the message."/>
			<type name="version" primitiveType="uint16" description="Schema version."/>
		</composite>
		<composite name="GroupSizeEncoding" description="Repeating group dimensions.">
			<type name="blockLength" primitiveType="uint16" description="Root block length."/>
			<type name="numInGroup" primitiveType="uint8" semanticType="NumInGroup" description="Counter representing the number of entries in a repeating group."/>
		</composite>

		<!-- Common composite definitions -->
		<composite name="FramingHeader" description="Compact Simple Open Framing Header: length in uint16 instead of uint32.">
			<type name="messageLength" primitiveType="uint16" minValue="12" maxValue="2048" description="Message length (including Framing and SBE headers)."/>
			<type name="encodingType" primitiveType="uint16" description="Encoding type of payload."/>
		</composite>
		<composite name="Price" semanticType="Price" description="Mandatory price.">
			<type name="mantissa" primitiveType="int64" description="Mantissa (for fixed-point decimal numbers)."/>
			<type name="exponent" primitiveType="int8" presence="constant" description="Exponent (for fixed-point decimal numbers).">-4</type>
		</composite>
		<composite name="PriceOptional" semanticType="Price" description="Optional price.">
			<type name="mantissa" primitiveType="int64" presence="optional" description="Mantissa (for fixed-point decimal numbers)."/>
			<type name="exponent" primitiveType="int8" presence="constant" description="Exponent (for fixed-point decimal numbers).">-4</type>
		</composite>
		<composite name="PriceOffsetOptional" semanticType="PriceOffset" description="Price Offset (4 decimal places). Usually 3 places are enough, but FX requires 4.">
			<type name="mantissa" primitiveType="int64" presence="optional" nullValue="0" description="Mantissa (for fixed-point decimal numbers)."/>
			<type name="exponent" primitiveType="int8" presence="constant" description="Exponent (for fixed-point decimal numbers).">-4</type>
		</composite>
		<composite name="Percentage" semanticType="Percentage" description="Percentage.">
			<type name="mantissa" primitiveType="int64" presence="optional" description="Mantissa (for fixed-point decimal numbers)."/>
			<type name="exponent" primitiveType="int8" presence="constant" description="Exponent (for fixed-point decimal numbers).">-4</type>
		</composite>
		<composite name="RatioQty" semanticType="float" description="Ratio of quantity relative to the whole thing.">
			<type name="mantissa" primitiveType="int64" presence="optional" description="Mantissa (for fixed-point decimal numbers)."/>
			<type name="exponent" primitiveType="int8" presence="constant" description="Exponent (for fixed-point decimal numbers).">-6</type>
		</composite>
		<composite name="UTCTimestampNanos" semanticType="UTCTimestamp" description="UTC timestamp with nanosecond precision.">
			<type name="time" primitiveType="uint64" presence="optional" nullValue="0" description="UTC timestamp with nanosecond precision (Unix Epoch)."/>
			<type name="unit" primitiveType="uint8" presence="constant" valueRef="TimeUnit.NANOSECOND" description="time unit (nanoseconds)."/>
		</composite>
		<composite name="DeltaInMillis" semanticType="Int" description="Interval time expressed in milliseconds.">
			<type name="time" primitiveType="uint64" presence="optional" nullValue="0" description="Interval time expressed in milliseconds."/>
			<type name="unit" primitiveType="uint8" presence="constant" valueRef="TimeUnit.MILLISECOND" description="time unit (milliseconds)."/>
		</composite>
		<composite name="DeltaInNanos" semanticType="Int" description="Interval time expressed in nanoseconds.">
			<type name="time" primitiveType="uint32" description="Interval time expressed in nanoseconds."/>
			<type name="unit" primitiveType="uint8" presence="constant" valueRef="TimeUnit.NANOSECOND" description="time unit (nanoseconds)."/>
		</composite>

		<!-- Specific composite definitions -->
		<composite name="CredentialsEncoding" semanticType="String" description="Credentials to identify/authenticate the client in UTF-8 format.">
			<type name="length" primitiveType="uint8" maxValue="128" description="Length of credentials data."/>
			<type name="varData" primitiveType="char" length="0" characterEncoding="UTF-8" description="Credentials data in UTF-8."/>
		</composite>
		<composite name="MemoEncoding" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports.">
			<type name="length" primitiveType="uint8" maxValue="40" description="Length of free format text field defined by client."/>
			<type name="varData" primitiveType="char" length="0" characterEncoding="UTF-8" description="Free UTF-8 format text field defined by client."/>
		</composite>
		<composite name="TextEncoding" semanticType="String" description="Free ASCII format text string.">
			<type name="length" primitiveType="uint8" maxValue="250" description="Length of free format text string generated by exchange."/>
			<type name="varData" primitiveType="char" length="0" characterEncoding="ASCII" description="Free ASCII format text string generated by exchange."/>
		</composite>
		<composite name="DeskIDEncoding" semanticType="String" description="Identify the client associated with the given account number. This information may be used to correlate the order entry messages with the messages at the back-office and clearing systems.">
			<type name="length" primitiveType="uint8" maxValue="20" description="Length of trading desk identification."/>
			<type name="varData" primitiveType="char" length="0" characterEncoding="ASCII" description="Trading desk identification in ASCII format."/>
		</composite>
		<composite name="ClientAppEncoding" semanticType="String" description="Identifies the IP address, name and version declared for audit.">
			<type name="length" primitiveType="uint8" maxValue="30" description="Length of client system information."/>
			<type name="varData" primitiveType="char" length="0" characterEncoding="ASCII" description="Client system information."/>
		</composite>
		<composite name="CustodianInfo" description="Custodian information is required for going private offer.">
			<type name="custodian" primitiveType="uint32" presence="optional" nullValue="0" description="Identifies the custodian."/>
			<type name="custodyAccount" primitiveType="uint32" presence="optional" nullValue="0" description="Identifies the custody account."/>
			<type name="custodyAllocationType" primitiveType="uint32" presence="optional" nullValue="0" description="Custody allocation type."/>
		</composite>
	</types>
	<sbe:message name="Negotiate" id="1" description="The client sends the Negotiate message to B3 to initiate a connection. Negotiate is the first message that the client must sent to start the communication between client and gateway through a TCP socket connection.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Negotiate" description="Message type = Negotiate."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="timestamp" type="UTCTimestampNanos" id="35520" description="Time of request. Sent in number of nanoseconds since Unix epoch."/>
		<field name="clientFlow" type="FlowType" id="35516" presence="constant" valueRef="FlowType.IDEMPOTENT" description="Type of flow from client to server. It is a constant value = idempotent."/>
		<field name="enteringFirm" type="Firm" id="35501" description="Identifies the broker firm that will enter orders."/>
		<field name="onbehalfFirm" type="FirmOptional" id="35517" description="Identifies the broker firm who executes their orders on behalf."/>
		<data name="credentials" type="CredentialsEncoding" id="35512" semanticType="String" description="Credentials to identify/authenticate the client."/>
		<data name="clientIP" type="ClientAppEncoding" id="35513" semanticType="String" description="Source IP from client system."/>
		<data name="clientAppName" type="ClientAppEncoding" id="35514" semanticType="String" description="Application name as informed during certification process."/>
		<data name="clientAppVersion" type="ClientAppEncoding" id="35515" semanticType="String" description="Application version as informed during certification process."/>
	</sbe:message>
	<sbe:message name="NegotiateResponse" id="2" description="The NegotiationResponse message is sent when a Negotiate message from the client is accepted by B3.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.NegotiateResponse" description="Message type = NegotiateResponse."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="serverFlow" type="FlowType" id="35524" presence="constant" valueRef="FlowType.RECOVERABLE" description="Type of flow from client to server. It is a constant value = recoverable."/>
		<field name="clientFlow" type="FlowType" id="35516" presence="constant" valueRef="FlowType.IDEMPOTENT" description="Type of flow from client to server. It is a constant value = idempotent."/>
		<field name="enteringFirm" type="Firm" id="35501" description="Identifies the broker firm that will enter orders."/>
	</sbe:message>
	<sbe:message name="NegotiateReject" id="3" description="NegotiateReject message is sent when B3 rejects a Negotiate message sent by the client.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.NegotiateReject" description="Message type = NegotiateReject."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="clientFlow" type="FlowType" id="35516" presence="constant" valueRef="FlowType.IDEMPOTENT" description="Type of flow from client to server. It is a constant value = idempotent."/>
		<field name="enteringFirm" type="FirmOptional" id="35501" description="Identifies the broker firm that will enter orders."/>
		<field name="negotiationRejectCode" type="NegotiationRejectCode" id="35522" description="Identifies the code of reject negotiation."/>
	</sbe:message>
	<sbe:message name="Establish" id="4" description="After negotiation level is complete, the client must send an Establish message to start assigning sequence numbers and also to keep the connection active. Once the connection is established, client can submit orders and quotes.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Establish" description="Message type = Establish."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="timestamp" type="UTCTimestampNanos" id="35520" description="Time of request. Sent in number of nanoseconds since Unix epoch."/>
		<field name="keepAliveInterval" type="DeltaInMillis" id="35525" description="Longest time in milliseconds the initiator should remain silent before sending Sequence message."/>
		<field name="nextSeqNo" type="SeqNum" id="35526" description="The next application sequence number to be produced by the client."/>
		<field name="cancelOnDisconnectType" type="CancelOnDisconnectType" id="35002" description="Criteria used to initiate cancel on disconnect mechanism by the gateway."/>
		<field name="codTimeoutWindow" type="DeltaInMillis" id="35003" description="Gateway will not trigger CoD if the customer reconnects within the timeout window (milliseconds) which starts when the triggering event is detected. Value = 0 then CoD will not be enabled."/>
		<data name="credentials" type="CredentialsEncoding" id="35512" semanticType="String" description="Credentials to identify/authenticate the client."/>
	</sbe:message>
	<sbe:message name="EstablishAck" id="5" description="The EstablishmentAck message is sent when an Establish message is accepted by B3. EstablishmentAck message contains next sequence number. At the start of a session, default value is 1 (one).">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.EstablishAck" description="Message type = EstablishAck."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="keepAliveInterval" type="DeltaInMillis" id="35525" description="Longest time in milliseconds the initiator should remain silent before sending Sequence message."/>
		<field name="nextSeqNo" type="SeqNum" id="35526" description="The next application sequence number to be produced by the gateway."/>
		<field name="lastIncomingSeqNo" type="SeqNum" id="35527" description="Indicates the application sequence number of the last application message received by the server from the client. At the start of a session, default value is 0 (zero)."/>
	</sbe:message>
	<sbe:message name="EstablishReject" id="6" description="EstablishmentReject message is sent when an Establish message is rejected by B3 informing the reason of rejection.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.EstablishReject" description="Message type = EstablishReject."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="establishmentRejectCode" type="EstablishRejectCode" id="35532" description="Identifies the code of reject establishment."/>
	</sbe:message>
	<sbe:message name="Terminate" id="7" description="Terminate message is sent to indicate that the sender is going to disconnect the TCP socket connection.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Terminate" description="Message type = Terminate."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="terminationCode" type="TerminationCode" id="35533" description="Identifies the code of termination."/>
	</sbe:message>
	<sbe:message name="NotApplied" id="8" description="NotApplied message is sent when B3 detects messages that already been sent (concept of idempotence) or an invalid message format from the client.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.NotApplied" description="Message type = NotApplied."/>
		<field name="fromSeqNo" type="SeqNum" id="35529" description="The first applied sequence number."/>
		<field name="count" type="MessageCounter" id="35530" description="How many messages haven´t been applied?"/>
	</sbe:message>
	<sbe:message name="Sequence" id="9" description="Sequence message is used for both: Recoverable (B3 to client) and Idempotent (client to B3) flows.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Sequence" description="Message type = Sequence."/>
		<field name="nextSeqNo" type="SeqNum" id="35526" description="The next application sequence number to be produced by the client."/>
	</sbe:message>
	<sbe:message name="FinishedSending" id="10" description="FinishedSending message must be sent to finish a logical session when the last application message in a flow has been sent.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.FinishedSending" description="Message type = FinishedSending."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
		<field name="lastSeqNo" type="SeqNum" id="35528" description="Indicates the application sequence number of the last application message published from the client to the server. Must be populated for an idempotent or recoverable flow."/>
	</sbe:message>
	<sbe:message name="FinishedReceiving" id="11" description="When all application messages have been processed, a FinishedReceiving message is sent B3, consequently the transport is terminated.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.FinishedReceiving" description="Message type = FinishedReceiving."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="sessionVerID" type="SessionVerID" id="35519" description="Session version identification: unique identification of a sequence of messages to be transmitted to/from B3´s gateways associated with given SessionId. Need to be incremented each time Negotiate message is sent to gateway."/>
	</sbe:message>
	<sbe:message name="RetransmitRequest" id="12" description="RetransmitRequest message is used for client to recover missed messages.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.RetransmitRequest" description="Message type = RetransmitRequest."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="timestamp" type="UTCTimestampNanos" id="35520" description="Time of request. Sent in number of nanoseconds since Unix epoch."/>
		<field name="fromSeqNo" type="SeqNum" id="35529" description="The first applied sequence number."/>
		<field name="count" type="MessageCounter" id="35530" description="Maximum number of messages to be retransmitted."/>
	</sbe:message>
	<sbe:message name="Retransmission" id="13" description="Retransmission message is sent when a RetransmitRequest message from the client is accepted by B3.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Retransmission" description="Message type = Retransmission."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="nextSeqNo" type="SeqNum" id="35526" description="The next application sequence number to be produced by the client."/>
		<field name="count" type="MessageCounter" id="35530" description="Number of messages to be retransmitted."/>
	</sbe:message>
	<sbe:message name="RetransmitReject" id="14" description="RetransmitReject message is sent when a RetransmitRequest message is rejected by B3. More details are described in the Message Specification Guidelines document.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.RetransmitReject" description="Message type = RetransmitReject."/>
		<field name="sessionID" type="SessionID" id="35518" description="Counterparty identification of gateway in the connection assigned by B3."/>
		<field name="requestTimestamp" type="UTCTimestampNanos" id="35521" description="Matches Negotiate timestamp."/>
		<field name="retransmitRejectCode" type="RetransmitRejectCode" id="35534" description="Identifies the code of reject retransmission."/>
	</sbe:message>
	<sbe:message name="SimpleNewOrder" id="100" description="SimpleNewOrder message submits a simple new order focused on sent only main parameters with low complexity. Used by client to enter a simple order in the system.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.SimpleNewOrder" description="Message type = SimpleNewOrder."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<field name="ordType" type="OrdType" id="40" description="Order type."/>
		<field name="timeInForce" type="TimeInForce" id="59" description="Specifies how long the order remains in effect."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="investorID" type="InvestorID" id="35504" description="Unique identifier of customer."/>
	</sbe:message>
	<sbe:message name="SimpleModifyOrder" id="101" description="The SimpleModifyOrder submits a simple modify request for basic parameters like price and quantity. The client sends the SimpleModifyOrder message to B3 to modify some order values only.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.SimpleModifyOrder" description="Message type = SimpleModifyOrder."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="origClOrdID" type="ClOrdID" id="41" description="ClOrdID which should be replaced."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="ordType" type="OrdType" id="40" description="Order type."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<field name="senderLocation" type="SenderLocation" id="35503" offset="56" description="Identifies the original location for routing orders."/>
	</sbe:message>
	<sbe:message name="NewOrderSingle" id="102" description="NewOrderSingle message is used to enter an order in the system; the behavior of an order can be affected by many parameters such as order type and order type qualifier.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.NewOrderSingle" description="Message type = NewOrderSingle."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<field name="ordType" type="OrdType" id="40" description="Order type."/>
		<field name="timeInForce" type="TimeInForce" id="59" description="Specifies how long the order remains in effect."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="mmProtectionReset" type="Boolean" id="9773" presence="optional" description="Resets Market Protections. When Market Protections are triggered, the Exchange will not accept new orders for that product group without tag MMProtectionReset: True = Reset Market Maker Protection; False = Do nothing related to Market Maker Protection."/>
		<field name="routingInstruction" type="RoutingInstruction" id="35487" presence="optional" description="Indicates additional order instruction."/>
		<field name="selfTradePreventionInstruction" type="SelfTradePreventionInstruction" id="35539" presence="optional" description="Indicates which order should be canceled due to Self-Trade Prevention."/>
		<field name="stopPx" type="PriceOptional" id="99" description="The stop price of a stop limit order (Conditionally required if OrdType = 4)."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="minQty" type="QuantityOptional" id="110" offset="56" description="Minimum quantity of an order to be executed."/>
		<field name="maxFloor" type="QuantityOptional" id="111" description="Maximum number of shares or contracts within an order to be shown on the match engine at any given time."/>
		<field name="investorID" type="InvestorID" id="35504" description="Unique identifier of customer."/>
		<field name="custodianInfo" type="CustodianInfo" id="35507" description="Identifies the custodian."/>
		<field name="expireDate" type="LocalMktDate" id="432" description="Date of order expiration (last day the order can trade), always expressed in terms of the local market date."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
	</sbe:message>
	<sbe:message name="OrderCancelReplaceRequest" id="104" description="Sent by client system to replace an existing order.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.OrderCancelReplaceRequest" description="Message type = OrderCancelReplaceRequest."/>
		<field name="origClOrdID" type="ClOrdID" id="41" description="ClOrdID which should be replaced."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="accountType" type="AccountType" id="581" presence="optional" description="Type of account associated with an order."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<field name="ordType" type="OrdType" id="40" description="Order type."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="mmProtectionReset" type="Boolean" id="9773" presence="optional" description="Resets Market Protections. When Market Protections are triggered, the Exchange will not accept new orders for that product group without tag MMProtectionReset: True = Reset Market Maker Protection; False = Do nothing related to Market Maker Protection."/>
		<field name="routingInstruction" type="RoutingInstruction" id="35487" presence="optional" description="Indicates additional order instruction."/>
		<field name="timeInForce" type="TimeInForce" id="59" description="Specifies how long the order remains in effect."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="minQty" type="QuantityOptional" id="110" offset="56" description="Minimum quantity of an order to be executed."/>
		<field name="maxFloor" type="QuantityOptional" id="111" description="Maximum number of shares or contracts within an order to be shown on the match engine at any given time."/>
		<field name="investorID" type="InvestorID" id="35504" description="Unique identifier of customer."/>
		<field name="custodianInfo" type="CustodianInfo" id="35507" description="Identifies the custodian."/>
		<field name="expireDate" type="LocalMktDate" id="432" description="Date of order expiration (last day the order can trade), always expressed in terms of the local market date."/>
		<field name="stopPx" type="PriceOptional" id="99" description="The stop price of a stop limit order (Conditionally required if OrdType = 4)."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="executingTrader" type="TraderOptional" id="35506" description="Identifies the trader who is executing an order."/>
		<field name="selfTradePreventionInstruction" type="SelfTradePreventionInstruction" id="35539" presence="optional" description="Indicates which order should be canceled due to Self-Trade Prevention."/>
	</sbe:message>
	<sbe:message name="OrderCancelRequest" id="105" description="OrderCancelRequest message submits a deletion of an existing order by referencing the original client order id.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.OrderCancelRequest" description="Message type = OrderCancelRequest."/>
		<field name="origClOrdID" type="ClOrdID" id="41" description="ClOrdID which should be replaced."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="executingTrader" type="TraderOptional" id="35506" description="Identifies the trader who is executing an order."/>
	</sbe:message>
	<sbe:message name="NewOrderCross" id="106" description="The NewOrderCross message submits a Cross on Order Entry gateway, a two-sided order submitted by a single party/broker at the same price and quantity.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.NewOrderCross" description="Message type = NewOrderCross."/>
		<field name="crossID" type="CrossID" id="548" description="ID of electronically submitted cross order by the institution (if in response to a cross order)."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="externalRFQIndicator" type="Boolean" id="35551" offset="55" description="Identifies if the cross is originated from RFQ System."/>
		<group name="noSides" id="552" dimensionType="GroupSizeEncoding">
			<field name="side" id="54" type="Side" description="Side of order."/>
			<field name="account" id="1" type="Account" offset="2" description="Account mnemonic of the order."/>
			<field name="enteringFirm" type="FirmOptional" id="35501" description="Identifies the broker firm that will enter orders."/>
			<field name="clOrdID" id="11" type="ClOrdID" description="Unique identifier of the order as assigned by the market participant."/>
		</group>
	</sbe:message>
	<sbe:message name="ExecutionReport_New" id="200" description="Execution Report - New message is sent in response to a NewOrderSingle or SimpleNewOrder messages, or also from a restated iceberg order.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_New" description="MessageType.ExecutionReport_New."/>
		<field name="orderID" type="OrderID" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="secondaryOrderID" type="OrderIDOptional" id="198" description="Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="protectionPrice" type="PriceOptional" id="35001" description="Conditionally returned on execution reports for Market and Stop Protect orders. This contains the final protection price limit at which any unmatched quantity will rest on the book."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="execRestatementReason" type="ExecRestatementReason" id="378" presence="optional" description="Used to communicate event type which triggers the Order Mass Action Request."/>
		<field name="multiLegReportingType" type="MultiLegReportingType" id="442" presence="optional" description="Used to indicate what an Execution Report represents. Default value is 1 (Single Security)."/>
		<field name="workingIndicator" type="Boolean" id="636" presence="optional" description="Indicates if an order has been triggered and is available for trading. Used with Stop (Limit, with protection) orders and the At the Close validity."/>
		<field name="selfTradePreventionInstruction" type="SelfTradePreventionInstruction" id="35539" presence="optional" description="Indicates which order should be canceled due to Self-Trade Prevention."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="marketSegmentReceivedTime" type="UTCTimestampNanos" id="35543" offset="56" description="Time of receipt of related inbound message in the market segment path."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="ExecutionReport_Modify" id="201" description="Execution Report - Modify message is sent in response to OrderCancelReplaceRequest or SimpleModifyOrder messages.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_Modify" description="MessageType.ExecutionReport_Modify."/>
		<field name="execID" type="ExecID" id="17" description="Unique identifier of execution message as assigned by the exchange – unique per instrument."/>
		<field name="orderID" type="OrderID" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="secondaryOrderID" type="OrderIDOptional" id="198" description="Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="multiLegReportingType" type="MultiLegReportingType" id="442" presence="optional" description="Used to indicate what an Execution Report represents. Default value is 1 (Single Security)."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="protectionPrice" type="PriceOptional" id="35001" offset="56" description="Conditionally returned on execution reports for Market and Stop Protect orders. This contains the final protection price limit at which any unmatched quantity will rest on the book."/>
		<field name="marketSegmentReceivedTime" type="UTCTimestampNanos" id="35543" description="Time of receipt of related inbound message in the market segment path."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="ExecutionReport_Cancel" id="202" description="ExecutionReport - Cancel message is sent in response to Order Cancel Request as well as to report unsolicited cancellation of orders due to: Market Operations or Cancel On Disconnect mechanism.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_Cancel" description="MessageType.ExecutionReport_Cancel."/>
		<field name="execID" type="ExecID" id="17" description="Unique identifier of execution message as assigned by the exchange – unique per instrument."/>
		<field name="orderID" type="OrderID" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="secondaryOrderID" type="OrderIDOptional" id="198" description="Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="execRestatementReason" type="ExecRestatementReason" id="378" presence="optional" description="Used to communicate event type which triggers the Order Mass Action Request."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<field name="marketSegmentReceivedTime" type="UTCTimestampNanos" id="35543" offset="56" description="Time of receipt of related inbound message in the market segment path."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="ExecutionReport_Trade" id="203" description="Execution Report – Trade/Trade Bust message is sent with order fills that were traded and processed on Matching Engine. Also, trade bust included on behalf of B3’s desk.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_Trade" description="MessageType.ExecutionReport_Trade."/>
		<field name="execID" type="ExecID" id="17" description="Unique identifier of execution message as assigned by the exchange – unique per instrument."/>
		<field name="orderID" type="OrderID" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="secondaryOrderID" type="OrderIDOptional" id="198" description="Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders."/>
		<field name="lastPx" type="Price" id="31" description="Price of last fill."/>
		<field name="lastQty" type="Quantity" id="33" description="Quantity of shares bought/sold on the last fill."/>
		<field name="aggressorIndicator" type="Boolean" id="1057" presence="optional" description="Identify whether the order initiator is an aggressor or not in the trade."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="execType" type="ExecType" id="150" description="Describes the action that triggered this specific Execution Report - see the OrdStatus (39) tag for the current order status (e.g, Partially Filled)."/>
		<field name="multiLegReportingType" id="442" type="MultiLegReportingType" presence="optional" description="Used to indicate what an Execution Report represents. Default value is 1 (Single Security)."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="leavesQty" type="Quantity" id="151" description="Amount of shares open for further execution, or unexecuted. ."/>
		<field name="cumQty" type="Quantity" id="14" description="Total number of shares or contracts filled."/>
		<field name="uniqueTradeID" type="TradeID" id="6032" description="Contains the unique identifier for this trade, per instrument + trading date, as assigned by the exchange."/>
		<field name="contraBroker" type="Firm" id="375" description="Identifies the contra broker firm."/>
		<field name="execRefID" type="ExecIDOptional" id="19" description="Optionally sent when reporting a trade bust. Contains the identifier of the busted trade."/>
		<field name="secondaryExecID" type="ExecIDOptional" id="8" description="Unique identifier present in all messages associated with a spread transaction. This value allows linking spread summary fill notice, leg fill notices, and leg trade cancellation execution report messages generated from a spread transaction."/>
		<field name="crossID" type="CrossID" id="548" description="ID of electronically submitted cross order by the institution (if in response to a cross order)."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="totNoRelatedSym" type="TotNoRelatedSym" id="393" description="Number of leg fill notice messages sent with spread summary."/>
		<field name="orderCategory" type="OrderCategory" id="1115" presence="optional" description="Reason why a trade occurred."/>
		<field name="externalRFQIndicator" type="Boolean" id="35551" description="Identifies if the trade is originated from RFQ System."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="transactTime" type="UTCTimestampNanos" id="60" offset="120" description="Time of execution/order creation; expressed in UTC."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="ExecutionReport_Reject" id="204" description="Execution Report - Reject message notifies the reason a client request was not accepted by Matching Engine.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_Reject" description="MessageType.ExecutionReport_Reject."/>
		<field name="execID" type="ExecID" id="17" description="Unique identifier of execution message as assigned by the exchange – unique per instrument."/>
		<field name="orderID" type="OrderIDOptional" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="cxlRejResponseTo" type="CxlRejResponseTo" id="434" description="Identifies the type of request that this Cancel Reject is in response to."/>
		<field name="ordRejReason" type="RejReason" id="103" description="Code to identify reason for order rejection. Please refer to the error codes document for domain information."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="marketSegmentReceivedTime" type="UTCTimestampNanos" id="35543" description="Time of receipt of related inbound message in the market segment path."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<data name="text" type="TextEncoding" id="58" semanticType="String" description="Free ASCII format text string."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="ExecutionReport_Forward" id="205" description="Execution Report – Forward message is sent with order fills were traded and processed on Matching Engine for Forward exclusively (Termo).">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.ExecutionReport_Forward" description="MessageType.ExecutionReport_Forward."/>
		<field name="execID" type="ExecID" id="17" description="Unique identifier of execution message as assigned by the exchange – unique per instrument."/>
		<field name="orderID" type="OrderID" id="37" description="Unique identifier for order as assigned by the exchange."/>
		<field name="clOrdID" type="ClOrdIDOptional" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="secondaryOrderID" type="OrderIDOptional" id="198" description="Exchange-generated order identifier that changes for each order modification event, or quantity replenishment in disclosed orders."/>
		<field name="lastQty" type="Quantity" id="32" description="Quantity of shares bought/sold on the last fill."/>
		<field name="lastPx" type="Price" id="31" description="Price of last fill."/>
		<field name="leavesQty" type="Quantity" id="151" description="Amount of shares open for further execution, or unexecuted. ."/>
		<field name="cumQty" type="Quantity" id="14" description="Total number of shares or contracts filled."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="uniqueTradeID" type="TradeID" id="6032" description="Contains the unique identifier for this trade, per instrument + trading date, as assigned by the exchange."/>
		<field name="contraBroker" type="Firm" id="375" description="Identifies the contra broker firm."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="execRefID" type="ExecIDOptional" id="19" description="Optionally sent when reporting a trade bust. Contains the identifier of the busted trade."/>
		<field name="secondaryExecID" type="ExecIDOptional" id="527" description="Unique identifier present in all messages associated with a spread transaction. This value allows linking spread summary fill notice, leg fill notices, and leg trade cancellation execution report messages generated from a spread transaction."/>
		<field name="crossID" type="CrossID" id="548" description="ID of electronically submitted cross order by the institution (if in response to a cross order)."/>
		<field name="aggressorIndicator" type="Boolean" id="1057" presence="optional" description="Identify whether the order initiator is an aggressor or not in the trade."/>
		<field name="ordStatus" type="OrdStatus" id="39" description="Identifies current status of order."/>
		<field name="settlType" type="SettlType" id="63" presence="optional" description="Indicates who in the contract has control over evoking settlement."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<field name="daysToSettlement" type="DayOffset" id="5497" description="Deadline for completing the forward deal. For Common, Dollar and Index contracts must be between 16 and 999. And maximum of 90 days for Flexible."/>
		<field name="fixedRate" type="Percentage" id="5706" description="Describes the interest to be paid by the forward buyer and received by the forward seller, in proportion to the agreed days to settlement. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="BusinessMessageReject" id="206" description="BusinessMessageReject message can reject an application-level message which fulfills session level rules but fails the business rules.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.BusinessMessageReject" description="Message type = BusinessMessageReject."/>
		<field name="refSeqNum" type="SeqNum" id="45" description="Message sequence number of rejected message."/>
		<field name="refMsgType" type="MessageType" id="372" description="MsgType of the FIX message being referenced."/>
		<field name="businessRejectRefID" type="BusinessRejectRefID" id="379" description="The value of the business-level “ID” field on the message being referenced. Required unless the corresponding ID field was not specified."/>
		<field name="businessRejectReason" type="RejReason" id="380" description="Code to identify the reason of the rejection."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<data name="text" type="TextEncoding" id="58" semanticType="String" description="Free ASCII format text string."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="SecurityDefinitionRequest" id="300" description="The SecurityDefinitionRequest message creates a User Defined Spread (UDS) instrument. User-Defined Spreads provide users of the electronic trading platform the ability to create strategies composed by their choice of leg instruments, leg ratio and leg side.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.SecurityDefinitionRequest" description="Message type = SecurityDefinitionRequest."/>
		<field name="securityReqID" type="SecurityReqRespID" id="320" description="Unique ID of a Security Definition Request."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<group name="noLegs" id="555" dimensionType="GroupSizeEncoding">
			<field name="legSecurityID" type="SecurityID" id="602" description="Multileg instrument's individual security’s SecurityID. See SecurityID (48) field for description."/>
			<field name="legSecurityIDSource" type="SecurityIDSource" id="603" description="Multileg instrument's individual security’s SecurityIDSource. See SecurityIDSource (22) field for description. Identifies the class of the SecurityID (Exchange Symbol)."/>
			<field name="legSecurityExchange" type="SecurityExchange" id="616" description="Exchange code the leg security belongs to."/>
			<field name="legRatioQty" type="RatioQty" id="623" description="The ratio of quantity for this individual leg relative to the entire multileg security."/>
			<field name="legSide" type="Side" id="624" description="The side of this individual leg (multileg security). See Side (54) field for description and values."/>
		</group>
	</sbe:message>
	<sbe:message name="SecurityDefinitionResponse" id="301" description="The SecurityDefinitioresponse message is sent in response to an attempt to create a new security definition.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.SecurityDefinitionResponse" description="Message type = SecurityDefinitionResponse."/>
		<field name="securityReqID" type="SecurityReqRespID" id="320" description="Unique ID of a Security Definition Request."/>
		<field name="securityResponseID" type="SecurityReqRespID" id="322" description="Unique ID of a Security Definition message."/>
		<field name="securityResponseType" type="SecurityResponseType" id="323" description="Type of Security Definition message response."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="symbol" type="Symbol" id="55" description="B3 requires that this field is properly set. It contains the human readable form of the SecurityID tag, available in the Security List message in Market Data feed."/>
		<field name="securityStrategyType" type="SecurityStrategyType" id="7534" description="Indicates the type of Strategy created. This field is not sent on rejects."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="QuoteRequest" id="401" description="The Quote Request message is used within the context of this Forward transaction in which two parties have completed a deal outside the Exchange and are initiating the negotiation process to formalize and execute this operation on the Exchange.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.QuoteRequest" description="Message type = QuoteRequest."/>
		<field name="quoteReqID" id="131" type="QuoteReqID" description="Unique identifier for quote request."/>
		<field name="quoteID" id="117" type="QuoteIDOptional" description="Unique identifier for quote."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="orderQty" type="Quantity" id="38" description="Quantity ordered."/>
		<field name="uniqueTradeID" type="TradeID" id="6032" description="Contains the unique identifier for this trade, per instrument + trading date, as assigned by the exchange."/>
		<field name="fixedRate" type="Percentage" id="5706" description="Describes the interest to be paid by the forward buyer and received by the forward seller, in proportion to the agreed days to settlement. Expressed in decimal form. For example, 1% is expressed and sent as 0.01. One basis point is represented as 0.0001."/>
		<field name="price" type="Price" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="daysToSettlement" id="5497" type="DayOffset" description="Deadline for completing the forward deal. For Common, Dollar and Index contracts must be between 16 and 999. And maximum of 90 days for Flexible."/>
		<field name="privateQuote" type="Boolean" id="1171" description="Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only. ."/>
		<field name="settlType" type="SettlType" id="63" description="Indicates who in the contract has control over evoking settlement."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="executeUnderlyingTrade" type="ExecuteUnderlyingTrade" id="35004" presence="optional" description="Specifies if a simultaneous trade of the underlying is to be performed.Required to indicate Termo Vista and Termo Vista Registered."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<field name="contraBroker" type="FirmOptional" id="375" description="Broker identifier as assigned by B3 used to indicate the counterparty brokerage firm in a Forward deal."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<group name="noSides" id="552" dimensionType="GroupSizeEncoding">
			<field name="side" type="Side" id="54" description="Side of order."/>
			<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		</group>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="QuoteStatusReport" id="402" description="The QuoteStatusReport message is to inform the current status of forward acceptance.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.QuoteStatusReport" description="Message type = QuoteStatusReport."/>
		<field name="quoteReqID" type="QuoteReqID" id="131" description="Unique identifier for quote request."/>
		<field name="quoteID" type="QuoteID" id="117" description="Unique identifier for quote."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="price" type="PriceOptional" id="44" description="Price per share or contract. Conditionally required if the order type requires a price (not market orders and RLP)."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="quoteRejectReason" type="RejReason" id="300" description="Reason Quote was rejected."/>
		<field name="quoteStatus" type="QuoteStatus" id="297" description="Identifies the status of the quote acknowledgement."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="Quote" id="403" description="Quote message is used as the response to a QuoteRequest message, tradeable, and restricted tradeable quoting markets.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.Quote" description="Message type = Quote."/>
		<field name="quoteReqID" type="QuoteReqID" id="131" description="Unique identifier for quote request."/>
		<field name="quoteID" type="QuoteID" id="117" description="Unique identifier for quote."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="privateQuote" type="Boolean" id="1171" description="Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only. ."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="QuoteCancel" id="404" description="The QuoteCancel message is used to cancel a previous QuoteRequest message.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.QuoteCancel" description="Message type = QuoteCancel."/>
		<field name="quoteReqID" type="QuoteReqIDOptional" id="131" description="Unique identifier for quote request."/>
		<field name="quoteID" type="QuoteIDOptional" id="117" description="Unique identifier for quote."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="QuoteRequestReject" id="405" description="The QuoteRequestReject message is used when a QuoteRequest is not accept by B3 due to missing or incorrect details to reject QuoteRequest messages for all quoting models.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.QuoteRequestReject" description="Message type = QuoteRequestReject."/>
		<field name="quoteReqID" type="QuoteReqID" id="131" description="Unique identifier for quote request."/>
		<field name="quoteID" type="QuoteIDOptional" id="117" description="Unique identifier for quote."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="quoteRequestRejectReason" type="RejReason" id="658" description="Reason Quote was rejected."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="privateQuote" type="Boolean" id="1171" presence="optional" description="Specifies whether a quote is public, i.e. available to the market, or private, i.e. available to a specified counterparty only. ."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="PositionMaintenanceCancelRequest" id="501" description="PositionMaintenanceCancelRequest is a solicited cancel of PositionMaintenance message sent by client.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.PositionMaintenanceCancelRequest" description="Message type = PositionMaintenanceCancelRequest."/>
		<field name="posReqID" type="PosReqID" id="710" description="Unique identifier for the position maintenance request."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="origPosReqRefID" type="PosReqIDOptional" id="713" description="Reference to the PosReqID (710) of a previous maintenance request that is being canceled."/>
		<field name="posMaintRptRefID" type="PosMaintRptIDOptional" id="714" description="Reference to a PosMaintRptID (721) from a previous Position Maintenance Report that is being canceled."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
	</sbe:message>
	<sbe:message name="PositionMaintenanceRequest" id="502" description="PositionMaintenanceRequest message allows the position owner to submit requests to the holder of a position which will result in a specific action being taken which will affect the position. Generally, the holder of the position is a central counter party or clearing organization but can also be a party providing investment services.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.PositionMaintenanceRequest" description="Message type = PositionMaintenanceRequest."/>
		<field name="posReqID" type="PosReqID" id="710" description="Unique identifier for the position maintenance request."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="clearingBusinessDate" type="LocalMktDate" id="715" description="The 'Clearing Business Date' referred to by this request. It must be set with the current date."/>
		<field name="posTransType" type="PosTransType" id="709" description="Identifies the type of position transaction."/>
		<field name="contraryInstructionIndicator" type="Boolean" id="719" presence="optional" description="Used to indicate when a contrary instruction for exercise or abandonment is being submitted: The exercise should not happen to an ITM position or it should happen to an ATM or OTM position, always using the values of tags 709-PosTransType and 712-PosMaintAction to determine which operation will take place. Should not be submitted when false."/>
		<field name="thresholdAmount" type="PriceOffsetOptional" id="834" description="Used to indicate the minimum acceptable offset between the Strike Price and the Market Price."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<group name="noPositions" id="702" dimensionType="GroupSizeEncoding">
			<field name="posType" type="PosType" id="703" description="Used to identify the type of quantity."/>
			<field name="longQty" type="Quantity" id="704" offset="2" description="Long Quantity."/>
		</group>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="PositionMaintenanceReport" id="503" description="PositionMaintenanceReport message is sent by the holder of a position in response to a PositionMaintenanceRequest message and is used to confirm that a request has been successfully processed or rejected.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.PositionMaintenanceReport" description="Message type = PositionMaintenanceReport."/>
		<field name="posMaintRptID" type="PosMaintRptID" id="721" description="Unique identifier for this position report."/>
		<field name="posReqID" type="PosReqIDOptional" id="710" description="Unique identifier for the position maintenance request."/>
		<field name="origPosReqRefID" type="PosReqIDOptional" id="713" description="Reference to the PosReqID (710) of a previous maintenance request that is being canceled."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="posMaintResult" type="RejReason" id="723" description="Identifies reason for rejection. Required when PosMaintStatus = 2."/>
		<field name="tradeID" type="TradeID" id="1003" description="The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty."/>
		<field name="account" type="Account" id="1" description="Account mnemonic of the order."/>
		<field name="clearingBusinessDate" type="LocalMktDate" id="715" description="The 'Clearing Business Date' referred to by this request. It must be set with the current date."/>
		<field name="posTransType" type="PosTransType" id="709" description="Identifies the type of position transaction."/>
		<field name="posMaintAction" type="PosMaintAction" id="712" description="Maintenance Action to be performed."/>
		<field name="posMaintStatus" type="PosMaintStatus" id="722" description="Status of Position Maintenance Request."/>
		<field name="accountType" type="AccountType" id="581" presence="optional" description="Type of account associated with an order."/>
		<field name="contraryInstructionIndicator" type="Boolean" id="719" presence="optional" description="Used to indicate when a contrary instruction for exercise or abandonment is being submitted :The exercise should not happen to an ITM position or it should happen to an ATM or OTM position, always using the values of tags 709-PosTransType and 712-PosMaintAction to determine which operation will take place. Should not be submitted when false."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<!-- Next 64 bytes block (including SBE header) -->
		<field name="thresholdAmount" type="PriceOffsetOptional" id="834" offset="56" description="Used to indicate the minimum acceptable offset between the Strike Price and the Market Price."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<group name="noPositions" id="702" dimensionType="GroupSizeEncoding">
			<field name="posType" type="PosType" id="703" description="Used to identify the type of quantity."/>
			<field name="longQty" type="QuantityOptional" id="704" offset="2" description="Long Quantity."/>
			<field name="shortQty" id="705" type="QuantityOptional" offset="10" description="Short Quantity."/>
		</group>
		<data name="text" type="TextEncoding" id="58" semanticType="String" description="Free ASCII format text string."/>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="AllocationInstruction" id="601" description="AllocationInstruction message submits a blocking position mechanism. The blocking specification functionality has been developed to provide the ability to the system, whenever necessary, to prevent the assignment of an options contract position.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.AllocationInstruction" description="Message type = AllocationInstruction."/>
		<field name="allocID" type="AllocID" id="70" description="Unique identifier for this allocation instruction message."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="quantity" type="Quantity" id="53" description="Overall/total quantity (e.g. number of shares)."/>
		<field name="senderLocation" type="SenderLocation" id="35503" description="Identifies the original location for routing orders."/>
		<field name="enteringTrader" type="Trader" id="35502" description="Identifies the trader who is inserting an order."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="allocTransType" type="AllocTransType" id="71" description="Identifies allocation transaction type."/>
		<field name="allocType" type="AllocType" id="626" description="Describes the specific type or purpose of an Allocation message."/>
		<field name="allocNoOrdersType" type="AllocNoOrdersType" id="857" description="Indicates how the orders being booked and allocated by an Allocation Instruction."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<group name="noExecs" id="124" dimensionType="GroupSizeEncoding">
			<field name="tradeID" type="TradeID" id="1003" description="The unique ID assigned to the trade entity once it is received or matched by the exchange or central counterparty."/>
		</group>
		<group name="noAllocs" id="78" dimensionType="GroupSizeEncoding">
			<field name="individualAllocID" type="AllocID" id="467" description="Unique identifier for a specific NoAllocs (78) repeating group instance (e.g. for an AllocAccount)."/>
			<field name="allocAccount" type="Account" id="79" description="Sub-account mnemonic. Required if NoAllocs > 0."/>
			<field name="allocQty" type="Quantity" id="80" description="Quantity allocated to specific sub-account."/>
		</group>
		<data name="deskID" type="DeskIDEncoding" id="35510" semanticType="String" description="Identifies the trading desk."/>
		<data name="memo" type="MemoEncoding" id="5149" semanticType="String" description="Free UTF-8 format text field. This field may be used to convey client's relevant info. It's always echoed in the reports."/>
	</sbe:message>
	<sbe:message name="AllocationReport" id="602" description="AllocationReport message is as response of AllocationInstruction message.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.AllocationReport" description="Message type = AllocationReport."/>
		<field name="allocReportID" type="AllocReportID" id="755" description="Unique identifier for this message."/>
		<field name="allocID" type="AllocID" id="70" description="Unique identifier for this allocation instruction message."/>
		<field name="securityID" type="SecurityID" id="48" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="quantity" type="Quantity" id="53" description="Overall/total quantity (e.g. number of shares)."/>
		<field name="tradeDate" type="LocalMktDate" id="75" description="Indicates date of trading day (expressed in local time at place of trade). Sent in number of days since Unix epoch."/>
		<field name="allocTransType" type="AllocTransType" id="71" description="Identifies allocation transaction type."/>
		<field name="allocReportType" type="AllocReportType" id="794" description="Describes the specific type or purpose of an Allocation Report message."/>
		<field name="allocStatus" type="AllocStatus" id="87" description="Identifies status of allocation."/>
		<field name="allocNoOrdersType" type="AllocNoOrdersType" id="857" description="Indicates how the orders being booked and allocated by an Allocation Instruction."/>
		<field name="allocRejCode" type="RejReason" id="88" description="Identifies reason for rejection."/>
		<field name="side" type="Side" id="54" description="Side of order."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
	</sbe:message>
	<sbe:message name="OrderMassActionRequest" id="701" description="OrderMassActionRequest is sent by the client system to cancel working orders that belongs to a defined criteria as per client definition.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.OrderMassActionRequest" description="Message type = OrderMassActionRequest."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="marketSegmentID" type="MarketSegmentID" id="1300" description="Identifies the market segment."/>
		<field name="massActionScope" type="MassActionScope" id="1374" description="Specifies the scope of the action."/>
		<field name="massActionType" type="MassActionType" id="1373" presence="constant" valueRef="MassActionType.CANCEL_ORDERS" description="Specifies the type of action requested."/>
		<field name="execRestatementReason" type="ExecRestatementReason" id="378" presence="constant" valueRef="ExecRestatementReason.ORDER_MASS_ACTION_FROM_CLIENT_REQUEST" description="Used to communicate event type which triggers the Order Mass Action Request."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="side" type="Side" id="54" presence="optional" description="Side of order."/>
		<field name="securityID" type="SecurityIDOptional" id="48" presence="optional" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="securityGroup" type="SecurityGroup" id="1151" presence="optional" description="Security group as defined by B3."/>
	</sbe:message>
	<sbe:message name="OrderMassActionReport" id="702" description="OrderMassActionReport message is used to acknowledge an OrderMassActionRequest message.">
		<field name="messageType" type="MessageType" id="35" presence="constant" valueRef="MessageType.OrderMassActionReport" description="Message type = OrderMassActionReport."/>
		<field name="massActionReportID" type="MassActionReportID" id="1369" description="Unique ID of Order Mass Action Report as assigned by the matching engine."/>
		<field name="clOrdID" type="ClOrdID" id="11" description="Unique identifier of the order as assigned by the market participant."/>
		<field name="transactTime" type="UTCTimestampNanos" id="60" description="Time of execution/order creation; expressed in UTC."/>
		<field name="massActionResponse" type="MassActionResponse" id="1375" description="Specifies the action taken by matching engine when it receives the Order Mass Action Request."/>
		<field name="massActionScope" type="MassActionScope" id="1374" description="Specifies the scope of the action."/>
		<field name="massActionType" type="MassActionType" id="1373" presence="constant" valueRef="MassActionType.CANCEL_ORDERS" description="Specifies the type of action requested."/>
		<field name="execRestatementReason" type="ExecRestatementReason" id="378" description="Used to communicate event type which triggers the Order Mass Action Request."/>
		<field name="massActionRejectReason" type="MassActionRejectReason" id="1376" presence="optional" description="Reason Order Mass Action Request was rejected."/>
		<field name="ordTagID" type="OrdTagID" id="35505" description="Identifies the order tag identification."/>
		<field name="side" type="Side" id="54" presence="optional" description="Side of order."/>
		<field name="securityID" type="SecurityIDOptional" id="48" presence="optional" description="Security identification as defined by exchange."/>
		<field name="securityIDSource" type="SecurityIDSource" id="22" description="Identifies the class of the SecurityID (Exchange Symbol)."/>
		<field name="securityExchange" type="SecurityExchange" id="207" description="Market to which the symbol belongs."/>
		<field name="securityGroup" type="SecurityGroup" id="1151" presence="optional" description="Security group as defined by B3."/>
		<field name="possResend" type="Boolean" id="97" description="Indicates that message may contain information that has been sent under another sequence number."/>
		<data name="text" type="TextEncoding" id="58" semanticType="String" description="Free ASCII format text string."/>
	</sbe:message>
	<sbe:message name="SimpleOpenFramingHeaderMessage" id="0" description="Generate code for FramingHeader for internal/testing purposes.">
		<field name="framingHeader" id="0" type="FramingHeader"/>
	</sbe:message>
</sbe:messageSchema>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy