---
title: "1.2.1 Acciones: splits, dividendos y eventos corporativos"
description: "Qué es una acción, por qué su precio bruto salta en un split o una fecha ex, cómo funcionan las ampliaciones con derechos y cómo se pondera un índice."
url: "https://pythonparatrading.com/curso-python-trading/nivel-1/acciones-splits-dividendos-y-eventos-corporativos/"
lang: "es"
image: "https://pythonparatrading.com/og/curso-python-trading/nivel-1/acciones-splits-dividendos-y-eventos-corporativos.png"
---

# 1.2.1 · Acciones: splits, dividendos y eventos corporativos

> El precio de una acción no solo cambia porque el mercado opine: también cambia porque la empresa reparte dinero, multiplica sus acciones o emite otras nuevas. Esta lección explica la economía de cada evento corporativo, lo mide en ocho años de precios sin ajustar de NOVA y termina con las tres formas de ponderar un índice.

- Curso: [Nivel 1: Datos financieros, mercados y análisis](https://pythonparatrading.com/curso-python-trading/nivel-1/)
- Módulo: 1.2 · Clases de activos
- Duración: 60 min
- Requisitos: [1.1.1 · Participantes y centros de negociación](https://pythonparatrading.com/curso-python-trading/nivel-1/participantes-y-centros-de-negociacion/), [0.5.3 · Selección, filtrado, groupby, merge, pivot, resample y ventanas móviles](https://pythonparatrading.com/curso-python-trading/nivel-0/pandas-groupby-merge-resample-y-rolling/)

## Al terminar esta lección

- Explicar qué derechos da una acción y cómo se relacionan precio, número de acciones y capitalización.
- Reconocer en una serie de precios sin ajustar el salto de un split y la caída de una fecha ex-dividendo, y saber cuál de los dos se ve a simple vista.
- Ordenar las fechas de un dividendo (anuncio, ex, registro y pago) y saber qué fecha decide quién lo cobra.
- Calcular el precio teórico tras una ampliación con derechos y el valor teórico del derecho.
- Calcular los pesos de un índice ponderado por precio, por capitalización y a partes iguales, y ajustar el divisor tras un split.

## Qué es una acción

Una acción es una parte alícuota del capital de una sociedad. Da dos tipos de derechos: **económicos** (una parte de los
beneficios que se repartan, en forma de dividendos, y del patrimonio si la sociedad se liquida) y **políticos** (votar
en la junta general). Muchas sociedades tienen además un derecho de **suscripción preferente**: cuando emiten acciones
nuevas, los accionistas actuales pueden comprarlas primero, en proporción a lo que ya tienen.

Tres magnitudes conviene no confundir:

- **Precio**: lo que se paga por una acción en el mercado.
- **Acciones en circulación**: cuántas hay emitidas (menos las que la propia empresa tiene en autocartera).
- **Capitalización**: precio × acciones en circulación. Es lo que vale la empresa entera para el mercado. Los índices
  suelen usar la capitalización **flotante** (*free float*): solo las acciones que se negocian de verdad, sin las de
  accionistas de control.

El precio de una acción, por sí solo, no dice si una empresa es grande o cara: una acción de 1.600 USD puede ser de una
empresa más pequeña que otra de 18 USD con muchas más acciones. Esta idea vuelve al final de la lección, con los
índices.

Los **eventos corporativos** son las decisiones de la empresa que cambian el número de acciones, el precio o los dos.
Cada uno tiene una economía distinta y una huella distinta en los datos:

| Evento | Acciones | Precio | Valor para el accionista |
|---|---|---|---|
| Split (desdoblamiento) N por 1 | × N | ÷ N | Igual |
| Contrasplit 1 por N | ÷ N | × N | Igual |
| Dividendo en efectivo | Igual | Baja el importe en la fecha ex | Igual: recibe el efectivo |
| Dividendo en acciones (*scrip*) | Sube | Baja en proporción | Igual si no se venden los derechos |
| Ampliación con derechos por debajo de mercado | Sube | Baja hasta el precio teórico | Igual si ejerce o vende los derechos |
| Ampliación sin derechos (colocación) | Sube | Puede bajar | Se diluye |
| Recompra de acciones | Baja | Sin ajuste mecánico | Igual para quien no vende |
| Escisión (*spin-off*) | Recibe acciones de la filial | Baja el valor de la filial | Igual: la suma de las dos |
| Fusión o OPA | Se canjean o se pagan | Converge al precio de la oferta | Depende de la prima |
| Exclusión de cotización | Desaparece | Último precio negociado | Lo que quede (lección 1.4.4) |

La columna de la derecha dice «igual» en casi todas las filas. Esa es la idea central: la mayoría de los eventos
corporativos **cambian la unidad de medida, no el valor**. Pero el precio bruto sí cambia, y un sistema de trading que
lee precios brutos ve movimientos que no existen. La forma de corregirlo, los precios ajustados, es la lección 1.4.3;
aquí se trata de entender por qué saltan.

## El split: el precio cambia y el valor no

En un split de 4 por 1, cada acción antigua se convierte en cuatro nuevas. El precio se divide por cuatro, la
capitalización no cambia. Las empresas lo hacen sobre todo para que la acción tenga un precio «manejable»: con 240 USD
por acción, un lote de 100 cuesta 24.000 USD.

La figura de la cabecera es el cierre semanal **sin ajustar** de NOVA desde 2018. El 23 de agosto de 2021 la serie se
parte en dos. Los datos diarios lo muestran sin suavizar:

```python
import pandas as pd

d = pd.read_csv("nova_diario_sin_ajustar.csv", parse_dates=["fecha"],
                index_col="fecha")
d.loc["2021-08-18":"2021-08-25"]
```
```output
            apertura  maximo  minimo  cierre   volumen
fecha
2021-08-18    241.43  247.29  233.13  245.16   1747289
2021-08-19    239.60  251.84  238.19  241.05   2471611
2021-08-20    238.75  240.55  227.85  240.00   2203366
2021-08-23     60.28   60.41   58.11   59.55  13427377
2021-08-24     59.63   60.11   57.33   59.55  13974110
2021-08-25     59.17   62.40   58.71   60.18   6931159
```

El viernes 20 de agosto NOVA cierra a 240,00 USD; el lunes 23 abre a 60,28. Es el día de efectividad del split (la
fecha ex del split): las acciones nuevas ya cotizan. El volumen en acciones pasa de unos 2 millones a más de 13
millones. Nada de esto es una noticia sobre la empresa. Un cálculo de rentabilidades que no lo sepa lo interpreta así:

```python
r = d["cierre"].pct_change()
print(r.nsmallest(3).round(4))

antes = d.loc["2021-05-24":"2021-08-20", "volumen"].mean()
despues = d.loc["2021-08-23":"2021-11-19", "volumen"].mean()
print(f"Volumen medio: {antes:,.0f} antes, {despues:,.0f} después"
      f" (x{despues / antes:.2f})")
```
```output
fecha
2021-08-23   -0.7519
2021-06-02   -0.1221
2025-03-26   -0.1210
Name: cierre, dtype: float64
Volumen medio: 3,331,806 antes, 11,516,047 después (x3.46)
```

La peor sesión de la historia de NOVA, según este cálculo, es un −75,19 %: el día del split. Las dos siguientes, de un
−12 %, son movimientos reales. Un backtest con esta serie compraría «la caída», saltaría un stop o daría una
volatilidad absurda para 2021. El volumen medio de los tres meses siguientes es 3,46 veces el de los tres anteriores:
casi el factor 4 del split, porque cada acción nueva es un cuarto de la antigua. Un filtro de liquidez basado en
acciones negociadas cree que NOVA se ha vuelto cuatro veces más líquida; en dólares negociados (precio × volumen), no
ha cambiado casi nada.

La comprobación de que el valor no cambia necesita el número de acciones, que no está en los datos. Con una cifra
supuesta de 100 millones de acciones antes del split:

```python
acciones = pd.Series(100e6, index=d.index)
acciones.loc["2021-08-23":] *= 4  # split 4 por 1

cap = d["cierre"] * acciones / 1e9
cap.loc["2021-08-19":"2021-08-24"].round(2)
```
```output
fecha
2021-08-19    24.10
2021-08-20    24.00
2021-08-23    23.82
2021-08-24    23.82
dtype: float64
```

24,00 mil millones el viernes y 23,82 el lunes: una variación del −0,75 %, que es lo que se movió el mercado ese día. La
regla práctica para los datos es doble: las rentabilidades se calculan sobre precios ajustados (lección 1.4.3) y los
volúmenes se comparan en dólares o ajustados por el mismo factor.

<aside class="callout" data-kind="aviso">

En EE. UU., para un split o un dividendo en acciones, la fecha ex se fija el primer día hábil **después** de la entrega
de las acciones nuevas, no antes de la fecha de registro como en los dividendos en efectivo. Por eso en
`nova_eventos.csv` la `fecha_pago` del split (20 de agosto, la entrega) es anterior a su `fecha_ex` (el 23). Un
programa que aplique a los splits la regla de los dividendos se equivoca de día.

</aside>

El contrasplit (*reverse split*) es lo contrario: 1 acción nueva por cada N antiguas. Suele hacerlo una empresa cuyo
precio ha caído mucho. En los datos, el precio bruto se multiplica de un día para otro: no es una subida, y casi
siempre llega después de una larga caída.

## Dividendos: cuatro fechas y una caída

Un dividendo en efectivo saca caja de la empresa y la entrega a los accionistas. La empresa vale menos exactamente lo
que paga, y el precio lo descuenta. El calendario tiene cuatro fechas:

```mermaid
flowchart LR
  A[Anuncio] --> E[Fecha ex]
  E --> R[Registro]
  R --> P[Pago]
```

- **Anuncio** (*declaration date*): la junta o el consejo aprueba el importe y las fechas.
- **Fecha de registro** (*record date*): quien figure como accionista en los registros ese día cobra.
- **Fecha ex** (*ex-dividend date*): la primera sesión en la que la acción se negocia **sin** derecho al dividendo.
  Quien compra ese día o después ya no lo cobra; quien vende ese día lo cobra igualmente.
- **Pago** (*payment date*): el efectivo llega a la cuenta.

La fecha ex depende de la liquidación. Para aparecer en el registro hay que haber liquidado la compra; con liquidación
en T+1 (EE. UU., desde mayo de 2024), una compra hecha en la fecha de registro ya no llega a tiempo. Por eso, según
la SEC, la fecha ex se fija **en la fecha de registro** (o el día hábil anterior si la de registro no lo es). Con
liquidación en T+2, como en la UE, el razonamiento da un día hábil antes del registro. Para un dividendo muy grande, del
25 % del precio o más, la regla de EE. UU. es otra: la fecha ex se aplaza al día hábil siguiente al pago.

<aside class="callout" data-kind="nota">

Para un sistema de trading, la fecha que importa es la **fecha ex**: es el día en que cambia el precio y el día en que
se gana o se pierde el derecho. La de pago solo importa para la caja. Un backtest que use la fecha de pago para
ajustar precios (algunos ficheros mal construidos lo hacen) desplaza la caída varias semanas.

</aside>

`nova_eventos.csv` recoge los 34 eventos de NOVA: 32 dividendos trimestrales, uno extraordinario y el split. Los
importes anteriores al split son por acción antigua:

```python
ev = pd.read_csv("nova_eventos.csv",
                 parse_dates=["fecha_ex", "fecha_pago"])
print(ev["tipo"].value_counts())
ev.iloc[13:17]
```
```output
tipo
dividendo                   32
split                        1
dividendo_extraordinario     1
Name: count, dtype: int64
     fecha_ex       tipo  ratio  importe fecha_pago
13 2021-05-10  dividendo    NaN     0.60 2021-06-01
14 2021-08-10  dividendo    NaN     0.60 2021-08-31
15 2021-08-23      split    4.0      NaN 2021-08-20
16 2021-11-10  dividendo    NaN     0.15 2021-12-01
```

El dividendo pasa de 0,60 USD a 0,15 USD justo después del split. No es un recorte: 0,60 / 4 = 0,15. Quien tenía
una acción y cobraba 0,60 tiene ahora cuatro y cobra 4 × 0,15. Un análisis del «crecimiento del dividendo» que no
ajuste por el split vería un recorte del 75 %.

En la apertura de la fecha ex, el precio debería caer, en teoría, el importe del dividendo. Se puede comprobar
comparando el hueco entre el cierre anterior y la apertura con la caída que explica el dividendo:

```python
d["cierre_ant"] = d["cierre"].shift()
div = ev[ev["tipo"] != "split"].merge(
    d[["apertura", "cierre_ant"]], left_on="fecha_ex",
    right_index=True)
div["esperado_pct"] = -100 * div["importe"] / div["cierre_ant"]
div["hueco_pct"] = 100 * (div["apertura"] / div["cierre_ant"] - 1)

cols = ["fecha_ex", "tipo", "importe", "esperado_pct", "hueco_pct"]
div[cols].iloc[23:27].round({"esperado_pct": 2, "hueco_pct": 2})
```
```output
     fecha_ex                      tipo  importe  esperado_pct  hueco_pct
24 2023-11-10                 dividendo     0.17         -0.44      -0.95
25 2023-12-14  dividendo_extraordinario     1.50         -3.51      -3.20
26 2024-02-12                 dividendo     0.18         -0.37      -0.68
27 2024-05-10                 dividendo     0.18         -0.31       0.17
```

El extraordinario del 14 de diciembre de 2023, 1,50 USD sobre un cierre de 42,75, explica una caída del 3,51 %, y la
apertura cae un 3,20 %: se ve a simple vista. Los trimestrales de alrededor explican caídas de entre el 0,31 % y el
0,44 %, y los huecos observados son −0,95 %, −0,68 % y +0,17 %: el dividendo está ahí, pero lo tapa el resto de lo que
pasó esa noche. En la del 10 de mayo de 2024 la acción incluso abrió por encima del cierre anterior.

*Fig. — Caída esperada por el dividendo frente al hueco de apertura observado en cada fecha ex de NOVA, 2018–2025.* Dispersión de 33 fechas ex-dividendo. En el eje horizontal, la caída que explica el dividendo (entre −0,17 % y −0,44 % en los 32 trimestrales); en el vertical, el hueco entre el cierre anterior y la apertura (entre −2,35 % y +1,25 %). Los trimestrales forman una columna estrecha y muy dispersa en vertical, lejos de la diagonal; el extraordinario de 1,50 USD, destacado, cae casi sobre ella: −3,51 % esperado y −3,20 % observado.

La figura enfrenta las dos magnitudes en las 33 fechas ex. Si el hueco fuera solo el dividendo, todos los puntos
estarían sobre la diagonal. El extraordinario está casi encima; los trimestrales forman una columna estrecha (todos
explican entre un −0,17 % y un −0,44 %) y muy alta. ¿Cuánto ruido hay en una noche normal?

```python
ordinarios = div[div["tipo"] == "dividendo"]
print(ordinarios[["esperado_pct", "hueco_pct"]].mean().round(2))
print("Huecos positivos en fecha ex:",
      (ordinarios["hueco_pct"] > 0).sum(), "de", len(ordinarios))

hueco = 100 * (d["apertura"] / d["cierre_ant"] - 1)
sin_evento = hueco.drop(ev["fecha_ex"])
print(f"Desviación típica del hueco sin evento: "
      f"{sin_evento.std():.2f} %")
```
```output
esperado_pct   -0.29
hueco_pct      -0.55
dtype: float64
Huecos positivos en fecha ex: 9 de 32
Desviación típica del hueco sin evento: 0.97 %
```

De media, los dividendos trimestrales explican un −0,29 % y el hueco observado es un −0,55 %: el signo y el orden de
magnitud cuadran, pero en 9 de las 32 fechas ex la acción abrió **por encima** del cierre anterior. La desviación
típica del hueco de una noche sin eventos es del 0,97 %, tres veces la caída del dividendo. Que no se vea no quiere
decir que no importe: es dinero que el accionista recibe y que la serie de precios no recoge.

```python
div["rpd"] = div["importe"] / div["cierre_ant"]
anual = 100 * div.groupby(div["fecha_ex"].dt.year)["rpd"].sum()
anual.round(2)
```
```output
fecha_ex
2018    0.85
2019    1.08
2020    1.13
2021    1.11
2022    1.13
2023    4.98
2024    1.30
2025    1.33
Name: rpd, dtype: float64
```

Algo más del 1 % al año, y casi un 5 % en 2023 por el extraordinario. En ocho años, una estrategia que mida su
rentabilidad solo con precios pierde nueve o diez puntos que el inversor sí cobró. Es la diferencia entre un índice de
precios y uno de rentabilidad total (lección 1.2.2), y la razón de los precios ajustados por dividendos (lección
1.4.3).

<aside class="callout" data-kind="riesgo">

Comprar justo antes de la fecha ex para «cobrar el dividendo» no es una estrategia: el precio cae en el importe del
dividendo y, además, el dividendo tributa. En una posición corta ocurre lo contrario: quien está corto en la fecha ex
**paga** el dividendo al prestamista de las acciones. Un backtest de una estrategia corta sin ese pago es optimista.

</aside>

## Ampliaciones de capital y derechos de suscripción

Una ampliación de capital emite acciones nuevas para captar dinero. Si las nuevas se venden por debajo del precio de
mercado, los accionistas antiguos pierden valor salvo que tengan derecho a comprarlas en proporción. Ese es el
**derecho de suscripción preferente**: cada acción antigua recibe un derecho, y con un número fijo de derechos se
suscribe una acción nueva al precio de emisión.

Con $N$ acciones antiguas por cada $n$ nuevas, precio de mercado $P$ y precio de emisión $E$, el precio teórico tras la
ampliación (*TERP*, *theoretical ex-rights price*) es la media ponderada de lo que vale la empresa más el dinero nuevo:

$$
P_{\text{ex}} = \frac{N \cdot P + n \cdot E}{N + n},
\qquad
D = P - P_{\text{ex}} = \frac{n\,(P - E)}{N + n}
$$

donde $D$ es el valor teórico de un derecho (uno por acción antigua). El día en que los derechos se separan de las
acciones, la acción cotiza «ex derecho» y su precio cae, en teoría, hasta $P_{\text{ex}}$; los derechos cotizan aparte
durante el periodo de suscripción.

```python
def ampliacion(P, E, N, n):
    """Precio teórico ex derecho y valor teórico de un derecho."""
    p_ex = (N * P + n * E) / (N + n)
    return p_ex, P - p_ex

p_ex, derecho = ampliacion(P=60.0, E=40.0, N=4, n=1)
print(f"Precio teórico: {p_ex:.2f}  derecho: {derecho:.2f}")

tengo = 400
print("Antes:", tengo * 60.0)
print("Ejerce (paga 100 x 40):", (tengo + 100) * p_ex - 100 * 40)
print("Vende los derechos:", tengo * p_ex + tengo * derecho)
print("No hace nada:", tengo * p_ex)
```
```output
Precio teórico: 56.00  derecho: 4.00
Antes: 24000.0
Ejerce (paga 100 x 40): 24000.0
Vende los derechos: 24000.0
No hace nada: 22400.0
```

Con una acción nueva por cada cuatro a 40 USD sobre un precio de 60, el precio teórico es 56 USD y cada derecho vale
4 USD. Quien ejerce o vende los derechos conserva sus 24.000 USD; quien no hace nada y los deja caducar pierde 1.600
USD, un 6,7 %. En la práctica el mercado no clava el precio teórico, pero el orden de magnitud es este.

```mermaid
flowchart TB
  A[Ampliación] --> D[Recibe derechos]
  D --> X[Ejerce]
  D --> V[Vende derechos]
  D --> N[No hace nada]
  X --> I[Valor intacto]
  V --> I
  N --> L[Pierde el derecho]
```

En los datos, una ampliación con derechos es una caída del precio en la fecha ex derecho que los proveedores ajustan
con un factor $P_{\text{ex}} / P$, igual que un dividendo. Otras dos variantes son frecuentes en España:

- **Dividendo en acciones o *scrip*** («dividendo flexible»): la empresa da derechos de asignación gratuita; el
  accionista elige entre recibir acciones nuevas o vender los derechos (a la propia empresa a un precio fijo o en el
  mercado). Para los datos se parece a una ampliación liberada: más acciones y un precio ajustado.
- **Colocación acelerada sin derechos**: la empresa vende acciones nuevas a institucionales en pocas horas, con
  descuento. No hay derecho que compense, así que el accionista que no participa se diluye. En los datos aparece como
  una caída real, no como un ajuste.

## Recompras, escisiones, fusiones y exclusiones

- **Recompra**: la empresa compra sus propias acciones en el mercado. Es otra forma de devolver dinero: las acciones
  en circulación bajan y el beneficio por acción sube. No hay ajuste de precio, porque no hay un día en que el valor
  cambie de golpe. Para un análisis fundamental sí importa: el número de acciones de un trimestre a otro cambia
  (lección 1.5.1).
- **Escisión** (*spin-off*): la empresa reparte acciones de una filial. El precio de la matriz cae lo que vale la
  filial, y el accionista recibe acciones nuevas. Un proveedor que no lo ajuste enseña una caída que el accionista no
  sufrió.
- **Fusión u OPA**: el precio de la empresa comprada converge al de la oferta y deja de cotizar. Si la operación es por
  canje de acciones, el accionista pasa a tener acciones de la compradora.
- **Exclusión**: la acción deja de cotizar, por una fusión, una quiebra o una decisión de la propia empresa. Si los
  datos solo tienen las empresas que cotizan hoy, faltan todas las que salieron, que son precisamente las que acabaron
  mal: el sesgo de supervivencia (lección 1.4.4).
- **Cambio de símbolo**: el ticker cambia y la empresa es la misma. Una base de datos que indexe por ticker la parte en
  dos series sin relación.

## Índices: cómo se pondera una cesta

Un índice resume el precio de una cesta de acciones en un número. Lo que cambia de uno a otro es cuánto pesa cada
acción. Las tres ponderaciones básicas son:

- **Por precio**: el índice es la suma de los precios dividida por un divisor. Una acción de 1.600 USD pesa cien veces
  más que una de 16, sea cual sea el tamaño de la empresa. El Dow Jones Industrial Average funciona así, según su
  metodología.
- **Por capitalización**: cada acción pesa lo que su capitalización, normalmente flotante. Es la ponderación de la
  mayoría de los índices de S&P Dow Jones Indices y, entre otros, del S&P 500 y del IBEX 35.[^1]
- **Equiponderado**: todas pesan lo mismo y se reequilibra periódicamente. Da más peso a las pequeñas que la
  ponderación por capitalización.

Los datos del universo del curso (lección 1.4.4) dicen qué valores eran miembros de un índice ficticio de 40 cada día.
El 2 de junio de 2025:

```python
miembros = pd.read_csv("universo_miembros.csv",
                       parse_dates=["alta", "baja"])
dia = pd.Timestamp("2025-06-02")
vivos = miembros[(miembros["alta"] <= dia)
                 & (miembros["baja"].isna() | (miembros["baja"] > dia))]
print(len(vivos), "miembros el", dia.date())

precios = pd.read_parquet("universo_precios.parquet")
p = precios[precios["fecha"] == dia].set_index("ticker")["cierre"]
p[vivos["ticker"]].describe().round(2)
```
```output
40 miembros el 2025-06-02
count      40.00
mean      229.40
std       302.12
min        17.70
25%        51.24
50%       108.38
75%       309.10
max      1607.97
Name: cierre, dtype: float64
```

Los 40 miembros cotizan entre unos 18 USD y unos 1.600 USD. Para comparar ponderaciones bastan cinco, con un número de
acciones en circulación supuesto (los datos no lo incluyen). Los cierres de `universo_precios.parquet` están ajustados;
para una sola fecha cercana al final de la serie, eso no cambia el ejemplo.

```python
acciones = pd.Series({"ZXQZ": 50, "ZXLZ": 300, "ZXGM": 900,
                      "ZXAD": 2500, "ZXHW": 6000})  # millones
cesta = pd.DataFrame({"precio": p[acciones.index],
                      "acciones_m": acciones})
cesta["cap_m"] = cesta["precio"] * cesta["acciones_m"]

pesos = pd.DataFrame({
    "precio": cesta["precio"] / cesta["precio"].sum(),
    "capitalizacion": cesta["cap_m"] / cesta["cap_m"].sum(),
    "igual": 1 / len(cesta),
})
print(cesta.round(2))
(100 * pesos).round(1)
```
```output
       precio  acciones_m     cap_m
ZXQZ  1607.97          50   80398.5
ZXLZ   921.91         300  276573.0
ZXGM   171.20         900  154080.0
ZXAD    36.58        2500   91450.0
ZXHW    17.70        6000  106200.0
      precio  capitalizacion  igual
ZXQZ    58.4            11.3   20.0
ZXLZ    33.5            39.0   20.0
ZXGM     6.2            21.7   20.0
ZXAD     1.3            12.9   20.0
ZXHW     0.6            15.0   20.0
```

*Fig. — Peso de cinco valores en un índice según cómo se pondere: por precio, por capitalización o a partes iguales.* Tres paneles de barras horizontales con el peso de cinco valores del universo del curso el 2 de junio de 2025. Por precio, el de precio más alto (ZXQZ, 1.607,97 USD) pesa el 58,4 %, destacado, y los dos más baratos, el 1,3 % y el 0,6 %. Por capitalización, con un número de acciones supuesto, ZXLZ pesa el 39,0 %, ZXGM el 21,7 %, ZXHW el 15,0 %, ZXAD el 12,9 % y ZXQZ el 11,3 %. Equiponderado, cada uno el 20 %.

Por precio, ZXQZ es el 58,4 % del índice: su acción es la más cara, pero con 50 millones de acciones es la empresa más
pequeña de las cinco (80.398 millones de capitalización). Por capitalización pesa el 11,3 %, y la mayor es ZXLZ, con un
39,0 %. El índice equiponderado da un 20 % a cada una. Tres índices con los mismos cinco valores pueden tener
rentabilidades muy distintas: el ponderado por precio es, en la práctica, una apuesta por ZXQZ.

El divisor de un índice ponderado por precio es lo que lo hace continuo. Si ZXQZ hiciera un split de 10 por 1, su
precio pasaría de 1.607,97 a 160,80 y el índice caería por un evento que no cambia el valor de nada. El proveedor
recalcula el divisor para que el nivel sea el mismo justo antes y justo después:

```python
divisor = 5.0
nivel = cesta["precio"].sum() / divisor
print(f"Índice: {nivel:.2f}")

tras = cesta["precio"].copy()
tras["ZXQZ"] /= 10  # split 10 por 1
print(f"Sin ajustar el divisor: {tras.sum() / divisor:.2f}")

nuevo = tras.sum() / nivel
print(f"Divisor nuevo: {nuevo:.4f}, índice {tras.sum() / nuevo:.2f}")
peso = 100 * tras["ZXQZ"] / tras.sum()
print(f"Peso de ZXQZ tras el split: {peso:.1f} %")
```
```output
Índice: 551.07
Sin ajustar el divisor: 261.64
Divisor nuevo: 2.3739, índice 551.07
Peso de ZXQZ tras el split: 12.3 %
```

Sin ajuste, el índice pasaría de 551,07 a 261,64, un −52,5 % ficticio. Con el divisor nuevo (2,3739), el nivel sigue
en 551,07. Pero el peso de ZXQZ cae del 58,4 % al 12,3 % sin que la empresa haya cambiado: es la rareza de la
ponderación por precio. En un índice por capitalización, el mismo split no cambia nada, porque precio × acciones es el
mismo.

Los índices de capitalización también tienen divisor, y lo ajustan en otros eventos: altas y bajas de miembros,
ampliaciones, recompras grandes o cambios del capital flotante. En todos, la regla es la misma: el nivel del índice
solo cambia por los precios, nunca por la mecánica.

<aside class="callout" data-kind="nota">

La mayoría de los índices que se citan (S&P 500, IBEX 35, EURO STOXX 50) son **índices de precios**: no suman los
dividendos. Existen versiones de rentabilidad total (los dividendos se reinvierten) y de rentabilidad total neta (tras
la retención fiscal). Los futuros sobre índices cotizan sobre el índice de precios (lección 1.2.3); los ETF de
acumulación se comparan con el de rentabilidad total neta (lección 1.2.2).

</aside>

## Lo que esto cambia en tus datos

- **Precios sin ajustar para operar, ajustados para medir.** El precio al que se ejecutó una orden es el bruto; la
  rentabilidad de una posición se mide con el ajustado (lección 1.4.3). Mezclarlos da rentabilidades del −75 % o
  stops que saltan solos.
- **El volumen también se ajusta.** Tras un split, el volumen en acciones se multiplica; en dólares, no.
- **La fecha que cuenta es la ex.** El ajuste por dividendo se aplica en la fecha ex; usar la de pago lo desplaza.
- **Los dividendos son rentabilidad.** Algo más del 1 % al año en NOVA, invisible en el gráfico, real en la cuenta.
  Una estrategia corta los paga.
- **El índice no es la suma de sus empresas.** Antes de comparar una estrategia con un índice, hay que saber cómo
  pondera y si es de precios o de rentabilidad total.
- **Los eventos se guardan aparte.** Una tabla de eventos (`fecha_ex`, tipo, ratio, importe) permite rehacer cualquier
  ajuste; una serie ya ajustada no permite deshacerlo.

## Ejercicios

1. Sin contar el split, ¿cuáles son los tres huecos de apertura más grandes (en valor absoluto) de NOVA? ¿Coinciden
   con alguna fecha ex-dividendo?

**Solución.**

```python
grandes = hueco.drop(pd.Timestamp("2021-08-23")).abs().nlargest(3)
print(hueco[grandes.index].round(2))
print("¿Alguno es fecha ex?",
      grandes.index.isin(ev["fecha_ex"]).any())
```
```output
fecha
2018-04-27    13.49
2021-07-23    -9.39
2019-04-26    -7.55
dtype: float64
¿Alguno es fecha ex? False
```

Ninguno coincide con un dividendo. Los grandes huecos de NOVA llegan el día siguiente a una presentación de
resultados (tras el cierre del cuarto jueves de enero, abril, julio y octubre, según el README de los datos). Un hueco
del 13 % no lo explica ningún evento corporativo: es información nueva. Distinguir un hueco «mecánico» (split,
dividendo) de uno informativo es el primer paso de cualquier limpieza de datos (lección 1.4.2).

2. Calcula el peso de cada miembro del índice el 2 de junio de 2025 si el índice estuviera ponderado por precio. ¿Qué
   peso tiene el mayor? ¿Y cuánto tendría en uno equiponderado?

**Solución.**

```python
p40 = p[vivos["ticker"]]
peso_precio = 100 * p40 / p40.sum()
print(peso_precio.nlargest(3).round(2))
print(f"Equiponderado: {100 / len(p40):.2f} % cada uno")
```
```output
ticker
ZXQZ    17.52
ZXLZ    10.05
ZXZE     7.80
Name: cierre, dtype: float64
Equiponderado: 2.50 % cada uno
```

ZXQZ, con el precio más alto, pesaría un 17,52 % en un índice de 40 valores ponderado por precio: siete veces el
2,50 % que le daría uno equiponderado. Los tres más caros suman más de un tercio del índice. Por eso los índices
ponderados por precio son hoy una rareza histórica.

3. Una empresa española anuncia un dividendo y una fecha de registro el jueves. Con liquidación en T+2, ¿cuál es el
   último día para comprar con derecho a cobrarlo? Si en lugar de comprar quieres vender y cobrar el dividendo, ¿cuál
   es el primer día en que puedes vender?

**Solución.**

Con T+2, una compra del martes se liquida el jueves y aparece en el registro: el martes es el último día con derecho
(*last trading date*) y el miércoles es la fecha ex, un día hábil antes del registro. Quien quiere vender y conservar
el dividendo puede hacerlo desde el miércoles, la fecha ex: ese día ya se vende «sin» el dividendo, que sigue siendo
suyo. El razonamiento es el mismo que el de EE. UU., con un día más de liquidación (lección 1.1.5).

[^1]: Según la metodología de matemáticas de índices de S&P Dow Jones Indices (en los recursos), la mayoría de sus
índices de acciones se ponderan por capitalización flotante; el capítulo 358 del reglamento de la CME describe el
S&P 500 como «un índice compuesto ponderado por valor» y la ficha de MEFF del futuro IBEX 35, el IBEX 35 como «un
índice ponderado por capitalización».

## Autoevaluación

1. NOVA hace un split de 4 por 1. Un inversor tenía 100 acciones a 240 USD. ¿Qué tiene al día siguiente, sin contar lo que se mueva el mercado?

   - A. 100 acciones a 60 USD: ha perdido el 75 %
   - B. 400 acciones a 60 USD: lo mismo que antes
   - C. 400 acciones a 240 USD: ha cuadruplicado su inversión
   - D. 100 acciones a 240 USD y 300 derechos

   *Respuesta B: 400 acciones a 60 USD: lo mismo que antes.* Un split multiplica el número de acciones y divide el precio por el mismo factor. El valor de la posición (100 × 240 = 400 × 60 = 24.000 USD) y la capitalización de la empresa no cambian. Solo cambia la unidad de medida.

2. En EE. UU., con liquidación en T+1, una empresa fija la fecha de registro de un dividendo el lunes 16 de marzo. ¿Cuál es el último día en que hay que comprar para cobrarlo?

   - A. El propio lunes 16
   - B. El viernes 13
   - C. El martes 17
   - D. El día del pago

   *Respuesta B: El viernes 13.* Con T+1, la fecha ex coincide con la de registro (el lunes 16). Quien compra el 16 o después ya no cobra; quien compra el viernes 13 liquida el lunes 16 y aparece en el registro.

3. ¿Por qué en los datos de NOVA los dividendos trimestrales casi no se distinguen en el hueco de apertura de su fecha ex?

   - A. Porque los dividendos se pagan después y no afectan al precio
   - B. Porque la caída que explican (un 0,3 % de media) es pequeña frente al ruido normal de una noche (desviación típica del 0,97 %)
   - C. Porque el proveedor ya ha ajustado los precios
   - D. Porque los dividendos solo afectan al cierre, no a la apertura

   *Respuesta B: Porque la caída que explican (un 0,3 % de media) es pequeña frente al ruido normal de una noche (desviación típica del 0,97 %).* El precio cae por el dividendo, pero también se mueve por todo lo demás. Un 0,3 % queda enterrado en un ruido tres veces mayor; el extraordinario de 1,50 USD (3,5 %) sí se ve. Que no se vea a simple vista no significa que no importe: sumado, son algo más del 1 % al año.

4. Una acción cotiza a 60 USD y la empresa amplía capital: 1 acción nueva por cada 4 antiguas a 40 USD. ¿Cuál es el valor teórico de cada derecho?

   - A. 20 USD
   - B. 5 USD
   - C. 4 USD
   - D. 0 USD: los derechos no valen nada

   *Respuesta C: 4 USD.* El precio teórico tras la ampliación es (4 × 60 + 1 × 40) / 5 = 56 USD, y cada acción antigua lleva un derecho que vale 60 − 56 = 4 USD. Quien no hace nada y deja caducar los derechos pierde esos 4 USD por acción.

5. En un índice ponderado por precio, una de sus acciones hace un split de 10 por 1. ¿Qué hace el proveedor del índice?

   - A. Nada: el índice cae y se recupera solo
   - B. Cambia el divisor para que el índice valga lo mismo justo antes y justo después del split
   - C. Multiplica por 10 el precio de esa acción para siempre
   - D. Saca la acción del índice

   *Respuesta B: Cambia el divisor para que el índice valga lo mismo justo antes y justo después del split.* Sin ajuste, el índice caería por un evento que no cambia el valor de nada. El divisor se recalcula para que el nivel sea continuo. El efecto secundario es que, desde entonces, esa acción pesa mucho menos en el índice.

## Ideas clave

- Capitalización = precio × acciones en circulación. Un split cambia los dos factores y deja el producto igual; un dividendo saca caja de la empresa y baja el precio en su importe.
- En los precios sin ajustar de NOVA, el split de 2021 es un salto del −75 % y el volumen se multiplica por cuatro; un cálculo de rentabilidades que no lo sepa ve la peor sesión de su historia.
- Quien cobra un dividendo lo decide la fecha ex. En EE. UU., con T+1, la fecha ex coincide con la de registro; la caída del precio llega en la apertura de la fecha ex.
- Los dividendos ordinarios se pierden en el ruido de una noche, pero sumados son algo más del 1 % al año en NOVA: una serie solo de precios infravalora la rentabilidad.
- Una ampliación con derechos baja el precio de mercado hasta el precio teórico; el derecho compensa al accionista que lo vende o lo ejerce.
- Un índice ponderado por precio da más peso a la acción de precio más alto, no a la empresa más grande. Tras un split, el divisor se ajusta y el peso de esa acción se desploma.

## Recursos

### Research

- [Big Data Management 3 - Creando un Datalake sobre el Nasdaq con ArcticDB.](https://pythonparatrading.com/big-data-con-arcticdb/) · Research-0021 · 5 min

### Documentación

- [Investor.gov (SEC): fechas ex-dividendo, registro y dividendos en acciones](https://www.investor.gov/introduction-investing/investing-basics/glossary/ex-dividend-dates-when-are-you-entitled-stock-and) · investor.gov
- [S&P Dow Jones Indices: metodología de los Dow Jones Averages (índice ponderado por precio y divisor)](https://www.spglobal.com/spdji/en/documents/methodologies/methodology-dj-averages.pdf) · spglobal.com
- [S&P Dow Jones Indices: Index Mathematics Methodology (ponderación por capitalización, equiponderada y otras)](https://www.spglobal.com/spdji/en/documents/methodologies/methodology-index-math.pdf) · spglobal.com

### Datos

- [Datos del nivel 1: precios diarios sin ajustar de NOVA (CSV)](https://pythonparatrading.com/curso/datos/nivel-1/nova_diario_sin_ajustar.csv) · Descarga · nova_diario_sin_ajustar.csv
- [Datos del nivel 1: eventos corporativos de NOVA (CSV)](https://pythonparatrading.com/curso/datos/nivel-1/nova_eventos.csv) · Descarga · nova_eventos.csv

Lección anterior: [1.1.5 · Costes, liquidación, apalancamiento y margen](https://pythonparatrading.com/curso-python-trading/nivel-1/costes-liquidacion-apalancamiento-y-margen/)

Lección siguiente: [1.2.2 · ETFs: réplica, tracking error, apalancados y UCITS](https://pythonparatrading.com/curso-python-trading/nivel-1/etfs-replica-tracking-error-y-ucits/)
