faq:collateral_inquiry

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
faq:collateral_inquiry [2025/07/28 16:16] – created robfaq:collateral_inquiry [2025/07/28 16:22] (current) rob
Line 1: Line 1:
 ====== Collateral Inquiry ====== ====== Collateral Inquiry ======
- 
-~~NOTOC~~ 
  
 ===== Application Management ===== ===== Application Management =====
- +Beyond order routing, the T4 FIX API provides additional functionalities to query and manage positions, orders and accounts. The **Collateral Inquiry** message (**MsgTyp=BB**) is the cornerstone of (non-routing) application management. If the requests are successful, Collateral Inquiries result in responses from the T4 FIX API server with Execution Reports, Collateral Reports, or Security Definitions.
-Beyond order routing, the T4 FIX API provides additional functionalities to query and manage positions, ordersand accounts. The Collateral Inquiry message (**MsgType=BB**) is the cornerstone of (non-routing) application management. If the requests are successful, Collateral Inquiries result in responses from the T4 FIX API server with Execution Reports, Collateral Reports, or Security Definitions.+
  
 Driven by its **Subscription Request Type (Tag 263)**, the Collateral Inquiry can provide the following functionalities: Driven by its **Subscription Request Type (Tag 263)**, the Collateral Inquiry can provide the following functionalities:
  
   * Subscribe to multiple accounts for the connected user   * Subscribe to multiple accounts for the connected user
-  * Unsubscribe from multiple accounts for the connected user+  * UnSubscribe from multiple accounts for the connected user
   * List User Accounts   * List User Accounts
   * List History of a specific order   * List History of a specific order
Line 16: Line 13:
   * List User Information   * List User Information
  
-==== Listing User Accounts ====+===== Listing User Accounts ====
 +After FIX logon success, the CTS API system requires subscription to user accounts before any orders can be placed. This is a key requirement without which no order would be accepted during the FIX Session.
  
-After FIX logon success, the CTS API system requires subscription to user accounts before any orders can be placed. This is a key requirement without which no order would be accepted during the FIX Session. By default, all user accounts are automatically subscribed to upon a successful login. +By default, **all user accounts are automatically subscribed to** upon a successful login. If only a subset of user accounts is required for trading, Automatic Account Subscription can optionally be turned off with the Logon message (**Tag 372=BB**). Subsequently, account subscriptions must be explicitly requested with the Collateral Inquiry message.
  
-If only a subset of user accounts is required for trading, **Automatic Account Subscription can be disabled** in the Logon message using **Tag 372=BB**. Subsequently, account subscriptions must be explicitly requested with the Collateral Inquiry message. +To retrieve a list of accounts: 
- +  * Set **Tag 263 = 0** 
-To request a list of user accounts: +  * Set **Tag 896 = 0 (Customer-Accounts)** 
- +  Returned as multiple Collateral Reports with **Tag 1 (Account Name)** and **Tag 448 (Account ID)**.
-  * Use **Tag 263=0** (Snapshot request) +
-  * Set **Tag 896=0** (Collateral Inquiry Qualifier = Customer-Accounts) +
- +
-The response will be a series of **Collateral Reports** containing **Account Name (Tag 1)** and **Account ID (Tag 448)**. +
- +
-==== Account Subscriptions ====+
  
 +===== Account Subscriptions =====
 To subscribe to accounts: To subscribe to accounts:
 +  * Use **Tag 263 = 1 (Snapshot Plus Updates)**
 +  * Use PartyID repeating group:
 +    * **Tag 452 = 24 (Customer-Account)**
 +    * **Tag 448 = Account ID**
 +  * Set **Tag 896 = 0 (Customer-Accounts)**
  
-  * Set **Tag 263=1** (Snapshot + Updates) +Response includes
-  * Use **PartyID group** with: +  * Account State (details, P/L, margins, balances)
-    * **Tag 452=24** (Customer-Account) +
-    * **Tag 448** set to desired Account IDs +
-  * Set **Tag 896=0** (Customer-Accounts) +
- +
-A successful subscription loads the requested accounts and may return: +
- +
-  * Account State (details, balances, P/L, etc.)+
   * Account Portfolio (orders, fills, positions)   * Account Portfolio (orders, fills, positions)
  
-To suppress report traffic:+To suppress verbose responses: 
 +  * Set **Tag 725 = 1 (Out-of-Band)** 
 +  * Or use Logon message with **Tag 372 = d**
  
-  Set **Tag 725=1** (Out-Of-Band) +**Note:** Subscriptions are by Account ID (Tag 448), not Account Name.
-  * Or in Logon messageset **Tag 372=d** to avoid echo of portfolio details+
  
-Note: +To refresh data (e.g., to receive new Execution Reports), unsubscribe and re-subscribe.
-  * Duplicate subscription attempts result in no response +
-  * Refresh state using unsubscribe → subscribe +
-  * Default auto-subscription on login unless **Tag 372=BB** is used +
- +
-==== Unsubscribing From Accounts ====+
  
 +===== Unsubscribing from Accounts =====
 To unsubscribe: To unsubscribe:
 +  * Set **Tag 263 = 2**
 +  * Use PartyID group:
 +    * **Tag 452 = 24**
 +    * **Tag 448 = Account ID**
 +  * Set **Tag 896 = 0**
  
