Operando con mecánica cuántica: Cómo construir un agente de IA autónomo

@Di_Krass_
INGLÉShace 2 días · 19 jul 2026
158K
39
2
1
126

TL;DR

Un análisis técnico profundo sobre la construcción de un agente de trading inspirado en la computación cuántica, que abarca la codificación del estado del mercado, la combinación de señales basada en interferencia y la optimización de carteras mediante Hamiltonianos.

Claro, aquí tienes la traducción al español latinoamericano, siguiendo todas las instrucciones y preservando la estructura, el tono y el formato.


La misma matemática que describe una partícula en dos lugares a la vez puede describir un portafolio en dos posiciones a la vez. Aquí te explico cómo convertir la estructura de la mecánica cuántica en un agente de trading autónomo y, lo que es igual de importante, dónde la analogía deja de ser real y empieza a ser marketing.

DiKrass -X- - inline image

1. ¿Por qué cuántica, y por qué ahora

Todos los fondos de cobertura del planeta están moliendo hasta los huesos las mismas tres ideas: momentum, reversión a la media y algún tipo de aprendizaje automático sobre el flujo de órdenes. El margen de ventaja se reduce constantemente porque el modelo del mercado que todos comparten es idéntico: uno clásico, donde un precio es un solo número y el futuro es un único camino ruidoso.

La mecánica cuántica ofrece un modelo de datos diferente. Un sistema cuántico nunca está en un solo estado. Vive en una superposición de todos los estados posibles a la vez, cada uno portando una amplitud de probabilidad compleja. Esto resulta ser una descripción sorprendentemente buena de un mercado antes de que coloques una operación: el activo simultáneamente sube, baja y se mantiene lateral, cada resultado ponderado por una probabilidad, hasta que tu orden obliga a la realidad a elegir uno.

Esta es la parte que la mayoría de los hilos omiten, así que déjame ponerla al frente. No necesitas una computadora cuántica física para nada de esto, y la mayor parte de lo que sigue no es literalmente cuántico. Es inspirado en la cuántica: algoritmos clásicos que toman prestada la estructura matemática de la mecánica cuántica (vectores de estado, amplitudes complejas, hamiltonianos, recocido, interferencia) y se ejecutan en la misma GPU que ya posees. El valor está en la estructura, no en los qubits. Ser honesto sobre esa distinción es lo que separa un marco útil de una palabra de moda.

Los bancos y las firmas cuantitativas (Goldman Sachs, JPMorgan, HSBC y especialistas como Multiverse Computing, entre otros) han investigado y publicado activamente sobre métodos cuánticos e inspirados en la cuántica para la fijación de precios de derivados, riesgo Monte Carlo y optimización de carteras. La teoría es pública. Lo que casi nadie ha escrito es cómo integrarlo en un agente autónomo: un sistema que percibe, decide, ejecuta y aprende por sí mismo. Eso es lo que construimos aquí.

2. El diccionario cuántico-mercado

Antes de cualquier código, necesitas el mapeo. Cada concepto cuántico a continuación tiene un análogo de trading preciso. Trata esta sección como el contrato conceptual para todo lo que sigue.

La amplitud de probabilidad se asigna a la convicción, pero con una fase. Las probabilidades clásicas son solo números no negativos. Las amplitudes cuánticas son complejas: cada una lleva una magnitud y un ángulo de fase. La fase es toda la mejora. Es lo que permite que dos señales alcistas interfieran destructivamente y se cancelen, o que dos señales débiles interfieran constructivamente convirtiéndose en una fuerte. Un conjunto clásico que promedia probabilidades positivas físicamente no puede hacer esto; lo mejor que puede hacer es diluir. La fase permite que las señales se vetén activamente entre sí.

El entrelazamiento se asigna a la correlación que no puedes separar. Cuando dos activos se mueven como un régimen vinculado (piensa en una moneda grande y las memecoins que cabalgan su liquidez), honestamente no puedes describir una sin la otra. El agente codifica esto como un estado no separable, que captura el co-movimiento vinculado al régimen que una matriz de correlación estática tiende a aplanar y subestimar, especialmente en las colas.

