Enums
Enumerations that are used throughout the data model and API.
The different attributes that an Account may have to impact functionality in the system.
Not used for CCMX (this field is used when updating values used in limit checking).
This field defines the aggressor in the Trade pair. The aggressor is the side that has entered an Order that matches an existing Order.
For a Carta Cross transaction, defines what type of notional orders (if any) are allowed.
Defines the Auction type for a CCMX transaction.
Used to pass the reason for a user authentication error on login.
Indicates whether a BankTransaction was initiated by an action on MarketGrid or as a result of a message received from the bank.
Indicates the current status of a BankTransaction via the BankStransactionStatus field.
Indicates whether a BankTransaction record is a deposit or a withdrawal.
Not used for CCMX.
Not used for CCMX.
For a trading calendar, indicates the type for special dates. This is a bit field as a date may have more than one type attribute.
Defines the relationship type for CCMX accounts. This is not used in the Matching Engine, it is pass-through to other services in the Account table.
Defines the reason for a CCMX Account being blocked. This is a bit field as an Account may be blocked for multiple reasons.
Defines the reason that a CartaX transaction is extended.
For a CCMX transaction defines the type of net funding to be used for the Issuer.
Defines the set of Phases that may be used for CCMX transactions. Currently, CartaX and Tender (including RSU Settlement) transactions are supported. See the example in the description of CcmxAuctionPhaseActive for more details on how Phase is used.
For each change of Session for a CCMX transaction, the transaction enters (at the start of the Session) and exits (at the end of the Session) a Phase. When the transaction enters a Phase, its PhaseActive will have the Trading value and when it exits the Phase, its PhaseActive will have the Finished value.
For a CCMX Tender transaction, defines the current state of the transaction with respect to either the buy or sell side of the transaction. The state is the total quantity of orders as compared to the quantity of shares for the transaction.
For a CCMX transaction, prior to settlement, the SETL service may send preliminary netting funds information for the proposed trades to MarketGrid. This field defines the type of each such preliminary netting funds, i.e., the part of the Trade proceeds to which the record applies.
For a CCMX Tender transaction, this value for the TenderOfferAllocationMethod field of the Auction defines the method that will be used when allocating sell quantities per AuctionAccount.
For Firm or Enterprice contact information, defines the type of each contact detail record.
Enum encodings for days of the week.
Choice values for DayOfWeekBit
Enum encoding for days of the working week.
Choice values for Debug
Defines behaviour when the Matching Engine is started in demo mode via the demomode option.
This enum provides encoding for the number of seconds plus/minus from standard time due to daylight savings starting or ending for a number of possible daylight savings offsets.
Defines the format that should be dumped by the te_dump process.
Enum used when cycling or shutting down to control what happens with respect to engine cache files.
This field defines Enteprise types that are supported and provides a means to make code choices based on type. Every Enterprise must be one of these. For CCMX all Enterprises are CartaX, other than the CCMX Enterprisewhich is anExchange`.
For CCMX, this field is used to control triggering of banking-related actions by the Kafka Producer through changes on the ExternalAccountProvider table, specifically for the JPM record.
This field describes the basis on which fees are calculated for Orders and Trades.
This field indicates whether the currency to be used for fees for a Trade should be the default currency for the Firm that owns the Trade or the currency of the Trade itself.
This field indicates the type of fee that should be calculated for Orders and Trades.
Priority matching for Firms is configured by setting the FirmPriorityMatching field on the Firm. Each Firm may be assigned one of the following priority settings.
Firms within the platform are classified according to the different FirmType values.
Used in a hot-hot setup with main and backup Matching Engines. When an Engine detects that its counterpart is down, it asks the Governor machine/process for permission to assume (or continue) the role as main. The Governor response is one of these enum values.
Deprecated, can be removed.
For an operation on a Holding, defines the type of operation.
This field indicates the type of a HoldingReservation record.
HoldingTransactions within the platform transition through a number of different workflows depending on the operational model of the markets being operated. The actions that move a HoldingTransaction from one state to another are modelled in this HoldingTransactionAction enumeration.
For CCMX banking, both inbound and outbound payments from and to the bank are supported. This field defines the payment type for the HoldingTransaction for an inbound or outbound transaction.
An enumeration of the different reasons for which a given HoldingTransaction was created.
HoldingTransactions within the platform transition through a number of different workflows depending on the operational model of the markets being operated. The value of the HoldingTransactionStatus attribute of any given HoldingTransaction represents the current state of that HoldingTransaction through the relevant workflow.
HoldingTransactions within the platform can be of several different types as described in this enumeration. In most cases, the result of the transaction will transition through pending positions before they are finally moved into the available balances
The domain of values that may be applied to an InstrumentMarket to determine it's parameters according to the other entities in the Product hierarchy.
This field defines Instrument types that are supported and provides a means to make code choices based on type. Every Instrument must be one of these. For CCMX all Instruments are either Currency (for JPM cash) or CartaSecurities.
For each Broadcast message emitted by the Matching Engine, the KafkaControl value in the message defines how the message is to be handled by the Kafka Producer process.
Automatically-generated domain of numeric key numbers for fields in the data model and API.
Automatically-generated domain of numbers for level one fields in the data model and API.
When checking trading limits for Firms, Users and Accounts, this enum is used to indicate a particular limit check that fails.
This field is used with trading limit checking for Firms, Users and Accounts to indicate their current state with respect to their trading limits.
This field value defines the methods that a user may utilise to log into MarketGrid. It is a bit field meaning that more than one method is allowed for each user.
This field describes the mode in which a particular instance of the Matching Engine is running.
For maker-taker fees, describes the basis on which to calcualte the fee.
This field defines Market types that are supported and provides a means to make code choices based on type. Every Market must be one of these. For CCMX all Markets are either CartaX, CartaT or RSUSettlement.
This field allows the matching for an InstrumentMarket to use a modified form of price-time priority by sorting orders in the order book according to other fields, based on priority settings.
Full set of message numbers from the API model.
This enum is used to foce an ABI checksum change to the model, which forces a migration job for a new release. It is used primarily for testing purposes. Increment the Trigger value whenever this is required.
Enum encoding for months.
These values are used to differentiate between different operating modes for a MarketGrid Matching Engine. Currently, OrderManagementSystem is not supported as this functionality has not been developed.
Enum encodings for logical operations.
Indicates that an order book contains hidden quantities.
For a Carta Cross transaction, determines if an order book should be skipped during the iterative matching process.
This field determines how an Order is broadcast by MarketGrid. It is a bit field so more than one of the values may apply.
For a Carta Reverse Tender, indicates whether an Order has had its priority modified.
Not used for CCMX.
For a Carta Reverse Tender, indicates whether an Order is considered to be in the time-prioritised set.
This field indicates the reason for the last time that an Order was updated.
Enum that encodes the possible sides for Orders. Also used to encode capabilities in other tables (such as AuctionAccount).
This field indicates special (non-standard) attirbutes of an Order.
OrderStatus is the domain of state information about an Order.
For an Order change of Status this flag is used to control the behaviour in respect of updates to related tables and distribution of information via Broadcasts. It is passed as an argument to the TE_order_change_status function.
Defines the order types that are accepted by an entity in MarketGrid and the type for incoming orders. These are standard financial markets order types. This is a bit field since different order types may be combined, for example, a Limit order may also be a Hidden order and it is certainly a Buy or a Sell order.
Not used for CCMX.
This enum defines what functionality a permission record grants to a user. See the document Permission and Access Control for more details.
Choice values for PermissionActionBit
This enum defines when a Permission record applies. If defines the scope of records in a table to which a user has access. See the document Permission and Access Control for more details.
Types of public key that can be stored in the system.
Used by the logger thread when processing messages from the ZMQ queues to control various behaviours.
The list of ZMQ queues that the Matching Engine logger thread listens to.
Indicates which type of ZMQ queue each message read by the logger thread is from.
This field is to allow pre-reservation of funds that have not yet been received into the account. It allows the available balance on the account to go negative as a result of the reservation.
For a HoldingReservation transaction, this field indicates whether a given HoldingReservation should be decreased, set to a specific value or increased.
EngineError defines all error codes that may be emitted by the Matching Engine.
Not used for CCMX.
Not used for CCMX.
Used to specify the rounding method to be used for values, fees and taxes.
For reported (off-market) Trades indicates a self-reported buy or self-reported sell Trade.
Describes the type of process for each Matching Engine support process.
The Session enum is used for the Code field of the Session table to categorise each Session providing a specific item that can be tested in the Engine code to determine behaviours and available functionality during the Session.
For a Session in which matching is by periodic Auction, this field defines the type of Auction matching to be used.
This enum is used to define a particular Session parameter to be changed with the SessionParam API message.
Defines the type of Session currently running for an InstrumentMarket. The SessionType determines the functionality available to users (for example whether or not Orders may be entered).
Not used for CCMX.
For settlement of a HoldingReservation where the RelatedRecord is an Account, this field indicates whether the reserved funds are transfered To or From the RelatedRecord.
Defines the source for an Order record, i.e., from where the transaction that created the Order was received.
Status is used throughout MarketGrid to control the functional behaviour of different entities in the system. It is implemented as a bit mask of the values from the Status enumeration.
Defines the reason that the Status of an entity last changed.
Used for an agrument to the TE_status_change functions to define the operation to be used for the new Status value with respect to the existing value.
Self-trade detection level.
Self-trade prevention strategies.
Defines the mode in which the Matching Engine is currently running. The Engine progresses through each mode from Started to Shutdown in the course of a normal run.
Full set of table numbers from the data model.
Tagged Instruments are used in MarketGrid to distinguish between specific instances of otherwise identical Instruments.
For CCMX transactions, his field is used with trade settlement messages from the SETL service to indicate how trade cost settlement messages should be handled. The value is passed into the HoldingTransaction for the trade settlement message.
This field indicates the reason for the last time that a Trade was updated.
This field provides the complete set of trade settlement type codes that are used in HoldingTransaction records related to trade settlements for CCMX transactions. They are provided for use by downstream services such as reporting to provide full context for each HoldingTransaction. More details for this table can be found in the MarketGrid document on Confluence in respect of Settlement-Related Holding Transactions.
Defines the TradeStatus value for Trades.
Defines the possible types for a Trade.
Used during processing of tsv files to return information about the type of each line read.
This enum defines what to do with a user's Orders if the user is timed out on their UI or API connection.
Users within the platform can be classified by their UserType attribute. The restriction of features in the system is managed via the Permission model and no longer dependent on this attribute. As such this attribute is mostly for classification purposes.