I am going to break down how to use linear regression to win every single trade, build a real alpha signal & share the exact winning code.
Let's get straight to it.
Guarda esto
- Soy Roan, desarrollador backend especializado en diseño de sistemas, ejecución tipo HFT y sistemas de trading cuantitativo. Mi trabajo se centra en cómo se comportan realmente los mercados de predicción bajo carga. Para sugerencias, colaboraciones reflexivas o alianzas, los mensajes directos están abiertos.
Todo cuant tiene una versión de esta historia.
Pasas una semana en un modelo. El backtest se ve perfecto, la curva de capital apunta directo hacia arriba y crees que por fin lo encontraste. Lo pones en vivo. Dos semanas después está perdiendo dinero y no tienes idea de por qué.
He visto este ciclo acabar con más carreras de cuants que cualquier crisis de mercado. El modelo nunca fue real. Era ruido disfrazado de señal. Y la habilidad más valiosa en todo este campo es aprender a distinguirlos antes de arriesgar un solo dólar.
Esa habilidad comienza con la herramienta más subestimada en las finanzas cuantitativas.
Regresión lineal.
Sé cómo suena. La regresión lineal es eso que todos creen haber aprendido en una tarde y haber superado. Pero esto es lo que me llevó años y pérdidas reales entender. La gente que maneja miles de millones en las mejores firmas no usa monstruos exóticos de deep learning para la mayoría de sus señales principales. Usan regresión lineal, entendida mucho más profundamente de lo que la mayoría llega, aplicada con una disciplina que la mayoría nunca construye.
Mira la operación de trading más exitosa de la historia.
Jim Simons construyó Renaissance Technologies sobre este fundamento exacto. Su Medallion Fund promedió aproximadamente un 66 por ciento de rendimiento bruto anual de 1988 a 2018, el mejor registro jamás documentado. Y según su propio equipo, el fondo acertó solo en aproximadamente el 50.75 por ciento de sus operaciones. A través de millones de operaciones, ese margen tan fino se convirtió en más de 100 mil millones de dólares. No estaban prediciendo el futuro. Estaban extrayendo una señal pequeña, real y repetible de un océano de ruido, que es exactamente para lo que está diseñada la regresión.
AQR, que ahora maneja alrededor de 179 mil millones de dólares, construyó su imperio sobre modelos de factores basados en regresión.
PDT Partners ejecutó arbitraje estadístico durante años sin un solo año perdedor.
Esta es la versión de la regresión lineal que nadie te enseñó.
Al final de este artículo entenderás qué es realmente la regresión lineal, qué significa realmente el alfa, cómo construir una señal de un solo factor y multifactor desde cero con código real, cómo leer un resultado de regresión como un investigador institucional, las pruebas exactas que separan una señal real de una coincidencia y por qué incluso una señal real eventualmente muere.
Nota: Este artículo es deliberadamente largo y cada parte se basa en la anterior. Si hablas en serio sobre construir señales que sobrevivan en mercados reales, lee cada palabra. Si quieres un indicador mágico, esto no es para ti.
Parte 1: Qué es realmente la regresión lineal

