OCC Option Symbol Format with GLDM, SPY, QQQ & SPXW Examples
OCC and OSI option tickers look dense, but they use a predictable 21-character structure: root symbol, YYMMDD expiration date, call or put flag, and strike price stored in thousandths. This guide is the parser-focused companion to the interactive decoder, with explicit GLDM, SPY, QQQ, and SPXW examples.
SPY 260417C00500000QQQ 260618P00480000GLDM 260618C00065000SPXW 260417P06000000OCC symbol format at a glance
Use this table when you need the exact parser rule before opening the interactive decoder or contracts API.
| Component | Example | Meaning |
|---|---|---|
| Root | GLDM | Six-character root field; trim right-side padding after slicing. |
| Expiration | 260618 | YYMMDD date, so this example means 2026-06-18. |
| Call / put | C | Contract type. C is call; P is put. |
| Strike | 00065000 | Eight digits stored in thousandths, so this example means 65.00. |
OCC / OSI field breakdown
For parser implementation, split the string by fixed positions before trimming or converting field values. This avoids root-padding and strike-scaling errors.
| Field | Position | Example | Parser rule |
|---|---|---|---|
| Root | 1-6 | SPY | Read six characters, then trim right-side padding spaces. Do not assume every root has three letters. |
| Expiration | 7-12 | 260417 | Parse as YYMMDD, then convert to a full date such as 2026-04-17. |
| Call / put | 13 | C | Accept C for calls and P for puts. Reject other values instead of guessing. |
| Strike | 14-21 | 00500000 | Convert the final eight digits to a number and divide by 1,000, so 00500000 becomes 500.00. |
Fixed-width layout
OCC option symbol format: root, YYMMDD, C/P, strike
The canonical OSI layout is fixed-width even when display systems show a compact version. Positions 1 through 6 hold the root field, positions 7 through 12 hold the expiration date in YYMMDD form, position 13 holds C or P, and positions 14 through 21 hold the strike price in thousandths. That final conversion is the parser step most likely to create incorrect strikes if it is skipped.
SPY 260417C00500000
QQQ 260618P00480000
GLDM 260618C00065000
SPXW 260417P06000000
root = characters 1-6, trimmed after parsing
date = YYMMDD
type = C or P
strike = final 8 digits / 1000How to split an OCC option symbol
Root
1 to 6 characters, often padded with spaces
Expiration
YYMMDD, for example 260417 means 2026-04-17
Type
C for call, P for put
Strike
Eight digits in thousandths, so 00500000 means 500.00
Common OCC parser mistakes
These mistakes are common when a parser is written from display examples instead of the fixed-width OSI contract.
| Mistake | Failure mode | Correct handling |
|---|---|---|
| Assuming the root is always three letters | GLDM, SPXW, adjusted roots, and padded roots are parsed incorrectly. | Slice six root characters first, then trim right-side padding spaces. |
| Splitting on spaces before slicing | Compact and padded symbols produce different field boundaries. | Normalize optional prefixes, then parse fixed-width or compact forms with explicit date/type/strike positions. |
| Using the final eight digits as dollars | 00500000 becomes 500000 instead of 500.00. | Convert to a number and divide by 1,000 before formatting. |
| Treating SPX and SPXW as equivalent | Settlement and expiration workflows can be mislabeled. | Preserve the root exactly and link SPXW symbols to SPXW expiration logic. |
OCC symbol to API lookup mapping
After parsing the symbol, keep the compact OCC ticker as the stable identifier for contracts, snapshots, quotes, trades, and aggregates.
| Workflow | Input from symbol | API path pattern |
|---|---|---|
| Single contract lookup | Compact OCC ticker such as O:SPY260417C00500000 | /v1/options/contracts/{occ_ticker}/ |
| Latest contract state | Underlying root plus compact OCC ticker | /v1/options/snapshot/{root}/{occ_ticker}/ |
| Chain by expiration | Root and parsed expiration date | /v1/options/chain/{root}/?expiration_date=YYYY-MM-DD |
| Historical bars | Compact OCC ticker and date window | /v1/options/aggs/{occ_ticker}/1/day/... |
OCC option symbol FAQ
What is the OCC option symbol format?
The OCC format is root symbol, YYMMDD expiration, C or P, then an eight digit strike price stored in thousandths.
How long is an OCC option symbol?
The fixed-width OSI form is 21 characters: a six-character root field, six date digits, one C or P flag, and eight strike digits. Compact display forms may remove root padding spaces.
Is OCC the same as OSI?
For most practical parsing work, yes. OSI is the standardized option symbology format used for OCC-style contract identifiers.
Why does GLDM have spaces in OCC examples?
The root field can be padded to six characters. Many systems display or accept the compact form, but parsers should handle optional spaces.
Related pages
Interactive OCC decoder
Paste any OCC or OSI ticker and decode the fields instantly.
OCC symbol examples
Use GLDM, SPY, QQQ, and SPXW examples on this canonical guide before opening the decoder.
Contracts API docs
Fetch a single contract by OCC ticker or scan contracts by expiration.
SPX options dates
Understand SPX and SPXW expiration context before parsing index option symbols.