El Hamiltoniano se asigna a tu función de costo de riesgo/retorno. En física, el Hamiltoniano H codifica la energía de un sistema. En trading, codificas tu objetivo (maximizar el retorno esperado, minimizar la varianza, respetar los límites de posición y presupuesto) como un paisaje de energía. La cartera óptima es entonces el estado fundamental: la configuración de menor energía de H. La construcción de la cartera se convierte en un problema de minimización de energía, que es algo muy bien estudiado de resolver.

La medición y el colapso se asignan a la ejecución. En el instante en que envías una orden, la superposición colapsa a un resultado realizado. El verdadero trabajo del agente es elegir cuándo y qué medir para que el colapso tienda a aterrizar en una configuración rentable. Incluso hay un principio de riesgo incorporado por analogía con Heisenberg: no puedes determinar simultáneamente el precio exacto de una posición y su momento exacto con precisión ilimitada. Exigir más certeza en uno te cuesta certeza en el otro. Esto es una analogía, no una ley de las finanzas, pero es útil, y más adelante se convierte en una regla concreta de dimensionamiento de posiciones.

DiKrass -X- - inline image

3. La arquitectura de un agente de trading cuántico

El agente es un bucle cerrado de seis módulos. El diagrama de arquitectura adjunto a esta publicación muestra el ciclo completo; aquí te explico qué hace cada etapa.

DiKrass -X- - inline image

1. Percepción. Ingiere datos brutos del mercado (libro de órdenes, OHLCV, tasas de financiación, flujo en cadena). Normalízalos en un vector de características x. Esto es fontanería cuantitativa ordinaria; nada cuántico todavía.

2. Constructor del Hamiltoniano. Traduce tu objetivo de riesgo/retorno más las restricciones a un Hamiltoniano QUBO / Ising H. Aquí es donde los límites de presupuesto, la aversión al riesgo y los rendimientos esperados se integran en un paisaje de energía.

3. Solucionador inspirado en la cuántica. Encuentra el estado fundamental de H (la selección óptima de activos) mediante recocido simulado, un circuito QAOA en un simulador o un solucionador de redes de tensores. Este módulo es tu optimizador de cartera y es deliberadamente intercambiable.

4. Decisión por medición. Colapsa el estado en posiciones y tamaños concretos, con la regla de estilo Heisenberg reduciendo la exposición cuando la incertidumbre es alta.

5. Ejecución y retroalimentación. Enruta las órdenes, observa el P&L realizado y actualiza las amplitudes. El resultado medido se convierte en la prioridad del mañana: un bucle de refuerzo que permite al agente adaptarse en lugar de ejecutar una estrategia congelada.

4. Código: codificando el mercado como un estado cuántico

Usaremos numpy para las matemáticas del estado y nos apoyaremos en las convenciones de qiskit / pennylane para las partes inspiradas en la cuántica. Nada de esto necesita hardware cuántico real; se ejecuta en una laptop.

La interferencia es el punto central, por lo que la codificación debe permitir que las señales se sumen como números complejos antes de que tomes las probabilidades. Cada modelo alfa contribuye con una amplitud compleja (la magnitud es igual a la convicción, la fase es igual al tiempo o la alineación del régimen) a cada escenario de mercado. Sumas las contribuciones entre modelos, y solo entonces aplicas la regla de Born.

