Strasmore Research
Educación Matt ConnorPor Matt Connor · data as of August 6, 2026 · refreshed weekly

Cómo leer un símbolo de opciones en formato OSI

Aprende a decodificar el root, vencimiento, call o put y strike de ocho dígitos, incluidos roots ajustados, SPXW y por qué 00007500 equivale a $7.50.

Un símbolo de opción es una sola cadena que contiene cuatro datos: el root del subyacente, la fecha de vencimiento, el indicador de call o put y el strike. El formato se denomina OSI, por Options Symbology Initiative, que la industria de opciones de Estados Unidos adoptó en 2010. Todos los tickets de órdenes y feeds de datos se basan en él. Si aprende estos cuatro campos una vez, podrá descifrar a simple vista cualquier símbolo de opción cotizada en Estados Unidos.

¿Cuáles son los cuatro campos de un símbolo de opción?

Un símbolo OSI canónico tiene 21 caracteres, en un orden fijo:

  • El root, con seis caracteres, alineado a la izquierda y completado con espacios a la derecha cuando el root del subyacente tiene menos de seis caracteres.
  • El vencimiento, con seis dígitos, en formato YYMMDD. 260116 corresponde al 16 de enero de 2026.
  • El derecho, con un carácter: C para una call y P para una put.
  • El strike, con ocho dígitos, expresado en milésimas de dólar y sin punto decimal.

La mayoría de los brokers y sitios web eliminan los espacios de relleno y muestran el formato compacto. Algunos feeds colocan delante de la cadena un marcador como O:. Ninguno de estos cambios altera la lectura. Los últimos 15 caracteres siempre corresponden a la fecha, el derecho y el strike. Por tanto, el root es todo lo que aparece delante de ellos. El panel siguiente separa contratos reales con esa regla y coloca los campos interpretados junto al vencimiento que figura en el propio registro del contrato.

ConsultaUn vencimiento, cuatro strikes: cada campo OSI extraído del símbolo
El SQL exacto detrás de cada cifra
SELECT
    contract,
    substring(contract, 1, length(contract) - 15)                  AS root,
    substring(contract, length(contract) - 14, 6)                  AS expiry_field,
    substring(contract, length(contract) - 8, 1)                   AS right_code,
    substring(contract, length(contract) - 7, 8)                   AS strike_field,
    toFloat64(substring(contract, length(contract) - 7, 8)) / 1000 AS strike_dollars,
    listed_expiration
FROM
(
    SELECT
        replaceRegexpOne(ticker, '^O:', '')               AS contract,
        formatDateTime(any(expiration_date), '%b %e, %Y') AS listed_expiration
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND expiration_date = '2026-01-16'
      AND toFloat64(strike_price) IN (500, 600, 650, 700)
      AND date >= '2025-12-01'
      AND date <  '2026-01-01'
    GROUP BY contract
)
ORDER BY strike_dollars ASC, right_code ASC
Run this yourself

La primera fila se interpreta como un root de SPY, un campo de fecha 260116, un derecho C y un campo de strike 00500000, que dividido entre 1,000 da un strike de $500. El registro de vencimiento del propio contrato indica Jan 16, 2026, en línea con los seis dígitos de la cadena. El panel contiene 8 contratos: los mismos strikes cotizados como calls y como puts. Un solo carácter separa una call de su put equivalente. Por eso hay que revisar dos veces ese carácter en un ticket de órdenes. Si estos campos le resultan familiares por la pantalla de su broker, cómo leer una cadena de opciones explica las columnas que aparecen junto a ellos.

Cómo leer un símbolo de opción desde la línea de comandos

El análisis no requiere librerías ni acceso a la red. Los campos tienen una longitud fija medida desde la derecha, así que en bash basta con una expansión de subcadena. Pegue esto en una terminal:

SYM=SPY260116C00650000
echo "root   ${SYM:0:$(( ${#SYM} - 15 ))}"
echo "expiry ${SYM: -15:6}"
echo "right  ${SYM: -9:1}"
echo "strike ${SYM: -8}"

El espacio delante de cada desplazamiento negativo es obligatorio. Sin él, bash interpreta :- como una expansión de valor predeterminado e imprime un resultado incorrecto.

Para una lista de símbolos, awk realiza el mismo cálculo con posiciones que empiezan en uno:

awk '{
  n      = length($0)
  root   = substr($0, 1, n - 15)
  expiry = substr($0, n - 14, 6)
  right  = substr($0, n -  8, 1)
  strike = substr($0, n -  7, 8)
  printf "%-6s 20%s-%s-%s  %-4s $%.3f\n",
         root,
         substr(expiry, 1, 2), substr(expiry, 3, 2), substr(expiry, 5, 2),
         (right == "C" ? "call" : "put"),
         strike / 1000
}' <<'EOF'
SPY260116C00650000
SPY260116P00650000
SPXW260116C05500000
XYZ1260116C00007500
EOF

