Schema: ResponderMarkupVegaDir (ID: 2500)
METADATA
| Attribute | Value |
|---|---|
| Topic | 2450-liquidity-notice |
| MLink Token | SRATS |
| SRSE Product | SRTrade |
Note: The symbol
=next to a field number indicates that it is a primary key.
BODY
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 10= | accnt | string(16) | ||
| 11= | clientFirm | string(16) | ||
| 15= | root | TickerKey | ||
| 13= | respSide | enum : BuySell | auction responder side (your side) | |
| 16= | responderID | int | client supplied responder ID (can be any number including zero) | |
| 100 | userName | string(24) | username used for responding to auction notices | |
| 101 | isDisabled | enum : YesNo | if Yes, this auto-responder record is disabled | |
| 137 | enabledUntil | DateTime | will be enabled up until this time | |
| 102 | canIncludeFlex | enum : YesNo | if yes, can respond to auction notices that include flex option legs | |
| 103 | canIncludeStock | enum : YesNo | if yes, can respond to auction notices that include a stock leg | |
| 178 | canRespondSR | enum : YesNo | if yes, can respond to auction notices from SR | |
| 179 | canRespondExch | enum : YesNo | if yes, can respond to auction notices from exchanges | |
| 104 | cpFlag | enum : CallPut | Pair | if not Pair must match all option legs |
| 138 | minNetVegaRatio | float | 1.0 | minimum ratio of abs(netVega)/totalVega to enable a response (hard lower limit of 0.25) |
| 105 | minYears | float | 0 | both markup.minYears and markup.maxYears must be between [minYears, maxYears] |
| 106 | maxYears | float | 10.0 | |
| 107 | minExpiry | DateTime | both markup.minExpiry and markup.maxExpiry must be between [minExpiry, maxExpiry] | |
| 108 | maxExpiry | DateTime | ||
| 109 | minXDelta | float | -0.50 | all leg xDelta must be between [minXDelta, maxXDelta] |
| 110 | maxXDelta | float | +0.50 | |
| 111 | minStrike | double | 0 | all leg strikes must be between [minStrike, maxStrike] |
| 112 | maxStrike | double | 999999 | |
| 113 | minSurfEdgePrem | float | -99 | spread surface edge (in premium) (+ = through surface; - = behind surface) |
| 114 | minSurfEdgeVol | float | -99 | spread surface edge (in vol) (0.01 = 1.0 vol pts) (+ = through surface; - = behind surface) |
| 184 | minProbability | float | option response probability must be >= minProbability | |
| 115 | incFeesInResp | enum : YesNo | include all estimated responder fees in final response price | |
| 116 | roundRule | enum : RoundRule | ||
| 117 | maxResponseSize | int | maximum number of contracts per response (will respond for 100% if auction size <= maxResponseSize) | |
| 118 | maxResponseVega | float | maximum total vega per response | |
| 119 | totalResponseVega | float | maximum vega (filled) all day | |
| 120 | totalResponseWtVega | float | maximum wtVega (filled) all day | |
| 185 | notMktPenny | enum : YesNo | None or Yes will respond to non-marketable penny name orders | |
| 186 | mktPenny1 | enum : YesNo | None or Yes will respond to marketable (mkt 1 tick wide) penny name orders | |
| 187 | mktPenny2 | enum : YesNo | None or Yes will respond to marketable (mkt 2 tick wide) penny name orders | |
| 188 | mktPenny3p | enum : YesNo | None or Yes will respond to marketable (mkt 3+ tick wide) penny name orders | |
| 189 | notMktNickle | enum : YesNo | None or Yes will respond to non-marketable nickle/dime name orders | |
| 190 | mktNickle1 | enum : YesNo | None or Yes will respond to marketable (mkt 1 tick wide) nickel/dime name orders | |
| 191 | mktNickle2 | enum : YesNo | None or Yes will respond to marketable (mkt 2 tick wide) nickel/dime name orders | |
| 192 | mktNickle3p | enum : YesNo | None or Yes will respond to marketable (mkt 3+ tick wide) nickel/dime name orders | |
| 121 | autoHedge | enum : AutoHedge | ||
| 122 | hedgeInstrument | enum : HedgeInst | Default=actual underlier (EQT or FUT) [IndexOptions use ETF]; FrontMonth=actual underlier (EQT) or front month (FUT) [IndexOptions use FM Fut]; Stock=hedgeSecKey.TickerKey; Future=hedgeSecKey.ExpiryKey | |
| 123 | hedgeSecKey | ExpiryKey | autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future] | |
| 124 | hedgeBetaRatio | float | portion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0] | |
| 125 | hedgeScope | enum : HedgeScope | hedge group scope [RiskGroup or Accnt] | |
| 126 | hedgeSession | enum : MarketSession | time in force for the autohedge order (can be Day or ExtDay) [None defaults to pOrder.timeInForce] | |
| 127 | riskGroupId | long | 0 | Default: 0 (none). Required to be non-zero if autoHedge is something other than None. |
| 129 | numNotices | long | number of notices that match response bucket | |
| 193 | numNoticeBlock | long | number of SR block auction numNotices | |
| 194 | numNoticeFlash | long | number of SR flash auction numNotices | |
| 195 | numNoticeExchPI | long | number of Exch Price Improvement auction numNotices | |
| 196 | numNoticeExchEX | long | number of Exch Exposure auction numNotices | |
| 197 | numNotMktPenny | long | number auction numNotices | |
| 198 | numMktPenny1 | long | number auction numNotices | |
| 199 | numMktPenny2 | long | number auction numNotices | |
| 200 | numMktPenny3p | long | number auction numNotices | |
| 201 | numNotMktNickle | long | number auction numNotices | |
| 202 | numMktNickle1 | long | number auction numNotices | |
| 203 | numMktNickle2 | long | number auction numNotices | |
| 204 | numMktNickle3p | long | number auction numNotices | |
| 158 | respDisabledSkips | long | number skipped from isDisabled | |
| 159 | stockDisabledSkips | long | number skipped from canIncludeStock != Yes | |
| 160 | cpFlagSkips | long | number skipped from cpFlag not matching notice legs CallPut | |
| 161 | expiryRangeSkips | long | number skipped from out of range expiry value | |
| 162 | yearsRangeSkips | long | number skipped from out of range years value | |
| 163 | listedFlexSkips | long | number skipped from flex/listed filter | |
| 164 | noticePriceSkips | long | number skipped from limit price filter (exchange only) | |
| 165 | aggSizeLimitSkips | long | number skipped from aggregate contract/vega size limit | |
| 166 | riskGroupLimitSkips | long | number skipped from riskGroup limits | |
| 167 | rootSkips | long | number skipped from leg root mismatch | |
| 168 | xDeltaRangeSkips | long | number skipped from out of range XDelta value | |
| 169 | strikeRangeSkips | long | number skipped from out of range strike | |
| 170 | minVegaRatioSkips | long | number skipped from not qualifying ratio netVega/sum(abs(vega)) | |
| 205 | probabilitySkips | long | number skipped from min probability threshold not being met | |
| 131 | numResponses | long | number of response attempts (number of parentOrders/NoticeExecReports) | |
| 206 | numRespondsBlock | long | number of SR block auction responses | |
| 207 | numRespondsFlash | long | number of SR flash auction responses | |
| 208 | numResponsesExchPI | long | number of Exch Price Improvement auction responses | |
| 209 | numResponsesExchEX | long | number of Exch Exposure auction responses | |
| 171 | numFullSize | long | ||
| 172 | numAllocSize | long | ||
| 173 | numPriceMiss | long | ||
| 174 | numTooLate | long | ||
| 175 | numOtherMiss | long | ||
| 176 | numDidNotTrade | long | ||
| 210 | numTraded | int | ||
| 132 | qtyTraded | int | ||
| 133 | vegaTraded | double | ||
| 177 | wtVegaTraded | double | ||
| 211 | sumWidthTraded | double | SUM: marketWidth * trdQty => AvgMktWidth = sumWidthTraded / qtyTraded | |
| 212 | sumSurfEdgeTraded | double | SUM: printEdge * trdQty => AvgPrintEdge = sumSurfEdgeTraded / qtyTraded | |
| 213 | sumM1PnLTraded | double | SUM: M1PnL * trdQty => AvgM1PnL = sumM1PnLTraded / qtyTraded | |
| 214 | sumM10PnLTraded | double | SUM: M10PnL * trdQty => AvgM10PnL = sumM10PnLTraded / qtyTraded | |
| 215 | numTradedBlock | long | number of SR block auctions traded | |
| 216 | numTradedFlash | long | number of SR flash auctions traded | |
| 217 | numTradedExchPI | long | number of Exch Price Improvement auctions traded | |
| 218 | numTradedExchEX | long | number of Exch Exposure auctions traded | |
| 134 | modifiedBy | string(24) | user who last modified this record | |
| 135 | modifiedIn | enum : SysEnvironment | ||
| 136 | timestamp | DateTime | timestamp of last modification |
REPEATING FIELDS
CFirmInclFilter
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 181 | inititorCFirm | string(16) | <missing> will respond to all initiating client firms; non-empty will only respond if (one of) matches initiator ClientFirm |
CFirmExclFilter
| # | Field | Type | Default Value | Comment |
|---|---|---|---|---|
| 183 | inititorCFirm | string(16) | <missing> will not exclude any initiating client firms; non-empty will only respond if (none of) matches initiator ClientFirm |
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 = 'ResponderMarkupVegaDir'
# 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=ResponderMarkupVegaDir'
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 = 'ResponderMarkupVegaDir'
# 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 = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|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=ResponderMarkupVegaDir' \
--data-urlencode 'view=userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|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 = 'ResponderMarkupVegaDir'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|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 = 'userName: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=ResponderMarkupVegaDir' \
--data-urlencode 'view=userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=userName: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 = 'ResponderMarkupVegaDir'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'isDisabled|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|incFeesInResp|roundRule|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeScope|hedgeSession|modifiedIn'
# 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=ResponderMarkupVegaDir' \
--data-urlencode 'measure=userName|isDisabled|enabledUntil|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|numNotices|numNoticeBlock|numNoticeFlash|numNoticeExchPI|numNoticeExchEX|numNotMktPenny|numMktPenny1|numMktPenny2|numMktPenny3p|numNotMktNickle|numMktNickle1|numMktNickle2|numMktNickle3p|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|probabilitySkips|numResponses|numRespondsBlock|numRespondsFlash|numResponsesExchPI|numResponsesExchEX|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|numTraded|qtyTraded|vegaTraded|wtVegaTraded|sumWidthTraded|sumSurfEdgeTraded|sumM1PnLTraded|sumM10PnLTraded|numTradedBlock|numTradedFlash|numTradedExchPI|numTradedExchEX|modifiedBy|modifiedIn|timestamp' \
--data-urlencode 'group=isDisabled|canIncludeFlex|canIncludeStock|canRespondSR|canRespondExch|cpFlag|incFeesInResp|roundRule|notMktPenny|mktPenny1|mktPenny2|mktPenny3p|notMktNickle|mktNickle1|mktNickle2|mktNickle3p|autoHedge|hedgeInstrument|hedgeScope|hedgeSession|modifiedIn' \
--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 = 'ResponderMarkupVegaDir'
# 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=ResponderMarkupVegaDir' \
--data-urlencode 'where=accnt:eq:ExampleString'
Post 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'
# Request Parameters
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'postmsgs',
"postaction": "U", # (U)pdate, (I)nsert, or (R)eplace
"postmerge": "Y", # (Y)es or (N)o
}
payload = {
"header": {
"mTyp": "ResponderMarkupVegaDir"
},
"message": {
"pkey": {
"accnt": "exampleString", // string
"clientFirm": "exampleString", // string
"root": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL"
},
"respSide": "enumValue", // enum(BuySell) - None, Buy, Sell
"responderID": 1 // int
},
"userName": "exampleString", // string
"isDisabled": "enumValue", // enum(YesNo) - None, Yes, No
"enabledUntil": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"canIncludeFlex": "enumValue", // enum(YesNo) - None, Yes, No
"canIncludeStock": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondSR": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondExch": "enumValue", // enum(YesNo) - None, Yes, No
"cpFlag": "Pair", // enum(CallPut) - Call, Put, Pair. Default=Pair
"minNetVegaRatio": 1.0, // float. Default=1.0
"minYears": 0, // float. Default=0
"maxYears": 10.0, // float. Default=10.0
"minExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"maxExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"minXDelta": -0.50, // float. Default=-0.50
"maxXDelta": +0.50, // float. Default=+0.50
"minStrike": 0, // double. Default=0
"maxStrike": 999999, // double. Default=999999
"minSurfEdgePrem": -99, // float. Default=-99
"minSurfEdgeVol": -99, // float. Default=-99
"minProbability": 1.0, // float
"incFeesInResp": "enumValue", // enum(YesNo) - None, Yes, No
"roundRule": "enumValue", // enum(RoundRule) - None, Exact, Fuzzy
"maxResponseSize": 1, // int
"maxResponseVega": 1.0, // float
"totalResponseVega": 1.0, // float
"totalResponseWtVega": 1.0, // float
"notMktPenny": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny1": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny2": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny3p": "enumValue", // enum(YesNo) - None, Yes, No
"notMktNickle": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle1": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle2": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle3p": "enumValue", // enum(YesNo) - None, Yes, No
"autoHedge": "enumValue", // enum(AutoHedge) - None, Static, AutoMid, AutoCrx, AutoTrn, SpdrAuto, Spdr10S, Spdr30S, Spdr90S, Spdr5M, Spdr30M, SpdrDay, SmartFast, SmartNorm, FastCrx, FastDark, SlowDark, AlphaVwap1pct, AlphaVwap2pct, AlphaVwap5pct, AlphaVwap25pct, Custom, AwayAlgo, EuxMsAlgo
"hedgeInstrument": "enumValue", // enum(HedgeInst) - None, Default, FrontMonth, Stock, Future
"hedgeSecKey": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL",
"dt": "2025-01-01"
},
"hedgeBetaRatio": 1.0, // float
"hedgeScope": "enumValue", // enum(HedgeScope) - None, Accnt, RiskGroup
"hedgeSession": "enumValue", // enum(MarketSession) - None, PreMkt, RegMkt, PostMkt, PreRegMkt, RegPostMkt, AllDay
"riskGroupId": 0, // long. Default=0
"numNotices": 1, // long
"numNoticeBlock": 1, // long
"numNoticeFlash": 1, // long
"numNoticeExchPI": 1, // long
"numNoticeExchEX": 1, // long
"numNotMktPenny": 1, // long
"numMktPenny1": 1, // long
"numMktPenny2": 1, // long
"numMktPenny3p": 1, // long
"numNotMktNickle": 1, // long
"numMktNickle1": 1, // long
"numMktNickle2": 1, // long
"numMktNickle3p": 1, // long
"respDisabledSkips": 1, // long
"stockDisabledSkips": 1, // long
"cpFlagSkips": 1, // long
"expiryRangeSkips": 1, // long
"yearsRangeSkips": 1, // long
"listedFlexSkips": 1, // long
"noticePriceSkips": 1, // long
"aggSizeLimitSkips": 1, // long
"riskGroupLimitSkips": 1, // long
"rootSkips": 1, // long
"xDeltaRangeSkips": 1, // long
"strikeRangeSkips": 1, // long
"minVegaRatioSkips": 1, // long
"probabilitySkips": 1, // long
"numResponses": 1, // long
"numRespondsBlock": 1, // long
"numRespondsFlash": 1, // long
"numResponsesExchPI": 1, // long
"numResponsesExchEX": 1, // long
"numFullSize": 1, // long
"numAllocSize": 1, // long
"numPriceMiss": 1, // long
"numTooLate": 1, // long
"numOtherMiss": 1, // long
"numDidNotTrade": 1, // long
"numTraded": 1, // int
"qtyTraded": 1, // int
"vegaTraded": 1.0, // double
"wtVegaTraded": 1.0, // double
"sumWidthTraded": 1.0, // double
"sumSurfEdgeTraded": 1.0, // double
"sumM1PnLTraded": 1.0, // double
"sumM10PnLTraded": 1.0, // double
"numTradedBlock": 1, // long
"numTradedFlash": 1, // long
"numTradedExchPI": 1, // long
"numTradedExchEX": 1, // long
"modifiedBy": "exampleString", // string
"modifiedIn": "enumValue", // enum(SysEnvironment) - None, Neptune, Pluto, V7_Stable, V7_Latest, Saturn, Venus, Mars, SysTest, V7_Current
"timestamp": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"CFirmInclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
],
"CFirmExclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
]
}
}
response = requests.post(MLINK_PROD_URL, params=params, json=payload)
curl -X POST 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json' \
--data-urlencode 'apiKey=XXXX-XXXX-XXXX-XXXX' \
--data-urlencode 'cmd=postmsgs' \
--data-urlencode 'postaction=U' \ # (U)pdate, (I)nsert, or (R)eplace
--data-urlencode 'postmerge=Y' \ # (Y)es or (N)o
--header 'Content-Type: application/json' \
--data '{
"header": {
"mTyp": "ResponderMarkupVegaDir"
},
"message": {
"pkey": {
"accnt": "exampleString", // string
"clientFirm": "exampleString", // string
"root": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL"
},
"respSide": "enumValue", // enum(BuySell) - None, Buy, Sell
"responderID": 1 // int
},
"userName": "exampleString", // string
"isDisabled": "enumValue", // enum(YesNo) - None, Yes, No
"enabledUntil": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"canIncludeFlex": "enumValue", // enum(YesNo) - None, Yes, No
"canIncludeStock": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondSR": "enumValue", // enum(YesNo) - None, Yes, No
"canRespondExch": "enumValue", // enum(YesNo) - None, Yes, No
"cpFlag": "Pair", // enum(CallPut) - Call, Put, Pair. Default=Pair
"minNetVegaRatio": 1.0, // float. Default=1.0
"minYears": 0, // float. Default=0
"maxYears": 10.0, // float. Default=10.0
"minExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"maxExpiry": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"minXDelta": -0.50, // float. Default=-0.50
"maxXDelta": +0.50, // float. Default=+0.50
"minStrike": 0, // double. Default=0
"maxStrike": 999999, // double. Default=999999
"minSurfEdgePrem": -99, // float. Default=-99
"minSurfEdgeVol": -99, // float. Default=-99
"minProbability": 1.0, // float
"incFeesInResp": "enumValue", // enum(YesNo) - None, Yes, No
"roundRule": "enumValue", // enum(RoundRule) - None, Exact, Fuzzy
"maxResponseSize": 1, // int
"maxResponseVega": 1.0, // float
"totalResponseVega": 1.0, // float
"totalResponseWtVega": 1.0, // float
"notMktPenny": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny1": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny2": "enumValue", // enum(YesNo) - None, Yes, No
"mktPenny3p": "enumValue", // enum(YesNo) - None, Yes, No
"notMktNickle": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle1": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle2": "enumValue", // enum(YesNo) - None, Yes, No
"mktNickle3p": "enumValue", // enum(YesNo) - None, Yes, No
"autoHedge": "enumValue", // enum(AutoHedge) - None, Static, AutoMid, AutoCrx, AutoTrn, SpdrAuto, Spdr10S, Spdr30S, Spdr90S, Spdr5M, Spdr30M, SpdrDay, SmartFast, SmartNorm, FastCrx, FastDark, SlowDark, AlphaVwap1pct, AlphaVwap2pct, AlphaVwap5pct, AlphaVwap25pct, Custom, AwayAlgo, EuxMsAlgo
"hedgeInstrument": "enumValue", // enum(HedgeInst) - None, Default, FrontMonth, Stock, Future
"hedgeSecKey": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL",
"dt": "2025-01-01"
},
"hedgeBetaRatio": 1.0, // float
"hedgeScope": "enumValue", // enum(HedgeScope) - None, Accnt, RiskGroup
"hedgeSession": "enumValue", // enum(MarketSession) - None, PreMkt, RegMkt, PostMkt, PreRegMkt, RegPostMkt, AllDay
"riskGroupId": 0, // long. Default=0
"numNotices": 1, // long
"numNoticeBlock": 1, // long
"numNoticeFlash": 1, // long
"numNoticeExchPI": 1, // long
"numNoticeExchEX": 1, // long
"numNotMktPenny": 1, // long
"numMktPenny1": 1, // long
"numMktPenny2": 1, // long
"numMktPenny3p": 1, // long
"numNotMktNickle": 1, // long
"numMktNickle1": 1, // long
"numMktNickle2": 1, // long
"numMktNickle3p": 1, // long
"respDisabledSkips": 1, // long
"stockDisabledSkips": 1, // long
"cpFlagSkips": 1, // long
"expiryRangeSkips": 1, // long
"yearsRangeSkips": 1, // long
"listedFlexSkips": 1, // long
"noticePriceSkips": 1, // long
"aggSizeLimitSkips": 1, // long
"riskGroupLimitSkips": 1, // long
"rootSkips": 1, // long
"xDeltaRangeSkips": 1, // long
"strikeRangeSkips": 1, // long
"minVegaRatioSkips": 1, // long
"probabilitySkips": 1, // long
"numResponses": 1, // long
"numRespondsBlock": 1, // long
"numRespondsFlash": 1, // long
"numResponsesExchPI": 1, // long
"numResponsesExchEX": 1, // long
"numFullSize": 1, // long
"numAllocSize": 1, // long
"numPriceMiss": 1, // long
"numTooLate": 1, // long
"numOtherMiss": 1, // long
"numDidNotTrade": 1, // long
"numTraded": 1, // int
"qtyTraded": 1, // int
"vegaTraded": 1.0, // double
"wtVegaTraded": 1.0, // double
"sumWidthTraded": 1.0, // double
"sumSurfEdgeTraded": 1.0, // double
"sumM1PnLTraded": 1.0, // double
"sumM10PnLTraded": 1.0, // double
"numTradedBlock": 1, // long
"numTradedFlash": 1, // long
"numTradedExchPI": 1, // long
"numTradedExchEX": 1, // long
"modifiedBy": "exampleString", // string
"modifiedIn": "enumValue", // enum(SysEnvironment) - None, Neptune, Pluto, V7_Stable, V7_Latest, Saturn, Venus, Mars, SysTest, V7_Current
"timestamp": "2025-01-01 12:00:00.000000", // yyyy-MM-dd HH:mm:ss.SSSSSS
"CFirmInclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
],
"CFirmExclFilter": [ // Repeating Field
{
"inititorCFirm": "exampleString" // string
}
]
}
}'