Schema: NoticeExecReport (ID: 2475)
METADATA
| Attribute | Value |
|---|---|
| Topic | 2450-liquidity-notice |
| MLink Token | ClientTrading |
| SRSE Product | SRTrade |
Note: The symbol
=next to a field number indicates that it is a primary key.
BODY
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 13= | noticeNumber | long | AuctionNotice.noticeNumber | |
| 14= | baseParentNumber | long | ||
| 125 | ticker | TickerKey | underlier ticker | |
| 126 | tradeDate | DateKey | ||
| 139 | accnt | string(16) | SR Accnt | |
| 140 | clientFirm | string(16) | SR ClientFirm | |
| 141 | noticeDttm | DateTime | either notice create datetime or notice arrival@SR datetime (high precision) | |
| 100 | responseId | string(24) | from NoticeResponse.responseId (most recently processed response to noticeNumber for this accnt/clientFirm pair) | |
| 158 | spdrSource | enum : SpdrSource | AutoResponder, MLINK, FIX, ICEChat, TradeAp responders | |
| 101 | stageType | enum : SpdrStageType | ats order staged or not | |
| 143 | auctionType | enum : AuctionType | Exch Exposure, Exch Price Improve, Exch Facilitation, Exch Solicitation, SR ATS Block, SR ATS Flash | |
| 144 | auctionSource | enum : AuctionSource | Source of the auction notice (eg. SRC, CBOE, MIAX, etc.) | |
| 159 | createDttm | DateTime | ats order arrival dttm (high precision) | |
| 160 | side | enum : BuySell | ||
| 161 | size | int | ||
| 162 | activeSize | int | active order size (zero for ActiveHold) | |
| 163 | reachRule | enum : ReachRule | size condition | |
| 164 | refPrice | double | effPrice = price + de * (uMid - refUPrc) + 0.5 * ga * (uMid - refUPrc)^2 | |
| 106 | refUPrc | double | reference price for tied to underlier orders | |
| 165 | uRefType | enum : URefType | type of reference price (uBid, uAsk, uMid) | |
| 107 | refDe | float | reference delta for tied to underlier orders | |
| 108 | refGa | float | reference gamma for tied to underlier orders | |
| 128 | roundRule | enum : RoundRule | Exact (100%) or Fuzzy (90%) [default is Exact] | |
| 129 | stepUpIncr | double | additional price increment (best price) (only used if auction is competitive) | |
| 109 | riskGroupId | long | associated riskGroupID (and SpdrRiskGroupControl) (if any) | |
| 110 | strategy | string(32) | user strategy field (visible on SR tools) | |
| 111 | userData1 | text1 | user data field (free text) (from NoticeResponse) | |
| 166 | orderStatus | enum : SpdrOrderStatus | ats order status | |
| 167 | orderDetail | text1 | additional detail | |
| 145 | lastUPrc | double | effective uPrc (mid-market) from last trial pass | |
| 146 | lastTrialPrc | double | effective response price from last trial pass | |
| 147 | leavesQty | int | open order quantity | |
| 130 | cumFillQty | int | pkg cumFillQty if MLeg | |
| 131 | avgFillPrice | double | pkg avgFillPrice if MLeg | |
| 168 | completionType | enum : CompletionType | None, DAC, POC, TAS, TACO, BTIC | |
| 169 | completionState | enum : CompletionState | ||
| 170 | avgCompletionPrice | double | completion trade price (final trade price) [also avg completion price] | |
| 148 | addLatency | double | latency from notice arrival@SR to external response send (in seconds) OR latency from notice create to response accepted (in seconds) (SRC Auctions) | |
| 149 | ackLatency | double | latency from external response send to external response ack (FRT) (in seconds) (external auctions only) | |
| 152 | numOptLegs | int | number of option legs | |
| 153 | spreadClass | enum : SpreadClass | spread class (eg. Call, Put, RevCon, Box, JRoll, etc.) | |
| 154 | spreadFlavor | enum : SpreadFlavor | spread flavor (Normal, Flipped) of this order | |
| 155 | containsHedge | enum : YesNo | if this order contains a stock/future leg | |
| 156 | containsFlex | enum : YesNo | if this order contains flex leg(s) | |
| 157 | containsMultiHedge | enum : YesNo | contains MultiHedge (corp action adjusted) options | |
| 132 | responseResult | enum : NoticeResult | ||
| 133 | responseTime | short | notice response arrival time (milliseconds since auction start) | |
| 134 | prtPrice | double | reported print price (pkgPrice if MLeg) | |
| 135 | prtSize | int | reported print size (pgkSize if MLeg) | |
| 136 | prtTime | DateTime | reported print time (1st print if MLeg) | |
| 150 | prtUBid | double | best estimate of uBid @ auction print time | |
| 151 | prtUAsk | double | best estimate of uAsk @ auction print time | |
| 124 | timestamp | DateTime |
REPEATING FIELDS
OrderLegs
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 117 | secKey | OptionKey | ||
| 118 | secType | enum : SpdrKeyType | ||
| 119 | side | enum : BuySell | ||
| 120 | ratio | int | ||
| 121 | positionType | enum : LegPositionType | ||
| 122 | legCumFillQty | int | ||
| 123 | legAvgFillPrice | double | ||
| 171 | legCumCmplQty | int | ||
| 172 | legAvgCmplPrice | double | ||
| 173 | legCmplSecKey | OptionKey | final settlement secKey (contract that DAC, TAS, TACO, etc. will convert to; might not be valid until completed) | |
| 174 | legCmplSecType | enum : SpdrKeyType | usually Future or Option (None if not yet valid) |
Get Schema API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'NoticeExecReport'
# Request Parameters for Get Schema Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getschema',
"msgType": MSG_TYPE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getschema' \
--data-urlencode 'msgType=NoticeExecReport'
Get Msg API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'NoticeExecReport'
# Replace with your pkey value for getting the specific message desired
PKEY = 'ReplaceThisValueForTheQueryToWork'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned.
VIEW = 'ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp'
# Replace with your desired where clause.
# a string in the form "field1:eq:valuse" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getmsg Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsg',
"pkey": PKEY,
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsg' \
--data-urlencode 'pkey=ReplaceThisValueForTheQueryToWork' \
--data-urlencode 'msgType=NoticeExecReport' \
--data-urlencode 'view=ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString'
Get Msgs API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'NoticeExecReport'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 500
# Order clause eg. "(field1:DESC | field1:ASC | field2:DESC:ABS | field2:ASC:ABS" (default is unordered; default is faster)
ORDER = 'ticker:ASC'
# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
# Optional Parameters
"view": VIEW,
"where": WHERE,
"limit": LIMIT,
"order": ORDER
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getmsgs' \
--data-urlencode 'msgType=NoticeExecReport' \
--data-urlencode 'view=ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=ticker:ASC'
Get Aggregate API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'NoticeExecReport'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'spdrSource|stageType|auctionType|auctionSource|side|reachRule|uRefType|roundRule|orderStatus|completionType|completionState|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getaggregate Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getaggregate',
"msgType": MSG_TYPE,
"measure": MEASURE,
"group": GROUP,
# Optional Parameters
"where": WHERE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getaggregate' \
--data-urlencode 'msgType=NoticeExecReport' \
--data-urlencode 'measure=ticker|tradeDate|accnt|clientFirm|noticeDttm|responseId|spdrSource|stageType|auctionType|auctionSource|createDttm|side|size|activeSize|reachRule|refPrice|refUPrc|uRefType|refDe|refGa|roundRule|stepUpIncr|riskGroupId|strategy|userData1|orderStatus|orderDetail|lastUPrc|lastTrialPrc|leavesQty|cumFillQty|avgFillPrice|completionType|completionState|avgCompletionPrice|addLatency|ackLatency|numOptLegs|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult|responseTime|prtPrice|prtSize|prtTime|prtUBid|prtUAsk|timestamp' \
--data-urlencode 'group=spdrSource|stageType|auctionType|auctionSource|side|reachRule|uRefType|roundRule|orderStatus|completionType|completionState|spreadClass|spreadFlavor|containsHedge|containsFlex|containsMultiHedge|responseResult' \
--data-urlencode 'where=accnt:eq:ExampleString'
Get Count API Call
- Python
- cUrl
import requests
# Replace with your desired MLINK URL
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'
# Replace with your MLINK API Key
API_KEY = 'XXXX-XXXX-XXXX-XXXX'
# Replace with your desired MsgType.
MSG_TYPE = 'NoticeExecReport'
# Replace with your desired where clause.
# a string in the form "field1:eq:value" or "(field1:ne:value1 & field1:ne:value2)
# "WHERE" clauses can contain the following comparison symbols:
# :gt: is greater than
# :ge: is greater than or equal to
# :lt: is less than
# :le: is less than or equal to
# :eq: is equal
# :ne: is not equal
# %26 is an AND statement
# | is an OR statement
# :sw: is starts with
# :ew: is ends with
# :cv: is contains values
# :nv: is does not contain value
# :cb: is contained between (two dates for instance) separated by '$'
WHERE = 'accnt:eq:ExampleString'
# Request Parameters for getCount Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getcount',
"msgType": MSG_TYPE,
# Optional Parameters
"where": WHERE,
}
response = requests.get(MLINK_PROD_URL, params=params)
curl -G 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=getcount' \
--data-urlencode 'msgType=NoticeExecReport' \
--data-urlencode 'where=accnt:eq:ExampleString'