@The_Ni asked if we have any tools related to options and we don’t, however, as @SuckyMayor noted, Mimir does have access to options data from several sources readily. Here is an example the data returned by one of the sources (limited to 5 strikes):
"symbol": "KR",
"status": "SUCCESS",
"underlying": {
"symbol": "KR",
"description": "Kroger Company (The) Common Stock",
"change": -0.04,
"percentChange": -0.09,
"close": 45.11,
"quoteTime": 1638925200934,
"tradeTime": 1638925147005,
"bid": 45.07,
"ask": 45.46,
"last": 45.07,
"mark": 45.07,
"markChange": -0.04,
"markPercentChange": -0.09,
"bidSize": 800,
"askSize": 500,
"highPrice": 45.65,
"lowPrice": 44.9,
"openPrice": 45.08,
"totalVolume": 6616178,
"exchangeName": "NYS",
"fiftyTwoWeekHigh": 47.99,
"fiftyTwoWeekLow": 30.35,
"delayed": false
},
"strategy": "SINGLE",
"interval": 0,
"isDelayed": true,
"isIndex": false,
"interestRate": 0.1,
"underlyingPrice": 45.265,
"volatility": 29,
"daysToExpiration": 0,
"numberOfContracts": 10,
"putExpDateMap": {
"2021-12-10:2": {
"44.0": [
{
"putCall": "PUT",
"symbol": "KR_121021P44",
"description": "KR Dec 10 2021 44 Put (Weekly)",
"exchangeName": "OPR",
"bid": 0.13,
"ask": 0.16,
"last": 0.14,
"mark": 0.14,
"bidSize": 185,
"askSize": 14,
"bidAskSize": "185X14",
"lastSize": 0,
"highPrice": 0.28,
"lowPrice": 0.09,
"openPrice": 0,
"closePrice": 0.35,
"totalVolume": 6441,
"tradeDate": null,
"tradeTimeInLong": 1638910767287,
"quoteTimeInLong": 1638910799661,
"netChange": -0.21,
"volatility": 28.758,
"delta": -0.198,
"gamma": 0.214,
"theta": -0.049,
"vega": 0.013,
"rho": -0.001,
"openInterest": 5590,
"timeValue": 0.14,
"theoreticalOptionValue": 0.145,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 44,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -60,
"markChange": -0.2,
"markPercentChange": -58.57,
"intrinsicValue": -1.07,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": false,
"mini": false
}
],
"45.0": [
{
"putCall": "PUT",
"symbol": "KR_121021P45",
"description": "KR Dec 10 2021 45 Put (Weekly)",
"exchangeName": "OPR",
"bid": 0.39,
"ask": 0.47,
"last": 0.42,
"mark": 0.43,
"bidSize": 454,
"askSize": 6,
"bidAskSize": "454X6",
"lastSize": 0,
"highPrice": 0.64,
"lowPrice": 0.31,
"openPrice": 0,
"closePrice": 0.67,
"totalVolume": 689,
"tradeDate": null,
"tradeTimeInLong": 1638910256105,
"quoteTimeInLong": 1638910799704,
"netChange": -0.25,
"volatility": 25.847,
"delta": -0.47,
"gamma": 0.34,
"theta": -0.063,
"vega": 0.018,
"rho": -0.002,
"openInterest": 3131,
"timeValue": 0.42,
"theoreticalOptionValue": 0.43,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 45,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -37.31,
"markChange": -0.24,
"markPercentChange": -35.82,
"intrinsicValue": -0.07,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": false,
"mini": false
}
],
"46.0": [
{
"putCall": "PUT",
"symbol": "KR_121021P46",
"description": "KR Dec 10 2021 46 Put (Weekly)",
"exchangeName": "OPR",
"bid": 0.99,
"ask": 1.13,
"last": 1,
"mark": 1.09,
"bidSize": 55,
"askSize": 62,
"bidAskSize": "55X62",
"lastSize": 0,
"highPrice": 1.14,
"lowPrice": 0.78,
"openPrice": 0,
"closePrice": 1.23,
"totalVolume": 229,
"tradeDate": null,
"tradeTimeInLong": 1638905790443,
"quoteTimeInLong": 1638910799755,
"netChange": -0.23,
"volatility": 26.886,
"delta": -0.77,
"gamma": 0.248,
"theta": -0.049,
"vega": 0.014,
"rho": -0.003,
"openInterest": 52,
"timeValue": 0.07,
"theoreticalOptionValue": 1.086,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 46,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -18.75,
"markChange": -0.14,
"markPercentChange": -11.72,
"intrinsicValue": 0.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": true,
"mini": false
}
],
"47.0": [
{
"putCall": "PUT",
"symbol": "KR_121021P47",
"description": "KR Dec 10 2021 47 Put (Weekly)",
"exchangeName": "OPR",
"bid": 1.86,
"ask": 2.06,
"last": 1.92,
"mark": 1.98,
"bidSize": 120,
"askSize": 88,
"bidAskSize": "120X88",
"lastSize": 0,
"highPrice": 2.11,
"lowPrice": 1.64,
"openPrice": 0,
"closePrice": 2.02,
"totalVolume": 12,
"tradeDate": null,
"tradeTimeInLong": 1638902402156,
"quoteTimeInLong": 1638910799599,
"netChange": -0.1,
"volatility": 30.436,
"delta": -0.912,
"gamma": 0.116,
"theta": -0.029,
"vega": 0.007,
"rho": -0.004,
"openInterest": 981,
"timeValue": -0.01,
"theoreticalOptionValue": 1.981,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 47,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -5.11,
"markChange": -0.04,
"markPercentChange": -2.05,
"intrinsicValue": 1.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": true,
"mini": false
}
],
"48.0": [
{
"putCall": "PUT",
"symbol": "KR_121021P48",
"description": "KR Dec 10 2021 48 Put (Weekly)",
"exchangeName": "OPR",
"bid": 2.76,
"ask": 3.05,
"last": 2.83,
"mark": 2.95,
"bidSize": 71,
"askSize": 57,
"bidAskSize": "71X57",
"lastSize": 0,
"highPrice": 0,
"lowPrice": 0,
"openPrice": 0,
"closePrice": 2.95,
"totalVolume": 0,
"tradeDate": null,
"tradeTimeInLong": 1638816900530,
"quoteTimeInLong": 1638910799717,
"netChange": -0.12,
"volatility": 35.305,
"delta": -0.961,
"gamma": 0.053,
"theta": -0.017,
"vega": 0.004,
"rho": -0.005,
"openInterest": 28,
"timeValue": -0.1,
"theoreticalOptionValue": 2.951,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 48,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -3.95,
"markChange": 0.01,
"markPercentChange": 0.2,
"intrinsicValue": 2.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": true,
"mini": false
}
]
}
},
"callExpDateMap": {
"2021-12-10:2": {
"44.0": [
{
"putCall": "CALL",
"symbol": "KR_121021C44",
"description": "KR Dec 10 2021 44 Call (Weekly)",
"exchangeName": "OPR",
"bid": 1.11,
"ask": 1.31,
"last": 1.28,
"mark": 1.22,
"bidSize": 154,
"askSize": 82,
"bidAskSize": "154X82",
"lastSize": 0,
"highPrice": 1.75,
"lowPrice": 1.1,
"openPrice": 0,
"closePrice": 1.49,
"totalVolume": 92,
"tradeDate": null,
"tradeTimeInLong": 1638910161122,
"quoteTimeInLong": 1638910799682,
"netChange": -0.21,
"volatility": 28.758,
"delta": 0.802,
"gamma": 0.214,
"theta": -0.05,
"vega": 0.013,
"rho": 0.004,
"openInterest": 587,
"timeValue": 0.21,
"theoreticalOptionValue": 1.219,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 44,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -13.9,
"markChange": -0.27,
"markPercentChange": -18.01,
"intrinsicValue": 1.07,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": true,
"mini": false
}
],
"45.0": [
{
"putCall": "CALL",
"symbol": "KR_121021C45",
"description": "KR Dec 10 2021 45 Call (Weekly)",
"exchangeName": "OPR",
"bid": 0.47,
"ask": 0.55,
"last": 0.56,
"mark": 0.5,
"bidSize": 145,
"askSize": 51,
"bidAskSize": "145X51",
"lastSize": 0,
"highPrice": 0.96,
"lowPrice": 0.46,
"openPrice": 0,
"closePrice": 0.81,
"totalVolume": 1035,
"tradeDate": null,
"tradeTimeInLong": 1638910547246,
"quoteTimeInLong": 1638910799888,
"netChange": -0.25,
"volatility": 25.847,
"delta": 0.53,
"gamma": 0.34,
"theta": -0.064,
"vega": 0.018,
"rho": 0.002,
"openInterest": 1368,
"timeValue": 0.49,
"theoreticalOptionValue": 0.504,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 45,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -30.5,
"markChange": -0.3,
"markPercentChange": -37.48,
"intrinsicValue": 0.07,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": true,
"mini": false
}
],
"46.0": [
{
"putCall": "CALL",
"symbol": "KR_121021C46",
"description": "KR Dec 10 2021 46 Call (Weekly)",
"exchangeName": "OPR",
"bid": 0.14,
"ask": 0.18,
"last": 0.16,
"mark": 0.16,
"bidSize": 12,
"askSize": 31,
"bidAskSize": "12X31",
"lastSize": 0,
"highPrice": 0.43,
"lowPrice": 0.16,
"openPrice": 0,
"closePrice": 0.37,
"totalVolume": 1855,
"tradeDate": null,
"tradeTimeInLong": 1638910795382,
"quoteTimeInLong": 1638910799789,
"netChange": -0.2,
"volatility": 26.886,
"delta": 0.23,
"gamma": 0.249,
"theta": -0.05,
"vega": 0.014,
"rho": 0.001,
"openInterest": 1122,
"timeValue": 0.16,
"theoreticalOptionValue": 0.16,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 46,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -56.16,
"markChange": -0.21,
"markPercentChange": -56.16,
"intrinsicValue": -0.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": false,
"mini": false
}
],
"47.0": [
{
"putCall": "CALL",
"symbol": "KR_121021C47",
"description": "KR Dec 10 2021 47 Call (Weekly)",
"exchangeName": "OPR",
"bid": 0.05,
"ask": 0.06,
"last": 0.05,
"mark": 0.06,
"bidSize": 11,
"askSize": 73,
"bidAskSize": "11X73",
"lastSize": 0,
"highPrice": 0.17,
"lowPrice": 0.05,
"openPrice": 0,
"closePrice": 0.16,
"totalVolume": 353,
"tradeDate": null,
"tradeTimeInLong": 1638909419955,
"quoteTimeInLong": 1638910796365,
"netChange": -0.1,
"volatility": 30.436,
"delta": 0.088,
"gamma": 0.116,
"theta": -0.03,
"vega": 0.007,
"rho": 0,
"openInterest": 2672,
"timeValue": 0.05,
"theoreticalOptionValue": 0.055,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 47,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -67.74,
"markChange": -0.1,
"markPercentChange": -64.52,
"intrinsicValue": -1.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": false,
"mini": false
}
],
"48.0": [
{
"putCall": "CALL",
"symbol": "KR_121021C48",
"description": "KR Dec 10 2021 48 Call (Weekly)",
"exchangeName": "OPR",
"bid": 0.02,
"ask": 0.03,
"last": 0.03,
"mark": 0.03,
"bidSize": 4,
"askSize": 78,
"bidAskSize": "4X78",
"lastSize": 0,
"highPrice": 0.07,
"lowPrice": 0.03,
"openPrice": 0,
"closePrice": 0.08,
"totalVolume": 51,
"tradeDate": null,
"tradeTimeInLong": 1638900678089,
"quoteTimeInLong": 1638910797348,
"netChange": -0.05,
"volatility": 35.305,
"delta": 0.039,
"gamma": 0.053,
"theta": -0.019,
"vega": 0.004,
"rho": 0,
"openInterest": 396,
"timeValue": 0.03,
"theoreticalOptionValue": 0.025,
"theoreticalVolatility": 29,
"optionDeliverablesList": null,
"strikePrice": 48,
"expirationDate": 1639170000000,
"daysToExpiration": 2,
"expirationType": "S",
"lastTradingDay": 1639184400000,
"multiplier": 100,
"settlementType": " ",
"deliverableNote": "",
"isIndexOption": null,
"percentChange": -60,
"markChange": -0.05,
"markPercentChange": -66.67,
"intrinsicValue": -2.93,
"pennyPilot": true,
"nonStandard": false,
"inTheMoney": false,
"mini": false
}
]
}
}
}
If there are projects that people would like to see, I’m sure someone in the community that can write JavaScript can write something to format this data accordingly. Mimir already has charting abilities through Chart.js so we can replicate some of the paid services features I believe just need to know what to use, how to use it and in what way to display it.
If need be because I know the availiability of Python libraries for data is much higher, I can use a Python script if someone would rather contribute in that way.
Since I know the majority of interest will be circled around SPX, here is a full dump of the SPX chain:
SPX Option Data Dump.json (5.4 MB)
Let me know if any additional info is needed or what ideas anyone might have.