Una versión en python3 gestiona en la misma función el formato de 21 caracteres con espacios de relleno y el prefijo del feed. No utiliza nada fuera de la biblioteca estándar:

from datetime import datetime

def parse_osi(symbol):
    s = symbol.strip()
    if s.startswith("O:"):
        s = s[2:]
    s = s.replace(" ", "")
    return {
        "root":   s[:-15],
        "expiry": datetime.strptime(s[-15:-9], "%y%m%d").date(),
        "right":  "call" if s[-9] == "C" else "put",
        "strike": int(s[-8:]) / 1000,
    }

samples = [
    "SPY   260116C00650000",
    "O:SPY260116P00650000",
    "SPXW  260116C05500000",
    "XYZ1  260116C00007500",
]

for sym in samples:
    f = parse_osi(sym)
    print("{:<6} {} {:<4} ${:,.3f}".format(f["root"], f["expiry"], f["right"], f["strike"]))

Ambos fragmentos se ejecutan en una imagen estándar de Ubuntu con solo awk y python3 instalados. Ninguno accede a la red. Por ello, el resultado es idéntico hoy y dentro de cinco años.

¿Por qué un strike de 00007500 significa $7.50?

El campo del strike tiene ocho dígitos, no incluye punto decimal y utiliza como unidad una milésima de dólar. Divida entre 1,000 para obtener el valor en dólares. 00007500 son 7,500 milésimas, es decir, $7.50. 07500000 son 7,500,000 milésimas, es decir, $7,500. La diferencia está en tres ceros ocultos dentro de una secuencia de ceros. Esta es la lectura incorrecta más común de todo el formato. La longitud fija mantiene todos los símbolos con el mismo número de caracteres. La unidad en milésimas también permite representar strikes que, después de una acción corporativa, quedan en fracciones de centavo.

Un solo campo debe cubrir todos los strikes cotizados, desde una acción de bajo precio hasta un índice con un nivel de cuatro dígitos. El panel siguiente muestra el strike más bajo y el más alto de varios subyacentes. También imprime los ocho dígitos exactamente como aparecen dentro del símbolo.

ConsultaUn campo de ocho dígitos, desde strikes de un solo dólar hasta niveles de índices
El SQL exacto detrás de cada cifra
SELECT
    underlying,
    round(toFloat64(min(strike)), 2) AS lowest_strike,
    argMin(strike_field, strike)     AS lowest_strike_field,
    round(toFloat64(max(strike)), 2) AS highest_strike,
    argMax(strike_field, strike)     AS highest_strike_field,
    uniqExact(strike)                AS strike_count
FROM
(
    SELECT
        underlying_symbol AS underlying,
        strike_price      AS strike,
        substring(replaceRegexpOne(ticker, '^O:', ''),
                  length(replaceRegexpOne(ticker, '^O:', '')) - 7, 8) AS strike_field
    FROM global_markets.options_greeks
    WHERE underlying_symbol IN ('KO', 'NVDA', 'AAPL', 'SPY', 'SPX')
      AND date >= today() - 7
)
GROUP BY underlying
ORDER BY highest_strike ASC
Run this yourself

Durante las sesiones incluidas, KO cotiza strikes desde $32.5 hasta $125, escritos como 00032500 y 00125000 dentro del símbolo. En el extremo superior del panel, SPY alcanza $1480, o 01480000, distribuidos entre 462 strikes distintos. Son los mismos ocho dígitos y el mismo divisor, sin importar el nivel de precios.

Opciones ajustadas: qué significa un número al final del root

Una opción estándar sobre acciones entrega 100 acciones. Las acciones corporativas pueden modificar ese resultado: una división con una proporción que no sea un número entero, una fusión pagada parcialmente en efectivo, una escisión o un dividendo especial en efectivo por encima del umbral establecido. La OCC ajusta los contratos abiertos y les asigna un nuevo root: el root anterior con un dígito añadido. ABC se convierte en ABC1 en el primer ajuste y en ABC2 en un segundo ajuste. El formato no cambia, así que el parser sigue funcionando. Lo que sí cambia es el activo entregable. El símbolo no lo indica.

Un dígito al final también identifica los contratos mini, que llevan un 7 y cubren 10 acciones en lugar de 100. En ambos casos, el número indica que hay que leer los términos del contrato antes de comparar el strike con cualquier otro. Nuestra nota sobre cómo afectan las divisiones de acciones a las opciones explica el cálculo de la proporción tanto para el strike como para el activo entregable.

Las series ajustadas rara vez reciben nuevos vencimientos. Un root como ABC1 pierde liquidez a medida que vencen sus fechas cotizadas, en lugar de recibir nuevas fechas. Puede desaparecer por completo de la cadena una vez que vence la última. Los términos figuran en el memorando de ajuste de la OCC correspondiente al contrato, no en la cadena. El memorando especifica el activo entregable revisado, el componente en efectivo, si lo hay, y el multiplicador aplicable. Hasta leer ese memorando, un strike ajustado y un strike estándar sobre el mismo subyacente son dos cosas distintas que llevan los mismos ocho dígitos.