python
1import numpy as np
2
3def combine_signals(contributions: np.ndarray) -> np.ndarray:
4 """
5 contributions: complex matrix of shape [n_signals, n_scenarios].
6 |value| = a model's conviction for a scenario,
7 angle = its phase (timing / regime alignment).
8 returns: normalized state |psi> over the scenarios.
9 """
10 amplitudes = contributions.sum(axis=0) # signals INTERFERE here
11 return amplitudes / np.linalg.norm(amplitudes)
12
13# Scenarios: [up, down, chop, breakout]
14# Two momentum models both lean 'up' -- but they are out of phase, so they partly cancel.
15signal_A = np.array([0.7+0j, 0.1+0j, 0.2+0j, 0.3+0j]) # bullish, phase 0
16signal_B = np.array([0.6*np.exp(1j*2.7), 0.15, 0.2, 0.25]) # bullish but ~anti-phase
17
18psi = combine_signals(np.vstack([signal_A, signal_B]))
19
20# Probability of each scenario = |amplitude|^2 (the Born rule)
21probs = np.abs(psi) ** 2
22print(probs.round(3)) # -> [0.147 0.102 0.26 0.491]

La línea clave es la regla de Born: la probabilidad es igual a la magnitud al cuadrado de la amplitud. Debido a que las dos señales alcistas se suman como números complejos antes de elevar al cuadrado, sus componentes desfasados se cancelan, y el escenario "alcista" abarrotado se suprime de un 0.76 ingenuo a 0.147. El agente desvanece automáticamente una apuesta de consenso sobre-correlacionada. Esa es la diferencia concreta y medible entre esto y un conjunto de promediación de probabilidad simple, y el diagrama de interferencia adjunto a esta publicación muestra los mismos números lado a lado.

DiKrass -X- - inline image

5. La parte difícil que nadie te muestra: ¿de dónde viene la fase?

Cada hilo que te vende "trading cuántico" codifica las fases silenciosamente y espera que no lo notes. En el fragmento anterior escribí np.exp(1j\2.7) a mano. En un sistema real, inventar la fase es todo el problema de investigación*, y pretender lo contrario es la forma más rápida de engañarte a ti mismo.

Así que trata la fase como un objetivo de modelado de primera clase, no como una decoración. Algunas formas fundamentadas de derivarla en lugar de adivinarla:

Fase de tiempo / ciclo. Ejecuta cada señal a través de una transformada de Hilbert o una descomposición wavelet y lee la fase instantánea del ciclo dominante. Dos modelos de momentum que se activan en la misma dirección pero en diferentes fases del ciclo deberían cancelarse parcialmente; eso es exactamente el hacinamiento que quieres detectar.

Fase de adelanto-retraso. Estima el desfase de correlación cruzada entre una señal y los rendimientos futuros. Convierte ese desfase en un ángulo. Las señales que se adelantan al precio obtienen una fase; las rezagadas que realmente solo están persiguiendo obtienen otra, por lo que interfieren destructivamente con las líderes en lugar de contar dos veces.

Fase de régimen. Asigna un clasificador de régimen (tendencia vs. rango, volatilidad alta vs. baja) a un ángulo para que la contribución de una señal rote a medida que rota el régimen. Un modelo de ruptura y un modelo de reversión a la media entonces se sitúan naturalmente cerca de fases opuestas.

La disciplina es simple: si no puedes explicar por qué una señal tiene la fase que tiene, no tienes derecho a usar la fase. Vuelve a la fase 0 para todo, y estarás de vuelta en un conjunto clásico, lo cual es correcto y honesto. La fase es poderosa precisamente porque es difícil de ganar.

6. Código: la cartera como una búsqueda del estado fundamental

La selección de cartera bajo restricciones es optimización combinatoria: elige el mejor subconjunto de activos sujeto a un presupuesto y límites de riesgo. Esa es exactamente la forma de problema para la que se construyó el recocido. Codificamos "qué activos mantener" como un QUBO (Optimización Binaria Cuadrática Sin Restricciones), el gemelo clásico de un Hamiltoniano de Ising.

