Schema: SpdrStrategyOrderLeggerX (ID: 5355)
METADATA
Attribute | Value |
---|---|
Topic | 5355-strategy-legger |
MLink Token | Internal |
SRSE Product | SRTrade |
Note: The symbol
=
next to a field number indicates that it is a primary key.
BODY
# | Field | Type | Comment |
---|---|---|---|
10= | strategyNumber | long | strategy order number |
100 | spdrSource | enum : SpdrSource | |
103 | accnt | string(16) | SR trading account |
106 | clientFirm | string(16) | SR client firm |
109 | strategyStatus | enum : StrategyStatus | |
241 | execBrkrCode | string(16) | (optional) override the default execBrkrCode for this order |
242 | externExDest | string(16) | routing code for orders directed to an external order router (default = null); should match FixRoutingTable.destination (in SR accnt config) |
118 | externParams | text1 | external algo names/parameters (usually just an algo name) |
121 | strategy | string(36) | client-supplied strategy string; visible on SpiderRock GUI tools and other order reports. |
124 | userName | string(24) | name of the user entering the order |
127 | orderSize | int | strategy size (number of complete spreads) |
130 | leggerLimit | double | strategy limit |
133 | leggerLimitType | enum : LeggerLimitType | strategy limit type |
136 | leggerAlgo | enum : LeggerAlgo | |
139 | balanceHandling | enum : ParentBalanceHandling | base parent order balance handling [make style algo] |
142 | legExposurePct | float | percentage of legger order than can be exposed on a single leg without completing related legs |
145 | legCompletionSlippage | double | maximum leg price slippage to complete an open strategy order |
239 | marketSession | enum : MarketSession | |
151 | startDttm | DateTime | [optional] (parent order start time) |
154 | orderDuration | int | [optional] (number of seconds) |
157 | goodTillDttm | DateTime | [optional] (default: 2099-01-01) |
160 | autoHedge | enum : AutoHedge | |
163 | hedgeInstrument | enum : HedgeInst | |
166 | hedgeSecKey | ExpiryKey | autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future] |
169 | hedgeBetaRatio | float | portion of executed $money to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0] |
172 | hedgeScope | enum : HedgeScope | hedge group scope [RiskGroup or Accnt] |
240 | hedgeSession | enum : MarketSession | |
243 | externHedgeExDest | string(16) | external broker exDest (only used if orderHandling=Extern) # Should match FixRoutingTable.destination type |
181 | externHedgeParams | text1 | external algo names/parameters (usually just an algo name) |
184 | userData1 | text1 | client supplied data field; passes through to parent and child executions and reports as well as FIX drops |
187 | userData2 | text1 | client supplied data field; passes through to parent and child executions and reports as well as FIX drops |
190 | childData | text1 | client supplied data field; passes through to down stream child orders |
193 | timestamp | DateTime |
REPEATING FIELDS
Legs
Field | Type | Comment |
---|---|---|
199 | legId | long |
202 | legPriority | enum : LegPriority |
205 | secKey | OptionKey |
208 | secType | enum : SpdrKeyType |
211 | mult | ushort |
214 | side | enum : BuySell |
217 | posType | enum : PositionType |
220 | ssaleFlag | enum : ShortSaleFlag |
223 | exchMask | uint |
226 | minUBid | double |
229 | maxUAsk | double |
232 | minMaxType | enum : MinMaxType |
235 | refUPrc | double |
238 | refDelta | float |
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 = 'SpdrStrategyOrderLeggerX'
# 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=SpdrStrategyOrderLeggerX'
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 = 'SpdrStrategyOrderLeggerX'
# 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 = 'spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|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=SpdrStrategyOrderLeggerX' \
--data-urlencode 'view=spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|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 = 'SpdrStrategyOrderLeggerX'
# Replace with your desired view. A "|" separated list of views can be provided
# If no view is provided, all views will be returned
VIEW = 'spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|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 = 'spdrSource: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=SpdrStrategyOrderLeggerX' \
--data-urlencode 'view=spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|timestamp' \
--data-urlencode 'where=accnt:eq:ExampleString' \
--data-urlencode 'limit=500' \
--data-urlencode 'order=spdrSource: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 = 'SpdrStrategyOrderLeggerX'
# Replace with fields you want to see aggregate values for. A "|" separated list of measures should be provided
MEASURE = 'spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|timestamp'
# Replace with fields you want to see aggregated. A "|" separated list of fields should be provided
GROUP = 'spdrSource|strategyStatus|leggerLimitType|leggerAlgo|balanceHandling|marketSession|autoHedge|hedgeInstrument|hedgeScope|hedgeSession'
# 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=SpdrStrategyOrderLeggerX' \
--data-urlencode 'measure=spdrSource|accnt|clientFirm|strategyStatus|execBrkrCode|externExDest|externParams|strategy|userName|orderSize|leggerLimit|leggerLimitType|leggerAlgo|balanceHandling|legExposurePct|legCompletionSlippage|marketSession|startDttm|orderDuration|goodTillDttm|autoHedge|hedgeInstrument|hedgeSecKey|hedgeBetaRatio|hedgeScope|hedgeSession|externHedgeExDest|externHedgeParams|userData1|userData2|childData|timestamp' \
--data-urlencode 'group=spdrSource|strategyStatus|leggerLimitType|leggerAlgo|balanceHandling|marketSession|autoHedge|hedgeInstrument|hedgeScope|hedgeSession' \
--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 = 'SpdrStrategyOrderLeggerX'
# 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=SpdrStrategyOrderLeggerX' \
--data-urlencode 'where=accnt:eq:ExampleString'