La regresión lineal encuentra la única línea recta que está más cerca de todos los puntos de datos a la vez.
Olvida las finanzas por un segundo.
La regresión lineal es solo la matemática de dibujar la mejor línea recta a través de una nube de puntos.
Imagina graficar el tamaño de una casa contra su precio. Las casas más grandes cuestan más, así que los puntos se elevan. La regresión lineal encuentra la única línea recta que está más cerca de todos esos puntos a la vez. Ingresa el tamaño de una casa nueva y obtienes su precio predicho. Esa es toda la idea. Es una máquina que aprende la relación entre una entrada y una salida, y luego la usa para predecir.
Andrew Ng abre su famoso curso de machine learning en Stanford con este mismo ejemplo del precio de las casas, porque es el algoritmo de aprendizaje más simple que existe y la base sobre la que se construye todo lo demás.
La línea tiene la fórmula que ya conoces del colegio:
y = a + b x
Aquí y es lo que predices, x es tu entrada, b es la pendiente, qué tan pronunciadamente sube y cuando x sube, y a es el intercepto, el valor de y cuando x es cero. El método que encuentra la mejor a y b es Mínimos Cuadrados Ordinarios, u OLS. De entre todas las líneas posibles, OLS elige la que hace que la suma de las brechas al cuadrado entre la línea y los puntos reales sea lo más pequeña posible. Al cuadrado, para que los errores por encima y por debajo cuenten, y los errores grandes se castiguen mucho más que los pequeños.
Puedes verlo todo en unas pocas líneas:
1import numpy as np2import statsmodels.api as sm34x = np.array([1400, 1600, 1700, 1875, 2350, 2450]) # tamaño de la casa5y = np.array([245, 312, 279, 308, 405, 324]) # precio en miles67X = sm.add_constant(x) # añade el término de intercepto 'a'8model = sm.OLS(y, X).fit()9print(model.params) # te da a y b
Ahora llévalo a los mercados. En trading, tu y se convierte en el rendimiento de un activo, y tu x se convierte en un factor que crees que predice ese rendimiento. La pendiente se convierte en tu sensibilidad a ese factor. Y ese humilde intercepto, a, se convierte en el número más importante en las finanzas cuantitativas. He aquí por qué.
Parte 2: Qué es realmente el alfa

El rendimiento total se divide en beta, la parte que el mercado explica, y alfa, la parte que no puede.
La mayoría de los traders usan la palabra alfa para significar ganancia. Eso está mal, y el error es costoso.
El alfa es el rendimiento que obtiene tu estrategia que no puede ser explicado por la exposición a factores de riesgo conocidos. Si ganaste un 20 por ciento en un año pero el mercado también ganó un 20 por ciento, tu alfa es cero. Solo estabas manteniendo beta, el rendimiento que obtienes por asumir riesgo de mercado. Te pagaron por cabalgar la ola, no por habilidad.
Esta distinción es todo el juego, y la regresión es la cuchilla que separa los dos. El modelo fundamental. El rendimiento de tu estrategia en el tiempo t, escrito rₜ, es una línea base más su exposición a un factor Xₜ más ruido:
rₜ = α + β Xₜ + εₜ
Léelo despacio. La β es tu sensibilidad al factor. Si el factor es el mercado, beta dice qué tan fuerte te mueves cuando el mercado se mueve. La εₜ es ruido aleatorio, la parte que ningún factor explica. Y α, el intercepto, es el rendimiento que ganas en promedio cuando el factor no contribuye nada.
Ese intercepto es todo el premio. Si después de eliminar cada factor de riesgo conocido tu estrategia aún muestra un alfa positivo y estadísticamente significativo, encontraste algo real. Si el alfa desaparece en cuanto contabilizas los factores, nunca tuviste ventaja. Tenías beta disfrazada de genialidad.
Michael Jensen enmarcó la habilidad de esta manera por primera vez en 1968 cuando probó si los gestores de fondos mutuos podían realmente superar al mercado. Ejecutó esta misma regresión e hizo una pregunta. ¿Es el intercepto diferente de cero? Casi sesenta años después, así es como se sigue juzgando el rendimiento institucional. Se llama alfa de Jensen, y es la base de la disciplina.
**Así que cuando construyes una señal, tu trabajo nunca es maximizar el rendimiento bruto.
Es producir un intercepto positivo que sobreviva después de que los factores conocidos hayan desaparecido. Mantén eso. Todo lo demás lo sirve.**
Parte 3: Construyendo tu primera señal desde cero