python
1import numpy as np
2
3def build_portfolio_hamiltonian(expected_returns, cov, risk_aversion=1.0,
4 budget=3, penalty=5.0):
5 """
6 Build a QUBO matrix Q so that minimizing x^T Q x (x in {0,1}^n)
7 picks the best 'budget' assets: maximize return, minimize risk,
8 and softly penalize breaking the budget constraint.
9 """
10 n = len(expected_returns)
11 Q = np.zeros((n, n))
12
13 # return (negated, since we minimize) plus a risk term from the covariance
14 for i in range(n):
15 Q[i, i] += -expected_returns[i] + risk_aversion * cov[i, i]
16 for j in range(i + 1, n):
17 Q[i, j] += 2 * risk_aversion * cov[i, j]
18
19 # budget constraint (sum x_i - budget)^2 as a soft penalty
20 for i in range(n):
21 Q[i, i] += penalty * (1 - 2 * budget)
22 for j in range(i + 1, n):
23 Q[i, j] += 2 * penalty
24 return Q
25
26def simulated_anneal(Q, steps=20000, T0=5.0):
27 """Quantum-inspired annealing: slowly cool the system into its ground state."""
28 n = Q.shape[0]
29 x = np.random.randint(0, 2, n)
30 def energy(x): return x @ Q @ x
31 e = energy(x)
32 for t in range(steps):
33 T = T0 * (1 - t / steps) # linear temperature schedule
34 i = np.random.randint(n)
35 x_new = x.copy(); x_new[i] ^= 1 # flip one asset in/out
36 e_new = energy(x_new)
37 # accept improvements always, and worse moves sometimes (that is how it escapes local minima)
38 if e_new < e or np.random.rand() < np.exp(-(e_new - e) / max(T, 1e-9)):
39 x, e = x_new, e_new
40 return x, e
41
42returns = np.array([0.12, 0.09, 0.15, 0.04, 0.11])
43cov = np.array([
44 [0.10, 0.02, 0.01, 0.00, 0.03],
45 [0.02, 0.08, 0.02, 0.01, 0.01],
46 [0.01, 0.02, 0.18, 0.00, 0.02],
47 [0.00, 0.01, 0.00, 0.03, 0.00],
48 [0.03, 0.01, 0.02, 0.00, 0.09],
49])
50Q = build_portfolio_hamiltonian(returns, cov, risk_aversion=2.0, budget=2)
51selection, ground_energy = simulated_anneal(Q)
52print("Hold assets:", np.where(selection == 1)[0], "| energy:", round(ground_energy, 3))

Una nota honesta sobre la escala. Con cinco activos no necesitas recocido; podrías probar por fuerza bruta las 32 combinaciones. El recocido gana su lugar con cientos de activos y restricciones duras, donde el espacio de búsqueda explota y los solucionadores exactos se estancan. La razón para escribirlo de esta manera a pequeña escala es que la interfaz nunca cambia: reemplaza simulated_anneal por un backend real (el recocido de D-Wave, un circuito QAOA en un simulador de Qiskit o un solucionador de redes de tensores del tipo que envía Multiverse) y nada más en el agente se mueve. El solucionador es un enchufe.

7. Código: el bucle del agente (percepción, colapso, ejecución)

Ahora conéctalo todo. Este es el esqueleto de un agente autónomo: el mismo bucle de control percibir/decidir/actuar que usa un agente LLM, pero con un estado de estilo cuántico como su modelo del mundo en lugar de texto.

