Clearing Firms can restrict Execution Firms from entering orders by submitting Block instructions through the API that will cause all subsequent order entries (including new orders, order modifies, and cross orders) to be rejected.
Block instructions must include the following parameters:
- Executing Firm (bytes 4-6 of SenderCompID) AND
- Account number AND
- Derivative type (futures or options) AND
- Side (buy or sell from message value: Side)
- Optionally, Product may also be designated. If Product is not included, the block instruction will apply to all products within the designated derivative type.
- Exchange is also available by default for the selected product
Block and unblock instructions allow Clearing Firms to manage their Execution Firms’ market exposure at the firm/account level. Once a block is applied, Execution Firms can resume trading for the identified account only after an Unblock instruction is submitted via the RMI.
Block and unblock instructions are placed with the following parameters:
Block/Unblock – Levels of Granularity
Level of Granularity
Derivative Type – Options on Futures or Futures
Side – Buy or Sell
Product Group (if not included, all product groups will be affected)
Block instructions submitted through the API use the Party Entitlement Definition message, which must conform to the following rules:
Each entitlement must be limited to a combination of one Execution Firm and one account.
- Different entitlements within a message can pertain to different accounts, but all accounts within a message must come under one firm.
- An entitlement carries either a block or unblock instruction – it cannot contain both.
- Each entitlement is limited to only one side; however, it can carry multiple instruments to be blocked on a given side.
- Multiple concurrent requests per Account are not supported. The risk system must receive an acknowledgement to an entitlement request for a given account prior to submitting a new entitlement request for that account.
- Each message can contain multiple entitlements. Within an entitlement, there can be multiple instructions to block/unblock multiple product groups.
- There will be a maximum configurable n number of instructions allowed per Party Entitlement Definition message.
No other requests are unblocked.
The Block instructions are active across all sessions until an Unblock instruction is submitted. In case of an emergency, Clearing Member Firm RMI Risk Administrators can contact GCC Support to request all Block instructions be removed for a Firm and Account.
Block instructions are applied at the Firm and Account level; they cannot be restricted at the Trader ID, SenderCompID, or SenderSubID level.
The RMI uses a hierarchal approach to implement the Block/Unblock instructions. A Block instruction with less granularity supersedes a Block instruction with greater granularity.
For example, if a risk system submits a Block instruction on two Product Groups and sends another Block instruction to restrict All Product Groups, the All Product Groups Block instruction supersedes the former, because the instruction for All Product Groups is at a less granular level than the two Product Groups.
Alternately, if there is a Block instruction for two Product Groups and an Unblock instruction is received for All Product Groups, then the latter is enforced and overrides the former, more granular Block instruction.
Block/Unblock instructions with errors will be rejected with a Business Reject message. If a Risk system submits a Block instruction for either the Buy or Sell side of a Product, a Request for Cross (RFC) for that Product is rejected. The RMI recognizes the order is a cross from the FIX message. Possible reasons for rejected Block/Unblock instructions include:
- Instructions do not meet the criteria for FIXML validation
- Instructions are missing required values
- Different instruction types within one message (Block/Unblock instructions and Cancel instructions cannot be in a single message)
- Format of given Account information does not meet formatting constraints
- Number of instructions in one message exceeds the maximum allowed
The Party Entitlement Definition message may be partially accepted/rejected when contradictory Block instructions are sent (e.g., If there are more than one entitlements and one of them says unblock few product groups, when all product groups are blocked).
The following diagram shows the message flow for Party Entitlement Definition Request and Acknowledge (Accept) messages for both Block and Unblock instructions initiated by clients’ automated risk systems.
Blocking Order Entry
Block instructions submitted through the API can be applied to All Product Groups or one or more Product Groups. The sections below detail procedures to restrict order entry through the API. Please see the RMI WebHelp for instructions on how to submit Block instructions through the user interface.
Firm and Account | Product type | All Product Groups | Side
To submit Block instructions through the API for All Product Groups:
- Clearing Member Firm (CMF) automated risk management system submits a Block instruction to restrict order entry from a specific Execution Firm/account on Options or Futures (Product type) on either the Buy or Sell side. If no product group(s) specified, all Product Groups is default.
- The Block instructions are validated for user credentials and FIXML messaging.
- The Block instructions are validated for any pre-existing instructions and pre-existing higher level instructions.
- A confirmation message is returned via the RMI API, stating that the Block instructions have been accepted.
- After the Block instructions pass the validation check, the Execution Firm is restricted from entering orders, cancel/replace requests or cross requests with the referenced account number.
Firm and Account | Product Type | Product Group | Side
Risk systems can submit Block instructions for one or more Product Groups for either Futures or Options (Product Type) on the Buy or Sell side.
Unblocking Order Entry
Risk systems can submit Unblock instructions through the API to resume order entry after the Execution Firm and Account has been restricted. The sections below detail procedures to resume order entry through the API only. Please see the RMI WebHelp for additional instructions on how to submit Unblock instructions through the user interface.
Firm and Account | Product Type | Side| All Product Groups
- CMF’s automated risk system submits an Unblock instruction to lift the previously applied Block instructions for a specific Execution Firm/account for Product Type on either the buy or sell side. If no product group(s) specified, order entry for all Product Groups is default.
- The Unblock instructions are validated for user credentials and FIXML messaging.
- The Unblock instructions are validated for any pre-existing instructions and pre-existing higher level instructions.
- A confirmation message is sent to the risk system stating that the Unblock instructions have been accepted.
- After the Unblock instruction is implemented, the Execution Firm can resume order entry, cancel/replace requests, and cross requests with the referenced account number.
Firm and Account | Product type | Side| Product Group
Clearing Member Firm (CMF)risk system can submit Unblock instructions for one or more Product Groups for either Futures or Options (Product Type) on the Buy or Sell side.
Block/Unblock Instructions Message Example
The Block/Unblock Definition Request message is sent for Block/Unblock order entry for multiple Accounts within an Execution Firm.
Below are two examples of the Party Entitlement Definition Request message:
Block for Execution Firm 330 and Client Account - 123456:
- Five Product Groups for Futures (Buy)
- Four Product Groups for Futures (Sell)
- Five Product Groups for Options (Buy)
- Four Product Groups for Options (Sell)
Block for Execution Firm 330 and Client Account - 67890:
- All Product Groups for Futures (Buy)
- Four Product Groups for Futures (Sell)
- All Product Groups for Options (Buy)
- Four Product Groups for Options (Sell)
Block/Unblock Instructions Accept Message Example
Below is an example of the Party Entitlement Definition Request Acknowledge – Accept message:
Block/Unblock Instructions Rejected Message Example
Below is an example of the Party Entitlement Definition Request Acknowledge – Reject message:
Block/Unblock Instructions Accept With Changes Message Example
Below is an example of the Party Entitlement Definition Request Acknowledge – Accept with changes message:
Party blocks are used to identify required Execution Firm and Account information in messages submitted to the API. They are required in the following RMI API messages:
- Required in Party Entitlement Definition Request Messages
- Not used in the Security List Messages, Login and Logout
- Execution Firm is required for Party Entitlements Messages; Account is optional
- If Account is not included, the RMI API will return all active Block instructions for the identified Execution Firm
The table below details the two elements that consist of Parties Block.
Party Block Elements
Signals that the following will contain the Execution Firm information
Execution Firm number
1 = Execution Firm
Designates the ID value as the Execution Firm number
Signals that the following will contain the Account information
24 = Account number
Designates the ID value as the Account number