Una señal real mide el alfa solo después de que se haya eliminado cada factor conocido.
Construyamos el modelo real más simple, luego hagámoslo de grado institucional. Supón que crees que el rendimiento de un activo puede predecirse parcialmente por un factor: el rendimiento previo de un activo relacionado, una medida de momentum, una métrica de valor. La regresión de un solo factor es:
rₜ = α + β Xₜ + εₜ
En Python son unas pocas líneas, y el intercepto es la parte que nunca debes saltarte:
1import statsmodels.api as sm23# X es tu serie de factores, y es el rendimiento del activo que quieres explicar4X = sm.add_constant(X) # ESTA línea crea tu intercepto alfa5model = sm.OLS(y, X).fit()6print(model.summary())
Esa línea add_constant no es una formalidad. Es la línea que crea tu término alfa. Olvídala y fuerzas la línea a pasar por cero, desechando el número más importante de toda la salida.
Pero el mundo real nunca es un solo factor. Una señal seria tiene en cuenta muchas influencias a la vez. Ese es el modelo multifactor:
rₜ = α + β₁X₁ₜ + β₂X₂ₜ + ... + βₖXₖₜ + εₜ
Cada beta ahora mide el efecto de su propio factor mientras mantiene todos los demás constantes. Esa frase, mantener los demás constantes, es el superpoder silencioso de la regresión. Aísla la contribución única de cada factor y elimina la superposición. Cuando regresas los rendimientos de tu estrategia contra los factores establecidos (mercado, tamaño, valor, momentum), cualquier alfa que quede en ese intercepto es la porción de tu ventaja que ninguno de los factores conocidos puede explicar.
1import statsmodels.api as sm23# factors es un DataFrame, cada columna un factor, alineado a los rendimientos y4X = sm.add_constant(factors)5model = sm.OLS(y, X).fit()67alpha = model.params['const'] # tu candidato a ventaja8p_alpha = model.pvalues['const'] # cuánto confiar en él9print("Alfa:", round(alpha, 5))10print("Valor p del alfa:", round(p_alpha, 4))
Ese intercepto residual es tu señal candidata. Todo a partir de aquí se trata de demostrar si es real.
Aquí es exactamente donde la mayoría de los tutoriales públicos se detienen, y donde el trabajo institucional realmente comienza. La construcción del factor, la neutralización, los esquemas de ponderación que convierten una señal cruda en un libro negociable. Si quieres ver exactamente cómo una firma como AQR convierte estas regresiones en un portafolio de factores en vivo, ese desglose es donde lo llevo hasta el final.
Parte 4: Leyendo la salida como un investigador institucional

El profesional no pregunta qué tan grande es el rendimiento. Pregunta qué tan seguro está de que no es un accidente.
Cuando ejecutas ese resumen, la mayoría de la gente mira un número y sigue adelante. Un investigador entrenado lo lee como un informe de diagnóstico. Esto es lo que realmente importa.
El coeficiente y su signo. Cada beta da dirección y fuerza. Antes de confiar en cualquier número, pregúntate si el signo siquiera tiene sentido económico. Si tu modelo dice compra cuando algo es más caro y no puedes explicar por qué, encontraste una casualidad, no un factor.
El valor p. Este es el corazón de todo. Responde una pregunta. Si este factor realmente no tuviera efecto, ¿qué tan probable sería que viera una relación tan fuerte puramente por casualidad? Un valor p de 0.62 significa un 62 por ciento de probabilidad de que estés viendo suerte aleatoria. Por debajo de 0.05 es el estándar convencional para tomar un resultado en serio. Un cuant que mira un modelo fallido con un valor p de 0.62 no está viendo una señal débil. Está viendo ruido puro.
R-cuadrado. La fracción de la variación del rendimiento que tu modelo explica, y aquí está la parte que pone patas arriba a los principiantes. En la predicción de rendimientos, un R-cuadrado alto suele ser una advertencia, no un trofeo. Las señales de rendimiento reales son débiles. Un R-cuadrado de 0.01 o 0.02 puede ser enormemente rentable si es persistente y real. Si ves 0.9 en una predicción de rendimiento, casi con seguridad tienes sesgo de mirar hacia adelante o estás haciendo regresión de algo contra sí mismo por accidente.
El estadístico t. El coeficiente dividido por su error estándar. Una regla aproximada es que un estadístico t por encima de 2 en valor absoluto coincide con el umbral de 0.05. Los investigadores serios exigen 3 o más en una señal nueva, precisamente porque saben cuántas señales probaron en silencio antes de esta.
Puedes extraerlos directamente en lugar de leer toda la tabla:
1print("t-stats:\n", model.tvalues)2print("p-values:\n", model.pvalues)3print("R-squared:", round(model.rsquared, 4))
Internaliza el cambio. El principiante pregunta qué tan grande es el rendimiento. El profesional pregunta qué tan seguro estoy de que este rendimiento no es un accidente. Ese único cambio en la pregunta es toda la diferencia.
Parte 5: Las pruebas que separan la señal real del ruido, y por qué las señales mueren

