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
Next revision
Previous revision
developers:fixapi:collateralreport [2025/09/12 01:39] – removed - external edit (Unknown date) 127.0.0.1developers:fixapi:collateralreport [2026/04/29 17:05] (current) chad
Line 1: Line 1:
 +====== COLLATERAL REPORT [35=BA] ======
  
 +The Collateral Report message provides account information including balances, positions, permissions, and notifications.
 +
 +===== Report Types (QtyType 854) =====
 +
 +^ Type ^ Value ^ Purpose ^ Key Fields ^
 +| Account List | 1 | List user's accessible accounts | Account (1), PartyID (448), StartCash (921) |
 +| Account Details | 2 | Account configuration/permissions | Mode (3121), MaxClipSize (3117), MarginPC (3115) |
 +| Account Update | 3 | Current balances/margins | StartCash (921), MarginExcess (899), TotalNetValue (900) |
 +| Position Update | 4 | Position details by market | SecurityID (48), Quantity (53), Working orders (3002/3003) |
 +| Account Notice | 5 | Account-level alerts | Text (58) |
 +| Exchange Notice | 6 | Exchange bulletins | Text (58) |
 +| Market RFQ | 7 | Request for quote | SecurityID (48), Text (58) |
 +| User Info | 8 | Trader information | UserName (3141), UserRoles (3145) |
 +
 +===== CollStatus Values (Tag 910) =====
 +
 +^ Value ^ Status ^ Description ^
 +| 0 | Unknown | Account status is unknown |
 +| 1 | Blocked | Account is blocked from trading. Only closing of positions will be allowed |
 +| 2 | OK | Account is ok for trading |
 +| 3 | Unrestricted | Account does not have margin restrictions |
 +| 4 | Deleted | Account has been deleted |
 +| 5 | Disabled | Account has been disabled |
 +| 6 | OutsideActiveTime | Outside the active trading time for the account |
 +| 7 | NotAccessible | The account is not accessible by the user (e.g. permission removed or account deleted since the user originally requested the account list) |
 +| 8 | PitTradeOnly | The account can only accept pit trades |
 +| 9 | LossLimitExceeded | The loss limit has been exceeded and the account is blocked |
 +
 +===== Message Specification =====
 +
 +**Message Direction:** T4 → Client
 +
 +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^
 +| | **Message Header** | | Y | MsgType = BA |
 +| 909 | CollInquiryID | String | O | Original inquiry ID |
 +| 908 | CollRptID | String | Y | Unique report ID |
 +| 854 | QtyType | Int | Y | Report type (see table) |
 +| 910 | CollStatus | String | O | Entity status |
 +| 911 | TotNumReports | Int | O | Total reports in set |
 +| 912 | LastRptRequested | Boolean | O | Y=Last report |
 +| 1 | Account | String | O | Account code |
 +| 453 | NoPartyIDs | Int | O | Number of party IDs |
 +| →448 | PartyID | String | C | Account/User/Order ID |
 +| →452 | PartyRole | Int | C | 22=Exchange, 24=Account, 3=Order |
 +| | **=== Balance Fields (Type 3) ===** | | | |
 +| 921 | StartCash | Float | O | Beginning balance |
 +| 899 | MarginExcess | Float | O | Available margin |
 +| 900 | TotalNetValue | Float | O | Realized P&L |
 +| 901 | CashOutstanding | Float | O | Option premium |
 +| 53 | Quantity | String | O | "Total Long Short" positions |
 +| | **=== Position Fields (Type 4) ===** | | | |
 +| 48 | SecurityID | String | O | T4 Market ID |
 +| 55 | Symbol | String | O | T4 Contract ID |
 +| 207 | SecurityExchange | String | O | T4 Exchange ID |
 +| 167 | SecurityType | String | O | FUT, OPT, STK |
 +| 75 | TradeDate | LocalMktDate | O | Position date |
 +| 3000 | Buys | Int | O | Lots bought today |
 +| 3001 | Sells | Int | O | Lots sold today |
 +| 3002 | WorkingBuys | Int | O | Open buy orders |
 +| 3003 | WorkingSells | Int | O | Open sell orders |
 +| 3011 | TotalOpenVolume | Int | O | Net open position |
 +| | **=== Account Config (Type 2) ===** | | | |
 +| 3117 | MaxClipSize | Int | O | Max order size |
 +| 3119 | MaxPosition | Int | O | Position limit per market |
 +| 3115 | MarginPC | Float | O | Day margin percentage |
 +| 3123 | OvernightMarginPC | Float | O | Overnight margin percentage |
 +| 3121 | Mode | Char | O | M=Market, C=Contract, A=Account |
 +| 3105 | DayLossLimit | Float | O | Daily loss limit |
 +| 58 | Text | String | O | Notifications (Type 5/6/7) |
 +| | **Message Trailer** | | Y | |
 +
 +===== Calculation Formulas =====
 +  * **Available Cash** = StartCash (921) + TotalNetValue (900) - MarginExcess (899) + CashOutstanding (901)
 +  * **Net Position** = TotalOpenVolume (3011)
 +  * **Working Orders** = WorkingBuys (3002) - WorkingSells (3003)
 +
 +===== Sample Messages =====
 +
 +**Account Update (Type 3):**
 +<code>
 +8=FIX.4.2|9=200|35=BA|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|
 +908=cr-634914191578066280|909=ci-12/18/2012 8:54:31 AM|854=3|
 +1=Account1|921=-3501094.92|899=50935|900=0|901=0|53=15 13 -2|10=234|
 +</code>
 +
 +**Position Update (Type 4):**
 +<code>
 +8=FIX.4.2|9=300|35=BA|49=T4|56=T4Example|50=T4FIX|52=20121218-15:19:17.806|
 +908=cr-634914191578066280|909=ci-12/18/2012 8:54:31 AM|854=4|
 +1=Account1|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|167=FUT|
 +75=20121218|3000=4|3001=0|3002=1|3003=0|3011=5|10=234|
 +</code>
 +
 +===== Notes =====
 +  * Unsolicited updates sent for account/position changes
 +  * Suppress notifications with Logon Tag 372=CB
 +  * Position updates include working orders and fills