python
1class QuantumTradingAgent:
2 def __init__(self, universe, risk_aversion=2.0, budget=2, gross_leverage=1.0):
3 self.universe = universe
4 self.risk_aversion = risk_aversion
5 self.budget = budget
6 self.gross_leverage = gross_leverage
7 self.memory = [] # feedback / RL buffer
8
9 def perceive(self, market):
10 contributions = self.model_conviction(market) # your alpha models -> complex matrix
11 return combine_signals(contributions) # -> state |psi> over scenarios
12
13 def deliberate(self, market):
14 Q = build_portfolio_hamiltonian(
15 market["expected_returns"], market["cov"],
16 self.risk_aversion, self.budget)
17 selection, _ = simulated_anneal(Q)
18 return selection
19
20 def measure(self, psi, selection, market):
21 """
22 Collapse into orders. Two things happen here:
23 1) a GLOBAL conviction gate from the scenario state (directional + Heisenberg vol shrink)
24 2) a PER-ASSET weight so the chosen assets are sized by their own expected return
25 """
26 scenario_probs = np.abs(psi) ** 2
27 directional = scenario_probs[0] + scenario_probs[3] # P(up) + P(breakout)
28 vol = market["volatility"]
29 gate = directional / (1.0 + self.risk_aversion * vol) # shrink in high vol / low conviction
30
31 idx = np.where(selection == 1)[0]
32 if len(idx) == 0:
33 return {}
34 edge = np.clip(market["expected_returns"][idx], 0, None) # only long positive-edge names
35 weights = edge / edge.sum() if edge.sum() > 0 else np.ones(len(idx)) / len(idx)
36
37 sizes = self.gross_leverage * gate * weights
38 return {int(a): round(float(s), 4) for a, s in zip(idx, sizes)}
39
40 def act(self, market):
41 psi = self.perceive(market)
42 selection = self.deliberate(market)
43 orders = self.measure(psi, selection, market)
44 # execute(orders) <- route to exchange / broker here
45 self.memory.append((market, orders))
46 return orders

Observa detenidamente measure(), porque la versión ingenua anterior tenía un defecto real: aplicaba un tamaño idéntico a cada activo seleccionado, ignorando qué tan bueno era realmente cada uno. Esta versión lo corrige con dos etapas. Una compuerta global lee el estado del escenario (convicción direccional, que es P(subida) + P(ruptura), dividida por un término de volatilidad). Esa división es la regla de estilo Heisenberg que hace la gestión de riesgos: cuanto más se resiste el mercado a una fijación de precios precisa (es decir, mayor volatilidad), menor es el compromiso total del agente. Luego, un peso por activo distribuye ese presupuesto entre los nombres seleccionados en proporción a su propio margen esperado, y se niega a comprar en largo cualquier cosa con rendimiento esperado negativo. La convicción establece cuánto apuestas; el margen por activo establece hacia dónde va.

8. La verificación de la realidad de Wall Street

¿Dónde gana dinero realmente esto y dónde es una demostración bonita? Ser específico aquí es lo que hace creíble el resto.

Ventaja genuina hoy, en hardware clásico:

Optimización de cartera a escala. Con cientos de activos y restricciones duras, los recocedores y los métodos de redes de tensores manejan la combinatoria y las restricciones de manera más elegante que los solucionadores ingenuos de media-varianza, y a menudo más rápido. Esta es la aplicación más madura y menos propensa al hype.

Estimación de riesgo mediante estimación de amplitud cuántica. En teoría, esto ofrece una aceleración cuadrática sobre el Monte Carlo clásico para VaR y CVaR. Sigue siendo una de las direcciones de investigación más activas en los grandes bancos, porque las ejecuciones de riesgo son costosas y se ejecutan constantemente. Ten en cuenta la advertencia: la aceleración del titular es un resultado asintótico teórico, y el hardware actual aún no lo logra a escala de producción.

Combinación de señales mediante interferencia. Modelar la convicción con una fase para que las operaciones abarrotadas y sobre-correlacionadas se cancelen es un replanteamiento genuinamente útil, y funciona en tu GPU actual hoy. Es la idea más práctica de este artículo, siempre que resuelvas honestamente el problema de la fase de la Sección 5.

Todavía es principalmente investigación:

Fijación de precios de derivados de extremo a extremo en hardware cuántico real. Prometedor en principio, pero el ruido y el recuento de qubits lo limitan hoy.

Predicción de precios con "ML cuántico". Muy sobrevalorado. El costo de cargar datos de mercado clásicos en un estado cuántico generalmente se come cualquier aceleración que esperabas ganar. Sé muy escéptico con cualquiera que venda esto.

