Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
faq:collateral_inquiry [2025/07/28 16:16] – created rob | faq: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, orders, and 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 | + | * UnSubscribe |
* 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, |
- | 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, | + | To retrieve |
- | + | * Set **Tag 263 = 0** | |
- | To request | + | * Set **Tag 896 = 0 (Customer-Accounts)** |
- | + | * Returned as multiple | |
- | * Use **Tag 263=0** | + | |
- | * Set **Tag 896=0** (Collateral Inquiry Qualifier = Customer-Accounts) | + | |
- | + | ||
- | The response will be a series of **Collateral Reports** | + | |
- | + | ||
- | ==== 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 | + | To suppress |
+ | * Set **Tag 725 = 1 (Out-of-Band)** | ||
+ | * Or use Logon message with **Tag 372 = d** | ||
- | | + | **Note:** Subscriptions are by Account ID (Tag 448), not Account Name. |
- | * Or in Logon message, set **Tag 372=d** to avoid echo of portfolio details | + | |
- | Note: | + | To refresh data (e.g., to receive new Execution Reports), |
- | * Duplicate subscription attempts result in no response | + | |
- | * Refresh state using unsubscribe | + | |
- | * 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 448** with Account IDs | + | |
- | * Set **Tag 896=0** | + | |
- | + | ||
- | No response is returned | + | |
- | + | ||
- | ==== 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/ | + | |
- | | + | ===== Listing Order History ===== |
- | * Set **Tag 896=4** (Account-Orders) | + | To list a specific order’s history: |
- | | + | |
- | * Use **Tag 452=24** | + | * PartyID group: |
+ | * **Tag 452 = 3 (Order ID)** | ||
+ | | ||
+ | * Set **Tag 896 = 3 (Order-History)** | ||
- | Returns Execution Reports | + | Returns |
- | 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 | + | * Working, filled, rejected, suspended, etc. |
- | | + | * Fills include |
- | ==== 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** | + | ===== Listing User/Trader Information ===== |
+ | To retrieve trader info: | ||
+ | * Set **Tag 896 = 13** | ||
+ | * Use **Tag 448 = " | ||
- | Returns **Collateral Reports** with: | + | Multiple |
- | | + | Reports (**Tag 854 = 8**) may include: |
- | * Unique | + | * User name, ID, type, firm, roles |
- | * Type | + | * Assigned accounts (if **Tag 452 = 24**) |
- | | + | * Enabled exchanges (if **Tag 452 = 22**) |
- | | + | |
- | * Roles | + | |
- | Optional fields | + | ===== 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 | + | ==== 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 | ||
+ | | 58 | Text | N | Free-form text | | ||
+ | | *Standard Trailer* | Y | | | ||