Skip to main content
Version: 8.5.3.1

Schema: ResponderMarkupVegaDir (ID: 2500)

METADATA

AttributeValue
Topic2450-liquidity-notice
MLink TokenSRATS
SRSE ProductSRTrade

Note: The symbol = next to a field number indicates that it is a primary key.

BODY

#FieldTypeComment
10=accntstring(16)
11=clientFirmstring(16)
15=rootTickerKey
13=respSideenum : BuySellauction responder side (your side)
16=responderIDintclient supplied responder ID (can be any number including zero)
100userNamestring(24)username used for responding to auction notices
101isDisabledenum : YesNoif Yes, this auto-responder record is disabled
137enabledUntilDateTimewill be enabled up until this time
102canIncludeFlexenum : YesNoif yes, can respond to auction notices that include flex option legs
103canIncludeStockenum : YesNoif yes, can respond to auction notices that include a stock leg
104cpFlagenum : CallPutif not Pair must match all option legs
138minNetVegaRatiofloatminimum ratio of abs(netVega)/totalVega to enable a response (hard lower limit of 0.25)
105minYearsfloatboth markup.minYears and markup.maxYears must be between [minYears, maxYears]
106maxYearsfloat
107minExpiryDateTimeboth markup.minExpiry and markup.maxExpiry must be between [minExpiry, maxExpiry]
108maxExpiryDateTime
109minXDeltafloatall leg xDelta must be between [minXDelta, maxXDelta]
110maxXDeltafloat
111minStrikedoubleall leg strikes must be between [minStrike, maxStrike]
112maxStrikedouble
113minSurfEdgePremfloatspread surface edge (in premium) (+ = through surface; - = behind surface)
114minSurfEdgeVolfloatspread surface edge (in vol) (0.01 = 1.0 vol pts) (+ = through surface; - = behind surface)
115incFeesInRespenum : YesNoinclude all estimated responder fees in final response price
116roundRuleenum : RoundRule
117maxResponseSizeintmaximum number of contracts per response (will respond for 100% if auction size <= maxResponseSize)
118maxResponseVegafloatmaximum total vega per response
119totalResponseVegafloatmaximum vega (filled) all day
120totalResponseWtVegafloatmaximum wtVega (filled) all day
121autoHedgeenum : AutoHedge
122hedgeInstrumentenum : HedgeInstDefault=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
123hedgeSecKeyExpiryKeyautohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]
124hedgeBetaRatiofloatportion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0]
125hedgeScopeenum : HedgeScopehedge group scope [RiskGroup or Accnt]
126hedgeSessionenum : MarketSessiontime in force for the autohedge order (can be Day or ExtDay) [None defaults to pOrder.timeInForce]
127riskGroupIdlongDefault: 0 (none). Required to be non-zero if autoHedge is something other than None.
132qtyTradedint
133vegaTradeddouble
177wtVegaTradeddouble
129numNoticeslongnumber of notices that match response bucket
139numNoticeSRlongnumber of SR auction numNotices
140numNoticeAMEXlong
141numNoticeBATSlong
142numNoticeBOXlong
143numNoticeCBOElong
144numNoticeC2long
145numNoticeEDGOlong
146numNoticeEMLDlong
147numNoticeGMNIlong
148numNoticeISElong
149numNoticeMCRYlong
150numNoticeMEMXlong
151numNoticeMIAXlong
152numNoticeMPRLlong
153numNoticeNYSElong
154numNoticeNQBXlong
155numNoticeNSDQlong
156numNoticePHLXlong
157numNoticeSPHRlong
158respDisabledSkipslongnumber skipped from isDisabled
159stockDisabledSkipslongnumber skipped from canIncludeStock != Yes
160cpFlagSkipslongnumber skipped from cpFlag not matching notice legs CallPut
161expiryRangeSkipslongnumber skipped from out of range expiry value
162yearsRangeSkipslongnumber skipped from out of range years value
163listedFlexSkipslongnumber skipped from flex/listed filter
164noticePriceSkipslongnumber skipped from limit price filter (exchange only)
165aggSizeLimitSkipslongnumber skipped from aggregate contract/vega size limit
166riskGroupLimitSkipslongnumber skipped from riskGroup limits
167rootSkipslongnumber skipped from leg root mismatch
168xDeltaRangeSkipslongnumber skipped from out of range XDelta value
169strikeRangeSkipslongnumber skipped from out of range strike
170minVegaRatioSkipslongnumber skipped from not qualifying ratio netVega/sum(abs(vega))
131numResponseslongnumber of response attempts (number of parentOrders/NoticeExecReports)
171numFullSizelong
172numAllocSizelong
173numPriceMisslong
174numTooLatelong
175numOtherMisslong
176numDidNotTradelong
134modifiedBystring(24)user who last modified this record
135modifiedInenum : SysEnvironment
136timestampDateTimetimestamp of last modification

