criterio de Kelly tamaño de posicion medicion practica
El criterio de Kelly define el tamaño de apuesta según la ventaja. Diez años de retornos diarios de acciones muestran que el Kelly completo no es viable en la práctica.
El criterio de Kelly es una fórmula para el tamaño de una apuesta. Se le ingresa una probabilidad de ganar, el tamaño de una ganancia y el tamaño de una pérdida, y devuelve la fracción del capital que maximiza la tasa de crecimiento de la riqueza a largo plazo. John Kelly lo publicó en los Laboratorios Bell en 1956 como un resultado de la teoría de la información, y luego lo adoptaron apostadores y traders. Esta página desarrolla la fórmula desde primeros principios y luego mide lo que prescribe sobre diez años de rendimientos reales diarios de acciones, donde la prescripción resulta ser inviable.
Lo que realmente dice el criterio de Kelly
Considere una apuesta repetida que gana una fracción g del monto apostado con probabilidad p, y pierde una fracción l del monto apostado con probabilidad q, donde q es uno menos p. La fracción de capital que optimiza el crecimiento en cada repetición es:
f* = p / l - q / g
En el caso clásico de dinero parejo, donde una ganancia paga lo mismo que cuesta una pérdida, g y l son ambos iguales a 1 y la fórmula se reduce a f* = p - q. Esa diferencia es la ventaja misma. Una apuesta que gana el 60% de las veces con dinero parejo tiene una ventaja de 20 puntos, y Kelly asigna el 20% del bankroll a ella.
La derivación es un solo paso de cálculo aplicado al logaritmo esperado de la riqueza. Maximizar el logaritmo promedio de la riqueza por apuesta es equivalente a maximizar la tasa de crecimiento compuesto a lo largo de una secuencia larga, y la fracción que lo logra es la de arriba. De ahí se derivan dos propiedades. Kelly nunca apuesta todo el bankroll en una apuesta que pueda perderlo todo, ya que el logaritmo de cero es infinito negativo. Y cualquier fracción fija distinta de f, repetida el tiempo suficiente, se compone más lentamente que f.
Un volado que puedes verificar a mano
Las cifras en esta sección son hipotéticas, elegidas para hacer visible la aritmética. Considere una moneda que cae en cara el 60% de las veces y paga dinero parejo, con un bankroll inicial de $1,000.
- Apueste el 20% del bankroll en cada volado. Una ganancia lleva $1,000 a $1,200; una pérdida lo lleva a $800. Una ganancia y una pérdida, en cualquier orden, dejan $960.
- Apueste el 40% del bankroll en cada volado. El mismo par ganancia-luego-pérdida lleva $1,000 a $1,400 a $840.
- Apueste todo el bankroll en cada volado. Una sola cruz termina la secuencia permanentemente, cualquiera que sea la ventaja.
Ese costo de ida y vuelta del 4% con una apuesta del 20% es el precio de componer un bankroll volátil, y una moneda 60/40 lo cubre muchas veces a lo largo de una secuencia larga. Con una apuesta del 40%, el costo de ida y vuelta es del 16%, y la moneda ya no lo cubre: la tasa de crecimiento al doble de la fracción de Kelly llega aproximadamente a cero. Más allá de ese punto, una apuesta con una ventaja genuina y verificada no crece nada, que es el dato más útil que transmite la fórmula.
Lo que la fórmula pide en una apuesta diaria de acciones
Ahora aplique la misma fórmula a un mercado. Trate un día de trading en una acción como una repetición de la apuesta: la probabilidad de ganar es la proporción de sesiones que cerraron al alza, el tamaño de la ganancia es el movimiento promedio de los días alcistas, y el tamaño de la pérdida es el movimiento promedio de los días bajistas. Diez años calendario completos de cierres diarios, de 2016 a 2025, en seis nombres conocidos:
El SQL exacto detrás de cada cifra
WITH daily AS (
SELECT ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'JNJ', 'MSFT', 'NVDA', 'TSLA')
AND window_start >= '2016-01-01 00:00:00'
AND window_start < '2026-01-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker, dt
),
steps AS (
SELECT ticker, dt, c,
lagInFrame(c) OVER (PARTITION BY ticker ORDER BY dt
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
FROM daily
),
rets AS (
SELECT ticker, c / prev - 1 AS ret
FROM steps
WHERE prev > 0 AND c != prev
)
SELECT ticker,
round(100 * countIf(ret > 0) / count(), 1) AS win_rate_pct,
round(100 * avgIf(ret, ret > 0), 2) AS avg_gain_pct,
round(100 * abs(avgIf(ret, ret < 0)), 2) AS avg_loss_pct,
round(countIf(ret > 0) / count() / abs(avgIf(ret, ret < 0))
- countIf(ret < 0) / count() / avgIf(ret, ret > 0), 1) AS full_kelly_x
FROM rets
GROUP BY ticker
HAVING countIf(ret > 0) > 0 AND countIf(ret < 0) > 0
ORDER BY full_kelly_x DESCLea las primeras tres columnas y la ventaja parece diminuta. Las tasas de acierto se agrupan cerca de un volado, y el día alcista promedio y el día bajista promedio tienen un tamaño similar para cada nombre en el panel. SPY cerró al alza en el 55.3% de sus sesiones, ganando un 0.71% en un día alcista promedio frente a un 0.76% en un día bajista promedio.
La última columna es donde empiezan los problemas. Esos insumos pequeños y casi equilibrados se colocan en los denominadores de la fórmula, y los denominadores pequeños producen respuestas grandes. La fracción que la fórmula devuelve para SPY es 10.1 veces el capital, y la más baja de los 6 nombres aún se sitúa en 2 veces. El Kelly completo en una apuesta diaria de renta variable no es un porcentaje de la cuenta. Es una exigencia de apalancamiento que ningún bróker otorga y ninguna cuenta sobrevive.
La forma de la compensación
Esa es la teoría. El siguiente panel es el experimento. Tome los rendimientos diarios reales del ETF del S&P 500 durante los mismos diez años, escale el rendimiento de cada día por un tamaño de apuesta fijo y componga el resultado. Un tamaño de apuesta de 1.0x es el índice sin apalancamiento. Un tamaño de apuesta de 3.0x compromete tres dólares por cada dólar de capital, todos los días, rebalanceado diariamente. Cada fila es una trayectoria completa de diez años, con su riqueza final y la caída máxima de pico a valle que experimentó en el camino.
El SQL exacto detrás de cada cifra
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2016-01-01 00:00:00'
AND window_start < '2026-01-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
steps AS (
SELECT dt, c,
lagInFrame(c) OVER (ORDER BY dt ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
FROM daily
),
rets AS (
SELECT dt, c / prev - 1 AS ret
FROM steps
WHERE prev > 0
),
sizes AS (
SELECT arrayJoin([0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0]) AS bet
),
paths AS (
SELECT bet, dt,
exp(sum(log(greatest(1 + bet * ret, 0.0001)))
OVER (PARTITION BY bet ORDER BY dt
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)) AS equity
FROM rets CROSS JOIN sizes
),
peaks AS (
SELECT bet, dt, equity,
max(equity) OVER (PARTITION BY bet ORDER BY dt
ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS peak
FROM paths
)
SELECT concat(toString(bet), 'x') AS bet_size,
round(argMax(equity, dt), 2) AS ending_multiple,
round(100 * max(1 - equity / peak), 1) AS max_drawdown_pct
FROM peaks
GROUP BY bet
ORDER BY betEn 0.5x la trayectoria terminó en 1.92 veces su capital inicial, con una caída máxima de 18.2% desde un máximo anterior. En 5x, con los mismos rendimientos diarios y la misma década, la trayectoria terminó en 14.35 veces, con una caída máxima de 94.5%.
Las dos columnas se mueven de manera diferente, y esa es la lección completa del Kelly fraccional. La riqueza final aumenta con el tamaño de la apuesta durante un tiempo, se estabiliza y luego disminuye a medida que el lastre de la composición de la volatilidad supera la exposición adicional. La columna de drawdown no tiene ese punto de inflexión. Sube en cada paso a lo largo de las 8 filas, y sube más rápido de lo que la columna de riqueza lo hizo jamás. La mitad del crecimiento de la apuesta óptima está disponible a la mitad del tamaño de la apuesta óptima, con una pequeña fracción del dolor. Esa asimetría es el argumento para apostar menos que f*, y es la razón por la que existe la convención del medio Kelly.
La estimación es la parte débil, no la fórmula
La fórmula es exacta para una apuesta cuyas probabilidades se conocen. En un casino, las probabilidades están impresas. En un mercado, se estiman a partir de la historia, y la estimación fluctúa. Aquí está el mismo cálculo que en el primer panel, ejecutado por separado en cada uno de los diez años calendario para un solo ETF de índice.
El SQL exacto detrás de cada cifra
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS dt,
argMax(toFloat64(close), window_start) AS c
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= '2016-01-01 00:00:00'
AND window_start < '2026-01-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY dt
),
steps AS (
SELECT dt, c,
lagInFrame(c) OVER (ORDER BY dt ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev
FROM daily
),
rets AS (
SELECT dt, c / prev - 1 AS ret
FROM steps
WHERE prev > 0 AND c != prev
)
SELECT toString(toYear(dt)) AS year,
round(100 * countIf(ret > 0) / count(), 1) AS win_rate_pct,
round(100 * avgIf(ret, ret > 0), 2) AS avg_gain_pct,
round(100 * abs(avgIf(ret, ret < 0)), 2) AS avg_loss_pct,
round(countIf(ret > 0) / count() / abs(avgIf(ret, ret < 0))
- countIf(ret < 0) / count() / avgIf(ret, ret > 0), 1) AS full_kelly_x
FROM rets
GROUP BY year
HAVING countIf(ret > 0) > 0 AND countIf(ret < 0) > 0
ORDER BY yearCada fila es una estimación de la misma cantidad desconocida, construida a partir de aproximadamente 250 observaciones. El año 2016 devolvió 13.7, con una tasa de acierto de 53.8%. El año 2025 devolvió 12.3, con una tasa de acierto de 57.8%. El gráfico muestra qué tan separadas pueden estar 10 lecturas de un mismo número cuando cada una se extrae de un solo año.
Esa dispersión importa más que cualquier refinamiento de la fórmula. Si sobreestima su ventaja por un factor de dos, la fórmula devuelve aproximadamente el doble del tamaño de la apuesta, lo que lo coloca en o más allá del punto donde el crecimiento se vuelve negativo. Si la subestima, renuncia al crecimiento que podría haber compuesto, sin riesgo de ruina. Los dos errores no son simétricos, y el lado barato de la asimetría es el lado pequeño. Los profesionales que usan Kelly tienden a apostar la mitad, o un cuarto, y tratan la fórmula como un techo en lugar de un objetivo.
Donde el modelo deja de describir un mercado
Kelly asume una apuesta que se puede repetir con probabilidades fijas y conocidas, y resultados que son independientes de una repetición a la siguiente. Un mercado rompe todo eso. Las probabilidades se estiman y cambian con el tiempo. Los rendimientos diarios se agrupan: los períodos tranquilos siguen a períodos tranquilos, y los días violentos llegan en grupos, lo que alarga los drawdowns más allá de lo que predice un supuesto de independencia. Las posiciones no se liquidan al final de cada día, los gaps saltan más allá del precio en el que se habría cerrado una apuesta, y los margin calls llegan según el cronograma del bróker, no según el cronograma del modelo.
La fórmula aún se gana su lugar como un límite. Establece, en una línea, que hay un tamaño de apuesta más allá del cual más convicción produce menos riqueza, y localiza ese límite a partir de cantidades que un trader al menos puede intentar medir. Esa es también la razón por la que la misma lógica apunta hacia la diversificación: varias apuestas parcialmente independientes comparten el mismo presupuesto de riesgo total de manera más eficiente que una sola apuesta, que es la aritmética subyacente a riesgo de concentración. Y para un inversor que agrega dinero según un cronograma en lugar de dimensionar apuestas discretas, la pregunta del tamaño de la posición la responde el propio cronograma, que es el caso a favor de promediar el costo en dólares.
FAQ
¿Cuál es la fórmula del criterio de Kelly?
Para una apuesta que gana una fracción g de la apuesta con probabilidad p y pierde una fracción l con probabilidad q, la fracción de capital que optimiza el crecimiento es f = p / l - q / g. En el caso de dinero parejo se simplifica a f = p - q, la ventaja misma.
¿Por qué los traders usan medio Kelly en lugar de Kelly completo?
El crecimiento es casi plano cerca del óptimo mientras que el riesgo sigue aumentando más allá de él, por lo que reducir la apuesta a la mitad sacrifica una cantidad modesta de crecimiento a largo plazo y elimina una gran parte del drawdown. El error de estimación agrava el argumento: una apuesta duplicada a partir de una ventaja sobrestimada se sitúa cerca del punto donde el crecimiento se detiene.
¿Funciona el criterio de Kelly para las acciones?
Se aplica como aritmética, y sus supuestos de probabilidades fijas y conocidas y resultados independientes no se cumplen en los mercados. Aplicado ingenuamente a los rendimientos diarios de renta variable, exige un apalancamiento muy por encima de lo que cualquier cuenta puede soportar, como muestra el primer panel anterior.
¿Qué sucede si apuesta más que la fracción de Kelly?
La tasa de crecimiento a largo plazo cae. A aproximadamente el doble de la fracción de Kelly, llega a cerca de cero, y más allá de eso, una apuesta con una ventaja real reduce el capital con el tiempo mientras sus drawdowns siguen profundizándose.
¿Es el criterio de Kelly lo mismo que arriesgar el 1% o el 2% por operación?
No. Una regla de porcentaje fijo ignora las probabilidades por completo y aplica el mismo número a cada configuración. Kelly escala la apuesta con la ventaja medida, lo que lo hace más receptivo cuando se conoce la ventaja y más frágil cuando se adivina.
Cada cifra anterior proviene de una consulta almacenada que puede abrir, editar y volver a ejecutar. Cambie los tickers, la ventana o la cuadrícula de tamaño de apuesta y mida la compensación usted mismo en el terminal de Strasmore.