developers:fixapi:collateralreport

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
developers:fixapi:collateralreport [2025/09/12 01:39] – removed - external edit (Unknown date) 127.0.0.1developers:fixapi:collateralreport [2025/09/12 01:39] (current) – ↷ Page moved and renamed from developers:fixapi.collateralreport to developers:fixapi:collateralreport chad
Line 1: Line 1:
 +===== Collateral Report =====
 +**Application Reports**
 +
 +The **Collateral Report** message (`MsgType=BA`) responds to the **Collateral Inquiry** message by listing detailed information about:
 +  * Account positions
 +  * Account updates
 +  * Account permissions
 +  * Account balances
 +
 +Reports are generated as a result of:
 +  * Listing Account Details for a connected user
 +  * Account Subscription Requests
 +  * Account Updates
 +  * Account Position Updates
 +  * Account and Exchange notifications
 +  * User/Trader Information Requests
 +
 +----
 +
 +=== Responding to the Request to List User Accounts ===
 +A **Collateral Inquiry** (`MsgType=BB`, `Tag 263=0`) returns Collateral Reports for each account the user has access to:
 +  * **Account name** in `Account` (`Tag 1`)
 +  * **Account ID** in `PartyID` (`Tag 448`)
 +  * Basic balance info (`StartCash` = `Tag 921`)
 +
 +Differentiated by **Quantity Type** = Account-List (`Tag 854=1`).
 +
 +----
 +
 +=== Responding to Account Subscription Requests ===
 +A subscription request (`MsgType=BB`, `Tag 263=1`) returns **Collateral Reports** and **Execution Reports** for:
 +  * Orders, fills, positions
 +  * Account details
 +  * Account updates
 +  * Account position updates
 +
 +**Collateral Report Categories:**
 +
 +1. **Account Details**  
 +   * Privileges, permissions, configurations  
 +   * **Quantity Type** = Account-Details (`Tag 854=2`)
 +
 +2. **Account Updates**  
 +   * Instantaneous balances: Start Cash, Margin Requirements, etc.  
 +   * **Quantity Type** = Account-Update (`Tag 854=3`)  
 +   * Can be received asynchronously without an inquiry  
 +   * Cash available = `StartCash` (`921`) + `Realized P&L` (`900`) - `Margin Requirements` (`899`) + `Premium` (`901`)
 +
 +3. **Account Position Updates**  
 +   * Open positions, working orders, fills by market  
 +   * Includes `Buys` (`3002`), `Sells` (`3003`), `Short/Long` positions (`53`), `Open Volume` (`3011`)  
 +   * **Quantity Type** = Account-Position-Update (`Tag 854=4`)  
 +   * Can be received asynchronously
 +
 +----
 +
 +=== Asynchronous Account Notifications ===
 +Unsolicited Collateral Reports may be received for:
 +  * **Account notifications** (`Tag 854=5`)
 +  * **Exchange notifications** (`Tag 854=6`)
 +  * **Market RFQ** (`Tag 854=7`)
 +
 +Enabled by default for all FIX connections.  
 +Can be suppressed with **Logon** `MsgType=CB` (`Tag 372=CB`).
 +
 +----
 +
 +=== Message Dictionary ===
 +^ Tag  ^ Field Name            ^ Req'd ^ Comments                                                                                          ^
 +| **Standard Header** | Y      | MsgType = BA                                                                                             |
 +| 909  | CollInquiryID         | N     | ID for the collateral inquiry that generated this report                                          |
 +| 908  | CollRptID             | Y     | Unique identifier for this report                                                                 |
 +| 910  | CollStatus            | N     | Status of the entity carried by this report                                                       |
 +| 911  | TotNumReports         | N     | Total number of reports in this inquiry                                                           |
 +| 912  | LastReportRequested   | N     | Indicates if this is the last in the series                                                       |
 +| 1    | Account               | N     | Account code                                                                                       |
 +| **Start Repeating Group**    |       | PartyIDs                                                                                           |
 +| 453  | NoPartyIDs            | N     | Number of PartyIDs                                                                                 |
 +| 448  | PartyID               | Y     | Depends on PartyRole                                                                               |
 +| 452  | PartyRole             | N     | 22=User Exchange, 24=Customer Account, 3=Order Id                                                  |
 +| **End Repeating Group**      |                                                                                                          |
 +| **Start Repeating Group**    |       | Miscellaneous Fees                                                                                 |
 +| 136  | NoMiscFees            | N     | Number of misc fee entries                                                                         |
 +| 137  | MiscFeeAmt            | Y     | Fee amount                                                                                         |
 +| 138  | MiscFeeCurr           | N     | Fee currency                                                                                       |
 +| 139  | MiscFeeType           | N     | C=Customer, M=Member, N=None                                                                       |
 +| 891  | MiscFeeBasis          | N     | 0=Absolute, 1=Per Unit, 2=Percentage                                                               |
 +| **End Repeating Group**      |                                                                                                          |
 +| 58   | Text                  | N     | Free text                                                                                          |
 +| 899  | MarginExcess          | N     | Amount meaning depends on report type                                                              |
 +| 900  | TotalNetValue         | N     | Value meaning depends on report type                                                               |
 +| 901  | CashOutstanding       | N     | Option premium                                                                                     |
 +| 921  | StartCash             | N     | Start of day balance                                                                                |
 +| 53   | Quantity              | N     | Total MP, Long MP, Short MP                                                                        |
 +| 854  | QuantityType          | N     | 1=Account List, 2=Account Details, 3=Account Update, 4=Account Position Update, 5=Account Notification, 6=Exchange Notification, 7=Market RFQ, 8=User/Trader Info |
 +| 48   | SecurityID            | N     | T4 Market ID                                                                                        |
 +| 55   | Symbol                | N     | T4 Contract ID                                                                                      |
 +| 207  | SecurityExchange      | N     | T4 Exchange ID                                                                                      |
 +| 167  | SecurityType          | N     | FUT=Futures, OPT=Options, STK=Stock, SYN=Synthetic, BIN=Binary Option                              |
 +| 201  | PutOrCall             | N     | 0=Put, 1=Call                                                                                       |
 +| 202  | StrikePrice           | N     | Option strike price                                                                                 |
 +| 75   | TradeDate             | N     | Update date                                                                                         |
 +| 3000 | Buys                  | N     | Lots bought today                                                                                   |
 +| 3001 | Sells                 | N     | Lots sold today                                                                                     |
 +| 3002 | WorkingBuys           | N     | Working buy orders                                                                                  |
 +| 3003 | WorkingSells          | N     | Working sell orders                                                                                 |
 +| 3004 | OvernightUPL          | N     | Overnight unrealized P&                                                                           |
 +| 3005 | AverageOpenTicks      | N     | Avg price (ticks) of open positions                                                                 |
 +| 3006 | OvernightPosition     | N     | Overnight market lots                                                                                |
 +| 3007 | CurrencyRate          | N     | Conversion to USD                                                                                    |
 +| 3008 | TotalBuyFillTicks     | N     | Total price (ticks) of buys                                                                          |
 +| 3009 | TotalSellFillTicks    | N     | Total price (ticks) of sells                                                                         |
 +| 3010 | TotalOpenTicks        | N     | Total ticks*volume open positions                                                                    |
 +| 3011 | TotalOpenVolume       | N     | Open position volume                                                                                 |
 +| 3100 | AccountID             | N     | Unique account ID                                                                                    |
 +| 3101 | AccountName           | N     | Account name                                                                                         |
 +| 3102 | ActiveTimeStart       | N     | Trading start time                                                                                   |
 +| 3103 | ActiveTimeStop        | N     | Trading stop time                                                                                    |
 +| 3104 | BlockExpiring         | N     | Hours before last trade time to block                                                                |
 +| 3105 | DayLossLimit          | N     | Max daily loss                                                                                        |
 +| 3106 | Deleted               | N     | Y=Deleted, N=Not deleted                                                                             |
 +| 3107 | DisplayName           | N     | Display name prefix                                                                                  |
 +| 3108 | EditMargin            | N     | Can child firm admins edit margin?                                                                   |
 +| 3109 | EMail                 | N     | Fill notification email                                                                              |
 +| 3110 | Enabled               | N     | Y=Enabled, N=Disabled                                                                                |
 +| 3111 | Firm                  | N     | Firm name                                                                                            |
 +| 3112 | FirmID                | N     | Firm unique ID                                                                                       |
 +| 3113 | LossLimit              | N     | Max daily cash loss                                                                                  |
 +| 3114 | LossLimitPC            | N     | Max daily loss %                                                                                     |
 +| 3115 | MarginPC               | N     | Margin % rate for day trading                                                                        |
 +| 3116 | MaxAccountPosition     | N     | Max total position                                                                                   |
 +| 3117 | MaxClipSize            | N     | Max per-order quantity                                                                               |
 +| 3118 | MaxContractMargin      | N     | Max contract margin                                                                                  |
 +| 3119 | MaxPosition            | N     | Max position in a single market                                                                      |
 +| 3120 | MinBalance             | N     | Minimum balance                                                                                      |
 +| 3121 | Mode                   | N     | M=By Market, C=By Contract, A=By Account                                                             |
 +| 3122 | OrderRouting           | N     | Y=Yes, N=No                                                                                          |
 +| 3123 | OvernightMarginPC      | N     | Margin % for overnight positions                                                                     |
 +| 3124 | ParentFirmID           | N     | Parent firm ID                                                                                        |
 +| 3125 | PLRollover              | N     | Y=Yes, N=No                                                                                          |
 +| 3126 | PositionRollover        | N     | Y=Yes, N=No                                                                                          |
 +| 3127 | PreTradeDisabled        | N     | Y=Yes, N=No                                                                                          |
 +| 3128 | RiskAlerts              | N     | Y=Yes, N=No                                                                                          |
 +| 3131 | StrategyMaxClipSize     | N     | Max per-order in Strategy markets                                                                    |
 +| 3132 | StrategyMaxPosition     | N     | Max position in Strategy markets                                                                     |
 +| 3133 | StrategyTotalPitTrades  | N     | Pit trades in all Strategy markets                                                                   |
 +| 3134 | TotalPitTrades          | N     | Pit trades in this market                                                                            |
 +| 3135 | UsePLForMargin          | N     | Y=Yes, N=No                                                                                          |
 +| 3136 | WarningThresholdLossLimit | N  | Warning threshold % of Loss Limit                                                                    |
 +| 3137 | WarningThresholdMargin  | N     | Warning threshold % of Margin                                                                        |
 +| 3138 | WarningThresholdPL      | N     | Warning threshold % of P&                                                                          |
 +| 3139 | WideMarket              | N     | Bid/offer spread $ threshold                                                                         |
 +| 3140 | UserID                  | N     | Logged-in user ID                                                                                    |
 +| 3141 | UsrName                 | N     | Logged-in user name                                                                                  |
 +| 3142 | UserFirm                | N     | Firm of logged-in user                                                                               |
 +| 3143 | UserParentFirm          | N     | Parent firm of logged-in user                                                                        |
 +| 3144 | UserIsMaster            | N     | True=Master User, False=Not Master                                                                   |
 +| 3145 | UserRoles               | N     | Roles (separated by "."                                                                            |
 +| 3146 | UserType                | N     | ATS, ATSDisplay, Desk, Manual, NonProfessional, Professional, SubVendor, Wallboard                  |
 +| 12   | Commission              | N     | Commission amount                                                                                    |
 +| 13   | CommType                | N     | Commission type                                                                                      |
 +| **Standard Trailer** | Y                                                                                                             |
 +
 +
 +Sample Messages
 +
 +Account Details
 +
 +<code>
 +[FIXCOLLATERALINQUIRY] 34=64|49=T4Example|56=T4|52=20121218-15:19:15.357|909=ci-12/18/2012 9:19:15 AM|263=2|725=0|453=1|
 +448=9A65B2FE-1D27-4230-A942-F60983CFB33B|452=24|938=1|896=0|
 +
 +[MsgSeqNum] 34 = 64
 +[SenderCompID] 49 = T4Example
 +[TargetCompID] 56 = T4
 +[SendingTime] 52 = 20121218-15:19:15.357
 +[CollInquiryID] 909 = ci-12/18/2012 9:19:15 AM
 +[SubscriptionRequestType] 263 = 2 (DISABLE_PREVIOUS_SNAPSHOT_PLUS_UPDATE_REQUEST)
 +[ResponseTransportType] 725 = 0 (IN_BAND)
 +[NoPartyIDs] 453 = 1
 +[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
 +[PartyRole] 452 = 24 (CUSTOMER_ACCOUNT)
 +[NoCollInquiryQualifier] 938 = 1
 +[CollInquiryQualifier] 896 = 0 (CUSTOMER_ACCOUNTS)
 +
 +
 +
 +[fixcollateralreport] 34=1463|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280|909=ci-12/18/2012 8:54:31 AM
 +|910=3|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B|136=1|137=-1|139=C|854=2
 +|3100=9A65B2FE-1D27-4230-A942-F60983CFB33B|3101=Account1|3104=-1|3105=0|3106=N|3108=N|3110=Y|3111=test
 +|3112=2884B215-4A4B-4E9D-A40E-F8212D713E13|3113=0|3114=0|3115=100|3116=-1|3117=10|3118=-1|3119=-1|3120=0|3121=C
 +|3122=N|3123=100|3124=2884B215-4A4B-4E9D-A40E-F8212D713E13|3125=Y|3126=Y|3127=Y|3128=Y|3131=1000
 +|3132=-1|3133=100|3134=100|3135=Y|3136=-1|3137=-1|3138=10|3139=-1|12=2.5|
 +
 +[MsgSeqNum] 34 = 1463
 +[SenderCompID] 49 = T4
 +[TargetCompID] 56 = T4Example
 +[SenderSubID] 50 = T4FIX
 +[SendingTime] 52 = 20121218-15:19:17.806
 +[CollRptID] 908 = cr-634914191578066280
 +[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
 +[CollStatus] 910 = 3 (ASSIGNED)
 +[TotNumReports] 911 = 1
 +[LastRptRequested] 912 = Y (YES)
 +[Account] 1 = Account1
 +[NoPartyIDs] 453 = 1
 +[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
 +[NoMiscFees] 136 = 1
 +[MiscFeeAmt] 137 = -1
 +[MiscFeeType] 139 = C
 +[QtyType] 854 = 2 (ACCOUNT_DETAILS)
 +[AccountID] 3100 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
 +[AccountName] 3101 = Account1
 +[BlockExpiring] 3104 = -1
 +[DayLossLimit] 3105 = 0
 +[Deleted] 3106 = N
 +[EditMargin] 3108 = N
 +[Enabled] 3110 = Y
 +[Firm] 3111 = test
 +[FirmID] 3112 = 2884B215-4A4B-4E9D-A40E-F8212D713E13
 +[LossLimit] 3113 = 0
 +[LossLimitPC] 3114 = 0
 +[MarginPC] 3115 = 100
 +[MaxAccountPosition] 3116 = -1
 +[MaxClipSize] 3117 = 10
 +[MaxContractMargin] 3118 = -1
 +[MaxPosition] 3119 = -1
 +[MinBalance] 3120 = 0
 +[Mode] 3121 = C
 +[OrderRouting] 3122 = N
 +[OvernightMarginPC] 3123 = 100
 +[ParentFirmID] 3124 = 2884B215-4A4B-4E9D-A40E-F8212D713E13
 +[PLRollover] 3125 = Y
 +[PositionRollover] 3126 = Y
 +[PreTradeDisabled] 3127 = Y
 +[RiskAlerts] 3128 = Y
 +[StrategyMaxClipSize] 3131 = 1000
 +[StrategyMaxPosition] 3132 = -1
 +[StrategyTotalPitTrades] 3133 = 100
 +[TotalPitTrades] 3134 = 100
 +[UsePLForMargin] 3135 = Y
 +[WarningThresholdLossLimit] 3136 = -1
 +[WarningThresholdMargin] 3137 = -1
 +[WarningThresholdPL] 3138 = 10
 +[WideMarket] 3139 = -1
 +[Commission] 12 = 2.5
 +
 +</code>
 +
 +Account Update
 +
 +<code>
 +[fixcollateralreport] 34=1464|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280
 +|909=ci-12/18/2012 8:54:31 AM|910=Unrestricted|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B
 +|136=1|137=5|899=50935|900=0|901=0|921=-3501094.9228|53=15 13 -2|854=3|
 +
 +[MsgSeqNum] 34 = 1464
 +[SenderCompID] 49 = T4
 +[TargetCompID] 56 = T4Example
 +[SenderSubID] 50 = T4FIX
 +[SendingTime] 52 = 20121218-15:19:17.806
 +[CollRptID] 908 = cr-634914191578066280
 +[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
 +[CollStatus] 910 = Unrestricted
 +[TotNumReports] 911 = 1
 +[LastRptRequested] 912 = Y (YES)
 +[Account] 1 = Account1
 +[NoPartyIDs] 453 = 1
 +[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
 +[NoMiscFees] 136 = 1
 +[MiscFeeAmt] 137 = 5
 +[MarginExcess] 899 = 50935
 +[TotalNetValue] 900 = 0
 +[CashOutstanding] 901 = 0
 +[StartCash] 921 = -3501094.9228
 +[Quantity] 53 = 15 13 -2
 +[QtyType] 854 = 3 (ACCOUNT_UPDATE)
 +</code>
 +
 +Account Position Update
 +<code>
 +
 +[fixcollateralreport] 34=1465|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|908=cr-634914191578066280
 +|909=ci-12/18/2012 8:54:31 AM|911=1|912=Y|1=Account1|453=1|448=9A65B2FE-1D27-4230-A942-F60983CFB33B|136=1|137=5|899=21875|900=0|901=0|53=5 5 0|854=4
 +|55=ES|48=CME_20121200_ESZ2|207=CME_Eq|200=201212|167=FUT|75=20121218|3000=4|3001=0|3002=1|3003=0|3004=287.5|3005=141575|3006=2
 +|3007=1|3008=566300|3009=0|3010=709150|3011=5|
 +
 +[MsgSeqNum] 34 = 1465
 +[SenderCompID] 49 = T4
 +[TargetCompID] 56 = T4Example
 +[SenderSubID] 50 = T4FIX
 +[SendingTime] 52 = 20121218-15:19:17.806
 +[CollRptID] 908 = cr-634914191578066280
 +[CollInquiryID] 909 = ci-12/18/2012 8:54:31 AM
 +[TotNumReports] 911 = 1
 +[LastRptRequested] 912 = Y (YES)
 +[Account] 1 = Account1
 +[NoPartyIDs] 453 = 1
 +[PartyID] 448 = 9A65B2FE-1D27-4230-A942-F60983CFB33B
 +[NoMiscFees] 136 = 1
 +[MiscFeeAmt] 137 = 5
 +[MarginExcess] 899 = 21875
 +[TotalNetValue] 900 = 0
 +[CashOutstanding] 901 = 0
 +[Shares] 53 = 5 5 0
 +[QtyType] 854 = 4 (ACCOUNT_POSITION_UPDATE)
 +[Symbol] 55 = ES
 +[SecurityID] 48 = CME_20121200_ESZ2
 +[SecurityExchange] 207 = CME_Eq
 +[MaturityMonthYear] 200 = 201212
 +[SecurityType] 167 = FUT (FUTURE)
 +[TradeDate] 75 = 20121218
 +[Buys] 3000 = 4
 +[Sells] 3001 = 0
 +[WorkingBuys] 3002 = 1
 +[WorkingSells] 3003 = 0
 +[OvernightUPL] 3004 = 287.5
 +[AverageOpenTicks] 3005 = 141575
 +[OvernightPosition] 3006 = 2
 +[CurrencyRate] 3007 = 1
 +[TotalBuyFillTicks] 3008 = 566300
 +[TotalSellFillTicks] 3009 = 0
 +[TotalOpenTicks] 3010 = 709150
 +[TotalOpenVolume] 3011 = 5
 +</code>
 +
 +[[developers:legacy_fix_api|T4 FIX API Home]]
 +