Skip to main content
Version: Upcoming

GetFlexSpreadPrice

V8 Message Definiton

METADATA

AttributeValue
Topic3480-mlink-custom
MLink TokenRiskCalc
ProductSRFlex
accessTypeSELECT,UPDATE,INSERT,DELETE

Table Definition

FieldTypeKeyDefault ValueComment
userNameVARCHAR(24)PRI''
calcIdINTPRI0
uPrcDOUBLE0live uPrc on arrival if not supplied
fixedPremUPctDOUBLE0premium as a percent of the underlying price required if a leg with strikeTypePctVariable is included can be zero
incGreeksenum - YesNo'No'whether greeks should be computed
ticker_atenum - AssetType'None'underlier ticker all legs must have the same underlier ticker
ticker_tsenum - TickerSrc'None'underlier ticker all legs must have the same underlier ticker
ticker_tkVARCHAR(12)''underlier ticker all legs must have the same underlier ticker
sprdPremDOUBLE0spread premium
sprdDeltaFLOAT0delta
sprdGammaFLOAT0gamma
sprdThetaFLOAT0theta
sprdVegaFLOAT0vega
sprdVolgaFLOAT0volga
sprdVannaFLOAT0vanna
sprdRhoFLOAT0rho
sprdPhiFLOAT0phi
calcDetailTINYTEXT''calculation details
errorTINYTEXT''overall error for the calculation
timestampDATETIME(6)'1900-01-01 00:00:00.000000'
DiscreteDividendListJSON'JSON_ARRAY()'
LegsListJSON'JSON_ARRAY()'

PRIMARY KEY DEFINITION (Unique)

FieldSequence
userName1
calcId2

JSON Block (DiscreteDividendList)

FieldTypeComment
dateenum - date
amountenum - amount

JSON Block (LegsList)

FieldTypeComment
okeyenum - okeyshould be in OSI root format strike can be zero for the variable strike leg
sideenum - BuySell
ratioenum - ratioleg ratio
strikeTypeenum - StrikeTypeDollarAmt Percent or PctVariable exactly one leg can be PctVariable
flexTypeOutenum - FlexTypereflects the type of flex decoded from the okey root
vYearsOutenum - vYearsOutvolatility years to expiry
dYearsOutenum - dYearsOutcalendar days to expiry 3650
sdivOutenum - sdivOutcontinuous stock dividend used for pricing
rateOutenum - rateOutdiscount rate used for pricing
effStrikeOutenum - effStrikeOuteffective strike will be the implied surface strike if strikeTypePctVariable
sVolOutenum - sVolOutleg surface volatility
sPrcOutenum - sPrcOutleg surface price
deltaOutenum - deltaOutdelta
gammaOutenum - gammaOutgamma
thetaOutenum - thetaOuttheta
vegaOutenum - vegaOutvega
volgaOutenum - volgaOutvolga
vannaOutenum - vannaOutvanna
rhoOutenum - rhoOutrho
phiOutenum - phiOutphi
errorOutenum - errorOutleg error if any

CREATE TABLE EXAMPLE QUERY

CREATE TABLE `SRFlex`.`MsgGetFlexSpreadPrice` (
`userName` VARCHAR(24) NOT NULL DEFAULT '',
`calcId` INT NOT NULL DEFAULT 0,
`uPrc` DOUBLE NOT NULL DEFAULT 0 COMMENT 'live uPrc on arrival (if not supplied)',
`fixedPremUPct` DOUBLE NOT NULL DEFAULT 0 COMMENT 'premium as a percent of the underlying price. required if a leg with strikeType=PctVariable is included (can be zero).',
`incGreeks` ENUM('None','Yes','No') NOT NULL DEFAULT 'No' COMMENT 'whether greeks should be computed',
`ticker_at` ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') NOT NULL DEFAULT 'None' COMMENT 'underlier ticker (all legs must have the same underlier ticker)',
`ticker_ts` ENUM('None','SR','NMS','CME','ICE','CFE','CBOT','NYMEX','COMEX','RUT','CIDX','ARCA','NYSE','OTC','NSDQ','MFQS','MIAX','DJI','CUSIP','ISIN','BXE','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE','ICEUS') NOT NULL DEFAULT 'None' COMMENT 'underlier ticker (all legs must have the same underlier ticker)',
`ticker_tk` VARCHAR(12) NOT NULL DEFAULT '' COMMENT 'underlier ticker (all legs must have the same underlier ticker)',
`sprdPrem` DOUBLE NOT NULL DEFAULT 0 COMMENT 'spread premium ($)',
`sprdDelta` FLOAT NOT NULL DEFAULT 0 COMMENT 'delta',
`sprdGamma` FLOAT NOT NULL DEFAULT 0 COMMENT 'gamma',
`sprdTheta` FLOAT NOT NULL DEFAULT 0 COMMENT 'theta',
`sprdVega` FLOAT NOT NULL DEFAULT 0 COMMENT 'vega',
`sprdVolga` FLOAT NOT NULL DEFAULT 0 COMMENT 'volga',
`sprdVanna` FLOAT NOT NULL DEFAULT 0 COMMENT 'vanna',
`sprdRho` FLOAT NOT NULL DEFAULT 0 COMMENT 'rho',
`sprdPhi` FLOAT NOT NULL DEFAULT 0 COMMENT 'phi',
`calcDetail` TINYTEXT NOT NULL DEFAULT '' COMMENT 'calculation details',
`error` TINYTEXT NOT NULL DEFAULT '' COMMENT 'overall error for the calculation',
`timestamp` DATETIME(6) NOT NULL DEFAULT '1900-01-01 00:00:00.000000',
`DiscreteDividendList` JSON NOT NULL DEFAULT JSON_ARRAY() CHECK(JSON_VALID(DiscreteDividendList)),
`LegsList` JSON NOT NULL DEFAULT JSON_ARRAY() CHECK(JSON_VALID(LegsList)),
PRIMARY KEY USING HASH (`userName`,`calcId`)
) ENGINE=SRSE DEFAULT CHARSET=LATIN1 COMMENT='';

