====== 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) | ===== 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):** 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| **Position Update (Type 4):** 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| ===== Notes ===== * Unsolicited updates sent for account/position changes * Suppress notifications with Logon Tag 372=CB * Position updates include working orders and fills