Welcome Guest, you are in: Login
CTS Futures

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 and account balances. Reports are generated as the result of the following events or requests:

* 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 request for a list of accounts (MsgType=BB with Tag 263=0) returns Collateral Reports for each account the user has access to. The Account name is specified in the Account field (Tag 1). The corresponding AccountID is specified in the PartyID field (Tag 448). Basic balance information (e.g. StartCash=Tag 921) is also provided. This report is differentiated by its Quantity Type equal to Account-List (Tag 854=1).

Responding to Account Subscription Requests

A Collateral Inquiry request to subscribe to User Accounts (MsgType=BB with Tag 263=1) returns a combination of Collateral Reports and Execution Reports for orders, fills, positions, account details, account updates and account position updates. The Collateral Report message provides detailed information for the following categories:

1. Account Details

Account Details carry information on account privileges, account permissions and account configurations. This report is differentiated by its Quantity Type equal to Account-Details (Tag 854=2).

2. Account Updates

Account Updates carry information on the instantaneous state of account balances as Start Cash, Margin Requirements, etc. This report is differentiated by its Quantity Type equal to Account-Update (Tag 854=3). Account Updates can also be received asynchronously without a preceding Collateral Inquiry. In Account Updates, the cash available to trade can be calculated by summing the Start of Day Balance (Tag 921) + Realized P&L (Tag 900) - Margin Requirements (Tag 899) + Premium (Tag 901). This amount does not take into account (market-price-varying) unrealized P&L for positions open in the market.

3. Account Position Updates

Account Position Updates carry detailed information on open positions, working orders and fills for traded markets within an account. This type of Collateral Report informs of portfolio composition as in the account's number of buys and sells (Tags 3002 and 3003), number of short and long positions (Tag 53), Open Volume (Tag 3011), etc. This report is differentiated by its Quantity Type equal to Account-Position-Update (Tag 854=4). Account Position Updates can also be received asynchronously without a preceding Collateral Inquiry.

Asynchronous Account Notifications

