GetFlexSpreadPrice
METADATA
| Attribute | Value |
|---|---|
| Topic | 3480-mlink-custom |
| MLink Token | RiskCalc |
| Product | SRFlex |
| accessType | SELECT,UPDATE,INSERT,DELETE |
| MLink Endpoint | MLink-Live |
Table Definition
| Field | Type | Key | Default Value | Comment |
|---|---|---|---|---|
| userName | VARCHAR(24) | PRI | '' | |
| calcId | INT | PRI | 0 | |
| uPrc | DOUBLE | 0 | live uPrc on arrival if not supplied | |
| fixedPremUPct | DOUBLE | 0 | premium as a percent of the underlying price required if a leg with strikeTypePctVariable is included can be zero | |
| incGreeks | enum - YesNo | 'No' | whether greeks should be computed | |
| ticker_at | enum - AssetType | 'None' | underlier ticker all legs must have the same underlier ticker | |
| ticker_ts | enum - TickerSrc | 'None' | underlier ticker all legs must have the same underlier ticker | |
| ticker_tk | VARCHAR(12) | '' | underlier ticker all legs must have the same underlier ticker | |
| currency | enum - Currency | 'None' | ||
| sprdPrem | DOUBLE | 0 | spread premium | |
| sprdDelta | FLOAT | 0 | delta | |
| sprdGamma | FLOAT | 0 | gamma | |
| sprdTheta | FLOAT | 0 | theta | |
| sprdVega | FLOAT | 0 | vega | |
| sprdVolga | FLOAT | 0 | volga | |
| sprdVanna | FLOAT | 0 | vanna | |
| sprdRho | FLOAT | 0 | rho | |
| sprdPhi | FLOAT | 0 | phi | |
| sprdDeltaDecay | FLOAT | 0 | delta decay | |
| calcDetail | TINYTEXT | '' | calculation details | |
| error | TINYTEXT | '' | overall error for the calculation | |
| timestamp | DATETIME(6) | '1900-01-01 00:00:00.000000' | ||
| DiscreteDividendList | JSON | 'JSON_ARRAY()' | ||
| LegsList | JSON | 'JSON_ARRAY()' |
PRIMARY KEY DEFINITION (Unique)
| Field | Sequence |
|---|---|
| userName | 1 |
| calcId | 2 |
JSON Block (DiscreteDividendList)
| Field | Type | Comment |
|---|---|---|
| date | enum - date | |
| amount | enum - amount |
JSON Block (LegsList)
| Field | Type | Comment |
|---|---|---|
| okey | enum - okey | should be in OSI root format strike can be zero for the variable strike leg |
| side | enum - BuySell | |
| ratio | enum - ratio | leg ratio |
| strikeType | enum - StrikeType | DollarAmt Percent or PctVariable exactly one leg can be PctVariable |
| flexTypeOut | enum - FlexType | reflects the type of flex decoded from the okey root |
| vYearsOut | enum - vYearsOut | volatility years to expiry |
| dYearsOut | enum - dYearsOut | calendar days to expiry 3650 |
| sdivOut | enum - sdivOut | continuous stock dividend used for pricing |
| rateOut | enum - rateOut | discount rate used for pricing |
| effStrikeOut | enum - effStrikeOut | effective strike will be the implied surface strike if strikeTypePctVariable |
| sVolOut | enum - sVolOut | leg surface volatility |
| sPrcOut | enum - sPrcOut | leg surface price |
| deltaOut | enum - deltaOut | delta |
| gammaOut | enum - gammaOut | gamma |
| thetaOut | enum - thetaOut | theta |
| vegaOut | enum - vegaOut | vega |
| volgaOut | enum - volgaOut | volga |
| vannaOut | enum - vannaOut | vanna |
| rhoOut | enum - rhoOut | rho |
| phiOut | enum - phiOut | phi |
| deltaDecayOut | enum - deltaDecayOut | delta decay |
| errorOut | enum - errorOut | leg error if any |
SELECT TABLE EXAMPLE QUERY
SELECT *
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','RATE') */
`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','ICEFEC','ICEFEF','CEQT','TSX','TMX') */
`ticker_ts` = 'None',
/* Replace with a VARCHAR(12) */
`ticker_tk` = 'Example_ticker_tk',
/* Replace with a ENUM('None','AUD','BRL','CAD','CHF','CNH','CNY','EUR','GBP','JPY','KRW','MXN','MYR','NOK','NZD','SEK','TRY','USD','USDCents','CZK','ZAR','HUF','USX','GBX','DKK','GEL') */
`currency` = 'None',
/* 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 FLOAT */
`sprdDeltaDecay` = 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','RATE') */
`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','ICEFEC','ICEFEF','CEQT','TSX','TMX') */
`ticker_ts`,
/* Replace with a VARCHAR(12) */
`ticker_tk`,
/* Replace with a ENUM('None','AUD','BRL','CAD','CHF','CNH','CNY','EUR','GBP','JPY','KRW','MXN','MYR','NOK','NZD','SEK','TRY','USD','USDCents','CZK','ZAR','HUF','USX','GBX','DKK','GEL') */
`currency`,
/* 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 FLOAT */
`sprdDeltaDecay`,
/* 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',
'None',
4.56,
1.23,
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;