===== 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&L |
| 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&L |
| 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
[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
Account Update
[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)
Account Position Update
[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
[[developers:legacy_fix_api|T4 FIX API Home]]