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