Drop Receive FIX Spec
This document describes the SpiderRock Drop Receive FIX Gateway. This SpiderRock FIX gateway allows a client to report a clients executions and/or positions for order marking and risk purposes.
This document is intended to be used in conjunction with the SpiderRock FIX Session Guide which describes session level message handling and other SpiderRock FIX conventions in more detail.
Application Messages
Execution Report
FIX Tag | FIX Tag Name | type | Req'd | values | associated record value (SpdrAwayExecution) | comment |
---|---|---|---|---|---|---|
Standard Header | Y | MsgType = 8 | ||||
5020 | SRAccnt | string | Y | accnt | Either SRAccnt or Account is required | |
1 | Account | string | Y | accnt | ||
5022 | SRClientFirm | string | Y | clientFirm | SR client firm. A default may be configured | |
11 | ClOrdID | string | clientOrderId | client order ID (should be unique) | ||
17 | ExecID | string | Y | origExecID lastExecID | ||
19 | ExecRefID | string | Y | most recent execution ID | ||
60 | TransactTime | utcTimestamp | N | fillTransactDttm fillDttm | transaction date/time as reported by exchange or down stream broker | |
5036 | SRUsername | string | N | modifiedBy | user name associated with the parent order | |
32 | LastQty | int | Y | fillQuantity | ||
31 | LastPx | float | Y | fillPrice | ||
30 | LastMkt | enum | N | fillExch | ||
58 | Text | string | N | comment | ||
150 | ExecType | enum | Y | 2-Fill 1-PartialFill F-Trade H-TradeCxl G-TradeCorrect | ||
38 | OrderQty | int | N | childSize | ||
54 | Side | enum | Y | 1=Buy 2=Sell 5=Sell Short 6=Sell Short Exempt | fillSide ssaleFlag | |
77 | PositionEffect | enum | N | O=Open C=Close | positionType | |
55 | Symbol | string | Y | secKey | Symbol for the position report | |
65 | SymbolSfx | string | N | secKey | Suffix of the symbol for the position report | |
207 | SecurityExchange | string | Y | secKey | See Fix Session Guide, Appendix A | |
55 | Symbol | string | Y | secKey | Stocks, Options, Futures Symbol for the position report | |
65 | SymbolSfx | string | Y | secKey | Stocks Suffix of the symbol for the position report | |
541 | MaturityDate | string | Y | secKey | Futures, Options Used to specify a maturity date YYYYMMDD | |
202 | StrikePrice | float | Y | secKey | Options Strike price of the security | |
201 | PutOrCall | enum | N | 0-Put 1-Call | secKey | Options |
200 | MaturityMonthYear | string | N | secKey | Futures, Options The month and year of maturity YYYYMM | |
205 | MaturityDay | int | N | 1-31 | secKey | Futures, Options Can be used in conjunction with MaturityMonthYear to specify a particular maturity date |
167 | SecurityType | enum | Y | MLEG-MultiLeg CS-Common Stock FUT-Future OPT-Option | secType | |
5290 | SRUserData1 | string | N | userData1 | client supplied data field | |
5291 | SRUserData2 | string | N | userData2 | client supplied data field |
Normally there is no response to this message. In some cases, the Reject<3> or Business Reject Message<j> message will be returned if the message cannot be properly processed.
Aggregated Group Position Report
SpiderRock FIX gateway implements a user defined message to update a firm’s position for order marking and risk purposes.
There is no acknowledged response for this message. An invalid message may reject with a Session or Business level Reject.
The total position for a firm is calculated as a combination of:
- Start of day positions known by SpiderRock (for example a spreadsheet from a clearing firm)
- Executed Fill Quantities executed by SpiderRock
- Open Order Quantities on orders issued by SpiderRock
- Executed Fill Quantities Execution Reports dropped to SpiderRock
- Aggregated Group Position Report Data
A firm may use all methods (start of day files, aggregation reports, and dropped executions) to report their positions.
The start of day position and daily bought/sold quantities may be omitted or set to zero. Care must be taken not to double-count fills. For example, a new traded quantity should not be reported on both the aggregated group position report and as a dropped fill, nor should a fill from SpiderRock be dropped back to SpiderRock.
The ClientID<109> and AggregationGroup<5701> values may be configured by SpiderRock by FIX session.
FIX Tag | FIX Tag Name | type | Req'd | values | associated record value (ExternAggGroupReport) | comment |
---|---|---|---|---|---|---|
Standard Header | Y | MsgType = UAG | ||||
721 | PosMaintRptId | long | N | Unique identifier for this position report | ||
109 | ClientID | string | Y | pkey.clientFirm | A SpiderRock supplied value | |
5708 | AggregationGroup | string | Y | pkey.aggGroup | SpiderRock supplied value | |
5701 | OpenPositionQuantity | int | N | openPosition | Start of day position for all accounts - may be positive (long) or negative (short) | |
5702 | OpenPositionQuantityShort | int | N | openPosition | Short start-of-day position for all accounts - must be positive if specified | |
5703 | OpenPositionType | enum | Y | 1=Exact (default) 2=Truncated | openPosType | |
5704 | BoughtQuantity | int | N | botQuantity | Quantity bought today. Cannot be negative | |
5705 | SoldQuantity | int | N | sldQuantity | Quantity sold today. Cannot be negative | |
5706 | BidLeaves | int | N | bidLeaves | Current open quantity (buy). Cannot be negative | |
5707 | AskLeaves | N | int | askLeaves | Current open quantity (sell). Cannot be negative | |
779 | LastUpdateTime | utcTimestamp | Y | timestamp | Timestamp of last update to date item | |
55 | Symbol | string | Y | secKey | Symbol for the position report | |
65 | SymbolSfx | string | N | secKey | Suffix of the symbol for the position report | |
207 | SecurityExchange | string | Y | secKey | See Fix Session Guide, Appendix A | |
55 | Symbol | string | Y | secKey | Stocks, Options, Futures Symbol for the position report | |
65 | SymbolSfx | string | Y | secKey | Stocks Suffix of the symbol for the position report | |
541 | MaturityDate | string | Y | secKey | Futures, Options Used to specify a maturity date YYYYMMDD | |
202 | StrikePrice | float | Y | secKey | Options Strike price of the security | |
201 | PutOrCall | enum | N | 0-Put 1-Call | secKey | Options |
200 | MaturityMonthYear | string | N | secKey | Futures, Options The month and year of maturity YYYYMM | |
205 | MaturityDay | int | N | 1-31 | secKey | Futures, Options Can be used in conjunction with MaturityMonthYear to specify a particular maturity date |
167 | SecurityType | enum | Y | MLEG-MultiLeg CS-Common Stock FUT-Future OPT-Option | secType |
Normally there is no response to this message. In some cases, the Reject<3> or Business Reject Message<j> message will be returned if the message cannot be properly processed.
XML Messages
SpiderRock FIX Drop Receive Gateway allows an execution report or a aggregation report to be submitted as an XML formatted FIX message.
FIX Tag | FIX Tag Name | type | Req'd | values | associated record value (ExternAggGroupReport) | comment |
---|---|---|---|---|---|---|
Standard Header | Y | MsgType = n | ||||
212 | XmlDataLen | int | N | ignored | ||
213 | XmlData | string | Y | Should not contain embedded SOH characters. Use '|' to delimit FIX fields |
Valid XmlData must contain a message body conforming to an Execution Report or Aggregated Group Position Report, above.
Normally there is no response to this message. In some cases, the Reject<3> or Business Reject Message<j> message will be returned if the message cannot be properly processed.