OCC symbol guide

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 260417C00500000
Root: SPYExpiration: 2026-04-17Type: CallStrike: $500.00
QQQ 260618P00480000
Root: QQQExpiration: 2026-06-18Type: PutStrike: $480.00
GLDM 260618C00065000
Root: GLDMExpiration: 2026-06-18Type: CallStrike: $65.00
SPXW 260417P06000000
Root: SPXWExpiration: 2026-04-17Type: PutStrike: $6,000.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.

FieldPositionExampleParser rule
Root1-6SPY Read six characters, then trim right-side padding spaces. Do not assume every root has three letters.
Expiration7-12260417Parse as YYMMDD, then convert to a full date such as 2026-04-17.
Call / put13CAccept C for calls and P for puts. Reject other values instead of guessing.
Strike14-2100500000Convert 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 / 1000

How 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 parser mistakes

  • Do not assume the root is always three or four characters. Index and ETF roots can vary.
  • Handle optional spaces after the root. Some feeds preserve padding and some compact the ticker.
  • Divide the final eight strike digits by 1,000. Otherwise strikes will be off by three decimal places.
  • Keep the OCC symbol separate from broker display formatting such as prefixes like O:.

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