OptOrderGateway
Records inserted, updated, or replaced into the OptionOrderGateway table are validated and then converted to SpdrParentOrder records and forwarded to the appropriate execution engine for futher processing. Parent orders can be inserted as either active/ready or in a wait start mode that requires subsequent release. See the SpiderRock Execution Engine concept guide for more details.
METADATA
Attribute | Value |
---|---|
Topic | 5120-srse-gateway |
MLink Token | Internal |
Product | SRTrade |
accessType | SELECT,UPDATE(spdrActionType),INSERT,DELETE |
Table Definition
Field | Type | Key | Default Value | Comment |
---|---|---|---|---|
okey_at | enum - AssetType | PRI | 'EQT' | SR Option Key |
okey_ts | enum - TickerSrc | PRI | 'NMS' | SR Option Key |
okey_tk | VARCHAR(12) | PRI | '' | SR Option Key |
okey_yr | SMALLINT UNSIGNED | PRI | 0 | SR Option Key |
okey_mn | TINYINT UNSIGNED | PRI | 0 | SR Option Key |
okey_dy | TINYINT UNSIGNED | PRI | 0 | SR Option Key |
okey_xx | DOUBLE | PRI | 0 | SR Option Key |
okey_cp | enum - CallPut | PRI | 'Call' | SR Option Key |
accnt | VARCHAR(16) | PRI | '' | SR Account default primary account associated with SRSE login |
orderSide | enum - BuySell | PRI | 'None' | Parent Order Size |
groupingCode | CHAR(19) | PRI | '0000-0000-0000-0000' | Parent Grouping Code |
clientFirm | VARCHAR(16) | PRI | '' | |
spdrActionType | enum - SpdrActionType | 'Add' | Add new order AddReplace add or replace order Cancel cxl existing Replace update existing only Release modify order active size | |
altOrderId | VARCHAR(24) | '' | Alternate client order ID This order ID will be copied to all execution reports | |
altAutoHedgeId | VARCHAR(24) | '' | alternate order ID for child autohedge orders if any | |
altAccnt | VARCHAR(32) | '' | alternate client assigned long account string optional used to map between client and SR account strings | |
altUserName | VARCHAR(24) | '' | alternate client assigned user name optional used to map between client and SR account strings | |
accntRouteCode | TINYTEXT | '' | accntRoute acronym | |
execBrkrCode | VARCHAR(16) | '' | ||
externExDest | VARCHAR(16) | '' | routing code for orders directed to an external order router default null should match FixRoutingTabledestination in SR accnt config | |
externParams | TINYTEXT | '' | external algo namesparameters usually just an algo name | |
strategy | VARCHAR(36) | '' | Client strategy string This value will appear on the SR Trade Monitor and in execution reports | |
orderDttm | DATETIME(6) | '1900-01-01 00:00:00.000000' | order entry time from clientif any | |
orderSize | INT | -1 | parent order size contracts 1 no changeused when spdrActionTypeRelease | |
orderActiveSize | INT | -1 | total activated size total size released for execution 1 all available size | |
addCumFillQuantity | enum - YesNo | 'No' | If Yes then OrderSize is calculated order arrival as requested OrderSize existing CumFillQuantity | |
exchMask | INT UNSIGNED | 0 | eligible exchanges 0 all | |
maxExposureSize | INT | -1 | maximum simultaneous cumulative child order public size exposure 1 orderActiveSize order can overfill if orderActiveSize and numMakeExchanges 1 | |
numMakeExchanges | TINYINT UNSIGNED | 1 | number of exchanges 1 4 on which to publish public making orders Effective number might be less than requested number if sufficient exchanges are not available | |
publicSize | enum - PublicSizeHandling | 'None' | public order size handling Noneuse default size handling usually limits public size to typical market size Randomizerandomize public size MktSizeexpose only typical market size FullSizeexpose entire order size where possible | |
randomizeSize | enum - YesNo | 'Yes' | randomize public order size | |
canOverlapCxlRepl | enum - YesNo | 'No' | can execution engines overlap cancelreplace operations order can overfill if YES at most one active overlapping cxlreplace operation for each parent order | |
progressRule | enum - ProgressRule | 'None' | None all size immediately availableTWAP size released in time intervalsVWAP size released in volume intervals | |
twapSliceCnt | TINYINT UNSIGNED | 0 | ProgressSliceCnt number of progress slices to use if none given will compute based on active size and duration max 20 | |
progressExposeTime | INT | 0 | minimum time secs to expose order 0 no minimum used to guarantee that the order is exposed at midmarket for some time before actively taking | |
auctionResponder | enum - AuctionResponder | 'None' | if set parent order can be an auction responder | |
maxMakeExchFee | FLOAT | 0 | maximum making exchange fee in point value zero no limit use nonzero number for limit to apply | |
maxTakeExchFee | FLOAT | 0 | maximum taking exchange fee in point value zero no limit use nonzero number for limit to apply | |
incTakeExchFee | enum - IncExchFee | 'None' | include exchange fee in probability and surface based take limit calculations | |
incMakeExchFee | enum - IncExchFee | 'None' | include exchange fee in probability and surface based make limit calculations | |
makeExchRule | enum - MakeExchRule | 'None' | ActiveMaker exchange preference rule MaxPart will pick exchanges to maximize participation FeeOrder will pick exchanges to minimize fees maximize rebates ImprvOnly will only make when improving NBBO | |
triggerType | enum - TriggerType | 'None' | type of trigger PrintVolSurfVol only for options print print or actionable quote | |
triggerLevel | FLOAT | 0 | stoptrigger price for parent order to go active | |
cxlUPrcRange | enum - UPrcCxl | 'None' | cancel parent order ifwhen outside minmax uPrc range Halt also cancel if the securityunderlier has been halted | |
minUBid | FLOAT | 0 | optional | |
maxUAsk | FLOAT | 0 | optional 001 none | |
minMaxType | enum - MinMaxType | 'Prc' | if Prc minUBidmaxUAsk are expressed as prices if Pct then they are expresses as pct change since parent order arrival | |
minOptionPx | FLOAT | 0 | optional option price floor for tied to stock orders | |
maxChildOrders | INT | 1000 | maximum number of child orders that can be generated by this parent order order will terminate ifwhen this cap is reachedzero or neg unlimited | |
spdrStageType | enum - SpdrStageType | 'None' | SizeLock stage pending modification can reduce size SizeModify stage pending modification can increasereduce size | |
marketSession | enum - MarketSession | 'RegMkt' | ||
startDttm | DATETIME(6) | '2000-01-01' | optional parent order start time | |
orderDuration | INT | -1 | optional number of seconds | |
activeDuration | INT | -1 | optional number of seconds | |
goodTillDttm | DATETIME(6) | '2000-01-01' | optional default 20000101 | |
startType | enum - StartType | 'None' | WaitTrigger | |
parentOrderHandling | enum - ParentOrderHandling | 'ActiveTaker' | ||
parentBalanceHandling | enum - ParentBalanceHandling | 'PostLimit' | ||
blockVisibility | enum - BlockVisibility | 'None' | for BlockAuction orders visibility to responders is neither side only or side price | |
includeSRNetwork | enum - InclExclDisclose | 'None' | ||
orderLimitType | enum - SpdrLimitType | 'Market' | Various Prc PrcDe Vol Rel Market establishes the primary LimitPrice for a parent order | |
takeLimitClass | enum - SpdrLimitClass | 'Simple' | Simple LimitPrice Surface BESTLimitPrice SurfLimit Probability BESTLimitPrice ProbLimit | |
makeLimitClass | enum - SpdrLimitClass | 'Simple' | Simple LimitPrice Surface BESTLimitPrice SurfLimit Probability BESTLimitPrice ProbLimit | |
takeReachRule | enum - ReachRule | 'None' | None reach room immediately available Delayed available after 13 seconds Passive available if contra side aggresses WeakOnly only take if available size avgMarketSize ISOSweep Intermarket Sweep requires WaitTrigger | |
orderPrcLimit | DOUBLE | 0 | Applies if LimitType Prc | |
orderRefUPrc | DOUBLE | 0 | defaultunderliermid | |
orderRefDelta | FLOAT | -99 | defaultoptiondelta | |
orderRefGamma | FLOAT | -99 | defaultoptiongamma | |
orderVolLimit | FLOAT | 0 | Applies if LimitType Vol uses SR dividends and borrow rates | |
rateOverride | FLOAT | -1 | zero ignore zero override | |
sdivOverride | FLOAT | -1 | Default 0 | |
ddivOverride | TEXT | '' | Discrete dividend string override yearsToExpirydivYearsdivAmountdivYearsdivAmount | |
overrideCode | enum - OverrideCode | 'None' | override default SR dividend and rate details only used if LimitType Vol | |
orderPrcOffset | DOUBLE | 0 | default0 | |
orderRefEventMult | FLOAT | 0 | ||
orderRefEventDttm | DATETIME(6) | '1900-01-01 00:00:00.000000' | ||
takeAlphaType | enum - AlphaType | 'None' | Applies if takeLimitClass Probability | |
makeAlphaType | enum - AlphaType | 'None' | Applies if makeLimitClass Probability | |
takeAlphaFactor | FLOAT | 0 | 22 takeProbLimit MAXtakeProbability takeProbAvg takeAlphaFactor takeProbStd if takeAlphaType Relative | |
makeAlphaFactor | FLOAT | 0 | 22 makeProbLimit MAXmakeProbability makeProbAvg makeAlphaFactor makeProbStd if makeAlphaType Relative | |
takeProbability | FLOAT | 0 | takeProbLimit takeProbability if takeAlphaType Static | |
makeProbability | FLOAT | 0 | makeProbLimit makeProbability if makeAlphaType Static | |
takeSurfPrcOffset | DOUBLE | 0 | default0 | |
takeSurfVolOffset | FLOAT | 0 | default0 | |
takeSurfWidthOffset | FLOAT | 0 | 1x to 1x 10 05 avgMktWidth 10 05 avgMktWidth | |
makeSurfPrcOffset | DOUBLE | 0 | default0 | |
makeSurfVolOffset | FLOAT | 0 | default0 | |
makeSurfWidthOffset | FLOAT | 0 | 1x to 1x 10 05 avgMktWidth 10 05 avgMktWidth | |
autoHedge | enum - AutoHedge | 'None' | ||
hedgeInstrument | enum - HedgeInstOrig | 'Default' | Defaultunderlier EQT or FUT Index Options use ETF FrontMonthunderlier EQT or front month FUT Index Options use FM Fut StockhedgeSecKey FuturehedgeSecKey DirectStock DirectFuture and FutUnderlier are depricated | |
hedgeFKey_at | enum - AssetType | 'EQT' | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeFKey_ts | enum - TickerSrc | 'NMS' | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeFKey_tk | VARCHAR(12) | '' | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeFKey_yr | SMALLINT UNSIGNED | 1900 | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeFKey_mn | TINYINT UNSIGNED | 1 | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeFKey_dy | TINYINT UNSIGNED | 1 | autohedge instrument can be a TickerKey stock or ExpiryKey future required for Stock and Future | |
hedgeBetaRatio | FLOAT | 1.0 | portion of executed delta to autohedge can be 10 Beta for beta hedging 40 to 40 | |
hedgeScope | enum - HedgeScope | 'RiskGroup' | ||
hedgeSession | enum - MarketSession | 'RegMkt' | ||
positionType | enum - PositionType | 'Auto' | ||
ssaleFlag | enum - ShortSaleFlag | 'Auto' | Used to determine stock autohedge flags | |
firmType | enum - FirmType | 'None' | Used to override firmType in account config Default None use SpiderRock account configuration | |
theoVol | FLOAT | 0 | client supplied theoretical volatility used for markup only | |
riskGroupId | CHAR(19) | '0000-0000-0000-0000' | All group grp risk limits below are relative to this riskGroupId Default 0 none Required to be nonzero if autoHedge is something other than None | |
reqAuxRiskGroupCtrl | enum - YesNo | 'None' | ||
refRMetric1Src | enum - RMetricSource | 'None' | ||
refRMetric2Src | enum - RMetricSource | 'None' | ||
refRMetric3Src | enum - RMetricSource | 'None' | ||
refRMetric4Src | enum - RMetricSource | 'None' | ||
refRMetric5Src | enum - RMetricSource | 'None' | ||
refRMetric6Src | enum - RMetricSource | 'None' | ||
refRMetric7Src | enum - RMetricSource | 'None' | ||
orderRefRMetric1 | FLOAT | 0 | user supplied RMetric1 value used in RiskGroupID risk controls netRMetric1 sumfillQty orderRefRMetric1 underlierPerCn | |
orderRefRMetric2 | FLOAT | 0 | user supplied RMetric2 value used in RiskGroupID risk controls netRMetric2 sumfillQty orderRefRMetric2 underlierPerCn | |
orderRefRMetric3 | FLOAT | 0 | user supplied RMetric3 value used in RiskGroupID risk controls netRMetric3 sumfillQty orderRefRMetric3 underlierPerCn | |
orderRefRMetric4 | FLOAT | 0 | user supplied RMetric4 value used in RiskGroupID risk controls netRMetric4 sumfillQty orderRefRMetric4 underlierPerCn | |
orderRefRMetric5 | FLOAT | 0 | user supplied RMetric5 value used in RiskGroupID risk controls netRMetric5 sumfillQty orderRefRMetric5 underlierPerCn | |
orderRefRMetric6 | FLOAT | 0 | user supplied RMetric6 value used in ExpDay risk controls netRMetric6 sumfillQty orderRefRMetric6 underlierPerCn | |
orderRefRMetric7 | FLOAT | 0 | user supplied RMetric7 value used in SymDay risk controls netRMetric7 sumfillQty orderRefRMetric7 underlierPerCn | |
expDayWtVegaOffset | FLOAT | -1 | max acctsymbol day wtVega offset target | |
maxExpDayWtVegaLn | FLOAT | -1 | max accntexpiration day time weighted vega long positive number1no limitrisk limit max limit current net counter offset | |
maxExpDayWtVegaSh | FLOAT | -1 | max accntexpiration day time weighted vega short positive number1no limitrisk limit max limit current net counter offset | |
maxExpDayRMetric6Ln | FLOAT | -1 | max acctexpiration day rMetric6 long positive number1no limitrisk limit max limit current net counter | |
maxExpDayRMetric6Sh | FLOAT | -1 | max acctexpiration day rMetric6 short positive number1no limitrisk limit max limit current net counter | |
symDayDDeltaOffset | FLOAT | -1 | max acctsymbol day delta offset target | |
maxSymDayDDeltaLn | FLOAT | -1 | max acctsymbol day delta long positive number1no limitrisk limit max limit current net counter offset | |
maxSymDayDDeltaSh | FLOAT | -1 | max acctsymbol day delta short positive number1no limitrisk limit max limit current net counter offset | |
symDayVegaOffset | FLOAT | -1 | max acctsymbol day vega offset target | |
maxSymDayVegaLn | FLOAT | -1 | max acctsymbol day vega long positive number1no limitrisk limit max limit current net counter offset | |
maxSymDayVegaSh | FLOAT | -1 | max acctsymbol day vega short positive number1no limitrisk limit max limit current net counter offset | |
symDayWtVegaOffset | FLOAT | -1 | max acctsymbol day wtVega offset target | |
maxSymDayWtVegaLn | FLOAT | -1 | max acctsymbol day time weighted vega long positive number1no limitrisk limit max limit current net counter offset | |
maxSymDayWtVegaSh | FLOAT | -1 | max acctsymbol day time weighted vega short positive number1no limitrisk limit max limit current net counter offset | |
maxSymDayRMetric7Ln | FLOAT | -1 | max acctsymbol day rMetric7 long positive number1no limitrisk limit max limit current net counter | |
maxSymDayRMetric7Sh | FLOAT | -1 | max acctsymbol day rMetric7 short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayDDeltaLn | FLOAT | -1 | max acctriskGroup day delta long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayDDeltaSh | FLOAT | -1 | max acctriskGroup day delta short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayVegaLn | FLOAT | -1 | max acctriskGroup day vega long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayVegaSh | FLOAT | -1 | max acctriskGroup day vega short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayVegaAbs | FLOAT | -1 | max acctriskGroup day vega abs positive number1no limitrisk limit max limit abscurrent net counter | |
grpDayVegaRatio | FLOAT | 1.0 | target bot sld ratio eg ratio20 means that neutral is bot vega 2x sld vega | |
maxGrpDayContractsLn | INT | -1 | max acctriskGroup day opt contracts long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayContractsSh | INT | -1 | max acctriskGroup day opt contracts short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayContractsAbs | INT | -1 | max acctriskGroup day opt contracts abs positive number1no limitrisk limit max limit abscurrent net counter | |
maxGrpDayRMetric1Ln | FLOAT | -1 | max acctriskGroup day rMetric1 long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric1Sh | FLOAT | -1 | max acctriskGroup day rMetric1 short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric1Abs | FLOAT | -1 | max acctriskGroup day rMetric1 abs positive number1no limitrisk limit max limit abscurrent net counter | |
grpDayRMetric1Ratio | FLOAT | 1.0 | target bot sld ratio eg ratio05 means that neutral is bot rMetric1 05x sld rMetric1 | |
maxGrpDayRMetric2Ln | FLOAT | -1 | max acctriskGroup day rMetric2 long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric2Sh | FLOAT | -1 | max acctriskGroup day rMetric2 short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric3Ln | FLOAT | -1 | max acctriskGroup day rMetric3 long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric3Sh | FLOAT | -1 | max acctriskGroup day rMetric3 short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric4Ln | FLOAT | -1 | max acctriskGroup day rMetric4 long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric4Sh | FLOAT | -1 | max acctriskGroup day rMetric4 short positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric5Ln | FLOAT | -1 | max acctriskGroup day rMetric5 long positive number1no limitrisk limit max limit current net counter | |
maxGrpDayRMetric5Sh | FLOAT | -1 | max acctriskGroup day rMetric5 short positive number1no limitrisk limit max limit current net counter | |
symEmaCxlDDeltaLn | FLOAT | -1 | max acctsymbol 60s EMA delta long positive number 0 is no limit will immediately cxl all option orders in a symbol if any order in the symbol breaches | |
symEmaCxlDDeltaSh | FLOAT | -1 | max acctsymbol 60s EMA delta short positive number 0 is no limit | |
symEmaCxlWtVegaLn | FLOAT | -1 | max acctsymbol 60s EMA wtVega long positive number 0 is no limit will immediately cxl all option orders in a symbol if any order in the symbol breaches | |
symEmaCxlWtVegaSh | FLOAT | -1 | max acctsymbol 60s EMA wtVega short positive number 0 is no limit | |
traderName | VARCHAR(32) | '' | Name of the trader associated with the order | |
userData1 | TINYTEXT | '' | client supplied data field passes through to parent and child executions and reports as well as FIX drops | |
userData2 | TINYTEXT | '' | client supplied data field passes through to parent and child executions and reports as well as FIX drops | |
childData | TINYTEXT | '' | client supplied data field passes through to down stream child orders | |
checksum | TINYINT UNSIGNED | 0 | Must be set to 13 This helps detect some columnvalue misalignments | |
DirectedCounterPartyList | JSON | 'JSON_ARRAY()' |
PRIMARY KEY DEFINITION (Unique)
Field | Sequence |
---|---|
okey_tk | 1 |
okey_yr | 2 |
okey_mn | 3 |
okey_dy | 4 |
okey_xx | 5 |
okey_cp | 6 |
okey_at | 7 |
okey_ts | 8 |
accnt | 9 |
orderSide | 10 |
groupingCode | 11 |
clientFirm | 12 |
JSON Block (DirectedCounterPartyList)
Field | Type | Comment |
---|---|---|
clientFirm | enum - clientFirm | |
inclExcl | enum - InclExclDisclose |
CREATE TABLE EXAMPLE QUERY
CREATE TABLE `SRTrade`.`MsgOptOrderGateway` (
`okey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'EQT' COMMENT 'SR Option Key',
`okey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'NMS' COMMENT 'SR Option Key',
`okey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'SR Option Key',
`okey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SR Option Key',
`okey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SR Option Key',
`okey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'SR Option Key',
`okey_xx` DOUBLE NOT NULL DEFAULT 0 COMMENT 'SR Option Key',
`okey_cp` ENUM('Call','Put','Pair') NOT NULL DEFAULT 'Call' COMMENT 'SR Option Key',
`accnt` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'SR Account (default = primary account associated with SRSE login)',
`orderSide` ENUM('None','Buy','Sell') NOT NULL DEFAULT 'None' COMMENT 'Parent Order Size',
`groupingCode` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'Parent Grouping Code',
`clientFirm` VARCHAR(16) NOT NULL DEFAULT '',
`spdrActionType` ENUM('Add','AddReplace','Replace','Cancel','Modify') NOT NULL DEFAULT 'Add' COMMENT '[Add (new order), AddReplace (add or replace order), Cancel (cxl existing), Replace (update existing only), Release (modify order active size)]',
`altOrderId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'Alternate client order ID. This order ID will be copied to all execution reports.',
`altAutoHedgeId` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate order ID for child autohedge orders (if any)',
`altAccnt` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) "long" account string (optional) [used to map between client and SR account strings]',
`altUserName` VARCHAR(24) NOT NULL DEFAULT '' COMMENT 'alternate (client assigned) user name (optional) [used to map between client and SR account strings]',
`accntRouteCode` TINYTEXT NOT NULL DEFAULT '' COMMENT 'accntRoute acronym',
`execBrkrCode` VARCHAR(16) NOT NULL DEFAULT '',
`externExDest` VARCHAR(16) NOT NULL DEFAULT '' COMMENT 'routing code for orders directed to an external order router (default = null); should match FixRoutingTable.destination (in SR accnt config)',
`externParams` TINYTEXT NOT NULL DEFAULT '' COMMENT 'external algo names/parameters (usually just an algo name)',
`strategy` VARCHAR(36) NOT NULL DEFAULT '' COMMENT 'Client strategy string. This value will appear on the SR Trade Monitor and in execution reports.',
`orderDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000' COMMENT 'order entry time (from client;if any)',
`orderSize` INT NOT NULL DEFAULT -1 COMMENT 'parent order size (contracts) [-1 = no change;used when spdrActionType=Release]',
`orderActiveSize` INT NOT NULL DEFAULT -1 COMMENT 'total activated size (total size released for execution) (-1 = all available size)',
`addCumFillQuantity` ENUM('Yes','No') NOT NULL DEFAULT 'No' COMMENT 'If Yes then OrderSize is calculated @ order arrival as requested OrderSize + existing ''CumFillQuantity''.',
`exchMask` INT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'eligible exchanges (0 = all)',
`maxExposureSize` INT NOT NULL DEFAULT -1 COMMENT 'maximum simultaneous cumulative child order public size exposure (-1 = orderActiveSize) [order can overfill if > orderActiveSize and numMakeExchanges > 1]',
`numMakeExchanges` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'number of exchanges (1 - 4) on which to publish public making orders. Effective number might be less than requested number if sufficient exchanges are not available.',
`publicSize` ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR') NOT NULL DEFAULT 'None' COMMENT 'public order size handling: None=use default size handling (usually limits public size to ''typical'' market size); Randomize=randomize public size; MktSize=expose only ''typical'' market size; FullSize=expose entire order size where possible',
`randomizeSize` ENUM('Yes','No') NOT NULL DEFAULT 'Yes' COMMENT 'randomize public order size',
`canOverlapCxlRepl` ENUM('Yes','No') NOT NULL DEFAULT 'No' COMMENT 'can execution engines overlap cancel/replace operations [order can overfill if YES] (at most one active overlapping cxl/replace operation for each parent order)',
`progressRule` ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') NOT NULL DEFAULT 'None' COMMENT 'None = all size immediately available;TWAP = size released in time intervals;VWAP = size released in volume intervals;',
`twapSliceCnt` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '[ProgressSliceCnt] number of progress slices to use. if none given will compute based on active size and duration. [max 20]',
`progressExposeTime` INT NOT NULL DEFAULT 0 COMMENT 'minimum time (secs) to expose order (0 = no minimum; used to guarantee that the order is exposed at mid-market for some time before actively taking)',
`auctionResponder` ENUM('None','Any') NOT NULL DEFAULT 'None' COMMENT 'if set, parent order can be an auction responder',
`maxMakeExchFee` FLOAT NOT NULL DEFAULT 0 COMMENT 'maximum making exchange fee (in point value) [zero = no limit; use non-zero number for limit to apply]',
`maxTakeExchFee` FLOAT NOT NULL DEFAULT 0 COMMENT 'maximum taking exchange fee (in point value) [zero = no limit; use non-zero number for limit to apply]',
`incTakeExchFee` ENUM('None','ExclFee','IncFee') NOT NULL DEFAULT 'None' COMMENT 'include exchange fee in probability and surface based take limit calculations',
`incMakeExchFee` ENUM('None','ExclFee','IncFee') NOT NULL DEFAULT 'None' COMMENT 'include exchange fee in probability and surface based make limit calculations',
`makeExchRule` ENUM('None','MaxPart','FeeOptimal','ImprvOnly','FeeStrict','RoundRobin','ProRataOptim') NOT NULL DEFAULT 'None' COMMENT 'ActiveMaker exchange preference rule: ''MaxPart'' will pick exchanges to maximize participation; ''FeeOrder'' will pick exchanges to minimize fees [maximize rebates]; ''ImprvOnly'' will only make when improving NBBO.',
`triggerType` ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') NOT NULL DEFAULT 'None' COMMENT 'type of trigger (PrintVol/SurfVol only for options) [print = print or actionable quote]',
`triggerLevel` FLOAT NOT NULL DEFAULT 0 COMMENT 'stop/trigger price for parent order to go active',
`cxlUPrcRange` ENUM('None','Yes','No','YesHalt','NoHalt') NOT NULL DEFAULT 'None' COMMENT 'cancel parent order if/when outside min/max uPrc range [_Halt = also cancel if the security/underlier has been halted]',
`minUBid` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional]',
`maxUAsk` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] (< $0.01 = none)',
`minMaxType` ENUM('None','Prc','Pct') NOT NULL DEFAULT 'Prc' COMMENT 'if Prc minUBid/maxUAsk are expressed as prices; if Pct then they are expresses as pct change since parent order arrival',
`minOptionPx` FLOAT NOT NULL DEFAULT 0 COMMENT '[optional] option price floor for tied to stock orders',
`maxChildOrders` INT NOT NULL DEFAULT 1000 COMMENT 'maximum number of child orders that can be generated by this parent order [order will terminate if/when this cap is reached;zero or neg = unlimited]',
`spdrStageType` ENUM('None','ModifyAny','ModifyAlgo') NOT NULL DEFAULT 'None' COMMENT 'SizeLock = stage pending modification (can reduce size); SizeModify = stage pending modification (can increase/reduce size)',
`marketSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'RegMkt',
`startDttm` DATETIME(6) NOT NULL DEFAULT '2000-01-01' COMMENT '[optional] (parent order start time)',
`orderDuration` INT NOT NULL DEFAULT -1 COMMENT '[optional] (number of seconds)',
`activeDuration` INT NOT NULL DEFAULT -1 COMMENT '[optional] (number of seconds)',
`goodTillDttm` DATETIME(6) NOT NULL DEFAULT '2000-01-01' COMMENT '[optional] (default: 2000-01-01)',
`startType` ENUM('None','WaitTrigger') NOT NULL DEFAULT 'None' COMMENT '[WaitTrigger]',
`parentOrderHandling` ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','TestParent') NOT NULL DEFAULT 'ActiveTaker',
`parentBalanceHandling` ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') NOT NULL DEFAULT 'PostLimit',
`blockVisibility` ENUM('None','Neither','Side','SidePrice') NOT NULL DEFAULT 'None' COMMENT 'for BlockAuction orders, visibility (to responders) is neither, side only, or side + price',
`includeSRNetwork` ENUM('None','Include','Exclude','Disclose') NOT NULL DEFAULT 'None',
`orderLimitType` ENUM('None','Market','MarketArrival','Prc','PrcDe','PrcDeX','PrcDeT','PrcDeP','PrcDeXT','PrcDeXP','Vol','VolX','PrcV','PrcVX','NoLimit','RelMid','RelJoin','RelCross','SmrtFast','SmrtNorm','RelTurn','PrcDeEm','VolEm','Aux','UPrcPct','PkgNeutral','RcPrem','SynthLimitMM','SynthLimitBW','SynthLimitWW') NOT NULL DEFAULT 'Market' COMMENT 'Various (Prc, PrcDe, Vol, Rel, Market); establishes the primary LimitPrice for a parent order',
`takeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit)',
`makeLimitClass` ENUM('Simple','Surface','Probability','SurfProb') NOT NULL DEFAULT 'Simple' COMMENT 'Simple = LimitPrice, Surface = BEST(LimitPrice, SurfLimit), Probability = BEST(LimitPrice, ProbLimit)',
`takeReachRule` ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') NOT NULL DEFAULT 'None' COMMENT 'None = reach room immediately available; Delayed = available after [1-3] seconds; Passive = available if contra side aggresses; WeakOnly = only take if available size < avgMarketSize; ISOSweep = Intermarket Sweep [requires WaitTrigger]',
`orderPrcLimit` DOUBLE NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Prc[]',
`orderRefUPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=underlier.mid',
`orderRefDelta` FLOAT NOT NULL DEFAULT -99 COMMENT 'default=option.delta',
`orderRefGamma` FLOAT NOT NULL DEFAULT -99 COMMENT 'default=option.gamma',
`orderVolLimit` FLOAT NOT NULL DEFAULT 0 COMMENT 'Applies if LimitType = Vol[] [uses SR dividends and borrow rates]',
`rateOverride` FLOAT NOT NULL DEFAULT -1 COMMENT 'zero = ignore;> zero = override',
`sdivOverride` FLOAT NOT NULL DEFAULT -1 COMMENT 'Default: 0.',
`ddivOverride` TEXT NOT NULL DEFAULT '' COMMENT 'Discrete dividend string override ([yearsToExpiry,divYears:divAmount,divYears:divAmount, ...])' CHECK(LENGTH(ddivOverride) <= 10000),
`overrideCode` ENUM('None','SDivOnly','DDivOnly','Both') NOT NULL DEFAULT 'None' COMMENT 'override default SR dividend and rate details (only used if LimitType = Vol)',
`orderPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`orderRefEventMult` FLOAT NOT NULL DEFAULT 0,
`orderRefEventDttm` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`takeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if takeLimitClass = Probability',
`makeAlphaType` ENUM('None','Static','Eagle','Hawk','Falcon','Relative') NOT NULL DEFAULT 'None' COMMENT 'Applies if makeLimitClass = Probability',
`takeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] takeProbLimit = MAX(takeProbability, takeProbAvg + takeAlphaFactor * takeProbStd) [if takeAlphaType = Relative]',
`makeAlphaFactor` FLOAT NOT NULL DEFAULT 0 COMMENT '[-2,+2] makeProbLimit = MAX(makeProbability, makeProbAvg + makeAlphaFactor * makeProbStd) [if makeAlphaType = Relative]',
`takeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'takeProbLimit = takeProbability [if takeAlphaType = Static]',
`makeProbability` FLOAT NOT NULL DEFAULT 0 COMMENT 'makeProbLimit = makeProbability [if makeAlphaType = Static]',
`takeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`takeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`makeSurfPrcOffset` DOUBLE NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfVolOffset` FLOAT NOT NULL DEFAULT 0 COMMENT 'default=0',
`makeSurfWidthOffset` FLOAT NOT NULL DEFAULT 0 COMMENT '[-1.x to +1.x] -1.0 = -0.5 * avgMktWidth, +1.0 = +0.5 * avgMktWidth',
`autoHedge` ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo') NOT NULL DEFAULT 'None',
`hedgeInstrument` ENUM('None','Default','FrontMonth','FutUnderlier','Stock','Future','DirectStock','DirectFuture') NOT NULL DEFAULT 'Default' COMMENT 'Default=underlier (EQT or FUT) [Index Options use ETF]; FrontMonth=underlier (EQT) or front month (FUT) [Index Options use FM Fut]; Stock=hedgeSecKey; Future=hedgeSecKey (DirectStock, DirectFuture, and FutUnderlier are depricated)',
`hedgeFKey_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'EQT' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeFKey_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') NOT NULL DEFAULT 'NMS' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeFKey_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeFKey_yr` SMALLINT UNSIGNED NOT NULL DEFAULT 1900 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeFKey_mn` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeFKey_dy` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT 'autohedge instrument (can be a TickerKey (stock) or ExpiryKey (future)) [required for Stock and Future]',
`hedgeBetaRatio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'portion of executed $delta to auto-hedge (can be 1.0 / Beta for beta hedging) [-4.0 to +4.0])',
`hedgeScope` ENUM('None','Accnt','RiskGroup') NOT NULL DEFAULT 'RiskGroup',
`hedgeSession` ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') NOT NULL DEFAULT 'RegMkt',
`positionType` ENUM('Opening','Closing','Auto') NOT NULL DEFAULT 'Auto',
`ssaleFlag` ENUM('None','Long','Short','Exempt','Cover','Auto','NA') NOT NULL DEFAULT 'Auto' COMMENT 'Used to determine stock auto-hedge flags.',
`firmType` ENUM('None','Customer','Firm','MarketMaker','ProCustomer','BrokerDealer','AwayMM','FirmJBO','BrkrDlrCust') NOT NULL DEFAULT 'None' COMMENT 'Used to override firmType in account config. Default: None (use SpiderRock account configuration).',
`theoVol` FLOAT NOT NULL DEFAULT 0 COMMENT 'client supplied theoretical volatility (used for markup only)',
`riskGroupId` CHAR(19) NOT NULL DEFAULT '0000-0000-0000-0000' COMMENT 'All group (grp) risk limits below are relative to this riskGroupId. Default: 0 (none). Required to be non-zero if `autoHedge` is something other than None.',
`reqAuxRiskGroupCtrl` ENUM('None','Yes','No') NOT NULL DEFAULT 'None',
`refRMetric1Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric2Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric3Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric4Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric5Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric6Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`refRMetric7Src` ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') NOT NULL DEFAULT 'None',
`orderRefRMetric1` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric1 value (used in RiskGroupID risk controls) [netRMetric1 = sum(fillQty * orderRefRMetric1 * underlierPerCn)]',
`orderRefRMetric2` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric2 value (used in RiskGroupID risk controls) [netRMetric2 = sum(fillQty * orderRefRMetric2 * underlierPerCn)]',
`orderRefRMetric3` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric3 value (used in RiskGroupID risk controls) [netRMetric3 = sum(fillQty * orderRefRMetric3 * underlierPerCn)]',
`orderRefRMetric4` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric4 value (used in RiskGroupID risk controls) [netRMetric4 = sum(fillQty * orderRefRMetric4 * underlierPerCn)]',
`orderRefRMetric5` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric5 value (used in RiskGroupID risk controls) [netRMetric5 = sum(fillQty * orderRefRMetric5 * underlierPerCn)]',
`orderRefRMetric6` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric6 value (used in ExpDay risk controls) [netRMetric6 = sum(fillQty * orderRefRMetric6 * underlierPerCn)]',
`orderRefRMetric7` FLOAT NOT NULL DEFAULT 0 COMMENT 'user supplied RMetric7 value (used in SymDay risk controls) [netRMetric7 = sum(fillQty * orderRefRMetric7 * underlierPerCn)]',
`expDayWtVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxExpDayWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max accnt+expiration day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxExpDayWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max accnt+expiration day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxExpDayRMetric6Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+expiration day rMetric6 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxExpDayRMetric6Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+expiration day rMetric6 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symDayDDeltaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta offset (target)',
`maxSymDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day $delta short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega offset (target)',
`maxSymDayVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`symDayWtVegaOffset` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day wtVega offset (target)',
`maxSymDayWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day (time weighted) vega long (positive number;-1=no limit);risk limit = max limit - (current net counter - offset)',
`maxSymDayWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day (time weighted) vega short (positive number;-1=no limit);risk limit = max limit + (current net counter - offset)',
`maxSymDayRMetric7Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day rMetric7 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxSymDayRMetric7Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol day rMetric7 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day $delta short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayVegaAbs` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day vega abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayVegaRatio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'target bot / sld ratio (eg ratio=2.0 means that neutral is bot vega = 2x sld vega)',
`maxGrpDayContractsLn` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayContractsSh` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayContractsAbs` INT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day opt contracts abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`maxGrpDayRMetric1Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric1Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric1Abs` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric1 abs (positive number;-1=no limit);risk limit = max limit - abs(current net counter)',
`grpDayRMetric1Ratio` FLOAT NOT NULL DEFAULT 1.0 COMMENT 'target bot / sld ratio (eg ratio=0.5 means that neutral is bot rMetric1 = 0.5x sld rMetric1)',
`maxGrpDayRMetric2Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric2 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric2Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric2 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric3Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric3 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric3Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric3 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric4Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric4 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric4Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric4 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`maxGrpDayRMetric5Ln` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric5 long (positive number;-1=no limit);risk limit = max limit - current net counter',
`maxGrpDayRMetric5Sh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+riskGroup day rMetric5 short (positive number;-1=no limit);risk limit = max limit + current net counter',
`symEmaCxlDDeltaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA $delta long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlDDeltaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA $delta short (positive number; <= 0 is no limit)',
`symEmaCxlWtVegaLn` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA wtVega long (positive number; <= 0 is no limit) [will immediately cxl all option orders in a symbol if any order in the symbol breaches]',
`symEmaCxlWtVegaSh` FLOAT NOT NULL DEFAULT -1 COMMENT 'max acct+symbol 60s EMA wtVega short (positive number; <= 0 is no limit)',
`traderName` VARCHAR(32) NOT NULL DEFAULT '' COMMENT 'Name of the trader associated with the order',
`userData1` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`userData2` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to parent and child executions and reports as well as FIX drops',
`childData` TINYTEXT NOT NULL DEFAULT '' COMMENT 'client supplied data field; passes through to down stream child orders',
`checksum` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT 'Must be set to 13. This helps detect some column/value misalignments.',
`DirectedCounterPartyList` JSON NOT NULL DEFAULT JSON_ARRAY() CHECK(JSON_VALID(DirectedCounterPartyList)),
CONSTRAINT nonnegative_groupingCode CHECK(ASCII(groupingCode) < 56),
CONSTRAINT nonnegative_riskGroupId CHECK(ASCII(riskGroupId) < 56),
PRIMARY KEY USING HASH (`okey_tk`,`okey_yr`,`okey_mn`,`okey_dy`,`okey_xx`,`okey_cp`,`okey_at`,`okey_ts`,`accnt`,`orderSide`,`groupingCode`,`clientFirm`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='Records inserted, updated, or replaced into the OptionOrderGateway table are validated and then converted to SpdrParentOrder records and forwarded to the appropriate execution engine for futher processing. Parent orders can be inserted as either active/ready or in a wait start mode that requires subsequent release.\nSee the SpiderRock Execution Engine concept guide for more details.';
SELECT TABLE EXAMPLE QUERY
SELECT
`okey_at`,
`okey_ts`,
`okey_tk`,
`okey_yr`,
`okey_mn`,
`okey_dy`,
`okey_xx`,
`okey_cp`,
`accnt`,
`orderSide`,
`groupingCode`,
`clientFirm`,
`spdrActionType`,
`altOrderId`,
`altAutoHedgeId`,
`altAccnt`,
`altUserName`,
`accntRouteCode`,
`execBrkrCode`,
`externExDest`,
`externParams`,
`strategy`,
`orderDttm`,
`orderSize`,
`orderActiveSize`,
`addCumFillQuantity`,
`exchMask`,
`maxExposureSize`,
`numMakeExchanges`,
`publicSize`,
`randomizeSize`,
`canOverlapCxlRepl`,
`progressRule`,
`twapSliceCnt`,
`progressExposeTime`,
`auctionResponder`,
`maxMakeExchFee`,
`maxTakeExchFee`,
`incTakeExchFee`,
`incMakeExchFee`,
`makeExchRule`,
`triggerType`,
`triggerLevel`,
`cxlUPrcRange`,
`minUBid`,
`maxUAsk`,
`minMaxType`,
`minOptionPx`,
`maxChildOrders`,
`spdrStageType`,
`marketSession`,
`startDttm`,
`orderDuration`,
`activeDuration`,
`goodTillDttm`,
`startType`,
`parentOrderHandling`,
`parentBalanceHandling`,
`blockVisibility`,
`includeSRNetwork`,
`orderLimitType`,
`takeLimitClass`,
`makeLimitClass`,
`takeReachRule`,
`orderPrcLimit`,
`orderRefUPrc`,
`orderRefDelta`,
`orderRefGamma`,
`orderVolLimit`,
`rateOverride`,
`sdivOverride`,
`ddivOverride`,
`overrideCode`,
`orderPrcOffset`,
`orderRefEventMult`,
`orderRefEventDttm`,
`takeAlphaType`,
`makeAlphaType`,
`takeAlphaFactor`,
`makeAlphaFactor`,
`takeProbability`,
`makeProbability`,
`takeSurfPrcOffset`,
`takeSurfVolOffset`,
`takeSurfWidthOffset`,
`makeSurfPrcOffset`,
`makeSurfVolOffset`,
`makeSurfWidthOffset`,
`autoHedge`,
`hedgeInstrument`,
`hedgeFKey_at`,
`hedgeFKey_ts`,
`hedgeFKey_tk`,
`hedgeFKey_yr`,
`hedgeFKey_mn`,
`hedgeFKey_dy`,
`hedgeBetaRatio`,
`hedgeScope`,
`hedgeSession`,
`positionType`,
`ssaleFlag`,
`firmType`,
`theoVol`,
`riskGroupId`,
`reqAuxRiskGroupCtrl`,
`refRMetric1Src`,
`refRMetric2Src`,
`refRMetric3Src`,
`refRMetric4Src`,
`refRMetric5Src`,
`refRMetric6Src`,
`refRMetric7Src`,
`orderRefRMetric1`,
`orderRefRMetric2`,
`orderRefRMetric3`,
`orderRefRMetric4`,
`orderRefRMetric5`,
`orderRefRMetric6`,
`orderRefRMetric7`,
`expDayWtVegaOffset`,
`maxExpDayWtVegaLn`,
`maxExpDayWtVegaSh`,
`maxExpDayRMetric6Ln`,
`maxExpDayRMetric6Sh`,
`symDayDDeltaOffset`,
`maxSymDayDDeltaLn`,
`maxSymDayDDeltaSh`,
`symDayVegaOffset`,
`maxSymDayVegaLn`,
`maxSymDayVegaSh`,
`symDayWtVegaOffset`,
`maxSymDayWtVegaLn`,
`maxSymDayWtVegaSh`,
`maxSymDayRMetric7Ln`,
`maxSymDayRMetric7Sh`,
`maxGrpDayDDeltaLn`,
`maxGrpDayDDeltaSh`,
`maxGrpDayVegaLn`,
`maxGrpDayVegaSh`,
`maxGrpDayVegaAbs`,
`grpDayVegaRatio`,
`maxGrpDayContractsLn`,
`maxGrpDayContractsSh`,
`maxGrpDayContractsAbs`,
`maxGrpDayRMetric1Ln`,
`maxGrpDayRMetric1Sh`,
`maxGrpDayRMetric1Abs`,
`grpDayRMetric1Ratio`,
`maxGrpDayRMetric2Ln`,
`maxGrpDayRMetric2Sh`,
`maxGrpDayRMetric3Ln`,
`maxGrpDayRMetric3Sh`,
`maxGrpDayRMetric4Ln`,
`maxGrpDayRMetric4Sh`,
`maxGrpDayRMetric5Ln`,
`maxGrpDayRMetric5Sh`,
`symEmaCxlDDeltaLn`,
`symEmaCxlDDeltaSh`,
`symEmaCxlWtVegaLn`,
`symEmaCxlWtVegaSh`,
`traderName`,
`userData1`,
`userData2`,
`childData`,
`checksum`,
`DirectedCounterPartyList`
FROM `SRTrade`.`MsgOptOrderGateway`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`okey_at` = 'EQT'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') */
`okey_ts` = 'NMS'
AND
/* Replace with a VARCHAR(12) */
`okey_tk` = 'Example_okey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`okey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`okey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`okey_dy` = 1
AND
/* Replace with a DOUBLE */
`okey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`okey_cp` = 'Call'
AND
/* Replace with a VARCHAR(16) */
`accnt` = 'Example_accnt'
AND
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide` = 'None'
AND
/* Replace with a CHAR(19) */
`groupingCode` = 'Example_groupingCode'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';
INSERT TABLE EXAMPLE QUERY
INSERT INTO `SRTrade`.`MsgOptOrderGateway`(
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`okey_at`,
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') */
`okey_ts`,
/* Replace with a VARCHAR(12) */
`okey_tk`,
/* Replace with a SMALLINT UNSIGNED */
`okey_yr`,
/* Replace with a TINYINT UNSIGNED */
`okey_mn`,
/* Replace with a TINYINT UNSIGNED */
`okey_dy`,
/* Replace with a DOUBLE */
`okey_xx`,
/* Replace with a ENUM('Call','Put','Pair') */
`okey_cp`,
/* Replace with a VARCHAR(16) */
`accnt`,
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide`,
/* Replace with a CHAR(19) */
`groupingCode`,
/* Replace with a VARCHAR(16) */
`clientFirm`,
/* Replace with a ENUM('Add','AddReplace','Replace','Cancel','Modify') */
`spdrActionType`,
/* Replace with a VARCHAR(24) */
`altOrderId`,
/* Replace with a VARCHAR(24) */
`altAutoHedgeId`,
/* Replace with a VARCHAR(32) */
`altAccnt`,
/* Replace with a VARCHAR(24) */
`altUserName`,
/* Replace with a TINYTEXT */
`accntRouteCode`,
/* Replace with a VARCHAR(16) */
`execBrkrCode`,
/* Replace with a VARCHAR(16) */
`externExDest`,
/* Replace with a TINYTEXT */
`externParams`,
/* Replace with a VARCHAR(36) */
`strategy`,
/* Replace with a DATETIME(6) */
`orderDttm`,
/* Replace with a INT */
`orderSize`,
/* Replace with a INT */
`orderActiveSize`,
/* Replace with a ENUM('Yes','No') */
`addCumFillQuantity`,
/* Replace with a INT UNSIGNED */
`exchMask`,
/* Replace with a INT */
`maxExposureSize`,
/* Replace with a TINYINT UNSIGNED */
`numMakeExchanges`,
/* Replace with a ENUM('None','Randomize','MktSize','FullSize','MktSizeA','MktSizeB','MktSizeC','FullSizeR') */
`publicSize`,
/* Replace with a ENUM('Yes','No') */
`randomizeSize`,
/* Replace with a ENUM('Yes','No') */
`canOverlapCxlRepl`,
/* Replace with a ENUM('None','Twap','Vwap','TwapReset','VwapReset','FastReset','SlowReset','TwapAlpha','VwapAlpha','TwapAlphaC','VwapAlphaC','AutoComplete','AllowImmediate','Manual','SpdrPulse','IOC') */
`progressRule`,
/* Replace with a TINYINT UNSIGNED */
`twapSliceCnt`,
/* Replace with a INT */
`progressExposeTime`,
/* Replace with a ENUM('None','Any') */
`auctionResponder`,
/* Replace with a FLOAT */
`maxMakeExchFee`,
/* Replace with a FLOAT */
`maxTakeExchFee`,
/* Replace with a ENUM('None','ExclFee','IncFee') */
`incTakeExchFee`,
/* Replace with a ENUM('None','ExclFee','IncFee') */
`incMakeExchFee`,
/* Replace with a ENUM('None','MaxPart','FeeOptimal','ImprvOnly','FeeStrict','RoundRobin','ProRataOptim') */
`makeExchRule`,
/* Replace with a ENUM('None','PrintPrc','PrintVol','SurfVol','PrtSurfVol') */
`triggerType`,
/* Replace with a FLOAT */
`triggerLevel`,
/* Replace with a ENUM('None','Yes','No','YesHalt','NoHalt') */
`cxlUPrcRange`,
/* Replace with a FLOAT */
`minUBid`,
/* Replace with a FLOAT */
`maxUAsk`,
/* Replace with a ENUM('None','Prc','Pct') */
`minMaxType`,
/* Replace with a FLOAT */
`minOptionPx`,
/* Replace with a INT */
`maxChildOrders`,
/* Replace with a ENUM('None','ModifyAny','ModifyAlgo') */
`spdrStageType`,
/* Replace with a ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') */
`marketSession`,
/* Replace with a DATETIME(6) */
`startDttm`,
/* Replace with a INT */
`orderDuration`,
/* Replace with a INT */
`activeDuration`,
/* Replace with a DATETIME(6) */
`goodTillDttm`,
/* Replace with a ENUM('None','WaitTrigger') */
`startType`,
/* Replace with a ENUM('None','ActiveTaker','PostOnly','DMA','MktOnOpn','MktOnCls','RFQRequest','AwayAlgo','ExchPing','BlockAuction','BlockResponse','SweepTake','TestParent') */
`parentOrderHandling`,
/* Replace with a ENUM('None','PostWith','PostTurn','PostImprove','PostLimit','MaxIntern','PostWthF','PostImprvR','PostFlash','PostFlashW','PostPeg','PostFlashI') */
`parentBalanceHandling`,
/* Replace with a ENUM('None','Neither','Side','SidePrice') */
`blockVisibility`,
/* Replace with a ENUM('None','Include','Exclude','Disclose') */
`includeSRNetwork`,
/* Replace with a ENUM('None','Market','MarketArrival','Prc','PrcDe','PrcDeX','PrcDeT','PrcDeP','PrcDeXT','PrcDeXP','Vol','VolX','PrcV','PrcVX','NoLimit','RelMid','RelJoin','RelCross','SmrtFast','SmrtNorm','RelTurn','PrcDeEm','VolEm','Aux','UPrcPct','PkgNeutral','RcPrem','SynthLimitMM','SynthLimitBW','SynthLimitWW') */
`orderLimitType`,
/* Replace with a ENUM('Simple','Surface','Probability','SurfProb') */
`takeLimitClass`,
/* Replace with a ENUM('Simple','Surface','Probability','SurfProb') */
`makeLimitClass`,
/* Replace with a ENUM('None','Delayed','Passive','WeakOnly','RespondOnly','FullSize','ISOSweep','AllOrNone','QtyOrMore','UpToQty','AtMost25','AtMost50','MinTakeFee') */
`takeReachRule`,
/* Replace with a DOUBLE */
`orderPrcLimit`,
/* Replace with a DOUBLE */
`orderRefUPrc`,
/* Replace with a FLOAT */
`orderRefDelta`,
/* Replace with a FLOAT */
`orderRefGamma`,
/* Replace with a FLOAT */
`orderVolLimit`,
/* Replace with a FLOAT */
`rateOverride`,
/* Replace with a FLOAT */
`sdivOverride`,
/* Replace with a TEXT */
`ddivOverride`,
/* Replace with a ENUM('None','SDivOnly','DDivOnly','Both') */
`overrideCode`,
/* Replace with a DOUBLE */
`orderPrcOffset`,
/* Replace with a FLOAT */
`orderRefEventMult`,
/* Replace with a DATETIME(6) */
`orderRefEventDttm`,
/* Replace with a ENUM('None','Static','Eagle','Hawk','Falcon','Relative') */
`takeAlphaType`,
/* Replace with a ENUM('None','Static','Eagle','Hawk','Falcon','Relative') */
`makeAlphaType`,
/* Replace with a FLOAT */
`takeAlphaFactor`,
/* Replace with a FLOAT */
`makeAlphaFactor`,
/* Replace with a FLOAT */
`takeProbability`,
/* Replace with a FLOAT */
`makeProbability`,
/* Replace with a DOUBLE */
`takeSurfPrcOffset`,
/* Replace with a FLOAT */
`takeSurfVolOffset`,
/* Replace with a FLOAT */
`takeSurfWidthOffset`,
/* Replace with a DOUBLE */
`makeSurfPrcOffset`,
/* Replace with a FLOAT */
`makeSurfVolOffset`,
/* Replace with a FLOAT */
`makeSurfWidthOffset`,
/* Replace with a ENUM('None','Static','AutoMid','AutoCrx','AutoTrn','SpdrAuto','Spdr10S','Spdr30S','Spdr90S','Spdr5M','Spdr30M','SpdrDay','SmartFast','SmartNorm','FastCrx','FastDark','SlowDark','AlphaVwap1pct','AlphaVwap2pct','AlphaVwap5pct','AlphaVwap25pct','Custom','AwayAlgo') */
`autoHedge`,
/* Replace with a ENUM('None','Default','FrontMonth','FutUnderlier','Stock','Future','DirectStock','DirectFuture') */
`hedgeInstrument`,
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`hedgeFKey_at`,
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') */
`hedgeFKey_ts`,
/* Replace with a VARCHAR(12) */
`hedgeFKey_tk`,
/* Replace with a SMALLINT UNSIGNED */
`hedgeFKey_yr`,
/* Replace with a TINYINT UNSIGNED */
`hedgeFKey_mn`,
/* Replace with a TINYINT UNSIGNED */
`hedgeFKey_dy`,
/* Replace with a FLOAT */
`hedgeBetaRatio`,
/* Replace with a ENUM('None','Accnt','RiskGroup') */
`hedgeScope`,
/* Replace with a ENUM('None','PreMkt','RegMkt','PostMkt','PreRegMkt','RegPostMkt','AllDay') */
`hedgeSession`,
/* Replace with a ENUM('Opening','Closing','Auto') */
`positionType`,
/* Replace with a ENUM('None','Long','Short','Exempt','Cover','Auto','NA') */
`ssaleFlag`,
/* Replace with a ENUM('None','Customer','Firm','MarketMaker','ProCustomer','BrokerDealer','AwayMM','FirmJBO','BrkrDlrCust') */
`firmType`,
/* Replace with a FLOAT */
`theoVol`,
/* Replace with a CHAR(19) */
`riskGroupId`,
/* Replace with a ENUM('None','Yes','No') */
`reqAuxRiskGroupCtrl`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric1Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric2Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric3Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric4Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric5Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric6Src`,
/* Replace with a ENUM('None','User','Vega','WVega','WTVega','TVega','Theta','Gamma','DGamma','DDeltaIvS','BDDelta','OptDDelta','Premium','Notional') */
`refRMetric7Src`,
/* Replace with a FLOAT */
`orderRefRMetric1`,
/* Replace with a FLOAT */
`orderRefRMetric2`,
/* Replace with a FLOAT */
`orderRefRMetric3`,
/* Replace with a FLOAT */
`orderRefRMetric4`,
/* Replace with a FLOAT */
`orderRefRMetric5`,
/* Replace with a FLOAT */
`orderRefRMetric6`,
/* Replace with a FLOAT */
`orderRefRMetric7`,
/* Replace with a FLOAT */
`expDayWtVegaOffset`,
/* Replace with a FLOAT */
`maxExpDayWtVegaLn`,
/* Replace with a FLOAT */
`maxExpDayWtVegaSh`,
/* Replace with a FLOAT */
`maxExpDayRMetric6Ln`,
/* Replace with a FLOAT */
`maxExpDayRMetric6Sh`,
/* Replace with a FLOAT */
`symDayDDeltaOffset`,
/* Replace with a FLOAT */
`maxSymDayDDeltaLn`,
/* Replace with a FLOAT */
`maxSymDayDDeltaSh`,
/* Replace with a FLOAT */
`symDayVegaOffset`,
/* Replace with a FLOAT */
`maxSymDayVegaLn`,
/* Replace with a FLOAT */
`maxSymDayVegaSh`,
/* Replace with a FLOAT */
`symDayWtVegaOffset`,
/* Replace with a FLOAT */
`maxSymDayWtVegaLn`,
/* Replace with a FLOAT */
`maxSymDayWtVegaSh`,
/* Replace with a FLOAT */
`maxSymDayRMetric7Ln`,
/* Replace with a FLOAT */
`maxSymDayRMetric7Sh`,
/* Replace with a FLOAT */
`maxGrpDayDDeltaLn`,
/* Replace with a FLOAT */
`maxGrpDayDDeltaSh`,
/* Replace with a FLOAT */
`maxGrpDayVegaLn`,
/* Replace with a FLOAT */
`maxGrpDayVegaSh`,
/* Replace with a FLOAT */
`maxGrpDayVegaAbs`,
/* Replace with a FLOAT */
`grpDayVegaRatio`,
/* Replace with a INT */
`maxGrpDayContractsLn`,
/* Replace with a INT */
`maxGrpDayContractsSh`,
/* Replace with a INT */
`maxGrpDayContractsAbs`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Sh`,
/* Replace with a FLOAT */
`maxGrpDayRMetric1Abs`,
/* Replace with a FLOAT */
`grpDayRMetric1Ratio`,
/* Replace with a FLOAT */
`maxGrpDayRMetric2Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric2Sh`,
/* Replace with a FLOAT */
`maxGrpDayRMetric3Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric3Sh`,
/* Replace with a FLOAT */
`maxGrpDayRMetric4Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric4Sh`,
/* Replace with a FLOAT */
`maxGrpDayRMetric5Ln`,
/* Replace with a FLOAT */
`maxGrpDayRMetric5Sh`,
/* Replace with a FLOAT */
`symEmaCxlDDeltaLn`,
/* Replace with a FLOAT */
`symEmaCxlDDeltaSh`,
/* Replace with a FLOAT */
`symEmaCxlWtVegaLn`,
/* Replace with a FLOAT */
`symEmaCxlWtVegaSh`,
/* Replace with a VARCHAR(32) */
`traderName`,
/* Replace with a TINYTEXT */
`userData1`,
/* Replace with a TINYTEXT */
`userData2`,
/* Replace with a TINYTEXT */
`childData`,
/* Replace with a TINYINT UNSIGNED */
`checksum`,
/* Replace with a JSON */
`DirectedCounterPartyList`
)
VALUES(
'EQT',
'NMS',
'Example_okey_tk',
123,
1,
1,
4.56,
'Call',
'Example_accnt',
'None',
'Example_groupingCode',
'Example_clientFirm',
'Add',
'Example_altOrderId',
'Example_altAutoHedgeId',
'Example_altAccnt',
'Example_altUserName',
'dummy tiny text',
'Example_execBrkrCode',
'Example_externExDest',
'dummy tiny text',
'Example_strategy',
'2022-01-01 12:34:56.000000',
5,
5,
'No',
0,
5,
1,
'None',
'Yes',
'No',
'None',
1,
5,
'None',
1.23,
1.23,
'None',
'None',
'None',
'None',
1.23,
'None',
1.23,
1.23,
'Prc',
1.23,
5,
'None',
'RegMkt',
'2022-01-01 12:34:56.000000',
5,
5,
'2022-01-01 12:34:56.000000',
'None',
'ActiveTaker',
'PostLimit',
'None',
'None',
'Market',
'Simple',
'Simple',
'None',
4.56,
4.56,
1.23,
1.23,
1.23,
1.23,
1.23,
'dummy text',
'None',
4.56,
1.23,
'2022-01-01 12:34:56.000000',
'None',
'None',
1.23,
1.23,
1.23,
1.23,
4.56,
1.23,
1.23,
4.56,
1.23,
1.23,
'None',
'Default',
'EQT',
'NMS',
'Example_hedgeFKey_tk',
123,
1,
1,
1.23,
'RiskGroup',
'RegMkt',
'Auto',
'Auto',
'None',
1.23,
'Example_riskGroupId',
'None',
'None',
'None',
'None',
'None',
'None',
'None',
'None',
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
5,
5,
5,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
'Example_traderName',
'dummy tiny text',
'dummy tiny text',
'dummy tiny text',
1,
'{"key": "value"}'
);
DELETE TABLE EXAMPLE QUERY
DELETE FROM `SRTrade`.`MsgOptOrderGateway`
WHERE
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`okey_at` = 'EQT'
AND
/* Replace with a ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','EUX','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE') */
`okey_ts` = 'NMS'
AND
/* Replace with a VARCHAR(12) */
`okey_tk` = 'Example_okey_tk'
AND
/* Replace with a SMALLINT UNSIGNED */
`okey_yr` = 123
AND
/* Replace with a TINYINT UNSIGNED */
`okey_mn` = 1
AND
/* Replace with a TINYINT UNSIGNED */
`okey_dy` = 1
AND
/* Replace with a DOUBLE */
`okey_xx` = 4.56
AND
/* Replace with a ENUM('Call','Put','Pair') */
`okey_cp` = 'Call'
AND
/* Replace with a VARCHAR(16) */
`accnt` = 'Example_accnt'
AND
/* Replace with a ENUM('None','Buy','Sell') */
`orderSide` = 'None'
AND
/* Replace with a CHAR(19) */
`groupingCode` = 'Example_groupingCode'
AND
/* Replace with a VARCHAR(16) */
`clientFirm` = 'Example_clientFirm';
Doc Columns Query
SELECT * FROM SRTrade.doccolumns WHERE TABLE_NAME='OptOrderGateway' ORDER BY ordinal_position ASC;