El resultado final honesto: el agente inspirado en la cuántica se puede construir y hacer backtesting ahora mismo, porque cada módulo se ejecuta en hardware clásico. Capturas las ideas estructurales (una superposición de hipótesis, interferencia destructiva contra el hacinamiento, optimización basada en Hamiltonianos) sin esperar a las computadoras cuánticas tolerantes a fallos. Cuando el hardware madure, intercambias el módulo 4 y mantienes el resto.

DiKrass -X- - inline image

9. Lo que realmente matará esto en producción

Toda estrategia parece brillante hasta que se encuentra con el mercado. Antes de arriesgar un dólar, interioriza las cuatro cosas que destruyen silenciosamente a los agentes inspirados en la cuántica en particular.

Costos de transacción y deslizamiento. La capa de interferencia reorganiza la convicción cada vez que llegan nuevos datos, lo que tienta al agente a agitar su cartera. Las comisiones y el deslizamiento no se preocupan por lo elegante que sea tu vector de estado. Agrega una penalización de rotación directamente en el Hamiltoniano y vuelve a ejecutar; muchos "márgenes" se evaporan en el momento en que se cobran costos realistas.

Sobreajuste de las fases. La fase te da un conjunto adicional de parámetros libres, y los parámetros libres son cómo mienten los backtests. Es trivialmente fácil ajustar las fases hasta que el año pasado imprima dinero y el próximo año sangre. Fija las reglas de fase a partir de la teoría (Sección 5) antes de mirar los rendimientos, y nunca dejes que el backtest las elija por ti.

Espionaje de datos a través del bucle. Debido a que este es un bucle de retroalimentación cerrado, la fuga se compone. Si tu modelo de convicción, tu estimación de covarianza o tus etiquetas de régimen se asoman aunque sea ligeramente al futuro, todo el agente hereda la mentira. Haz pruebas de walk-forward en todo el bucle, no solo en la señal de forma aislada.

Fragilidad del régimen de la covarianza. El QUBO se apoya en una matriz de covarianza, y las covarianzas explotan exactamente cuando más las necesitas: en una caída, las correlaciones se disparan a uno. Pon a prueba la selección del estado fundamental bajo una covarianza impactada, no solo la del mercado tranquilo, o el optimizador te entregará felizmente una cartera que está diversificada solo en el papel.

10. Tu lista de verificación de construcción

Si quieres implementar esto realmente, aquí está el orden de las operaciones.

Comienza con el solucionador inspirado en la cuántica: numpy simple más recocido simulado. Sin hardware, sin cuentas, sin dependencias.

Reemplaza las amplitudes ajustadas manualmente con un modelo de convicción aprendido que alimente combine_signals, y deriva las fases de la teoría en lugar de ajustarlas.

Haz backtesting de todo el bucle, con costos, no solo de la señal. Cobra comisiones y deslizamiento realistas, agrega una penalización de rotación y pruébalo con walk-forward. La lógica de interferencia y dimensionamiento es donde se esconden tanto el margen como el autoengaño.

Solo después de que la abstracción se haya pagado por sí misma en simulación, debes buscar un backend real: primero un simulador de Qiskit o PennyLane, luego D-Wave, luego hardware. Intercambiar el módulo 4 es un cambio de una línea por diseño.

El mercado siempre fue una onda de probabilidad. Casi todos todavía lo comercian como un solo número, y la brecha entre esas dos visiones es toda la oportunidad.

Si esto reconfiguró tu forma de pensar sobre los mercados, republica la parte superior y sigue. El repositorio completo del agente de código abierto se publica la próxima semana. ⚛️

Aviso legal. No es asesoramiento financiero ni una promesa de rendimientos. Inspirado en la cuántica no significa garantizado cuánticamente; la mayor parte de lo que hace que esto funcione es un modelado clásico disciplinado con un disfraz cuántico. Haz backtesting de todo con costos reales; el mercado colapsa tu función de onda, estés listo o no.

Guardar con un clic

Lee artículos virales en profundidad con IA en YouMind

Guarda la fuente, haz preguntas concretas, resume el argumento y convierte un artículo viral en notas reutilizables en un único espacio de trabajo con IA.

Explora YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales