OCC Information Memos
Normalised feed extracted from OCC Information Memos: option symbol changes, strike adjustments, multiplier and deliverable changes from corporate events (special dividends, reverse splits, demergers, FLEX consolidations). One row per memo that contains such information.
How to use it
Effective-dated contract reference data. Adjusted (non-standard) contracts carry a modified deliverable; use the OCC settlement details rather than the standard 100-share multiplier for them.
Typical use
Contract identity, lifecycle, and adjusted-deliverable handling for US-listed options.
Limitations
Vendor-curated reference data: rows can be restated when AlgoSeek learns of a late or corrected event, so land each delivery as a snapshot rather than overwriting history. Symbol-level, not contract-level: rows identify option roots (OldSymbol/NewSymbol, e.g. 1NN -> NN, SMU -> SMU2, CRDU -> CRDU1) and adjustments, with no strike, expiry or call/put per contract. Root symbols follow the OCC convention, including numeric-suffix roots for adjusted series. Effective dating: PublishDate (when announced), EffectiveDate (when the subject takes effect; blank for anticipated adjustments) and SymbolChangeDate (list, one date per symbol change) are separate. Memo text in the sample (58471) states changes take effect at the opening of business on the effective date. Strike adjustment semantics: StrikeAdjustment is a USD amount to subtract from the previous strike; StrikeDivisor is a factor used to rescale strikes (the name implies division; the guide only says 'rescale'). Neither alone gives the full adjustment; combine with Multiplier and Deliverables. Multiplier is shares per contract per the memo (100 typical); MultiplierDetail keeps the memo wording and can contain commas, so parse the CSV with a real CSV reader. SymbolChangeDetail likewise.
Coverage
OCC Information Memos from 2012 onward; main dataset holds memos with contract changes (symbol changes, strike adjustments, deliveries). A separate lookup maps every MemoId to its subject.
Usage constraints
- Licensed vendor data: never export raw rows to a tenant-local destination or include them verbatim in a public artifact; serve only through entitlement-checked platform reads.
- Do not treat the vendor's `Ticker` as a stable identity across time; join on an AlgoSeek security key (SecId or ASID, which are distinct) or the platform symbol mapping.
Known issues (8)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyGuide types MemoId as string; sample values are numeric (58470..58490).
- Documentation discrepancyGuide Table 1 shows an anticipated adjustment (memo 58104) with blank EffectiveDate; all 21 sample rows have EffectiveDate populated.
- Documentation discrepancySample memo 58475 has blank MultiplierDetail, Multiplier, Deliverables and UnderSymbolCUSIP (symbols unchanged), consistent with Missing = Blank; 58490 has Deliverables 'TSEOF:100' but blank UnderSymbolCUSIP.
- Documentation discrepancySample is one publish day (20260303) with 21 memos; guide Table 1 shows 20260102 and FLEX memo 58542 examples not in the sample.
- Documentation discrepancyPage description mentions 'options and futures symbols'; SymbolAssetType examples are O and F, but sample contains only O.
- Documentation discrepancyGuide describes the lookup file schema (MemoId, PublishDate, EffectiveDate, Subject) but the published sample contains only the main dataset, so Subject is not a column of this file.
- Documentation discrepancyGuide columns match the 14-column sample header exactly, in the same order.
14 columns in delivery order · file or table name occ_info_memos. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| MemoId | stringnumeric id, e.g. 58470 | Key 1 · Required | Unique memo identifier assigned by OCC Missing values: Never · Source: vendor guide and sample |
| PublishDate | dateyyyymmdd | Date the memo was published; also the date the daily file is aggregated by Missing values: Blank · Source: vendor guide and sample | |
| EffectiveDate | dateyyyymmdd | Date the memo's subject is expected to become effective; blank for anticipated adjustments Missing values: Blank · Source: vendor guide and sample | |
| SymbolChangeDate | string';'-separated yyyymmdd list | Dates on which each listed symbol change takes effect Missing values: Blank · Source: vendor guide and sample | |
| OldSymbol | string';'-separated list | Symbols before the event takes effect Missing values: Blank · Source: vendor guide and sample | |
| NewSymbol | string';'-separated list | Symbols after the event takes effect; equals OldSymbol when the symbol is unchanged Missing values: Blank · Source: vendor guide and sample | |
| SymbolAssetType | string · enum (2)';'-separated list | Asset type of each changing symbol Missing values: Blank · Source: vendor guide and sample 2 allowed values
| |
| SymbolChangeDetail | stringfree text, may contain commas | Parsed description of affected symbols; 'Symbol XYZ remains unchanged' pattern when no change is described Missing values: Blank · Source: vendor guide and sample | |
| StrikeDivisor | integeri64 | Factor used to rescale option strikes in corporate events such as splits Missing values: Blank · Source: vendor guide and sample | |
| StrikeAdjustment | number | USD amount to subtract from the previous strike (e.g. special dividend) Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| MultiplierDetail | stringfree text, may contain commas | Shares per contract with extra wording parsed from the memo Missing values: Blank · Source: vendor guide and sample | |
| Multiplier | integeri64 | Number of shares the contract represents per the memo (100 typical) Unit: shares · Missing values: Blank · Source: vendor guide and sample | |
| Deliverables | string';'-separated SYMBOL:amount pairs | Assets delivered per contract: symbol or ISO currency with share count or cash amount Missing values: Blank · Source: vendor guide and sample | |
| UnderSymbolCUSIP | string';'-separated SYMBOL:CUSIP pairs | Underlying symbols with CUSIPs for the new deliverables Missing values: Blank · Source: vendor guide and sample |
- errorrow_count_positivecompleteness
Every delivered partition (trade date, or snapshot) carries at least one row.
rowCount must be greater than 0
- errorprimary_key_uniqueuniqueness
The declared primary key is unique within each delivered partition (one file or table snapshot).
duplicateValues (properties: MemoId) must be 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Two datasets. Main: plain-text CSV files aggregated by trading day (memo publish date), fixed header row. Lookup (MemoId, PublishDate, EffectiveDate, Subject): one compressed CSV with all history. Bucket/path naming not stated.
- Compression:
- gzip
- Access:
- Bucket access is granted per subscription; bucket names arrive with license provisioning.
Service levels
- History starts
- 2012-01-01
- First trade date of the vendor history.
- Update frequency
- Daily
- Retention
- Bounded by the license term
- Retention of landed copies is bounded by the AlgoSeek license; purge on termination.
Service levels describe the vendor feed as documented. They are draft values, not a commitment by AlphaSwarm.
Data Contract Editor · read-only preview — edits are not saved
Open-source Data Contract Editor (MIT). Changes stay in this browser tab: Cancel restores the published contract, and Download copy saves your edited YAML to your device only.
Contracts follow the Open Data Contract Standard (Bitol, LF AI & Data).
Vendor names are trademarks of their owners.