-  * Set **Tag 263=2** +**Note:** No response is returned.
-  * Use **PartyID group**: +
-    * **Tag 452=24** (Customer-Account) +
-    * **Tag 448** with Account IDs +
-  * Set **Tag 896=0** +
- +
-No response is returned for successful unsubscriptions. +
- +
-==== Listing Order History ==== +
- +
-To request order history: +
- +
-  * Set **Tag 263=0** +
-  * Set **Tag 896=3** (Order-History) +
-  * Include **OrderID (Tag 37)** as **PartyID (Tag 448)** +
-  * Use **Tag 452=3** (Order-ID) +
- +
-Returns multiple **Execution Reports** showing all stages (e.g. risk approval, submission, exchange acknowledgment). +
- +
-==== Listing Account Orders and Fills ==== +
- +
-To list orders/fills for an account:+
  
-  Set **Tag 263=0** +===== Listing Order History ===== 
-  * Set **Tag 896=4** (Account-Orders) +To list a specific order’s history: 
-  Include **AccountID** in **Tag 448** +  * **Tag 263 = 0** 
-  * Use **Tag 452=24**+  * PartyID group: 
 +    * **Tag 452 (Order ID)** 
 +    * **Tag 448 = Order ID** 
 +  * Set **Tag 896 3 (Order-History)**
  
-Returns Execution Reports with workingfilledrejected, suspended states, etc.+Returns multiple Execution Reports for all order lifecycle events (risk approvalexchange submissionacceptance, etc.).
  
-Special tags:+===== Listing Account Orders and Fills ===== 
 +To get an account’s portfolio snapshot: 
 +  * **Tag 263 = 0** 
 +  * PartyID group: 
 +    * **Tag 452 = 24 (Customer Account)** 
 +    * **Tag 448 = Account ID** 
 +  * Set **Tag 896 = 4 (or other values)**
  
-  * **Tag 97=Y**PossResend +Returns Execution Reports for all orders
-  * **Tag 584**: MassStatusReqID (matches **Tag 909** of request) +  * Working, filled, rejected, suspended, etc. 
-  * **Tags 31 and 32** (LastPx and LastQty) differentiate fills+  * Fills include **Tag 31 (LastPx)** and **Tag 32 (LastQty)**
  
-==== Listing User/Trader Information ====+Differentiation: 
 +  * Execution Reports for Collateral Inquiry include **Tag 97 Y (PossResend)** 
 +  * Include **Tag 584 (MassStatusReqID)** to match **Tag 909 (CollInquiryID)**
  
-Set **Tag 896=13** to request information on current traders logged into the FIX session.+===== Listing User/Trader Information ===== 
 +To retrieve trader info: 
 +  * Set **Tag 896 = 13** 
 +  * Use **Tag 448 = "Traders"** or specific **UserName (Tag 553)**
  
-Returns **Collateral Reports** with:+Multiple Collateral Reports returned in multi-trader mode (**Logon with RefMsgType = UCG**). Master User info is returned even without multi-trader mode.
  
-  User Name +Reports (**Tag 854 = 8**) may include: 
-  * Unique ID +  * User name, ID, type, firm, roles 
-  * Type +  * Assigned accounts (if **Tag 452 = 24**) 
-  Firm Name +  * Enabled exchanges (if **Tag 452 = 22**)
-  Parent Firm +
-  * Roles+
  
-Optional fields (if requested):+===== Message Dictionary ===== 
 +^ Tag ^ Field Name ^ Req'd ^ Comments ^ 
 +| *Standard Header* | Y | MsgType = BB | 
 +| 909 | CollInquiryID | Y | Unique identifier for this inquiry | 
 +| 263 | SubscriptionRequestType | Y | 0 = SnapShot \\ 1 = Snapshot Plus Updates \\ 2 = Disable Previous Snapshot Plus Updates | 
 +| 725 | ResponseTransportType | N | 0 = In Band (default\\ 1 = Out of Band | 
 +| 1 | Account | N | Customer Account | 
 +| 581 | AccountType | N | Type of Customer Account |
  
-  * Assigned Accounts → **Tag 452=24** +==== Start Repeating Group: PartyID ==== 
-  * Enabled Exchanges → **Tag 452=22**+Tag ^ Field Name ^ Req'd ^ Comments ^ 
 +| 453 | NoPartyIDs | N | Number of PartyID entries | 
 +| 448 | PartyID | Y | Value depends on Party Role | 
 +452 | PartyRole | N | 22 = User Exchanges \\ 24 = Customer Account \\ 3 = Order ID |
  
-Request data for all users with **PartyID=Traders**, or for a specific user by setting **Tag 553** (UserName from Trader Logon).+==== Start Repeating Group: CollInquiryQualifier ==== 
 +Tag ^ Field Name ^ Req'd ^ Comments ^ 
 +| 938 | NoCollInquiryQualifier | N | Number of qualifiers | 
 +| 896 | CollInquiryQualifier | Y | 0 = Customer Accounts \\ 1 = Customer Exchanges \\ 3 = Order History \\ 4 = Account Orders - All \\ 5 = Account Orders - Working \\ 6 = Account Orders - Canceled \\ 7 = Account Orders - Filled \\ 8 = Rejected \\ 9 = Suspended \\ 11 = Fills \\ 12 = Overnights \\ 13 = User/Trader Information |
  
 +| 58 | Text | N | Free-form text |
 +| *Standard Trailer* | Y | |
  
  • faq/collateral_inquiry.1753719401.txt.gz
  • Last modified: 2025/07/28 16:16
  • by rob