Get Schema API Call

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)

Get Msg API Call

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|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|qtyTraded|vegaTraded|wtVegaTraded|numNotices|numNoticeSR|numNoticeAMEX|numNoticeBATS|numNoticeBOX|numNoticeCBOE|numNoticeC2|numNoticeEDGO|numNoticeEMLD|numNoticeGMNI|numNoticeISE|numNoticeMCRY|numNoticeMEMX|numNoticeMIAX|numNoticeMPRL|numNoticeNYSE|numNoticeNQBX|numNoticeNSDQ|numNoticePHLX|numNoticeSPHR|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|numResponses|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|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)

Get Msgs API Call

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|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|qtyTraded|vegaTraded|wtVegaTraded|numNotices|numNoticeSR|numNoticeAMEX|numNoticeBATS|numNoticeBOX|numNoticeCBOE|numNoticeC2|numNoticeEDGO|numNoticeEMLD|numNoticeGMNI|numNoticeISE|numNoticeMCRY|numNoticeMEMX|numNoticeMIAX|numNoticeMPRL|numNoticeNYSE|numNoticeNQBX|numNoticeNSDQ|numNoticePHLX|numNoticeSPHR|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|numResponses|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|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)

Get Aggregate API Call

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|cpFlag|minNetVegaRatio|minYears|maxYears|minExpiry|maxExpiry|minXDelta|maxXDelta|minStrike|maxStrike|minSurfEdgePrem|minSurfEdgeVol|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseVega|totalResponseWtVega|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|riskGroupId|qtyTraded|vegaTraded|wtVegaTraded|numNotices|numNoticeSR|numNoticeAMEX|numNoticeBATS|numNoticeBOX|numNoticeCBOE|numNoticeC2|numNoticeEDGO|numNoticeEMLD|numNoticeGMNI|numNoticeISE|numNoticeMCRY|numNoticeMEMX|numNoticeMIAX|numNoticeMPRL|numNoticeNYSE|numNoticeNQBX|numNoticeNSDQ|numNoticePHLX|numNoticeSPHR|respDisabledSkips|stockDisabledSkips|cpFlagSkips|expiryRangeSkips|yearsRangeSkips|listedFlexSkips|noticePriceSkips|aggSizeLimitSkips|riskGroupLimitSkips|rootSkips|xDeltaRangeSkips|strikeRangeSkips|minVegaRatioSkips|numResponses|numFullSize|numAllocSize|numPriceMiss|numTooLate|numOtherMiss|numDidNotTrade|modifiedBy|modifiedIn|timestamp'

# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'isDisabled|canIncludeFlex|canIncludeStock|cpFlag|incFeesInResp|roundRule|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)

Get Count API Call

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)

Post Msgs API Call

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
"cpFlag": "enumValue", // enum(CallPut) - Call, Put, Pair
"minNetVegaRatio": 1.0, // float
"minYears": 1.0, // float
"maxYears": 1.0, // float
"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": 1.0, // float
"maxXDelta": 1.0, // float
"minStrike": 1.0, // double
"maxStrike": 1.0, // double
"minSurfEdgePrem": 1.0, // float
"minSurfEdgeVol": 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
"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
"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": 1, // long
"qtyTraded": 1, // int
"vegaTraded": 1.0, // double
"wtVegaTraded": 1.0, // double
"numNotices": 1, // long
"numNoticeSR": 1, // long
"numNoticeAMEX": 1, // long
"numNoticeBATS": 1, // long
"numNoticeBOX": 1, // long
"numNoticeCBOE": 1, // long
"numNoticeC2": 1, // long
"numNoticeEDGO": 1, // long
"numNoticeEMLD": 1, // long
"numNoticeGMNI": 1, // long
"numNoticeISE": 1, // long
"numNoticeMCRY": 1, // long
"numNoticeMEMX": 1, // long
"numNoticeMIAX": 1, // long
"numNoticeMPRL": 1, // long
"numNoticeNYSE": 1, // long
"numNoticeNQBX": 1, // long
"numNoticeNSDQ": 1, // long
"numNoticePHLX": 1, // long
"numNoticeSPHR": 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
"numResponses": 1, // long
"numFullSize": 1, // long
"numAllocSize": 1, // long
"numPriceMiss": 1, // long
"numTooLate": 1, // long
"numOtherMiss": 1, // long
"numDidNotTrade": 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
}
}

response = requests.post(MLINK_PROD_URL, params=params, json=payload)