Unsolicited Collateral Reports may also be received as a result of various notifications sent to the connected user. The notifications cover 3 categories: Account specific notifications (Tag 854=5), Exchange related notifications (Tag 854=6) and Market Request for Quotes (Tag 854=7). These reports are solely for user information only. By default, they are turned on for all FIX Connections. However, they can be suppressed from the FIX Session message flow by using a Logon MsgType of CB (Tag 372=CB).


Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = BA
909CollInquiryIDNUnique identifier for the collateral inquiry that generated this report.
908CollRptIDYUnique identifier for this report.
910CollStatusNStatus of Entity carried by this report.
911TotNumReportsNTotal number of Collateral Reports associated with its Collateral Inquiry.
912LastReportRequestedNIndicator whether this report is the last in the series of TotNumReports (Tag 911).
1AccountNAccount (code) for which this report pertains.
Start Repeating Group
453NoPartyIDsNNumber of PartyIDs fields requested. Repeating Group.
448PartyIDYPartyID as applicable to the Party Role (Tag 452):
452PartyRoleNIdentifies the Type of PartyID. The valid values are:
22 = User Exchange
24 = Customer Account
3 = Order Id
End Repeating Group
Start Repeating Group
136NoMiscFeesNNumber of repeating groups of miscellaneous fees
137MiscFeeAmtYMiscellaneous fee value.
138MiscFeeCurrNCurrency of miscellaneous fee.
139MiscFeeTypeNIndicates type of miscellaneous fee. The valid values are:
C = Customer
M = Member
N = None
891MiscFeeBasisNDefines the unit for a miscellaneous fee. The valid values are:
0 = Absolute
1 = Per Unit
2 = Percentage
End Repeating Group
58TextNFree form Text.
899MarginExcessNDescription of value per the type of collateral report:
Account_List Report: Total amount of cash that is available for the account to trade with.
Account_Update_Report: Total margin requirement for all the positions of this account. As applied to all markets.
Account_Position_Update Report: Total margin requirement for all the positions. As applied to this specific market.
900TotalNetValueNDescription of value per the type of collateral report:
Account_List Report: P&L including locally calculated Unrealized P&L.
Account_Update_Report: Realized P&L for all positions of this account. As applied to all markets.
Account_Position_Update Report: Realized P&L for all positions of this account. As applied to this specific market.
901CashOutstandingNOption Premium.
921StartCashNStart of Day Balance.
53QuantityNTotal MP, Long MP and Short MP
854QuantityTypeNQuantity Type indicator of Collateral Report. The valid values are:
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 Information
48SecurityIDNSecurity identifier. This is the T4 Market ID.
55SymbolNSymbol. This is the T4 Contract ID.
207SecurityExchangeNExchange at which the security trades. This is the T4 Exchange ID.
167SecurityTypeNInstrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN"
201PutOrCallNFor Options. Indicates whether an Option is for a Put or Call. Valid values are:
0 = Put
1 = Call
202StrikePriceNFor Options. Indicates the Strike Price of the Option.
75TradeDateNDate on which the update took place.
3000BuysNNumber of lots Bought in the current trading day for this market. Net position in market is equal to Buys (Tag 3000) minus Sells (Tag 3001).
3001SellsNNumber of lots Sold in the current trading day for this market. Net position in market is equal to Buys (Tag 3000) minus Sells (Tag 3001).
3002WorkingBuysNThe total number of lots that are currently working to buy in this market.
3003WorkingSellsNThe total number of lots that are currently working to sell in this market.
3004OvernightUPLNOvernight Unrealized Profit and Loss
3005AverageOpenTicksNThe average Price (in ticks) of open positions in this market.
3006OvernightPositionNThe number of market lots opened as an overnight position for the current trading day.
3007CurrencyRateNCurrency Rate conversion factor to US dollars.
3008TotalBuyFillTicksNThe total price (in ticks) of all buy trades in this market.
3009TotalSellFillTicksNThe total price (in ticks) of all sell trades in this market.
3010TotalOpenTicksNThe total ticks*volume for the open position in this market.
3011TotalOpenVolumeNThe total volume for the open position in this market. Used for Average Price calculations.
3100AccountIDNUnique Account Identifier
3101AccountNameNAccount Name
3102ActiveTimeStartNTime the account is allowed to start trading (if any)
3103ActiveTimeStopNTime the account stops trading (if any)
3104BlockExpiringNThe number of hours (before last trade time) that this account should be blocked for.
3105DayLossLimitNThe maximum cash amount that this account may lose in a trading day excluding overnight upl.
3106DeletedNWhether the account has been deleted or not. The valid values are:
Y = Yes. The Account has been deleted.
N = No. The Account has been not deleted.
3107DisplayNameNThe account display name (used to prefix the account name).
3108EditMarginNWhether child firm administrators can edit margin details.
3109EMailNEmail address for sending fill notifications to, if any.
3110EnabledNWhether the account is enabled. Anyone with access and permission can enter orders into this account if enabled. The valid values are:
Y = Yes. The Account has been enabled.
N = No. The Account has been not enabled.
3111FirmNFirm Name
3112FirmIDNUnique identifier of Firm
3113LossLimitNThe maximum cash amount that this account may lose in a trading day.
3114LossLimitPCNThe maximum percentage of the account balance that this account may lose in a trading day.
3115MarginPCNThe margin percentage rate applied to day trading orders.
3116MaxAccountPositionNThe largest size position that can be held across the account in total.
3117MaxClipSizeNThe largest order quantity (per transaction) that can be entered by this account.
3118MaxContractMarginNThe maximum amount of contract margin allowed.
3119MaxPositionNThe largest size position that can be held in any market.
3120MinBalanceNThe minimum balance that this account is allowed to have.
3121ModeNAccount Mode. The valid values are:
M = By Market. Track Positions per individual market.
C = By Contract. Track positions by contract (by outrights only).
A = By Account. Track positions by contract (by outrights only) and apply MaxPosition limits to the entire account and not to a market.
3122OrderRoutingNWhether this account supports order routing:
Y = Yes. The Account supports order routing.
N = No. The Account does not support order routing.
3123OvernightMarginPCNThe margin percentage rate applied to overnight positions.
3124ParentFirmIDNThe identifier of this firm's parent firm
3125PLRolloverNWhether the system will rollover Profit and Loss at the end of each trading day.
Y = Yes.
N = No.
3126PositionRolloverNWhether the system will rollover positions at the end of each trading day.
Y = Yes.
N = No.
3127PreTradeDisabledNWhether or not pre-trade risk management is disabled or not.
Y = Yes.
N = No.
3128RiskAlertsNWhether sending email risk alerts is enabled for this account.
Y = Yes.
N = No.
3131StrategyMaxClipSizeNThe largest size order that can be entered by this account into Strategy markets.
3132StrategyMaxPositionNThe largest size position that can be held in any Strategy market.
3133StrategyTotalPitTradesNThe number of pit trades held in all Strategy markets.
3134TotalPitTradesNThe size of pit trades held in this market.
3135UsePLForMarginNWhether Profit/Loss can be used for meeting margin requirements.
Y = Yes.
N = No.
3136WarningThresholdLossLimitNThe warning threshold % of Loss Limit for this account.
3137WarningThresholdMarginNThe warning threshold % of Margin for this account.
3138WarningThresholdPLNThe warning threshold % of Profit and Loss for this account.
3139WideMarketNThe dollar value for a bid/offer spread that determines if the market is wide.
3140UserIDNUnique ID number of logged-in User.
3141UsrNameNName of logged-in User.
3142UserFirmNName of Firm the logged-in User pertains to.
3143UserParentFirmNName of Parent Firm the logged-in User pertains to.
3144UserIsMasterNWhether this logged-in User is the Master User. The valid values are:
True = Yes. This is the Master User.
False = No. This is not the Master User.
3145UserRolesNList of Roles configured for this logged-in User. Each role is separated by a period (".")
3146UserTypeNType of user/application. The valid values are:
ATS. The application generates orders in response to programming logic, e.g. Black box but has NO user quote display.
ATSDisplay. The application generates orders in response to programming logic, e.g. Black box but DOES have a user quote display.
Desk. The user is an order desk.
Manual. Used by simulator, and on orders not send to the exchange, such as overnight positions and manual fills.
NonProfessional. The user is a non-professional or retail trader and eligible for the non-professional waiver.
Professional. The user is a professional trader.
SubVendor. The user is a sub-vendor and distributes quotes.
Wallboard. The user is a display wallboard.
12CommissionNCommision to use in the account.
13CommTypeNCommision Type.
Standard TrailerY




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


FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

111 W. Jackson Blvd., Suite 1408, Chicago, IL 60604

© 2009-2017 Cunningham Trading Systems LLC All rights reserved.