Skip to main content
Version: Upcoming

Vega-Direction Examples

Edge-based Vega Responder

INSERT INTO srtrade.msgautorespondervegadir (accnt, clientFirm, ekey_at, ekey_ts, ekey_tk, ekey_yr, ekey_mn, ekey_dy, respSide, responderID, username, isDisabled, enabledUntil, 
canIncludeStock, cpFlag, minXDelta, maxXDelta, minStrike, maxStrike, minSurfEdgeVol, minProbability, minSurfEdgePrem, maxResponseSize, maxResponseVega, totalResponseVega,
totalResponseSize, incFeesInResp, canRespondSR, canRespondExch)
VALUES ('T.ACCNT', 'CFIRM', 'EQT', 'NMS', 'AAL', 2026, 4, 17, 'Sell', 3014526, 'user.name', 'No', '1900-01-01 00:00:00.000000', 'Yes', 'Pair', -99, 99, 0, 1000, -1, -2, 0.01,
50, 5000000, 5000000, 500, 'Yes', 'Yes', 'Yes');

Vol Surface-based Responder

INSERT INTO srtrade.msgautorespondervegadir (accnt, clientFirm, ekey_at, ekey_ts, ekey_tk, ekey_yr, ekey_mn, ekey_dy, respSide, responderID, username, isDisabled, enabledUntil, 
canIncludeStock, cpFlag, minXDelta, maxXDelta, minStrike, maxStrike, clientVolSurface,atmVol,minSurfEdgeVol, minProbability, maxResponseSize, maxResponseVega,
totalResponseVega,totalResponseSize, incFeesInResp, canRespondSR, canRespondExch)
VALUES ('T.ACCNT', 'CFIRM', 'EQT', 'NMS', 'AAL', 2026, 4, 17, 'Sell', 3016463, 'user.name', 'No', '1900-01-01 00:00:00.000000', 'Yes', 'Pair', -99, 99, 0, 1000, 'AtmVolPinned',0.3972,
-1, -2, 50, 5000000, 5000000, 500, 'Yes', 'Yes', 'Yes');

Vol Calibrated

INSERT INTO msgautorespondervegadir (accnt, clientFirm, ekey_at, ekey_ts, ekey_tk, ekey_yr, ekey_mn, ekey_dy, respSide, responderID, username, isDisabled, enabledUntil, 
canIncludeStock, cpFlag, minXDelta, maxXDelta, minStrike, maxStrike, clientVolSurface, minSurfEdgeVol, minProbability, maxResponseSize, maxResponseVega,
totalResponseVega,totalResponseSize, incFeesInResp, canRespondSR, canRespondExch, CalibrationList)
VALUES ('T.ACCNT', 'CFIRM', 'EQT', 'NMS', 'AAL', 2026, 4, 17, 'Sell', 3011425, 'user.name', 'No', '1900-01-01 00:00:00.000000', 'Yes', 'Pair', -99, 99, 0, 1000, 'VolCalibrated',
-1, -2, 50, 5000000, 5000000, 500, 'Yes', 'Yes', 'Yes','[{"cValue":0.47648,"moneyness":0.13146},{"cValue":0.50054,"moneyness":-0.50037},{"cValue":0.4665,"moneyness":0.48586}]');

Checking Flash Responder Activity

#MLINK URL 
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

#MLINK API Key
API_KEY = ''

#MsgType.
MSG_TYPE = 'ResponderMarkupVegaDir'


# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 25000

# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
#"where": "responderID:eq:1200"
}
response = requests.get(MLINK_PROD_URL, params=params)
df = json_to_dataframe_flash(response.json())
df = df.drop(df.index[-1])
display(df)

Checking Flash Responder Fill Quantity

#MLINK URL 
MLINK_PROD_URL = 'https://mlink-live.nms.saturn.spiderrockconnect.com/rest/json'

#MLINK API Key
API_KEY = ''

#MsgType.
MSG_TYPE = 'SpdrParentExecution'

WHERE = 'accnt:eq:T.MTL.VEN & spdrSource:eq:AutoResponderVD'

# Replace with your desired limit of how many messages you receive. The default limit is 500
LIMIT = 25000

# Request Parameters for getmsgs Of The MsgType
params = {
# Required Parameters
"apiKey": API_KEY,
"cmd": 'getmsgs',
"msgType": MSG_TYPE,
"where": WHERE,
}
response = requests.get(MLINK_PROD_URL, params=params)
df = json_to_dataframe_brkrdetail(response.json())
df['edge'] = (df['surfPrice'] - df['fillPrice']).abs()
df = df.drop(df.index[-1])
display(df)