Ejecuta cada candidato a través de la misma prueba. Casi nada sobrevive, y ese es el punto.
Aquí está la verdad brutal. Si pruebas suficientes señales aleatorias, algunas parecerán rentables por pura casualidad. Prueba 100 señales inútiles al nivel de 0.05 y aproximadamente 5 pasarán solo por suerte. Este es el problema de las pruebas múltiples y es la razón número uno por la que los backtests mienten. Así es como los escritorios serios se defienden de ello.
Validación fuera de muestra. Nunca juzgues una señal con los datos con los que la construiste. Divide tu historial. Construye en la primera porción, prueba en una porción que el modelo nunca haya visto. Una señal real sobrevive el cruce. Una fantasía ajustada se derrumba en cuanto se encuentra con datos nuevos. No negociable.
1split = int(len(y) * 0.8)2X_train, X_test = X[:split], X[split:]3y_train, y_test = y[:split], y[split:]45model = sm.OLS(y_train, X_train).fit()6oos_pred = model.predict(X_test) # prueba en datos no vistos
Coeficiente de Información. Los investigadores institucionales de factores rara vez viven o mueren por una sola regresión. Calculan el IC, la correlación entre el valor de un factor y el rendimiento real futuro, una y otra vez a lo largo del tiempo. Un factor con un IC medio por encima de aproximadamente 0.03 a 0.05 que se mantiene estable a través de muchos períodos supera a uno con un único backtest hermoso cada vez. La estabilidad a través de regímenes es la verdadera señal.
Errores estándar de Newey-West. Los datos financieros rompen un supuesto central de OLS porque los rendimientos y la volatilidad se agrupan en el tiempo. Los valores p crudos mentirán, generalmente favoreciendo a tu señal. Newey-West corrige tus errores estándar para esto. Usarlo marca silenciosamente a alguien que sabe lo que hace.
1# Significancia corregida por Newey-West, el estándar institucional2model = sm.OLS(y, X).fit(cov_type='HAC', cov_kwds={'maxlags': 5})3print(model.summary())
Corrección por pruebas múltiples. Si probaste 50 señales, no puedes juzgar al ganador con el estándar normal. La defensa simple es Bonferroni: dividir tu umbral por el número de cosas que probaste. ¿Probaste 50 señales? Exige un valor p por debajo de 0.001, no de 0.05. Es brutal, y ese es el punto. Obliga a ser honesto acerca de cuántas veces fuiste a pescar.
Ejecuta un candidato a través de validación fuera de muestra, un IC estable, significancia Newey-West y una corrección por pruebas múltiples, y si aún sigue en pie, tienes algo que la mayoría de los traders minoristas nunca producen en su vida. Una señal en la que genuinamente te has ganado el derecho a confiar.
Pero entiende la verdad final. Incluso una señal real se deteriora. El alfa vive en la ineficiencia del mercado, y en el momento en que una señal es conocida y negociada, el propio trading aleja la ineficiencia. Investigaciones recientes sobre el hacinamiento de factores muestran que las señales mecánicas y fáciles de copiar, como el momentum simple, se deterioran a lo largo de una curva pronunciada y predecible a medida que el capital se acumula, y que este hacinamiento se aceleró drásticamente una vez que la inversión por factores se volvió barata a través de ETFs. Las señales más simples son las más concurridas y mueren más rápido. La ventaja duradera vive en señales que requieren trabajo real para construirse, y en un proceso de investigación que produce nuevas más rápido de lo que las viejas se erosionan. Por eso Renaissance nunca dejó de investigar ni un solo día en treinta años.
Tarea: Toma una señal en la que creas actualmente. Ejecútala en el 20 por ciento más reciente de tus datos, que fingirás que nunca has visto. Si el alfa desaparece, te acabas de ahorrar dinero real. Es la prueba más valiosa que jamás ejecutarás.
Parte 6: Lo que acabas de construir, de principio a fin

