Qué hace realmente cada uno de los tres tipos de institución, cuánto es mucho y tres lecturas erróneas que los datos medidos desmontan.
El índice subió el día en que los extranjeros compraron, así que crees haber encontrado una señal. Pero sus compras son parte del volumen de ese mismo día — el movimiento y la compra neta son el mismo hecho contado dos veces. Este artículo cubre la definición oficial de la compra/venta neta institucional, su rango real y los tres puntos donde más se malinterpreta, todo con datos medidos.
La compra/venta neta institucional es un conjunto de cifras que la Bolsa de Taiwán publica cada sesión: el importe (o número de títulos) comprado menos el vendido ese día por tres tipos de institución — inversores extranjeros y de China continental, fondos de inversión locales y operadores por cuenta propia. Un valor positivo significa que ese tipo fue comprador neto; uno negativo, vendedor neto.
TWSE define los tres tipos por quiénes son, no por lo que hacen (notas del informe, literal, consultadas el 2026-09-17):
| Institución | Definición de TWSE (literal) |
|---|---|
| Operadores por cuenta propia | "Operadores por cuenta propia designa las cuentas propias de las sociedades de valores." |
| Fondos de inversión locales | "Fondos de inversión locales designa los fondos nacionales de inversión en valores." |
| Inversores extranjeros y de China continental | "Inversores extranjeros y de China continental designa a los inversores registrados conforme al Reglamento de inversión en valores por chinos de ultramar y extranjeros y al Reglamento de inversión en valores y negociación de futuros en Taiwán por inversores del área continental china." |
El informe estadístico de volumen negociado institucional del mercado (BFI82U) devuelve 6 filas y está en TWD; el informe diario por acción (T86) publica cada valor cotizado y está en títulos (una llamada real el 2026-09-15 devolvió 15,840 valores). Una de las 6 filas de BFI82U son los operadores extranjeros por cuenta propia por separado; en la serie de datos de Blave esa fila vale 0 todos los días desde el 2024-08-16.
No. TWSE lo deja claro en las notas del informe:
Dicho de otro modo, la compra/venta neta institucional es una instantánea de las operaciones originales y no se revisa después por correcciones contables. Es justo lo contrario del saldo de margen — las entidades de crédito que hay detrás del saldo de margen siguen ajustando sus libros al día siguiente, y TWSE dice explícitamente que hay que usar el "saldo del día anterior" (véase Cómo usar el saldo de margen). Ambos son datos de flujo, pero tienen propiedades distintas, así que la investigación no debe tratarlos igual.
Se publica esa misma tarde tras el cierre. Las páginas oficiales de TWSE no se comprometen con una hora fija, así que este artículo no da una hora al minuto.
Distribución del neto diario, en unidades de 100M TWD. Ventana del 2025-09-17 al 2026-09-16, n=242, de la serie de datos institucionales de Blave (mercado cotizado):
| Institución | p05 | p25 | Mediana | p75 | p95 | Media | Sesiones de compra neta |
|---|---|---|---|---|---|---|---|
| Extranjeros | −892.6 | −377.0 | −52.3 | +165.2 | +603.3 | −86.2 | 43.8% |
| Fondos de inversión locales | −77.0 | −20.0 | +14.6 | +71.0 | +160.9 | +27.6 | 59.9% |
| Operadores por cuenta propia | −301.1 | −104.9 | −14.3 | +60.5 | +153.3 | −34.6 | 47.1% |
| Total | −1,077.3 | −380.7 | −45.4 | +227.0 | +683.8 | −93.1 | 46.3% |
Para responder a "¿es grande la cifra de hoy?", los tramos de valor absoluto son más útiles que el signo (misma ventana, n=242):
| Institución (100M TWD) | Mediana absoluta | p80 | p90 | p99 | Máximo del período |
|---|---|---|---|---|---|
| Extranjeros | 262 | 545 | 757 | 1,340 | 1,883 |
| Fondos de inversión locales | 42 | 88 | 135 | 267 | 383 |
| Operadores por cuenta propia | 75 | 156 | 206 | 548 | 822 |
Un neto diario extranjero de unos 260 (100M TWD) es lo habitual; hacen falta más de 757 para entrar en el 10% superior de esta ventana. Los fondos locales están un tramo por debajo, con una mediana de solo 42 — mide los tres tipos con la misma vara y un movimiento grande de los fondos locales parecerá que no es nada.
Casi todo el mundo que lee datos institucionales interpreta el neto de cuenta propia como una apuesta direccional de las mesas propietarias de los intermediarios. Pero TWSE divide esa categoría en dos columnas publicadas por separado, "cuenta propia" y "cobertura," y la segunda es mucho mayor que la primera.
Medido en las últimas 60 sesiones (TWSE BFI82U descargado día a día, del 2026-06-24 al 2026-09-16, n=60):
| Observación | Valor |
|---|---|
| Peso de la cobertura en el volumen de cuenta propia (compras + ventas) | 78.0% |
| Neto de cobertura sobre el neto absoluto de cuenta propia (mediana diaria) | 76.6% |
| Volumen medio diario de cobertura frente al de cuenta propia | 769 frente a 218 (100M TWD) |
| Neto medio del período | Cobertura −81.1/día, cuenta propia −8.3/día (100M TWD) |
| Sesiones en la misma dirección / correlación diaria | 73.3% / r=0.716 |
Dicho de otro modo, cerca de ocho décimas del volumen de esa "compra neta de cuenta propia" que ves viene de la columna de cobertura. Leídas juntas, la cobertura domina la cifra sin determinarla del todo (r=0.716) — para leer la dirección de estos operadores hay que mirar las dos columnas por separado.
No. Suma las columnas foreign, investment_trust y dealer y el resultado no coincidirá con el "total institucional" de las noticias — y no es que hayas hecho mal las cuentas.
El total oficial de TWSE es la suma de cuatro partidas: inversores extranjeros y de China continental (sin los operadores extranjeros por cuenta propia) + fondos de inversión locales + cuenta propia (propietaria) + cuenta propia (cobertura); la columna de operadores extranjeros por cuenta propia no entra en el total oficial. Sin embargo, la API de Blave mete a los operadores extranjeros por cuenta propia dentro de su columna dealer, de modo que la suma de las tres columnas = el total oficial + el neto de esos operadores ese día.
Tomemos el mercado completo del 2019-06-03 (datos originales de FinMind, en TWD):
| Partida | Neto | En el total oficial |
|---|---|---|
| Inversores extranjeros y de China continental | +4,256,940,836 | Sí |
| Fondos de inversión locales | −470,794,770 | Sí |
| Cuenta propia (propietaria) | +234,212,750 | Sí |
| Cuenta propia (cobertura) | −634,731,645 | Sí |
| Operadores extranjeros por cuenta propia | −1,635,530 | No |
| Total oficial | +3,385,627,171 | Suma de las cuatro anteriores |
Las cuatro primeras partidas suman exactamente el total oficial; lo que queda fuera son esos −1,635,530 de los operadores extranjeros por cuenta propia — y eso está dentro de la columna dealer de la API de Blave. Entre 2018 y 2024 hay 1,553 sesiones en las que la suma de las tres columnas no coincide con el total oficial; desde el 2024-08-16 la columna vale 0, así que la diferencia reciente es cero, pero la del rango histórico es real.
Así que, para cuadrar con las noticias o con la publicación oficial, lee directamente la columna total en lugar de sumar las tres por tu cuenta — total es el total oficial, no una suma de las otras columnas. Si solo trabajas con datos recientes, ambos métodos coinciden; si tu ventana llega a antes de 2024, o quieres separar a los operadores extranjeros por cuenta propia, vuelve al informe original BFI82U, donde son una fila propia y para la que la API de Blave no tiene columna equivalente.
dealer es una convención propia de Blave. Cuando uses estos datos para investigación que llegue a antes de 2024, ten en cuenta esa diferencia por tu cuenta.Correlación alta el mismo día, casi una moneda al aire al día siguiente. Es lo único que hay que llevarse de este artículo.
Ventana del 2025-09-17 al 2026-09-16, correlación de la compra/venta neta con la rentabilidad del TAIEX, n=230 (la muestra de correlación tiene 12 sesiones menos que las 242 de la tabla de rango porque a los datos del índice le faltan 12 sesiones; no mezcles los dos tamaños muestrales):
| Serie | r con la rentabilidad del mismo día | r con la rentabilidad del día siguiente |
|---|---|---|
| Extranjeros | +0.773 | +0.097 |
| Fondos de inversión locales | +0.119 | +0.004 |
| Operadores por cuenta propia | +0.716 | +0.003 |
| Total | +0.824 | +0.079 |
La correlación del mismo día es mecánica: las compras institucionales son parte del volumen de ese día, así que un precio que sube y una compra neta institucional son dos formas de registrar un mismo hecho. La pregunta que merece la pena es la del día siguiente, y ahí la correlación baja a +0.097.
La tasa de acierto dice lo mismo: tras una sesión de compra neta extranjera, el índice subió al día siguiente el 59.0% de las veces (n=100); tras una de venta neta, el 52.7% (n=129), frente a una base muestral completa del 55.5%. La diferencia existe, pero al estirar la muestra a 5 años (n=1,200) se reduce a 56.4% frente a 54.4% (base 55.3%). Y la rentabilidad media del día siguiente es en realidad mayor tras las sesiones de venta neta — +0.286% tras vender frente a +0.256% tras comprar. Algo más de acierto, algo menos de rentabilidad media: se anulan.
Por separado. En la misma ventana (del 2025-09-17 al 2026-09-16, n=242) los tres rara vez apuntan a lo mismo:
| Observación | Valor |
|---|---|
| Sesiones con extranjeros y fondos locales en la misma dirección | 47.5% |
| Sesiones con extranjeros y cuenta propia en la misma dirección | 75.2% |
| Sesiones con los tres en la misma dirección | 32.6% |
| Sesiones con el "Total" en contra de los extranjeros | 9.9% |
| Peso extranjero en el neto absoluto institucional (mediana) | 67.4% |
| Peso extranjero en el volumen institucional (compras + ventas) | 83.7% |
"Las instituciones están comprando" no es una sola cosa en los datos — los tres apuntan a lo mismo solo en un tercio de las sesiones. Y el "Total" es en esencia la sombra de los extranjeros: suponen el 83.7% del volumen institucional, y solo en el 9.9% de las sesiones el total va en su contra. Crees estar leyendo el consenso de tres instituciones; nueve de cada diez veces estás leyendo una.
La capa de mercado está en dinero, la capa por acción en títulos, y los nombres de campo también difieren — mezclarlas calcula algo equivocado.
from lib.data import fetch_twmarket_institutional, fetch_twstock_institutional
# Mercado: unidad TWD, campos foreign / investment_trust / dealer / total, desde 2004-04-07
mkt = fetch_twmarket_institutional('2025-09-17', '2026-09-16', headers)
# Por acción: unidad títulos, compras y ventas en columnas separadas; lib devuelve foreign_net directamente
df = fetch_twstock_institutional('2330', '2025-09-17', '2026-09-16', headers)
foreign_net = df['foreign_net'] # títulos comprados por extranjeros − vendidos
La capa por acción incluye además los campos desglosados: la cuenta propia (dealer_self_*) y la cobertura (dealer_hedge_*) van separadas, así que el juicio de "quitar la cobertura" de la sección anterior sí es posible en la capa por acción.
El uso práctico es convertir "¿se están moviendo fuerte las instituciones hoy?" en una condición verificable que filtre tu propia señal principal, en lugar de entrar y salir directamente con ella.
# tramos a partir de los cuantiles del neto diario extranjero en valor absoluto, del 2025-09-17 al 2026-09-16: p50 262, p90 757 (100M TWD, n=242) BIG = 75_700_000_000 # TWD; este es el tramo de los datos, no un parámetro obtenido de un backtest big_buy = mkt['foreign'] > BIG signal = primary.copy() # primary es tu propia señal principal signal[~big_buy] = 0.0 # sin largos en sesiones sin compra extranjera fuerte
Que quede claro: este umbral es un tramo de la distribución, no un parámetro validado por un backtest. Responde a "¿en qué puesto histórico está la cifra de hoy?", no a "¿esto dará dinero?" — a lo segundo solo responde un backtest, y hay que evitar la trampa de ajustar parámetros una y otra vez sobre el mismo tramo de datos (véase Cómo evitar el sobreajuste).
自營商買賣超股數 (el total de cuenta propia) va antes de las tres columnas de "cuenta propia" (índice 11), mientras que ese grupo es compra → venta → neto (índices 12 / 13 / 14). Dar por supuesto el orden intuitivo "primero cuenta propia, luego cobertura, luego total" descuadra el grupo entero. Parsea por nombre de campo, no por posición.Los datos institucionales son solo diarios, así que no hay marco temporal que ajustar; lo que puedes elegir es qué capa leer y cuántos días.
| Enfoque | Bueno para | Ojo con |
|---|---|---|
| Neto diario de mercado | Medir la fuerza de los flujos a nivel de índice | Solo mercado cotizado; el "Total" es en un 83.7% la sombra de los extranjeros, no lo leas como consenso |
| Rachas de mercado | Describir estados del tipo "lleva N días comprando" | Del 2025-09-17 al 2026-09-16: 49 rachas de compra neta, 2.16 sesiones de media, 6 como máximo; 50 rachas de venta neta, 2.72 de media, 13 como máximo (n=242) — una racha compradora de cinco sesiones es más rara de lo que crees |
| Neto diario por acción | Condiciones de flujo por acción y filtros de cribado | La unidad son títulos; los cotizados salen de T86 y el OTC de TPEx, y ambos están disponibles |
| Campos desglosados por acción | Cuando necesitas quitar la cobertura de la cifra de cuenta propia | Solo la capa por acción conserva los campos desglosados |
Los ejemplos usan el neto diario de mercado por una razón sencilla: todas las mediciones de rango y correlación se hicieron en esa capa, así que los umbrales encajan. Al pasar a la capa por acción, los tramos hay que recalcularlos con la distribución propia de esa acción.
Con la definición clara, el siguiente paso es convertirlo en una condición que puedas verificar: pídele a Blave Agent que descargue estos datos, los escriba como filtro y te los pase por un backtest — la capa de datos y los campos ya están conectados, solo tienes que decir qué quieres probar. También puedes ver los gráficos de mercado y por acción directamente en Studio: flujos institucionales del mercado, flujos por acción.