Qué columna leer, cuánto es mucho y de quién es realmente ese 130% del 130%.
Pon el saldo de margen y el TAIEX en el mismo gráfico y las dos líneas casi se superponen — en el año que va del 2025-09-17 al 2026-09-15 la correlación es +0.973. Crees haber encontrado un indicador. Pero estira la muestra a 5 años y esa misma correlación cae a +0.417. Este artículo explica qué es realmente el saldo de margen, qué columna leer, cuánto es mucho y tres lecturas erróneas que el texto oficial y los datos medidos desmontan.
El saldo de margen es el volumen de posiciones de margen del mercado aún no devueltas, contado en unidades de negociación (lotes); el mismo informe lleva una columna aparte de "importe de margen" en miles de TWD. Lo reportan las entidades de crédito (sociedades de financiación de valores e intermediarios que gestionan el margen internamente) y después TWSE lo compila y lo publica.
Tres términos que se confunden constantemente; separémoslos primero:
| Término | Qué es | Quién lo calcula |
|---|---|---|
| Saldo de margen | Posiciones de margen aún no devueltas, en lotes; hay una columna aparte de importe de margen en miles de TWD | Lo reportan las entidades de crédito y lo compila TWSE |
| Límite de margen | La regla es el 25% de las acciones cotizadas del valor: las notas del informe de TWSE indican que "cuando el saldo de margen alcanza el 25% de las acciones cotizadas de ese valor, se suspende la compra a margen" y que "cuando los saldos de margen o de corto alcanzan ocho décimas del límite, la asignación de cupo se realiza el día hábil siguiente" | Se calcula según la regla; el informe publica cada día un "límite del día hábil siguiente" |
| Ratio de mantenimiento de margen | El ratio de mantenimiento de garantías de toda la cuenta; la fórmula está más abajo, en "¿De quién es el 130%?" | Lo calcula el intermediario sobre toda la cuenta, no por valor |
Seis décimas (60%) tanto para cotizadas como para OTC, con un ratio mínimo de garantía para ventas en corto del 130% — la fuente es la orden de la FSC Jin-Guan-Zheng-Tou-Zi n.º 1140381639, en vigor desde el 2025-04-07. Muchísimos artículos en internet siguen diciendo que la garantía del corto es del 90%; esa es la orden antigua, derogada el 111-10-01, y está desfasada.
Las columnas de las estadísticas de negociación a margen de TWSE son: partida | compra | venta | devolución en efectivo (títulos) | saldo del día anterior | saldo de hoy. Dentro de un mismo día es internamente coherente — aquí está comprobado con las cifras de margen del mercado del 2026-09-15 (en lotes):
9,165,719(saldo del día anterior) + 226,366(compra) − 197,887(venta) − 3,687(devolución en efectivo) = 9,190,511(saldo de hoy)
El importe de margen del mismo día (en miles de TWD) cuadra con la misma ecuación: 583,877,609 + 16,290,924 − 17,615,398 − 312,670 = 582,240,465.
Así que la afirmación habitual de que "las devoluciones en efectivo están metidas en el saldo del día anterior" no se sostiene — la devolución en efectivo es una columna propia y ya se ha restado del saldo de hoy. Las columnas dentro del día están bien; el problema aparece entre días.
TWSE lo dice sin rodeos en las notas del informe:
Esto no es una fórmula de cortesía. Cotejado con los datos (serie de margen de Blave, últimos 3 años, solo sesiones contiguas, excluyendo diferencias falsas causadas por huecos en los datos):
| Ventana | Sesiones | Saldo del día anterior (T) ≠ saldo de hoy (T−1) | Mediana de la diferencia | p90 | Máximo |
|---|---|---|---|---|---|
| Últimos 3 años (desde 2023-09-17) | 720 | 670 sesiones (93.1%) | 5 lotes | 124 lotes | 524,851 lotes |
La mayoría de las sesiones difieren en unos pocos lotes, lo cual es inocuo; pero de vez en cuando la diferencia llega a seis cifras. El registro del 2024-12-11 ajustó 524,851 lotes de un día para otro, alrededor del 5.7% del saldo del mercado — ese y los +99,692 lotes del 2026-09-07 se volvieron a contrastar con los informes originales de TWSE, confirmando que son ajustes entre días en los propios datos oficiales y no algo introducido por el lado de Blave. En cuanto a la causa, TWSE solo da la regla general (ajustes contables al día siguiente y ajustes del saldo del día anterior cuando un valor del OTC pasa al mercado cotizado); no hemos verificado la causa de casos concretos, así que este artículo no especula.
Sí se revisa, y la bolsa lo dice. La nota del informe, literal:
Esto es justo lo contrario de la compra/venta neta institucional, que es una instantánea "compilada a partir de los registros originales de operaciones del día y no rehecha con datos ajustados por errores contables o correcciones de cuenta declarados por los intermediarios" y nunca se revisa tras su publicación (véase Cómo usar la compra/venta neta institucional). Ambos son datos de flujo, pero uno se revisa y el otro no, así que la investigación no debe tratarlos igual.
Además, las estadísticas de negociación a margen de TWSE cubren el mercado cotizado (el principal de TWSE); los datos de margen y corto del OTC los publica TPEx por separado. Cuando alguien dice "saldo de margen del mercado," por defecto es el mercado cotizado.
Nivel y variación del saldo de margen del mercado (serie de datos de margen de Blave, mercado cotizado):
| Métrica | Valor | Ventana |
|---|---|---|
| Saldo de margen | 9,190,511 lotes | 2026-09-15 (último registro) |
| Importe de margen | 5,822 (100M TWD) | Ídem |
| Rango del saldo | De 7,236,488 a 9,618,551 lotes | Del 2025-09-17 al 2026-09-15, n=229 |
| Importe de margen por lote | 63,352 TWD (misma ventana, de 36,381 a 65,907) | Ídem |
Distribución de la variación diaria (saldo de hoy − saldo del día anterior, en lotes), misma ventana, n=229:
| p05 | p25 | Mediana | p75 | p95 | Media | Sesiones al alza |
|---|---|---|---|---|---|---|
| −129,474 | −29,967 | +16,379 | +45,366 | +110,320 | +7,362 | 59.8% |
En términos absolutos: mediana de la variación 40,316 lotes, p90 115,104 lotes, máximo del período 442,947 lotes. Dicho de otro modo, una variación diaria de unos 40,000 lotes es normal, y hacen falta más de 115,000 para entrar en el 10% superior de esta ventana. Fíjate también en que el saldo subió en el 59.8% de las sesiones — el saldo de margen tiende por naturaleza a subir, así que "hoy el margen ha vuelto a subir" no es en sí mismo un acontecimiento.
La alta correlación del nivel viene de una tendencia compartida y cambia con el período muestral. Medido (serie de datos de margen de Blave, frente al TAIEX):
| Ventana | n | Nivel frente al cierre del índice | Variación diaria frente a rentabilidad del mismo día | Variación diaria frente a rentabilidad del día siguiente |
|---|---|---|---|---|
| 12 meses (del 2025-09-17 al 2026-09-15) | 229 | +0.973 | +0.595 | −0.069 |
| 5 años (desde 2021-09-17) | 1,200 | +0.417 | +0.473 | −0.072 |
Tres cosas a la vez. Primero, una correlación de nivel de 0.973 parece el santo grial, pero la muestra de 5 años solo da 0.417 — mismo indicador, distinto período muestral, y la conclusión cae de "casi perfecta" a "moderada." Eso es resonancia de tendencia, no una relación estable. Segundo, si pasas a la variación, la correlación del mismo día baja a alrededor de +0.595. Tercero, frente a la rentabilidad del día siguiente ambos períodos se sitúan cerca de −0.07, es decir, casi cero.
El patrón es el mismo que el de la compra/venta neta institucional: correlación alta el mismo día, casi una moneda al aire al día siguiente. Los datos de flujo te dicen qué acaba de pasar, no qué viene después.
Es de toda la cuenta, no del valor concreto que tienes. Según las Normas operativas para sociedades de valores en operaciones de compra a margen y venta en corto de valores (versión 115-01-09):
Así que "si baja al 130% te liquidan" se deja dos cosas fuera: la cifra se calcula sobre toda la cuenta y no por valor, y en medio hay un plazo para reponer.
Un ejemplo simplificado: comprando con seis décimas de margen, el ratio de mantenimiento en el momento de abrir es 1 ÷ 0.6 = 166.7%; para caer al 130% el precio tiene que bajar un 22% (130% × 60% = 78%). El ejemplo supone una sola posición, sin otras garantías ni activos en sustitución; en la práctica una cuenta tiene más posiciones y las cifras serán distintas.
Rara vez. Distribución del ratio de mantenimiento de margen del mercado (del 2002-11-26 al 2026-08-13, n=5,815, unidad: %):
| p01 | p05 | p10 | p25 | Mediana | p75 | p90 | Máximo |
|---|---|---|---|---|---|---|---|
| 124.4 | 135.8 | 141.6 | 153.4 | 164.0 | 170.6 | 175.9 | 210.4 |
Frente a los umbrales: las sesiones por debajo del 130% son el 2.39% (139 sesiones en 23 años, concentradas en 2002–2004 y 2008), por debajo del 140% el 8.31%, y por debajo del 150% el 20.53%. El mínimo desde 2021 es el 130.36% del 2025-04-09. En el año que termina el 2026-08-13 (n=243) el rango va de 156.7 a 210.4, con 194.7 en esa última sesión.
from lib.data import fetch_twmarket_margin
m = fetch_twmarket_margin('2025-09-17', '2026-09-15', headers)
# campos: margin_balance / margin_balance_prev (lotes), margin_balance_value (TWD),
# short_balance / short_balance_prev (lotes), desde 2001-01-03
# correcto: restar dentro de la fila, que es la definición del propio informe
m['margin_chg'] = m['margin_balance'] - m['margin_balance_prev']
# incorrecto: restar entre filas mezcla los ajustes contables nocturnos con la variación del día
m['margin_chg_wrong'] = m['margin_balance'].diff()
Del 2023-09-17 al 2026-09-15, los dos métodos dan respuestas distintas el 93.1% de las sesiones. La mayor parte del tiempo la diferencia es de unos pocos lotes, pero basta una sola sesión con una diferencia de 520,000 lotes para que tu señal se vaya detrás de ese salto fantasma.
La capa por acción pasa por el endpoint de la API /studio/market/twstock/margin/<stock_id>, donde los nombres de campo cambian un poco: por acción son margin_balance y margin_prev_balance (fíjate en que prev va en otra posición que en el conjunto de mercado), y la unidad vuelve a ser lotes.
# tramos a partir de los cuantiles de la variación diaria en valor absoluto, del 2025-09-17 al 2026-09-15: mediana 40,316 lotes, p90 115,104 lotes (n=229) BIG = 115_000 # lotes; este es el tramo de los datos, no un parámetro obtenido de un backtest surge = m['margin_chg'] > BIG signal = primary.copy() # primary es tu propia señal principal signal[surge] = 0.0 # fuera del mercado en sesiones con un salto del margen
Una vez más: este umbral 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 tener cuidado con ajustar parámetros una y otra vez sobre el mismo tramo de datos (véase Cómo evitar el sobreajuste).
El ratio de mantenimiento de margen del mercado se ve hoy en la página de bolsa taiwanesa de Studio, en "Mercado | Margen y cortos" (margen y cortos del mercado); las funciones de datos de Agent no incluyen esa serie — así que llevar el ratio de mantenimiento a una estrategia no es posible hoy por hoy.
El saldo de margen es un dato diario; lo que puedes elegir es qué columna leer, qué capa leer y cuántos días.
| Enfoque | Bueno para | Ojo con |
|---|---|---|
| Saldo de hoy − saldo del día anterior (misma fila) | Calcular la variación diaria del margen; lo estándar para investigar | Es la definición oficial; para los tramos, mira la tabla de rango (mediana 40,316 lotes, p90 115,104 lotes) |
| Restar el saldo de hoy entre filas | No recomendado | En el 93.1% de las sesiones mezcla ajustes contables nocturnos; la mayor diferencia puntual es de 524,851 lotes |
| El nivel del saldo de margen | Describir si el apalancamiento del mercado está alto o bajo | Resuena con fuerza con el índice (12 meses r=+0.973, 5 años +0.417) y por sí mismo no aporta información direccional |
| Saldo de margen por acción | Condiciones de flujo por acción | La unidad son lotes; el campo es margin_prev_balance — no lo confundas con la forma del conjunto de mercado |
Los ejemplos usan la resta dentro de la fila a nivel de mercado, porque todas las mediciones de rango y correlación se hicieron en esa capa y así 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.
Ahora que sabes qué columna leer, el siguiente paso es convertirlo en una condición que puedas verificar: pídele a Blave Agent que descargue estos datos, calcule la variación restando dentro de la fila, lo escriba como filtro y te lo pase por un backtest — la capa de datos y los campos ya están conectados. También puedes ver los gráficos directamente en Studio: margen y cortos del mercado, margen y cortos por acción.