Cada señal real se erosiona a medida que se llena de gente. El motor de investigación que las reemplaza es la verdadera ventaja.
Da un paso atrás y mira la máquina completa que ahora tienes, porque las piezas se conectan en un pipeline limpio.
Comienzas con un factor, cualquier cosa que creas que lleva información sobre rendimientos futuros. Regresas los rendimientos de tu activo en ese factor con OLS, incluyendo siempre el intercepto, y ese intercepto es tu alfa candidato. Expandes a una regresión multifactor para que tu alfa se mida solo después de que los factores de riesgo conocidos (mercado, tamaño, valor, momentum) hayan sido eliminados. Lo que queda en el intercepto es ventaja pura e inexplicada.
Luego lo interrogas. Lees el valor p para preguntar si podría ser suerte. Verificas el signo para ver si tiene sentido económico. Ignoras el seductor R-cuadrado alto y respetas el pequeño y honesto. Validas fuera de muestra en datos que el modelo nunca ha tocado. Calculas el Coeficiente de Información a través de muchos períodos para confirmar que es estable, no una casualidad única. Corriges tus errores estándar con Newey-West para que la estructura temporal de los mercados no te engañe. Y aplicas una corrección por pruebas múltiples para que el número de señales que probaste no pueda fabricar un ganador falso.
Lo que sale al otro lado no es una suposición. Es una señal con una ventaja medida, un nivel de confianza conocido, prueba de que sobrevive en datos no vistos y una contabilidad honesta de qué tan probable es que sea real. Esa es la diferencia entre la persona cuyo modelo muere en dos semanas y la persona que construye algo que perdura.
Y así es como realmente gana dinero. Una señal con una ventaja pequeña pero genuina y estable, negociada a través de muchas oportunidades independientes, se compone. Renaissance acertó apenas un poco más de la mitad de las veces y convirtió eso en la mayor fortuna en la historia del mercado, porque la ventaja era real, era repetible y la dimensionaron correctamente a través de una enorme cantidad de apuestas. Ahora estás trabajando desde el mismo plano. Construye la señal, demuestra que es real, dimensiónala sensatamente y reemplázala en cuanto su IC comience a desvanecerse.
Ese bucle de reemplazo es toda la carrera. Una señal es una operación. Un proceso de investigación que sigue produciendo señales reales más rápido de lo que se deterioran es una franquicia.
El resumen
La regresión lineal no es la herramienta aburrida que te saltaste. Dibuja la mejor línea a través de tus datos, define qué es realmente el alfa, construye tu primera señal real, prueba si esa señal es genuina o ruido, y te advierte cuando la señal comienza a morir.
El alfa es el intercepto que sobrevive después de que se elimina cada factor de riesgo conocido. Construyes un candidato con OLS, primero de un solo factor, luego multifactor. Lees la salida como un investigador, donde el valor p y la estabilidad importan más que el tamaño del rendimiento. Te defiendes contra la trampa de las pruebas múltiples con validación fuera de muestra, un Coeficiente de Información estable, errores Newey-West y una corrección por cuántas señales probaste. Y aceptas que cada señal real se deteriora, lo que significa que la verdadera ventaja es el motor de investigación, no ningún modelo individual. El mismo motor que construyó el fondo más grande de la historia.
El cuant que mira un Sharpe de 0.03 y un valor p de 0.62 no tiene mala suerte. Se saltó la disciplina de este artículo. No seas él.
Aquí está la pregunta con la que quiero que te quedes.
Si el alfa real se deteriora en cuanto se vuelve ampliamente conocido, entonces publicar una señal la destruye, mientras que acaparar una señal significa que aún muere lentamente a medida que otros la descubren de forma independiente.
Entonces, ¿de dónde viene realmente la ventaja duradera? ¿De las señales mismas, o de la velocidad del proceso de investigación que las reemplaza?
Tu respuesta revela si piensas como un trader que persigue una gran ganancia, o como un cuant que construye una máquina que imprime ventaja durante décadas.
Deja tu respuesta en los comentarios. No hay respuesta incorrecta. Pero las hay muy reveladoras.





