Skip to main content
Version: Upcoming

Schema: AutoResponderVegaDir (ID: 2495)

METADATA

AttributeValue
Topic2450-liquidity-notice
MLink TokenClientTrading
SRSE ProductSRTrade

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

BODY

#FieldTypeDefault ValueComment
10=accntstring(16)
14=clientFirmstring(16)
18=ekeyExpiryKey
12=respSideenum : BuySellauction responder side (your side)
19=responderIDlongclient supplied responder ID (can be any number including zero)
100userNamestring(24)username used for responding to auction notices
102isDisabledenum : YesNoif Yes, this auto-responder record is disabled
136enabledUntilDateTimewill be enabled up until this time
104canIncludeStockenum : YesNoif yes, can respond to auction notices that include a stock leg
142canRespondSRenum : YesNoif yes, can respond to auction notices from SR
143canRespondExchenum : YesNoif yes, can respond to auction notices from exchanges
105cpFlagenum : CallPutPairif not Pair must match all option legs
110minXDeltafloat-0.50all leg xDelta must be between [minXDelta, maxXDelta]
111maxXDeltafloat+0.50
112minStrikedouble0all leg strikes must be between [minStrike, maxStrike]
113maxStrikedouble999999
159clientVolSurfaceenum : ClientSurface
160atmVolfloat[AtmVolPinned] clientSurface = SRSurface pinned to atmVol @ atmStrike (strike = fwdUPrcRef)
130minSurfEdgeVolfloat-99spread surface edge (in vol) (0.01 = 1.0 vol pts) (+ = through surface; - = behind surface)
114minSurfEdgePremfloat-99spread surface edge (in premium) (+ = through surface; - = behind surface)
148minProbabilityfloatoption response probability will be >= minProbability
131incFeesInRespenum : YesNoinclude all estimated responder exchange fees in final response price (prior to rounding)
132roundRuleenum : RoundRule
117maxResponseSizeintmaximum number of contracts per response (will respond for 100% if auction size <= maxResponseSize)
133maxResponseVegafloatmaximum total vega per response
164totalResponseSizeintmaximum number of contracts (filled) all day (this responder record)
134totalResponseVegafloatmaximum vega (filled) all day (this responder record)
165policyAutoHedgeenum : YesNoif yes, all option fills will be autoHedgePolicy eligible
125riskGroupIdlong0Default: 0 (none).
157minUPrcfloat1min/max underlier price bounds (no responses while underlier is outside of bounds)
158maxUPrcfloat99999
127modifiedBystring(24)user who last modified this record
128modifiedInenum : SysEnvironment
129timestampDateTimetimestamp of last modification

REPEATING FIELDS

Calibration

#FieldTypeDefault ValueComment
162cValuefloatclient surface volatility @ moneyness
163moneynessfloatmoneyness = SR xAxis value

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 = 'AutoResponderVegaDir'

# 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 = 'AutoResponderVegaDir'

# 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|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minXDelta|maxXDelta|minStrike|maxStrike|clientVolSurface|atmVol|minSurfEdgeVol|minSurfEdgePrem|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseSize|totalResponseVega|policyAutoHedge|riskGroupId|minUPrc|maxUPrc|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 = 'AutoResponderVegaDir'

# 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|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minXDelta|maxXDelta|minStrike|maxStrike|clientVolSurface|atmVol|minSurfEdgeVol|minSurfEdgePrem|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseSize|totalResponseVega|policyAutoHedge|riskGroupId|minUPrc|maxUPrc|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 = 'AutoResponderVegaDir'

# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'userName|isDisabled|enabledUntil|canIncludeStock|canRespondSR|canRespondExch|cpFlag|minXDelta|maxXDelta|minStrike|maxStrike|clientVolSurface|atmVol|minSurfEdgeVol|minSurfEdgePrem|minProbability|incFeesInResp|roundRule|maxResponseSize|maxResponseVega|totalResponseSize|totalResponseVega|policyAutoHedge|riskGroupId|minUPrc|maxUPrc|modifiedBy|modifiedIn|timestamp'

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

# 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": "AutoResponderVegaDir"
},
"message": {
"pkey": {
"accnt": "exampleString", // string
"clientFirm": "exampleString", // string
"ekey": {
"at": "EQT",
"ts": "NMS",
"tk": "AAPL",
"dt": "2025-01-01"
},
"respSide": "enumValue", // enum(BuySell) - None, Buy, Sell
"responderID": 1 // long
},
"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
"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
"minXDelta": -0.50, // float. Default=-0.50
"maxXDelta": +0.50, // float. Default=+0.50
"minStrike": 0, // double. Default=0
"maxStrike": 999999, // double. Default=999999
"clientVolSurface": "enumValue", // enum(ClientSurface) - None, AtmVolPinned, VolCalibrated
"atmVol": 1.0, // float
"minSurfEdgeVol": -99, // float. Default=-99
"minSurfEdgePrem": -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
"totalResponseSize": 1, // int
"totalResponseVega": 1.0, // float
"policyAutoHedge": "enumValue", // enum(YesNo) - None, Yes, No
"riskGroupId": 0, // long. Default=0
"minUPrc": 1, // float. Default=1
"maxUPrc": 99999, // float. Default=99999
"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
"Calibration": [ // Repeating Field
{
"cValue": 1.0, // float
"moneyness": 1.0 // float
}
]
}
}

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