A las finanzas les gusta presentarse como racionales. Hay una estrategia, una regla de entrada, una regla de salida y un backtest limpio (una prueba histórica de la estrategia). Sobre el papel, todo parece perfecto. En la vida real, sin embargo, hay una persona entre la regla y el botón de “comprar”. Y las personas no ejecutan sistemas de forma perfecta. Dudan, retrasan salidas, añaden riesgo después de una racha ganadora y posponen decisiones justo cuando hace falta actuar.

En este caso, tomé una estrategia baseline simple: SPY (un fondo cotizado que sigue el índice S&P 500) con una regla 200DMA (media móvil de 200 días: si el precio está por encima, seguimos en posición; si está por debajo, pasamos a liquidez). Después dejé el mercado sin cambios (¿cómo no? 😅) y cambié solo el comportamiento de la persona que ejecuta el sistema. En otras palabras, superpuse cuatro sesgos cognitivos típicos sobre la misma estrategia y observé qué hacían con el resultado.

Baseline CAGR11.0%
Baseline MaxDD19.8%
Baseline trades31
Periodo de prueba11 years

El resultado fue más fuerte de lo que esperaba. Dos sesgos apenas dañaron el sistema. Dos lo empeoraron. Uno generó un efecto positivo muy fuerte. Y la combinación de los cuatro creó un resultado extraño pero lógico: la estrategia casi se convirtió en buy and hold y realizó solo una operación durante todo el período.

La clave no es que la gente “cometa errores”. Lo importante de verdad es que distintos tipos de errores producen consecuencias financieras distintas. Algunos cuestan solo unas décimas de punto porcentual al año. Otros pueden remodelar por completo el perfil de riesgo y rentabilidad.

Qué modelos probé

No me gusta hablar vagamente de “emociones en el mercado”, así que traduje cada sesgo en una regla clara que realmente puede programarse. Cada fenómeno psicológico se convirtió en un modelo conductual separado.

1. House money effect (actuar como si las ganancias recientes fueran “dinero gratis”): después de una racha de días ganadores, el trader aumenta el tamaño de la posición. En el modelo, tras 3 días ganadores seguidos, la posición aumenta 1.5x.

2. Confirmation bias (buscar una señal más antes de aceptar que estás equivocado): el trader ignora la primera señal de salida porque quiere una confirmación extra de que realmente es hora de salir. En el modelo, se omite la primera señal de venta.

3. Escalation of commitment (seguir aferrado a una posición perdedora porque admitir el error cuesta psicológicamente): la salida se retrasa si el drawdown es más profundo que -8%.

4. Status quo bias (preferir la inacción porque el cambio se siente incómodo): la señal se acepta solo después de 3 días de confirmación.

5. Combined: los cuatro sesgos están activos al mismo tiempo, que es lo que suele pasar en la vida real.

Lo importante aquí es que no intento demostrar que los sesgos sean “siempre malos”. Lo que muestro es que cambian la ejecución del sistema. Después de eso, el mercado decide si ese cambio te ayuda o te perjudica.

Qué mostraron los resultados

El hallazgo más extraño fue este: la mayor rentabilidad no vino del modelo baseline racional, sino del modelo combined, donde todos los sesgos trabajaban juntos. Y ahí es exactamente donde la interpretación se vuelve peligrosa. Si miras solo el CAGR (compound annual growth rate, o rentabilidad anual media), puedes llegar a la conclusión equivocada.

Estos fueron los resultados reales del modelo:

Combined: CAGR 28.6%, Sharpe ratio (rentabilidad relativa a la calidad del riesgo) 1.53, MaxDD (drawdown máximo) 33.7%, 1 operación, Terminal Wealth (capital final si empiezas con 1) 14.2.

House money: CAGR 20.5%, Sharpe 1.64, MaxDD 17.9%, 31 operaciones, Terminal Wealth 7.14.

Escalation: CAGR 11.5%, Sharpe 0.96, MaxDD 19.8%, 30 operaciones, Terminal Wealth 3.14.

Baseline: CAGR 11.0%, Sharpe 0.93, MaxDD 19.8%, 31 operaciones, Terminal Wealth 3.01.

Status quo: CAGR 10.7%, Sharpe 0.87, MaxDD 21.1%, 14 operaciones, Terminal Wealth 2.93.

Confirmation: CAGR 10.3%, Sharpe 0.85, MaxDD 23.3%, 25 operaciones, Terminal Wealth 2.81.