SELECT TABLE EXAMPLE QUERY

SELECT
`userName`,
`calcId`,
`uPrc`,
`fixedPremUPct`,
`incGreeks`,
`ticker_at`,
`ticker_ts`,
`ticker_tk`,
`sprdPrem`,
`sprdDelta`,
`sprdGamma`,
`sprdTheta`,
`sprdVega`,
`sprdVolga`,
`sprdVanna`,
`sprdRho`,
`sprdPhi`,
`calcDetail`,
`error`,
`timestamp`,
`DiscreteDividendList`,
`LegsList`
FROM `SRFlex`.`MsgGetFlexSpreadPrice`
WHERE
/* Replace with a VARCHAR(24) */
`userName` = 'Example_userName'
AND
/* Replace with a INT */
`calcId` = 5;

UPDATE TABLE EXAMPLE QUERY

UPDATE `SRFlex`.`MsgGetFlexSpreadPrice` 
SET
/* Replace with a DOUBLE */
`uPrc` = 4.56,
/* Replace with a DOUBLE */
`fixedPremUPct` = 4.56,
/* Replace with a ENUM('None','Yes','No') */
`incGreeks` = 'No',
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`ticker_at` = 'None',
/* 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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE','ICEUS') */
`ticker_ts` = 'None',
/* Replace with a VARCHAR(12) */
`ticker_tk` = 'Example_ticker_tk',
/* Replace with a DOUBLE */
`sprdPrem` = 4.56,
/* Replace with a FLOAT */
`sprdDelta` = 1.23,
/* Replace with a FLOAT */
`sprdGamma` = 1.23,
/* Replace with a FLOAT */
`sprdTheta` = 1.23,
/* Replace with a FLOAT */
`sprdVega` = 1.23,
/* Replace with a FLOAT */
`sprdVolga` = 1.23,
/* Replace with a FLOAT */
`sprdVanna` = 1.23,
/* Replace with a FLOAT */
`sprdRho` = 1.23,
/* Replace with a FLOAT */
`sprdPhi` = 1.23,
/* Replace with a TINYTEXT */
`calcDetail` = 'dummy tiny text',
/* Replace with a TINYTEXT */
`error` = 'dummy tiny text',
/* Replace with a DATETIME(6) */
`timestamp` = '2022-01-01 12:34:56.000000',
/* Replace with a JSON */
`DiscreteDividendList` = '{"key": "value"}',
/* Replace with a JSON */
`LegsList` = '{"key": "value"}'
WHERE
/* Replace with a VARCHAR(24) */
`userName` = 'Example_userName'
AND
/* Replace with a INT */
`calcId` = 5;

INSERT TABLE EXAMPLE QUERY

INSERT INTO `SRFlex`.`MsgGetFlexSpreadPrice`(
/* Replace with a VARCHAR(24) */
`userName`,
/* Replace with a INT */
`calcId`,
/* Replace with a DOUBLE */
`uPrc`,
/* Replace with a DOUBLE */
`fixedPremUPct`,
/* Replace with a ENUM('None','Yes','No') */
`incGreeks`,
/* Replace with a ENUM('None','EQT','IDX','BND','CUR','COM','FUT','SYN','WAR','FLX','MUT','SPD','MM','MF','COIN','TOKEN','ANY') */
`ticker_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','SCE','ANY','CXE','DXE','NXAM','NXBR','NXLS','NXML','NXOS','NXP','EUREX','CEDX','ICEFE','ICEUS') */
`ticker_ts`,
/* Replace with a VARCHAR(12) */
`ticker_tk`,
/* Replace with a DOUBLE */
`sprdPrem`,
/* Replace with a FLOAT */
`sprdDelta`,
/* Replace with a FLOAT */
`sprdGamma`,
/* Replace with a FLOAT */
`sprdTheta`,
/* Replace with a FLOAT */
`sprdVega`,
/* Replace with a FLOAT */
`sprdVolga`,
/* Replace with a FLOAT */
`sprdVanna`,
/* Replace with a FLOAT */
`sprdRho`,
/* Replace with a FLOAT */
`sprdPhi`,
/* Replace with a TINYTEXT */
`calcDetail`,
/* Replace with a TINYTEXT */
`error`,
/* Replace with a DATETIME(6) */
`timestamp`,
/* Replace with a JSON */
`DiscreteDividendList`,
/* Replace with a JSON */
`LegsList`
)
VALUES(
'Example_userName',
5,
4.56,
4.56,
'No',
'None',
'None',
'Example_ticker_tk',
4.56,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
1.23,
'dummy tiny text',
'dummy tiny text',
'2022-01-01 12:34:56.000000',
'{"key": "value"}',
'{"key": "value"}'
);

DELETE TABLE EXAMPLE QUERY

DELETE FROM `SRFlex`.`MsgGetFlexSpreadPrice` 
WHERE
/* Replace with a VARCHAR(24) */
`userName` = 'Example_userName'
AND
/* Replace with a INT */
`calcId` = 5;

Doc Columns Query

SELECT * FROM SRFlex.doccolumns WHERE TABLE_NAME='GetFlexSpreadPrice' ORDER BY ordinal_position ASC;