US OPRA Options Contracts Security Master Guide
US OPRA Options Contracts Security Master Guide
version 1.0.0 (Sep 2025)
We are here to help you do great things with our market data. For questions, feedback, and other concerns, you may reach our team of experts using the following contact information:
algoseek customer support
support@algoseek.com
(+1) 646 583 1832
algoseek sales
sales@algoseek.com
(+1) 646 583 1832
DATA ORGANIZATION AND FILE FORMAT 5
OPTION CONTRACTS TRACKING DETAILS 8
Effective Date | Version | Revision Type | Description |
Jul 7, 2025 | 0.1.0 | Pre-release | A beta version of the dataset |
Sep 12, 2025 | 1.0.0 | Release | An initial version of the dataset |
The OPRA Options Contracts Security Master file is a single data file containing all the listed and delisted OPRA options, which include options on stocks, ETFs, ETNs, Indexes, etc., from 2010 to present. The dataset provides comprehensive information for options contracts. It includes key fields such as option root tickers, underlying tickers, contract tickers, option type, strike price, trade dates, and expiration. It also captures settlement details, including deliverable components, cash amounts, and settlement methods for non-standard options (currently, such information is available from 2018). The dataset covers historical data back to 2007.
The OPRA Options Contracts Security Master is organized based on algoseek's unique identifier, called the algoseek ID (ASID), which remains unchanged throughout the specific option contract's life.
With a structured schema, this dataset supports historical tracking of ticker changes, providing precise security mapping over time. Analysts, traders, and quantitative researchers can use it to backtest strategies, manage portfolio risk, and align with corporate actions.
Note: ESS (Equity Special Settlements) information is available only for non-standard options from 2018.
algoseek doesn’t guarantee the quality of the data before OSI (Options Symbology Initiative), May 17, 2010.
There are two data aggregation options for this dataset:
Both aggregation options provide the same data fields.
Security Master file is provided as a flat file/files in CSV format, with each row corresponding to an option contract (for example, AAPL251219C00270000). Due to the large dataset size, each CSV file is gzip-compressed, so the uncompressed data is on average 10 times larger than the compressed data.
The dataset is updated on a daily basis. It can be used to backtrack any historical modifications to an option contract (by ASID) or to restore point-in-time data.
Table 1 shows the complete list of data fields in the Security Master file with sample contents for a few option contract ASIDs, in which rows and columns are inverted for the convenience of the document display.
Table 1: Sample Data from Security Master File
Column Name | Sample Row 1 | Sample Row 2 | Sample Row 3 |
ASID | 1310000000097288 | 1310000000244230 | 1310000002017715 |
ContractTickers | AAPL251219C00270000 | BABA250711C00133000;BABA2250711C00133000 | SPXW261218C04640000 |
ContractTradeDates | 20250602:20250703 | 20250605:20250611;20250612:20250703 | 20250602:20250703 |
StartTradeDate | 20250602 | 20250605 | 20250602 |
Expiration | 20251219 | 20250711 | 20250829 |
Type | C | C | C |
Strike | 270 | 133 | 4640 |
OptionRootTickers | AAPL | BABA;BABA2 | SPXW |
UnderASID | 1010000000001033 | 1010000000002538 | |
UnderTickers | AAPL | BABA | SPX |
UnderTradeDates | 20070103:29991231 | 20140919:29991231 | |
TotalDelivComponents | 2 | ||
DeliveryComponents | BABA USD | ||
SettlementMethod | CNS MON | ||
StrikePercent | 100 0 | ||
DeliverableUnits | 100 100 | ||
CashAmount | 0.000000 0.950000 | ||
IsStandard | Y | N | Y |
NonStandardTradeDates | 20250612:20250703 |
Table 2 below summarises the name, brief description, and data type for each data field (column) in the OPRA Options Contracts Security Master. The table column “Missing” indicates a default value or behavior in case the data field value is not present or cannot be determined, where “Never” means that a value is always present in the data field.
Table 2: CSV File Fields Schema for Security Master
Field | Type (Format) | Missing | Description |
ASID | integer | Never | algoseek unique security identifier |
ContractTickers | string | Never | List of option contract tickers used. If security had its ticker changed, the field would have multiple tickers separated by a semicolon “;” |
ContractTradeDates | string (yyyymmdd: yyyymmdd;…) | Never | Start and end dates for each option root ticker for a specific option contract. End date = 29991231 when the contract is still active |
StartTradeDate | string (yyyymmdd) | Never | Start date of the option contract |
Expiration | string (yyyymmdd) | Never | The expiration date of the option contract |
Type | string | Never | Option type (Call or Put) displayed as “C” or “P” |
Strike | decimal | Never | Fixed price for buying or selling an option contract |
OptionRootTickers | string (tricker1; ticker2;…) | Never | List of option root tickers used. If security had its ticker changed, the field will have multiple tickers separated by a semicolon “;” |
UnderASID | integer | Blank | algoseek unique security identifier for equity |
UnderTickers | string (tricker1; ticker2;…) | Blank | List of underlying tickers used. If security had its ticker changed, the field will have multiple tickers separated by a semicolon “;” |
UnderTradeDates | string (yyyymmdd: yyyymmdd;…) | Blank | Start and end dates for each underlying ticker. End date = 29991231 when the ticker is still being used |
TotalDelivComponents | string (integer1;integer2;...) | Blank | The total number of components of delivery associated with the settlement of the traded non-standard option root ticker. If the non-standard root ticker changed, the field will have multiple number of components of delivery separated by a semicolon “;” Note: available only for non-standard options from 2018 |
DeliveryComponents | string (ticker1 USD;ticker2 USD;...) | Blank | Specific components of delivery for the traded non-standard option root ticker, separated by space “ ”. If the non-standard root ticker changed, the field will have multiple deliveries separated by a semicolon “;” Note: available only for non-standard options from 2018 |
SettlementMethod | string (settl1 settl2;settl1 settl2;...) | Blank | How exercise and assignment activity will be settled for the traded non-standard option root ticker, separated by space “ ”. If the non-standard root ticker changed, the field will have multiple groups of settlement methods separated by a semicolon “;” Note: available only for non-standard options from 2018 |
StrikePercent | string (perc1 perc2;perc3 perc4;...) | Blank | The percentage of the strike price allocated for each settlement in the delivery, separated by space “ ”. If the non-standard root ticker changed, the field will have strike price allocations separated by a semicolon “;” for each delivery Note: available only for non-standard options from 2018 |
DeliverableUnits | string (unit1 unit2;unit3 unit4;...) | Blank | The per-contract number of deliverable units of cash, stocks, bonds, or currencies to be delivered or received upon settlement for the traded non-standard option root ticker, separated by space “ ”. If the non-standard root ticker changed, the field will have multiple groups of deliverable units separated by a semicolon “;” Note: available only for non-standard options from 2018 |
CashAmount | string (cash1 cash2;cash3 cash4;...) | Blank | The per-contract cash amount is to be allocated upon settlement for the traded non-standard option root ticker, separated by space “ ”. If the non-standard root ticker changed, the field will have multiple groups of cash amounts separated by a semicolon “;” Note: available only for non-standard options from 2018 |
IsStandard | string | Never | Code to differentiate standard and non-standard options. “Y” - for standard options, “N” - for non-standard options |
NonStandardTradeDates | string (yyyymmdd: yyyymmdd;…) | Blank | Start and end dates for each non-standard option root ticker |