A primera vista, combined parece el ganador. Pero si el modelo hizo solo 1 operación en 11 años, eso ya no es un “mejor sistema de trading”. Es casi una lógica conductual distinta. Entró al mercado y casi nunca salió. En otras palabras, la combinación de sesgos creó un behavioral lock-in (un estado en el que el trader se vuelve psicológicamente incapaz de salir).

Esto lleva a la conclusión principal: los modelos conductuales no pueden juzgarse solo por la rentabilidad. Hay que mirar el mecanismo y el contexto. ¿Por qué exactamente el modelo ganó dinero? ¿Porque ejecutó mejor? ¿O porque en la práctica desactivó la disciplina de salida?

Qué significa esto para un trader o inversor común

House money effect funcionó bien en este caso. Eso significa que cuando el mercado ya está subiendo y un trader aumenta tamaño después de una racha de ganancias, puede superar al sistema baseline. Pero esto no es un truco universal. Funciona mientras el activo tenga una fuerte tendencia alcista. En un mercado lateral o durante una caída prolongada, el mismo comportamiento destruiría capital.

Confirmation bias resultó ser daño puro. Cuando una persona retrasa la salida y quiere una confirmación más, no se vuelve más inteligente. Simplemente sale más tarde y a peor precio. En los números puede no parecer dramático. Sin embargo, a lo largo del tiempo, incluso perder 0.7 puntos porcentuales al año crea una gran diferencia en el capital final.

Status quo bias también perjudica, aunque de forma más suave. Cuando retrasas la acción simplemente porque actuar se siente psicológicamente incómodo, el mercado no espera. Si una estrategia tiene una regla, su valor reside precisamente en activarse a tiempo.

Combined es la historia más peligrosa aquí. No muestra un “superpoder del sesgo”. Muestra cómo varios pequeños desplazamientos conductuales, actuando juntos, pueden transformar por completo el sistema. Así es exactamente como algunas personas permanecen años en una posición y lo llaman “convicción de largo plazo”, cuando en realidad ya han perdido la capacidad de salir.

Qué deberían sacar de esto las fintech

La interfaz no es neutral. Si tu app empuja a los usuarios a añadir riesgo después de ganar, hace que vender sea más difícil que comprar, oculta métricas negativas o no les recuerda revisar una posición, no estás solo mejorando el engagement. Estás programando una desviación conductual. A veces eso elevará la rentabilidad en un mercado alcista, pero también puede aumentar el riesgo de un colapso brusco y doloroso.

Una oportunidad aparte para las fintech es la behavioral analytics. No se trata solo de mostrar al usuario beneficio y riesgo, sino de mostrarle su patrón de errores: retrasas salidas, añades riesgo después de una racha de ganancias, te bloqueas en drawdown, evitas cambios en la cartera. En ese punto, el dashboard deja de ser solo un dashboard y se convierte en un espejo conductual.

Gráficos y código

Comparación de la estrategia baseline con sesgos conductuales por separado
Gráfico 1. Baseline frente a cada sesgo por separado. Aquí se vuelve visualmente claro que house money se adelanta, mientras confirmation y status quo se quedan atrás.
Comparación entre el modelo baseline y el combined
Gráfico 2. Baseline frente a combined. Combined parece impresionante en la superficie, pero detrás de esa curva solo hay una operación y un perfil de riesgo muy distinto.
Costo conductual de distintos sesgos respecto al baseline
Gráfico 3. Behavior cost. Los valores negativos significan que el modelo sesgado superó al baseline. Los valores positivos significan que el comportamiento destruyó parte de la rentabilidad.
Comparación de drawdowns para baseline, escalation y combined
Gráfico 4. Comparación de drawdown. Un gráfico de apoyo que muestra el precio de una curva de equity bonita: combined tiene el drawdown más profundo.
baseline <- SPY %>% fortify.zoo() %>% as_tibble() %>% transmute( date = as.Date(Index), adjusted = SPY.Adjusted, ret = adjusted / lag(adjusted) - 1 ) %>% mutate( sma200 = SMA(adjusted, n = 200), raw_signal = if_else(adjusted > sma200, 1L, 0L, missing = 0L), signal = lag(raw_signal, 1, default = 0L), position = signal, strategy_ret = position * ret )

La idea central de este caso no es que “las personas sean irracionales”. Eso sería demasiado banal. La idea es que la irracionalidad puede describirse como un mecanismo, probarse como un modelo y traducirse en decisiones concretas de producto, inversión y riesgo. Ahí es donde empieza el valor real de las finanzas conductuales.