---
title: "7.4.3 PRIIPs, KID y ETFs estadounidenses"
description: "Por qué un minorista de la UE no compra ETFs de EE. UU.: qué es un PRIIP, cómo leer y validar un KID con código y qué cuestan las alternativas."
url: "https://pythonparatrading.com/curso-python-trading/nivel-7/priips-kid-y-etfs-estadounidenses/"
lang: "es"
image: "https://pythonparatrading.com/og/curso-python-trading/nivel-7/priips-kid-y-etfs-estadounidenses.png"
---

# 7.4.3 · PRIIPs, KID y ETFs estadounidenses

> Un minorista europeo puede comprar acciones de Apple en su bróker pero no el ETF de EE. UU. que replica el S&P 500. La razón es un documento de tres páginas. Esta lección lee ese documento con código, comprueba sus cifras, calcula su indicador de riesgo y compara el coste de las alternativas con supuestos a la vista.

- Curso: [Nivel 7: Producción, MLOps, regulación, carrera y capstone](https://pythonparatrading.com/curso-python-trading/nivel-7/)
- Módulo: 7.4 · Regulación, ética y fiscalidad
- Duración: 55 min
- Requisitos: [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/), [6.3.2 · Chunking de documentos financieros: tablas, notas al pie y XBRL](https://pythonparatrading.com/curso-python-trading/nivel-6/chunking-de-documentos-financieros/), [7.4.1 · MiFID II: clientes, idoneidad y trading algorítmico](https://pythonparatrading.com/curso-python-trading/nivel-7/mifid-ii-clientes-idoneidad-y-trading-algoritmico/)

## Al terminar esta lección

- Aplicar la definición de producto de inversión minorista empaquetado del Reglamento (UE) 1286/2014 para saber qué necesita un KID y qué no.
- Extraer de un KID en texto el ISIN, el indicador resumido de riesgo, los escenarios y los costes, y validar su coherencia interna con código.
- Calcular la clase de riesgo de mercado y el indicador resumido de riesgo con las tablas del Reglamento Delegado (UE) 2017/653, y saber dónde falla la aproximación.
- Comparar las alternativas a un ETF de EE. UU. (ETF UCITS, opciones, cliente profesional) y estimar el coste total con hipótesis explícitas de comisiones, divisa y retenciones.

## Qué es un PRIIP y por qué una acción no lo es

La lección 1.2.2 explicó la regla práctica: un ETF domiciliado en EE. UU. no suele tener documento de datos
fundamentales (KID), y sin él un bróker europeo no puede vendérselo a un cliente minorista. Esta lección va a la
definición, al documento y a las cifras.

El Reglamento (UE) 1286/2014 se aplica a los **productos de inversión minorista empaquetados** (PRIIP, por sus siglas
en inglés) y a los productos de inversión basados en seguros. El artículo 4.1 define el primero como una inversión en
la que, «independientemente de su forma jurídica, el importe reembolsable al inversor minorista está sujeto a
fluctuaciones debido a la exposición a determinados valores de referencia o a la evolución de uno o varios activos no
adquiridos directamente por tal inversor». Tres casos:

| Producto | ¿PRIIP? | Por qué |
|---|---|---|
| Acción de una empresa de EE. UU. | No | El inversor compra el activo directamente |
| ETF de EE. UU. sobre el S&P 500 | Sí | El reembolso depende de acciones que compra el fondo, no el inversor |
| Opción cotizada sobre ese ETF | Sí | Su valor depende de un activo de referencia |

El artículo 5 obliga al **productor** (la gestora, el emisor) a elaborar el KID y publicarlo antes de ponerlo a
disposición de minoristas; el artículo 13, a **quien lo vende o asesora** a entregarlo con tiempo antes de que el
minorista quede obligado. Una gestora de EE. UU. que no comercializa su fondo en la UE no tiene obligación de elaborar
un KID, y el bróker no puede elaborarlo por ella. El resultado es el bloqueo que ve el inversor en la pantalla de
órdenes. Los fondos UCITS estuvieron exentos (artículo 32) hasta el 31 de diciembre de 2022, fecha a la que lo prorrogó
el Reglamento (UE) 2021/2259; desde 2023 también usan el KID de PRIIPs.

```mermaid
flowchart TB
  Q[Exposición índice] --> M{¿Minorista?}
  M -- no --> E[ETF de EE. UU.]
  M -- sí --> K{¿Producto con KID?}
  K -- ETF UCITS --> U[UCITS, otra divisa]
  K -- opciones --> O[Riesgo 7, KID tipo]
  K -- no hay --> A[Acciones sueltas]
```

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

**No es asesoramiento.** Normas vigentes a 23 de octubre de 2026, con enlaces al BOE y a ESMA. Los KID de la lección
son documentos sintéticos de una gestora ficticia (datos del nivel 6) y las comisiones, retenciones y rentabilidades
de la calculadora son hipótesis, no datos de ningún producto. La fiscalidad está en la lección 7.4.6.

</aside>

## El KID por dentro: secciones fijas

El artículo 8 del reglamento fija el título («Documento de datos fundamentales»), una declaración inicial que empieza
por «Este documento le proporciona información fundamental que debe conocer sobre este producto de inversión. No se
trata de material comercial» y las secciones, en este orden: producto y productor; «¿Qué es este producto?»; «¿Qué
riesgos corro y qué podría obtener a cambio?», con un indicador resumido de riesgo y escenarios de rentabilidad; «¿Qué
pasa si [el productor] no puede pagar?»; «¿Cuáles son los costes?»; «¿Cuánto tiempo debo mantener la inversión, y
puedo retirar dinero de manera anticipada?»; «¿Cómo puedo reclamar?» y «Otros datos de interés». Como máximo tres
páginas A4 (artículo 6.4).

El Reglamento Delegado (UE) 2017/653 desarrolla el método del riesgo, de los escenarios y de los costes. La Comisión lo
modificó en 2021 en lo relativo a la metodología y la presentación de los escenarios, la presentación de los costes y
la rentabilidad histórica (lo cuenta el considerando 4 del Reglamento 2021/2259). El formato que se ve hoy, y el de los
KID sintéticos del curso, es el modificado.

Que el formato sea fijo es lo que permite leerlo con código. Los datos del nivel 6 traen los KID de cinco ETF UCITS de
una gestora ficticia, los mismos que la lección 6.3.2 trocea para un RAG:

```python
import re

import numpy as np
import pandas as pd

docs = pd.read_parquet("rag6_documentos.parquet")
kids = docs[docs["tipo"] == "kid"].set_index("id_doc")
print(kids[["entidad", "fecha"]].to_string())
print(kids.loc["R10", "texto"][:300])
```
```output
                                            entidad       fecha
id_doc
R10       Sintético Renta Variable Global UCITS ETF  2025-03-01
R12     Sintético Bonos Gobierno Euro 3-7 UCITS ETF  2025-03-01
R14         Sintético Mercados Emergentes UCITS ETF  2025-03-01
R16            Sintético Dividendo Europa UCITS ETF  2025-03-01
R18          Sintético Tecnología EE. UU. UCITS ETF  2025-03-01
# Documento de datos fundamentales — Sintético Renta Variable Global UCITS ETF

*Documento sintético para un curso de formación: empresa, cifras y personas inventadas.*

## Finalidad

Este documento le proporciona información fundamental sobre este producto de inversión. No se trata de material come
```

## Leer y validar un KID con código

Un extractor por secciones y tablas. Las tablas son Markdown, así que basta con partir por `|`; los números vienen con
punto de miles y coma decimal:

```python
def numero(txt):
    t = txt.replace("EUR", "").replace("%", "").replace(".", "")
    return float(t.replace(",", ".").strip())

def tabla(texto, cabecera):
    bloque = texto.split(cabecera, 1)[1].split("\n\n", 1)[0]
    filas = [f.strip().strip("|").split("|")
             for f in bloque.strip().splitlines()[2:]]
    return [[c.strip() for c in f] for f in filas]

def leer_kid(texto):
    k = {"isin": re.search(r"ISIN (\w{12})", texto).group(1)}
    m = re.search(r"riesgo: (\d) en una escala de 1 a 7\. Periodo de "
                  r"mantenimiento recomendado: (\d+) años", texto)
    k["sri"], k["rhp"] = int(m.group(1)), int(m.group(2))
    for f in tabla(texto, "| Escenario"):
        k[f"esc_{f[0].lower()}_1a"] = numero(f[1])
        k[f"esc_{f[0].lower()}_rhp"] = numero(f[3])
        k[f"rent_{f[0].lower()}_rhp"] = numero(f[4])
    comp = dict((f[0], f[1]) for f in tabla(texto, "| Composición"))
    k["gestion"] = numero(comp["Comisiones de gestión y otros "
                               "costes administrativos"])
    k["operacion"] = numero(comp["Costes de operación"])
    k["entrada_salida"] = (numero(comp["Costes de entrada"])
                           + numero(comp["Costes de salida"]))
    tot = dict((f[0], f[1:]) for f in tabla(texto, "| Inversión de"))
    k["coste_1a"] = numero(tot["Costes totales"][0])
    k["coste_rhp"] = numero(tot["Costes totales"][1])
    k["incidencia"] = numero(tot["Incidencia anual de los costes"][0])
    return k

kid = pd.DataFrame({i: leer_kid(t) for i, t in kids["texto"].items()}).T
kid[["isin", "sri", "rhp", "gestion", "operacion", "incidencia",
     "coste_1a", "coste_rhp"]]
```
```output
             isin sri rhp gestion operacion incidencia coste_1a coste_rhp
R10  ZZ3353919667   4   5     0.2      0.06       0.26     26.0     139.0
R12  ZZ6549778970   2   5    0.12      0.05       0.17     17.0      89.0
R14  ZZ2516219569   5   5    0.35       0.1       0.45     45.0     239.0
R16  ZZ8471203886   4   5     0.3      0.02       0.32     32.0     170.0
R18  ZZ6812181936   5   5    0.25      0.07       0.32     32.0     168.0
```

Extraer no basta: un KID puede estar mal hecho, mal traducido o desactualizado, y un sistema que se alimenta de ellos
(un comparador, un RAG como el de la lección 6.3.3) hereda sus errores. Las comprobaciones que se pueden hacer sin
información externa:

- **ISIN.** Doce caracteres: dos letras de país, nueve alfanuméricos y un dígito de control que se calcula con el
  algoritmo de Luhn sobre los dígitos, después de convertir cada letra en un número (A = 10 … Z = 35).
- **Escenarios.** La rentabilidad media anual tiene que coincidir con el importe a 5 años; y el orden tiene que ser
  tensión < desfavorable < moderado < favorable.
- **Costes.** La composición tiene que sumar la incidencia anual, y los costes totales del primer año tienen que ser
  la incidencia sobre 10.000 EUR: el texto prescrito de la presentación de costes supone que el primer año el inversor
  recupera lo invertido (0 %) y, para los demás periodos, el escenario moderado (preguntas y respuestas del Comité Mixto
  de las Autoridades Europeas de Supervisión sobre el KID).

```python
def isin_valido(isin):
    digitos = "".join(str(int(c, 36)) for c in isin[:-1])
    suma = 0
    for i, d in enumerate(reversed(digitos)):
        n = int(d) * (2 if i % 2 == 0 else 1)
        suma += n // 10 + n % 10
    return (10 - suma % 10) % 10 == int(isin[-1])

def validar(k, tol=0.15):
    avisos = []
    if not isin_valido(k["isin"]):
        avisos.append("ISIN: dígito de control")
    esc = ["tensión", "desfavorable", "moderado", "favorable"]
    finales = [k[f"esc_{e}_rhp"] for e in esc]
    if finales != sorted(finales):
        avisos.append("escenarios fuera de orden")
    for e in esc:
        final = k[f"esc_{e}_rhp"] / 10_000
        anual = 100 * (final ** (1 / k["rhp"]) - 1)
        if abs(anual - k[f"rent_{e}_rhp"]) > tol:
            avisos.append(f"rentabilidad {e}: {anual:.2f} %")
    suma = k["gestion"] + k["operacion"] + k["entrada_salida"]
    if abs(suma - k["incidencia"]) > 0.005:
        avisos.append("composición no suma la incidencia")
    if abs(k["coste_1a"] - 100 * k["incidencia"]) > 1:
        avisos.append("coste del primer año no es la incidencia")
    r = 1 + k["rent_moderado_rhp"] / 100
    esperado = 100 * k["incidencia"] * sum(r ** t
                                           for t in range(k["rhp"]))
    desvio = k["coste_rhp"] / esperado - 1
    if abs(desvio) > 0.03:
        avisos.append(f"coste a {k['rhp']} años {100 * desvio:+.1f} % "
                      f"frente al moderado")
    return avisos or ["sin avisos"]

for i, k in kid.iterrows():
    print(i, k["isin"], "|", "; ".join(validar(k)))
```
```output
R10 ZZ3353919667 | sin avisos
R12 ZZ6549778970 | sin avisos
R14 ZZ2516219569 | coste a 5 años -3.3 % frente al moderado
R16 ZZ8471203886 | coste a 5 años -3.5 % frente al moderado
R18 ZZ6812181936 | coste a 5 años -4.4 % frente al moderado
```

Los cinco ISIN tienen el dígito de control correcto; el prefijo `ZZ`, en cambio, no corresponde a ningún país: es la
marca que usan los datos del curso para que nadie confunda estos fondos con fondos reales, y un validador de producción
lo comprobaría contra la lista de códigos de país. Escenarios y composición de costes cuadran. El aviso es el de los costes a 5 años: en
los cinco documentos son 5,3 veces los del primer año, cuando con el crecimiento del escenario moderado de los fondos
de acciones (4,7 % o 4,8 % anual) la suma de cinco años de incidencia sobre un saldo creciente da 5,5. En los tres
de R14, R16 y R18 el desvío pasa del 3 %; el de R10 se queda justo por debajo, y en el de bonos (R12), con un moderado
del 1,9 %, el factor 5,3 casi coincide con lo esperado. La comprobación es aproximada (el reglamento detalla cómo se
acumulan los costes dentro de cada año), pero un factor fijo para productos con rentabilidades distintas es una
pregunta para la gestora.

Hay una segunda comprobación que solo se ve al comparar documentos entre sí:

```python
cols = [c for c in kid.columns if c.startswith("esc_")]
firma = kid[cols].astype(float).round(0).apply(tuple, axis=1)
for _, grupo in kid.groupby(firma):
    if len(grupo) > 1:
        print("mismos escenarios:", ", ".join(
            kids.loc[grupo.index, "entidad"]))
```
```output
mismos escenarios: Sintético Mercados Emergentes UCITS ETF, Sintético Tecnología EE. UU. UCITS ETF
mismos escenarios: Sintético Renta Variable Global UCITS ETF, Sintético Dividendo Europa UCITS ETF
```

Un fondo de renta variable global y otro de dividendos europeos con los mismos escenarios hasta el euro no es
imposible, pero es muy improbable si cada uno se calcula con su propia historia. En estos datos sintéticos los
escenarios dependen solo del indicador de riesgo; en un KID real, la misma coincidencia sería un indicio de plantilla
copiada y una razón para no tomar las cifras como propias de ese fondo.

## El indicador resumido de riesgo, desde la volatilidad

El anexo II del Reglamento Delegado 2017/653 mide el riesgo de mercado con la **volatilidad equivalente al VaR**
(VEV): la volatilidad anualizada que corresponde al valor en riesgo al 97,5 % a lo largo del periodo de mantenimiento
recomendado. Para los PRIIPs de la categoría 2 (exposición no apalancada, o con un múltiplo constante, a activos con
historia de precios suficiente, como un ETF), el VaR se calcula con los momentos de la distribución de rendimientos de
los últimos cinco años: volatilidad, asimetría y exceso de curtosis (una expansión de Cornish-Fisher). La VEV se
convierte en clase con una tabla:

| Clase de riesgo de mercado | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| VEV | < 0,5 % | 0,5-5 % | 5-12 % | 12-20 % | 20-30 % | 30-80 % | > 80 % |

Si los rendimientos fueran normales, la VEV sería la volatilidad anualizada; con colas gruesas o asimetría negativa
es mayor. La aproximación de la celda usa solo la volatilidad de los últimos cinco años y, por tanto, **infravalora** el
riesgo de las series con colas: sirve para entender la tabla, no para calcular un KID. Las series son de los datos del
curso:

```python
etf = pd.read_csv("etf_indice_diario.csv", parse_dates=["fecha"])
fx = pd.read_parquet("fx3_diario.parquet")
ind = pd.read_csv("futuros3_indices_contado.csv", parse_dates=["fecha"])
fut = pd.read_parquet("futuros2_continuos.parquet")
cri = pd.read_parquet("cripto3_diario.parquet")

def s(df, filtro, col):
    return df[filtro].set_index("fecha")[col].sort_index()

series = {
    "BOA (futuro, bono 2 años)": s(fut, fut["mercado"] == "BOA",
                                   "cierre_ajustado"),
    "BOB (futuro, bono 5 años)": s(fut, fut["mercado"] == "BOB",
                                   "cierre_ajustado"),
    "QEVUSD (divisa)": s(fx, fx["par"] == "QEVUSD", "spot"),
    "ETF del nivel 1 (VL)": etf.set_index("fecha")["etf_vl"],
    "RVH (índice)": s(ind, ind["indice"] == "RVH", "contado"),
    "ETF x2 del nivel 1": etf.set_index("fecha")["etf_2x_precio"],
    "XBQ (cripto)": s(cri, (cri["exchange"] == "boreal")
                      & (cri["activo"] == "XBQ"), "cierre_spot"),
}
LIMITES = [0.5, 5, 12, 20, 30, 80]

def clase_mrm(vev_pct):
    return 1 + sum(vev_pct >= x for x in LIMITES)

filas = []
for nombre, p in series.items():
    p = p[p.index > p.index.max() - pd.DateOffset(years=5)]
    r = np.log(p).diff().dropna()
    anual = 365 if "cripto" in nombre else 252
    vol = 100 * r.std() * np.sqrt(anual)
    filas.append((nombre, round(vol, 2), clase_mrm(vol),
                  round(r.skew(), 2), round(r.kurt(), 1)))
mrm = pd.DataFrame(filas, columns=["serie", "vol_pct", "clase",
                                   "asimetria", "exceso_curtosis"])
mrm
```
```output
                       serie  vol_pct  clase  asimetria  exceso_curtosis
0  BOA (futuro, bono 2 años)     1.90      2      -0.35              1.5
1  BOB (futuro, bono 5 años)     4.82      2      -0.31              1.3
2            QEVUSD (divisa)     8.22      3      -0.19              0.8
3       ETF del nivel 1 (VL)    20.51      5       0.28              7.0
4               RVH (índice)    21.52      5      -0.03              0.8
5         ETF x2 del nivel 1    40.98      6       0.11              7.0
6               XBQ (cripto)    57.86      6      -0.12              2.3
```

*Fig. — Volatilidad anualizada de cinco años de siete series del curso sobre los tramos de la clase de riesgo de mercado del Reglamento Delegado 2017/653 (aproximación normal).* Puntos sobre un eje logarítmico de volatilidad con líneas verticales en 0,5, 5, 12, 20, 30 y 80 %, las fronteras de las clases 1 a 7. Futuro de bono a 2 años 1,9 % (clase 2); a 5 años 4,8 % (clase 2, cerca de la frontera); divisa 8,2 % (clase 3); ETF del nivel 1 20,5 %, destacado, justo por encima de la frontera entre 4 y 5; índice 21,5 % (clase 5); ETF x2 41,0 % (clase 6); criptomoneda 57,9 % (clase 6).

Dos lecciones salen de la tabla. La primera: el ETF del nivel 1 queda a medio punto de la frontera entre 4 y 5. Un
cambio pequeño de la volatilidad de cinco años mueve el número que ve el inversor, por eso el reglamento pide al
productor hacer un seguimiento de los datos del indicador. La segunda: las series con exceso de curtosis alto, como el
ETF del nivel 1 y su versión x2 (7,0), tendrían con el cálculo completo una VEV mayor que su volatilidad; para las
series casi normales, como el índice RVH o la divisa, la aproximación se acerca más.

El indicador resumido combina la clase de mercado con una clase de riesgo de crédito (del emisor o de quien debe
pagar). La tabla de la parte 3 del anexo II, tal cual:

```python
IRR = {  # filas: clase de crédito 1-6; columnas: clase de mercado 1-7
    1: [1, 2, 3, 4, 5, 6, 7],
    2: [1, 2, 3, 4, 5, 6, 7],
    3: [3, 3, 3, 4, 5, 6, 7],
    4: [5, 5, 5, 5, 5, 6, 7],
    5: [5, 5, 5, 5, 5, 6, 7],
    6: [6, 6, 6, 6, 6, 6, 7],
}

def indicador(clase_mercado, clase_credito):
    return IRR[clase_credito][clase_mercado - 1]

for m, c in [(2, 1), (2, 4), (5, 3), (7, 1)]:
    print(f"mercado {m}, crédito {c} -> indicador {indicador(m, c)}")
```
```output
mercado 2, crédito 1 -> indicador 2
mercado 2, crédito 4 -> indicador 5
mercado 5, crédito 3 -> indicador 5
mercado 7, crédito 1 -> indicador 7
```

Un fondo UCITS, con los activos separados en el depositario, suele tener riesgo de crédito bajo y su indicador es su
clase de mercado. Un producto estructurado de un emisor débil puede tener un riesgo de mercado de 2 y un indicador de
5. Y los derivados son otra historia: el punto 4 del anexo II incluye en la **categoría 1** los PRIIPs en los que se
puede perder más de lo invertido y los derivados de los puntos 4 a 10 de la sección C del anexo I de MiFID II, y el
punto 8 les asigna la clase de mercado 7. Una opción cotizada, un futuro o un CFD llevan indicador 7, sea cual sea la
volatilidad del subyacente.

## Escenarios de rentabilidad: lo que dicen y lo que no

Desde la modificación de 2021, los escenarios desfavorable, moderado y favorable de un PRIIP de categoría 2 salen de
la historia del producto o de su índice de referencia: según las preguntas y respuestas del Comité Mixto, esa historia
tiene que cubrir al menos 10 años y 5 más que el periodo de mantenimiento recomendado, se parte en subintervalos de la
longitud de ese periodo y los resultados se ordenan para elegir cada escenario. El escenario de tensión se calcula
aparte. Para ver de dónde salen esas cifras, una ilustración con la serie de un índice del nivel 3 (no es el método
exacto del anexo IV, que tiene más pasos):

```python
rva = s(ind, ind["indice"] == "RVA", "contado").resample("ME").last()
finales = 10_000 * (rva.shift(-60) / rva).dropna()
print(f"{len(rva)} meses ({rva.index.min():%Y-%m} a "
      f"{rva.index.max():%Y-%m}); {len(finales)} ventanas de 5 años")
print(finales.quantile([0, 0.1, 0.5, 0.9, 1]).round(0).to_string())
```
```output
192 meses (2010-01 a 2025-12); 132 ventanas de 5 años
0.0    11197.0
0.1    13047.0
0.5    17419.0
0.9    21629.0
1.0    37766.0
```

Con 16 años de historia mensual caben 132 ventanas de cinco años, con resultados entre 11.197 y 37.766 EUR y la
mediana en 17.419. Casi todas se solapan: no son 133 observaciones
independientes, son tres periodos de cinco años vistos desde distintos puntos de partida. Los escenarios de un KID
resumen el pasado de ese producto con una regla común a todos los productos para que sean comparables; no son
previsiones, y el propio documento lo dice («Los escenarios son ilustrativos y se basan en la evolución pasada»).

## Alternativas para un minorista y lo que cuestan

| Alternativa | Qué hace | Lo que se gana | Lo que se pierde |
|---|---|---|---|
| ETF UCITS del mismo índice | Fondo domiciliado en la UE con KID | Se puede comprar como minorista; protección UCITS | Otro ticker, a veces otra divisa y otra bolsa; la retención sobre dividendos de EE. UU. se queda dentro del fondo (lección 7.4.6) |
| Opciones cotizadas sobre el ETF de EE. UU. | Derivado con KID del tipo de contrato | Exposición apalancada o cubierta | Indicador de riesgo 7, conveniencia obligatoria (lección 7.4.1), decaimiento temporal y margen |
| Acciones del índice una a una | Compra directa: no son PRIIPs | Sin KID ni comisión de gestión | Muchas órdenes, comisiones y divisa por cada una; réplica imperfecta |
| Pasar a cliente profesional | Fuera del ámbito de PRIIPs | Acceso al ETF de EE. UU. | Requisitos del anexo II y renuncia a protecciones (lección 7.4.1) |

Sobre las opciones, las preguntas y respuestas del Comité Mixto (sección IX, de 2017) aceptan para los futuros y las
opciones negociados en un mercado regulado un KID por grupo de contratos con las mismas características relevantes
(tipo de derivado, subyacente, estilo de ejercicio), por ejemplo uno para las compras de calls sobre acciones, no uno
por serie. Por eso un bróker puede ofrecer a un minorista opciones sobre un ETF que no podría venderle.

La comparación de costes entre el ETF UCITS y el de EE. UU. es donde más se equivocan los foros: se compara la comisión
de gestión y se olvida lo demás. Una calculadora con todas las hipótesis a la vista. La comisión del UCITS es la del
KID sintético del fondo de tecnología de EE. UU. (0,32 % de incidencia anual); todo lo demás son supuestos de la
lección, no datos de ningún producto:

```python
H = dict(
    inversion=10_000, anos=20,
    precio=0.055, dividendo=0.015,    # rentabilidad bruta del índice
    coste_ucits=kid.loc["R18", "incidencia"] / 100,
    coste_eeuu=0.0010,                # hipótesis
    retencion=0.15,                   # hipótesis: en origen, EE. UU.
    divisa=0.002,                     # hipótesis: cada conversión
)

def valor_final(ucits, retencion_recuperable=False, h=H):
    v = h["inversion"] * (1 - (0 if ucits else h["divisa"]))
    coste = h["coste_ucits"] if ucits else h["coste_eeuu"]
    for _ in range(h["anos"]):
        div = v * h["dividendo"]
        ret = 0 if retencion_recuperable else div * h["retencion"]
        conv = 0 if ucits else (div - ret) * h["divisa"]
        v = v * (1 + h["precio"]) + div - ret - conv
        v *= 1 - coste
    return v * (1 - (0 if ucits else h["divisa"]))

bruto = H["inversion"] * (1 + H["precio"] + H["dividendo"]) ** H["anos"]
casos = {
    "UCITS acumulación (retención en el fondo)": valor_final(True),
    "EE. UU., retención no recuperable": valor_final(False),
    "EE. UU., retención recuperada en España": valor_final(False, True),
}
for k, v in casos.items():
    print(f"{k:42} {v:9,.0f} EUR  coste {bruto - v:7,.0f}")
```
```output
UCITS acumulación (retención en el fondo)     34,798 EUR  coste   3,899
EE. UU., retención no recuperable             36,204 EUR  coste   2,493
EE. UU., retención recuperada en España       37,757 EUR  coste     939
```

La calculadora simplifica dos cosas a propósito. Supone que la retención sobre los dividendos de EE. UU. dentro del
fondo UCITS es la misma que la que sufre el inversor directo, y modela el caso de EE. UU. con los dividendos
reinvertidos sin impuesto español: el tratamiento real (convenios de doble imposición, deducción en el IRPF, momento
en que tributa cada opción) está en la lección 7.4.6 y cambia el resultado. Con estas hipótesis, el ETF UCITS que puede
comprar un minorista es el más caro de los tres. Pero la diferencia entre los dos casos de EE. UU., que solo cambian
la hipótesis sobre la retención (1.553 EUR), es mayor que la que separa al UCITS del de EE. UU. sin recuperarla
(1.406 EUR), que recoge la diferencia de comisiones (0,22 puntos al año) y los costes de divisa. Hasta que no se
escribe la hipótesis fiscal, la comparación no significa nada. La figura de la cabecera dibuja los tres casos.

## Ejercicios

1. Escribe una función que compruebe que un KID en texto tiene las secciones del artículo 8 en el orden correcto y
   aplícala a los cinco KID. Después quítale una sección a uno y comprueba que la detecta.

**Solución.**

```python
SECCIONES = [
    "## Finalidad",
    "## Producto",
    "## ¿Qué es este producto?",
    "## ¿Qué riesgos corro y qué podría obtener a cambio?",
    "## ¿Qué pasa si",
    "## ¿Cuáles son los costes?",
    "## ¿Cuánto tiempo debo mantener la inversión",
    "## ¿Cómo puedo reclamar?",
    "## Otros datos de interés",
]

def secciones_ok(texto):
    pos = [texto.find(s) for s in SECCIONES]
    faltan = [s for s, p in zip(SECCIONES, pos) if p < 0]
    if faltan:
        return "faltan: " + "; ".join(faltan)
    return "ok" if pos == sorted(pos) else "orden incorrecto"

print({i: secciones_ok(t) for i, t in kids["texto"].items()})
roto = kids.loc["R12", "texto"].replace("## ¿Cómo puedo reclamar?", "")
secciones_ok(roto)
```
```output
{'R10': 'ok', 'R12': 'ok', 'R14': 'ok', 'R16': 'ok', 'R18': 'ok'}
'faltan: ## ¿Cómo puedo reclamar?'
```

Los cinco cumplen la estructura. La comprobación es útil antes de indexar documentos en un RAG (lección 6.3.2): un KID
al que le falta una sección probablemente se ha extraído mal del PDF, y sus respuestas serán incompletas.

2. En la calculadora, ¿qué comisión anual tendría que tener el ETF UCITS para igualar el valor final del ETF de EE.
   UU. con retención no recuperable? ¿Y con retención recuperada?

**Solución.**

```python
def equilibrio(objetivo):
    lo, hi = 0.0, 0.02
    for _ in range(60):                   # bisección
        mid = (lo + hi) / 2
        v = valor_final(True, h={**H, "coste_ucits": mid})
        lo, hi = (mid, hi) if v > objetivo else (lo, mid)
    return 100 * mid

for k in list(casos)[1:]:
    print(f"{k:42} {equilibrio(casos[k]):.3f} %")
```
```output
EE. UU., retención no recuperable          0.122 %
EE. UU., retención recuperada en España    0.000 %
```

Frente al ETF de EE. UU. con retención no recuperable, el UCITS empataría con una incidencia anual del 0,122 % en vez
del 0,32 % de su KID. Frente al caso con retención recuperada no empata ni con comisión cero (la bisección se queda en
0,000 %): en esta hipótesis, la retención dentro del fondo es un coste que el inversor directo recupera y el UCITS no.
La respuesta depende del tratamiento fiscal, no solo del producto.

3. Un bróker te ofrece un ETF de EE. UU. si firmas «un formulario de cliente profesional». Explica qué tendría que
   comprobar el bróker antes de aceptarlo y qué documento dejarías de recibir con cada orden.

**Solución.**

El bróker tendría que comprobar que cumples dos de los tres criterios del anexo II de MiFID II y del artículo 113 del
Real Decreto 813/2023 (diez operaciones de volumen significativo por trimestre de media, cartera de más de 500.000 EUR,
un año en un cargo del sector financiero) y seguir el procedimiento por escrito con declaración separada (lección
7.4.1). Un formulario sin esa comprobación no es una clasificación válida. Como profesional, el Reglamento PRIIPs no se
aplica a tus compras: dejarías de recibir el KID, y con él el indicador de riesgo, los escenarios y los costes
normalizados de cada producto; además, la entidad puede presumir tus conocimientos en la evaluación de conveniencia.

## Autoevaluación

1. ¿Por qué un bróker europeo vende a un minorista acciones de una empresa de EE. UU. pero no un ETF de EE. UU. sobre el mismo índice?

   - A. Porque las acciones de EE. UU. tienen KID y los ETF no
   - B. Porque una acción no es un producto empaquetado: lo que recibe el inversor no depende de activos que no compra directamente; un ETF sí lo es y necesita un KID que su gestora no elabora
   - C. Porque los ETF de EE. UU. están prohibidos por ESMA
   - D. Porque los ETF de EE. UU. no cotizan en euros

   *Respuesta B: Porque una acción no es un producto empaquetado: lo que recibe el inversor no depende de activos que no compra directamente; un ETF sí lo es y necesita un KID que su gestora no elabora.* El artículo 4.1 del Reglamento 1286/2014 define el PRIIP por la exposición a valores de referencia o a activos no adquiridos directamente por el inversor. Un ETF lo es; una acción, no. Sin KID, el artículo 13 impide venderlo a un minorista.

2. Un KID dice: costes totales si sale después de 1 año, 32 EUR sobre 10.000 EUR invertidos. ¿Qué hipótesis de rentabilidad hay detrás de esa cifra?

   - A. La del escenario favorable
   - B. La del escenario moderado
   - C. Una rentabilidad del 0 % el primer año; el escenario moderado para los demás periodos
   - D. La rentabilidad histórica del último año

   *Respuesta C: Una rentabilidad del 0 % el primer año; el escenario moderado para los demás periodos.* Es el texto prescrito de la presentación de costes (Preguntas y respuestas del Comité Mixto sobre el KID): el primer año se supone que el inversor recupera lo invertido (0 %); para el resto de periodos, el escenario moderado. Por eso 32 EUR son exactamente el 0,32 % de 10.000.

3. La volatilidad anualizada de un fondo en los últimos cinco años es del 20,5 %. ¿Qué clase de riesgo de mercado le corresponde, si su distribución es aproximadamente normal y su riesgo de crédito es el de la clase 1?

   - A. 5: la tabla del anexo II pone el tramo de 20 % a 30 % en la clase 5, y con riesgo de crédito 1 el indicador resumido es igual a la clase de mercado
   - B. 4, porque está cerca del 20 %
   - C. 6
   - D. Depende del periodo de mantenimiento recomendado

   *Respuesta A: 5: la tabla del anexo II pone el tramo de 20 % a 30 % en la clase 5, y con riesgo de crédito 1 el indicador resumido es igual a la clase de mercado.* La tabla de clases va de < 0,5 % (1) a > 80 % (7), con la frontera entre 4 y 5 en el 20 %. Con la fila de riesgo de crédito 1, el indicador es la clase de mercado. Una décima por encima de la frontera cambia el número que ve el inversor, por eso el reglamento pide hacer un seguimiento de los datos.

4. ¿Qué indicador resumido de riesgo lleva el KID de una opción cotizada comprada por un minorista?

   - A. El que salga de la volatilidad del subyacente
   - B. Siempre 1
   - C. 7: los derivados de la sección C del anexo I de MiFID II son PRIIPs de categoría 1 y su clase de riesgo de mercado es 7
   - D. No llevan indicador

   *Respuesta C: 7: los derivados de la sección C del anexo I de MiFID II son PRIIPs de categoría 1 y su clase de riesgo de mercado es 7.* El punto 4 del anexo II del Reglamento Delegado 2017/653 incluye en la categoría 1 los PRIIPs de los puntos 4 a 10 de la sección C del anexo I de MiFID II (derivados), y el punto 8 les asigna la clase 7. Con riesgo de crédito bajo, el indicador es 7.

5. En la calculadora de la lección, ¿qué decide sobre todo si el ETF UCITS sale más caro o más barato que el de EE. UU.?

   - A. Solo la comisión de gestión
   - B. El indicador resumido de riesgo
   - C. El escenario moderado del KID
   - D. Las hipótesis sobre la retención de los dividendos (dónde se practica y si el inversor la recupera) y los costes de divisa, más que la diferencia de comisiones

   *Respuesta D: Las hipótesis sobre la retención de los dividendos (dónde se practica y si el inversor la recupera) y los costes de divisa, más que la diferencia de comisiones.* Con las hipótesis de la lección, cambiar si la retención en origen es recuperable mueve el coste a 20 años más que la diferencia de comisiones de gestión. Las reglas fiscales concretas están en la lección 7.4.6.

## Ideas clave

- Un PRIIP es una inversión cuyo reembolso depende de activos que el inversor no compra directamente: fondos, ETF, derivados, estructurados. Una acción o un bono simple no lo son.
- Quien vende un PRIIP a un minorista debe entregarle antes el KID (art. 13); el productor lo elabora (art. 5). Los ETF de EE. UU. no suelen tenerlo, y por eso no se venden a minoristas de la UE.
- El KID tiene secciones y textos fijos; sus cifras se pueden extraer y validar: ISIN, rentabilidades anualizadas de los escenarios, suma de los costes y costes totales con 0 % el primer año.
- El indicador resumido de riesgo combina una clase de riesgo de mercado (por la volatilidad equivalente al VaR al 97,5 %, de < 0,5 % a > 80 %) y una de crédito; los derivados son siempre clase 7.
- Las alternativas tienen costes distintos: el ETF UCITS (KID y retenciones dentro del fondo), las opciones (KID por tipo de contrato y riesgo 7) y el trato de profesional (sin KID ni protecciones); la comparación depende de hipótesis fiscales que hay que escribir.

## Recursos

### Research

- [Estimadores de volatilidad para trading](https://pythonparatrading.com/estimadores-de-volatilidad-para-trading/) · Research-0002 · 4 min

### Documentación

- [Reglamento (UE) 1286/2014 (PRIIPs), en el BOE](https://www.boe.es/buscar/doc.php?id=DOUE-L-2014-83648) · boe.es
- [Reglamento Delegado (UE) 2017/653 (normas técnicas del KID), versión original en el BOE](https://www.boe.es/buscar/doc.php?id=DOUE-L-2017-80757) · boe.es
- [Reglamento (UE) 2021/2259: prórroga hasta el 31 de diciembre de 2022 de la exención de los OICVM, en el BOE](https://www.boe.es/buscar/doc.php?id=DOUE-L-2021-81792) · boe.es
- [Comité Mixto de las AES: preguntas y respuestas consolidadas sobre el KID de PRIIPs (JC 2023 22)](https://www.esma.europa.eu/sites/default/files/2023-05/JC_2023_22_-_Consolidated_JC_PRIIPs_Q_As.pdf) · esma.europa.eu

### Datos

- [Datos del nivel 6: documentos para RAG, con cinco KID sintéticos (Parquet)](https://pythonparatrading.com/curso/datos/nivel-6/rag6_documentos.parquet) · Descarga · rag6_documentos.parquet

Lección anterior: [7.4.2 · ESMA y CFD: apalancamiento, cierre y saldo negativo](https://pythonparatrading.com/curso-python-trading/nivel-7/esma-y-cfds-apalancamiento-y-proteccion/)

Lección siguiente: [7.4.4 · MiCA después del transitorio: comprobar un proveedor en los registros](https://pythonparatrading.com/curso-python-trading/nivel-7/mica-casp-autorizados-y-registros/)