SPX, SPXW y qué indica la W

Las opciones sobre índices tienen sus propios roots. El complejo del S&P 500 es el primero con el que suele encontrarse la mayoría de los operadores. SPX y SPXW hacen referencia al mismo índice y comparten el mismo formato de 21 caracteres. La W ya no indica que la cotización sea semanal, pese a lo que su nombre pueda sugerir. SPX es el root con liquidación AM: el contrato del tercer viernes cuyo valor de liquidación se calcula con los precios de apertura de los componentes del índice ese viernes de vencimiento. La negociación termina el jueves anterior. SPXW es el root con liquidación PM. Incluye todas las demás fechas del calendario, desde los vencimientos diarios de lunes a viernes hasta los contratos de fin de mes. Cada uno cotiza hasta el cierre de su propia fecha de vencimiento.

El calendario se divide siguiendo la misma lógica. En cada ciclo mensual hay un contrato del tercer viernes con liquidación AM bajo el root SPX. Todas las demás fechas futuras del índice corresponden a SPXW. En una cadena completa, estas representan la mayoría de los vencimientos disponibles. La cadena por sí sola no muestra ninguno de estos detalles. El root ofrece una pista, pero la especificación del contrato es la autoridad. Dos roots, un índice, una sola pantalla y mecanismos de liquidación que las opciones con liquidación AM frente a PM explica en detalle.

Lo que un símbolo de opción nunca indica

Los cuatro campos identifican completamente un contrato, pero describen muy poco sobre él. En particular:

  • El multiplicador. Una opción estándar sobre acciones de Estados Unidos cubre 100 acciones. Ningún campo de la cadena lo indica. Las series ajustadas y las series mini son diferentes, y los productos sobre índices establecen sus propios multiplicadores.
  • El tipo de liquidación. El símbolo no indica si la liquidación es AM o PM, ni si se realiza en efectivo o mediante entrega física. En los roots de índices, la convención ofrece una pista, pero solo la especificación del contrato es determinante.
  • El activo entregable. Después de un ajuste, deja de ser válida la suposición de 100 acciones. El símbolo se ve exactamente igual, salvo por el dígito.
  • El tiempo restante. El campo de fecha indica un vencimiento, no una cuenta regresiva. Convertirlo en días hasta el vencimiento requiere hacer el cálculo frente al calendario.
  • La liquidez. Dos símbolos con una estructura idéntica pueden tener diferencias de varios órdenes de magnitud en volumen e interés abierto.

Preguntas frecuentes

¿Cuántos caracteres tiene un símbolo de opción?

Veintiuno en el formato OSI canónico: seis para el root, seis para la fecha, uno para el indicador de call o put y ocho para el strike. Los roots de menos de seis caracteres se completan con espacios. La mayoría de las pantallas elimina ese relleno, por lo que un root de tres letras suele mostrarse como una cadena de 18 caracteres.

¿Qué significa el número que aparece después del root en un símbolo de opción?

Identifica un contrato cuyos términos ya no son estándar. Un dígito añadido por la OCC identifica una serie ajustada después de una acción corporativa. El 7 identifica un contrato mini que cubre 10 acciones en lugar de 100. Los campos de fecha y strike se interpretan de la misma manera.

¿Por qué el strike tiene ocho dígitos?

El campo contiene el strike en milésimas de dólar como un entero de longitud fija. Esto permite representar desde una décima de centavo hasta $99,999.999 sin utilizar un punto decimal. Divida los ocho dígitos entre 1,000 para leer el valor en dólares: 00007500 equivale a $7.50.

¿SPXW es lo mismo que SPX?

Ambos hacen referencia al mismo índice y utilizan el mismo formato de símbolo. La liquidación es diferente. Los contratos SPX se liquidan con un valor calculado a partir de los precios de apertura del viernes por la mañana y dejan de cotizar el día anterior. Los contratos SPXW cotizan hasta el cierre de su fecha de vencimiento y se liquidan al nivel de cierre del índice.

¿Un símbolo de opción indica si la opción es semanal o mensual?

En las acciones de Estados Unidos, no. Una opción semanal y una mensual sobre el mismo subyacente comparten el mismo root y solo se diferencian en los seis dígitos de la fecha. La convención del tercer viernes es la que hace que una fecha parezca mensual. Los complejos de índices utilizan roots separados.


Cada panel de esta página incluye, dentro de un desplegable, el SQL exacto que lo generó. Así puede ver cómo se extrajo cada campo de la cadena. Para descomponer un símbolo que esté consultando ahora, solicítelo en lenguaje natural en la terminal de Strasmore.

#options#osi#symbology#option chain#adjusted options