La stessa matematica che descrive una particella in due posti contemporaneamente può descrivere un portafoglio in due posizioni contemporaneamente. Ecco come trasformare la struttura della meccanica quantistica in un agente di trading autonomo – e, altrettanto importante, dove l'analogia smette di essere reale e diventa marketing.

1. Perché il quantum, e perché ora
Ogni hedge fund sul pianeta sta macinando le stesse tre idee fino a ridurle in polvere: momentum, mean-reversion e qualche variante di machine learning sui flussi d'ordine. Il vantaggio si assottiglia perché il modello di mercato che tutti condividono è identico – uno classico, dove un prezzo è un singolo numero e il futuro è un singolo percorso rumoroso.
La meccanica quantistica offre un modello di dati diverso. Un sistema quantistico non è mai in un unico stato. Vive in una sovrapposizione di tutti gli stati possibili contemporaneamente, ciascuno con una ampiezza di probabilità complessa. Questo è una descrizione sorprendentemente buona di un mercato prima che tu piazzi un'operazione: l'asset è contemporaneamente in rialzo, in ribasso e laterale, ogni risultato pesato da una probabilità, finché il tuo ordine non costringe la realtà a sceglierne uno.
Ecco la parte che la maggior parte degli articoli salta, quindi la metto in chiaro. Non hai bisogno di un computer quantistico fisico per nulla di tutto questo, e la maggior parte di ciò che segue non è letteralmente quantistico. È quantum-inspired: algoritmi classici che prendono in prestito la struttura matematica della meccanica quantistica – vettori di stato, ampiezze complesse, hamiltoniani, annealing, interferenza – e girano sulla stessa GPU che già possiedi. Il valore sta nella struttura, non nei qubit. Essere onesti su questa distinzione è ciò che separa un framework utilizzabile da una buzzword.
Banche e quant shop – tra cui Goldman Sachs, JPMorgan, HSBC e specialisti come Multiverse Computing – hanno attivamente ricercato e pubblicato su metodi quantistici e quantum-inspired per pricing di derivati, Monte Carlo per il rischio e ottimizzazione di portafoglio. La teoria è pubblica. Quello che quasi nessuno ha scritto è come collegarla a un agente autonomo – un sistema che percepisce, decide, esegue e impara da solo. Questo è ciò che costruiamo qui.
2. Il dizionario quantum-mercato
Prima di qualsiasi codice, serve la mappatura. Ogni concetto quantistico qui sotto ha un preciso analogo nel trading. Tratta questa sezione come il contratto concettuale per tutto ciò che segue.
L'ampiezza di probabilità si mappa alla convinzione – ma con una fase. Le probabilità classiche sono solo numeri non negativi. Le ampiezze quantistiche sono complesse: ciascuna ha una magnitudine e un angolo di fase. La fase è l'intero upgrade. È ciò che permette a due segnali rialzisti di interferire in modo distruttivo e cancellarsi, o a due segnali deboli di interferire in modo costruttivo e diventare forti. Un insieme classico che fa la media di probabilità positive non può fisicamente farlo – il massimo che può fare è diluire. La fase permette ai segnali di annullarsi a vicenda attivamente.
L'entanglement si mappa a una correlazione che non puoi separare. Quando due asset si muovono come un regime collegato – pensa a una majorcoin e alle memecoin che cavalcano la sua liquidità – non puoi onestamente descrivere l'uno senza l'altra. L'agente codifica questo come uno stato non separabile, che cattura il co-movimento legato al regime che una matrice di correlazione statica tende ad appiattire e sottostimare, specialmente nelle code.
L'hamiltoniano si mappa alla tua funzione di costo rischio/rendimento. In fisica, l'hamiltoniano H codifica l'energia di un sistema. Nel trading, codifichi il tuo obiettivo – massimizzare il rendimento atteso, minimizzare la varianza, rispettare limiti di posizione e budget – come un paesaggio energetico. Il portafoglio ottimale è quindi lo stato fondamentale: la configurazione a energia minima di H. La costruzione del portafoglio diventa un problema di minimizzazione dell'energia, che è un problema molto ben studiato da risolvere.
Misurazione e collasso si mappano all'esecuzione. Nell'istante in cui invii un ordine, la sovrapposizione collassa in un unico risultato realizzato. Il vero lavoro dell'agente è scegliere quando e cosa misurare in modo che il collasso tenda a cadere su una configurazione redditizia. C'è persino un principio di rischio integrato per analogia con Heisenberg: non puoi fissare simultaneamente il prezzo esatto di una posizione e il suo esatto momentum con precisione illimitata. Richiedere più certezza su uno ti costa certezza sull'altro. Questa è un'analogia, non una legge della finanza – ma è utile, e più avanti si trasforma in una regola concreta per il dimensionamento delle posizioni.

3. L'architettura di un agente di trading quantistico
L'agente è un ciclo chiuso di sei moduli. Il diagramma dell'architettura allegato a questo post mostra il ciclo completo; ecco cosa fa ogni fase.

1. Percezione. Ingerisci i dati di mercato grezzi – order book, OHLCV, tassi di funding, flusso on-chain. Normalizzali in un vettore di feature x. Questa è una normale plumberia quant; niente di quantistico ancora.
3. Costruttore dell'hamiltoniano. Traduci il tuo obiettivo rischio/rendimento più i vincoli in un QUBO / hamiltoniano di Ising H. Qui è dove limiti di budget, avversione al rischio e rendimenti attesi vengono cotti in un paesaggio energetico.
4. Risolutore quantum-inspired. Trova lo stato fondamentale di H – la selezione ottimale di asset – tramite simulated annealing, un circuito QAOA su un simulatore, o un risolutore a reti tensoriali. Questo modulo è il tuo ottimizzatore di portafoglio, ed è deliberatamente sostituibile.
5. Decisione tramite misurazione. Collassa lo stato in posizioni e dimensioni concrete, con la regola stile Heisenberg che riduce l'esposizione quando l'incertezza è alta.
6. Esecuzione e feedback. Instrada gli ordini, osserva il P&L realizzato e aggiorna le ampiezze. Il risultato misurato diventa il prior del giorno successivo – un ciclo di rinforzo che permette all'agente di adattarsi invece di eseguire una strategia congelata.
4. Codice: codificare il mercato come stato quantistico
Useremo numpy per la matematica dello stato e ci appoggeremo alle convenzioni qiskit/pennylane per le parti quantum-inspired. Niente di tutto questo necessita di hardware quantistico reale – gira su un laptop.
L'interferenza è il punto centrale, quindi la codifica deve permettere ai segnali di sommersi come numeri complessi prima di calcolare le probabilità. Ogni modello alpha contribuisce con un'ampiezza complessa – la magnitudine è la convinzione, la fase è il timing o l'allineamento al regime – a ciascuno scenario di mercato. Sommi i contributi tra i modelli, e solo allora applichi la regola di Born.
1import numpy as np23def combine_signals(contributions: np.ndarray) -> np.ndarray:4 """5 contributions: matrice complessa di forma [n_segnali, n_scenari].6 |valore| = convinzione di un modello per uno scenario,7 angolo = la sua fase (timing / allineamento al regime).8 restituisce: stato |psi> normalizzato sugli scenari.9 """10 amplitudes = contributions.sum(axis=0) # i segnali INTERFERISCONO qui11 return amplitudes / np.linalg.norm(amplitudes)1213# Scenari: [up, down, chop, breakout]14# Due modelli di momentum puntano entrambi 'up' -- ma sono fuori fase, quindi si cancellano parzialmente.15signal_A = np.array([0.7+0j, 0.1+0j, 0.2+0j, 0.3+0j]) # rialzista, fase 016signal_B = np.array([0.6*np.exp(1j*2.7), 0.15, 0.2, 0.25]) # rialzista ma ~in antifase1718psi = combine_signals(np.vstack([signal_A, signal_B]))1920# Probabilità di ogni scenario = |ampiezza|^2 (regola di Born)21probs = np.abs(psi) ** 222print(probs.round(3)) # -> [0.147 0.102 0.26 0.491]
La riga chiave è la regola di Born: la probabilità è uguale al quadrato della magnitudine dell'ampiezza. Poiché i due segnali rialzisti vengono sommati come numeri complessi prima di elevare al quadrato, le loro componenti fuori fase si cancellano, e lo scenario "up" affollato viene soppresso da un ingenuo 0.76 a 0.147. L'agente sbiadisce automaticamente una scommessa di consenso eccessivamente correlata. Questa è la differenza concreta e misurabile tra questo e un semplice insieme di probabilità mediate, e il diagramma di interferenza allegato a questo post mostra gli stessi numeri affiancati.

5. La parte difficile che nessuno ti mostra: da dove viene la fase?
Ogni articolo che ti vende "trading quantistico" codifica le fasi in modo arbitrario e spera che tu non te ne accorga. Nel frammento sopra ho scritto np.exp(1j\2.7) a mano. In un sistema reale, inventare la fase è l'intero problema di ricerca*, e fingere il contrario è il modo più veloce per ingannare te stesso.
Quindi tratta la fase come un obiettivo di modellazione di prima classe, non come un ornamento. Ecco alcuni modi fondati per derivarla invece di indovinare:
Timing / fase ciclica. Fai passare ogni segnale attraverso una trasformata di Hilbert o una decomposizione wavelet e leggi la fase istantanea del ciclo dominante. Due modelli di momentum che sparano nella stessa direzione ma su fasi cicliche diverse dovrebbero genuinamente cancellarsi parzialmente – è esattamente l'affollamento che vuoi rilevare.
Fase lead-lag. Stima il lag di cross-correlazione tra un segnale e i rendimenti futuri. Converti quel lag in un angolo. I segnali che anticipano il prezzo ottengono una fase; i ritardatari che stanno solo inseguendo ne ottengono un'altra, così interferiscono in modo distruttivo con i leader invece di raddoppiare il conteggio.
Fase di regime. Mappa un classificatore di regime (trend vs range, vol alta vs bassa) su un angolo in modo che il contributo di un segnale ruoti con il regime. Un modello di breakout e un modello di mean-reversion si trovano quindi naturalmente vicino a fasi opposte.
La disciplina è semplice: se non puoi spiegare perché un segnale ha la fase che ha, non hai il diritto di usare la fase. Ricadi a fase 0 per tutto, e torni a un insieme classico – il che è onesto e va bene. La fase è potente proprio perché è difficile da ottenere.
6. Codice: il portafoglio come ricerca dello stato fondamentale
La selezione di portafoglio sotto vincoli è ottimizzazione combinatoria – scegli il miglior sottoinsieme di asset soggetto a un budget e a limiti di rischio. Questo è esattamente il tipo di problema per cui è stato costruito l'annealing. Codifichiamo "quali asset detenere" come un QUBO (Quadratic Unconstrained Binary Optimization), il gemello classico di un hamiltoniano di Ising.
1import numpy as np23def build_portfolio_hamiltonian(expected_returns, cov, risk_aversion=1.0,4 budget=3, penalty=5.0):5 """6 Costruisce una matrice QUBO Q tale che minimizzare x^T Q x (x in {0,1}^n)7 selezioni i migliori 'budget' asset: massimizza il rendimento, minimizza il rischio,8 e penalizza debolmente la violazione del vincolo di budget.9 """10 n = len(expected_returns)11 Q = np.zeros((n, n))1213 # rendimento (negato, poiché minimizziamo) più un termine di rischio dalla covarianza14 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]1819 # vincolo di budget (sum x_i - budget)^2 come penalità soft20 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 * penalty24 return Q2526def simulated_anneal(Q, steps=20000, T0=5.0):27 """Annealing quantum-inspired: raffredda lentamente il sistema nel suo stato fondamentale."""28 n = Q.shape[0]29 x = np.random.randint(0, 2, n)30 def energy(x): return x @ Q @ x31 e = energy(x)32 for t in range(steps):33 T = T0 * (1 - t / steps) # programma di temperatura lineare34 i = np.random.randint(n)35 x_new = x.copy(); x_new[i] ^= 1 # inverte un asset (dentro/fuori)36 e_new = energy(x_new)37 # accetta sempre i miglioramenti, e a volte le mosse peggiori (è così che esce dai minimi locali)38 if e_new < e or np.random.rand() < np.exp(-(e_new - e) / max(T, 1e-9)):39 x, e = x_new, e_new40 return x, e4142returns = 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 onesta sulla scala. Con cinque asset non hai bisogno di annealing – potresti forzare tutte le 32 combinazioni. L'annealing ripaga quando hai centinaia di asset con vincoli stringenti, dove lo spazio di ricerca esplode e i risolutori esatti si bloccano. Il motivo per cui lo scriviamo così su piccola scala è che l'interfaccia non cambia mai: sostituisci simulated_anneal con un backend reale – l'annealer di D-Wave, un circuito QAOA su un simulatore Qiskit, o un risolutore a reti tensoriali del tipo di quelli che Multiverse offre – e nient'altro nell'agente si muove. Il risolutore è un plug-in.
7. Codice: il ciclo dell'agente (percezione → collasso → esecuzione)
Ora colleghiamo il tutto. Questo è lo scheletro di un agente autonomo – lo stesso ciclo di controllo percepisci/decidi/agisci che un agente LLM usa, ma con uno stato di tipo quantistico come modello del mondo invece del testo.
1class QuantumTradingAgent:2 def __init__(self, universe, risk_aversion=2.0, budget=2, gross_leverage=1.0):3 self.universe = universe4 self.risk_aversion = risk_aversion5 self.budget = budget6 self.gross_leverage = gross_leverage7 self.memory = [] # buffer di feedback / RL89 def perceive(self, market):10 contributions = self.model_conviction(market) # i tuoi modelli alpha -> matrice complessa11 return combine_signals(contributions) # -> stato |psi> sugli scenari1213 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 selection1920 def measure(self, psi, selection, market):21 """22 Collassa in ordini. Qui accadono due cose:23 1) un gate di CONVINZIONE GLOBALE dallo stato degli scenari (direzionale + contrazione vol stile Heisenberg)24 2) un peso PER-ASSET in modo che gli asset scelti siano dimensionati in base al loro rendimento atteso25 """26 scenario_probs = np.abs(psi) ** 227 directional = scenario_probs[0] + scenario_probs[3] # P(up) + P(breakout)28 vol = market["volatility"]29 gate = directional / (1.0 + self.risk_aversion * vol) # si contrae in vol alta / bassa convinzione3031 idx = np.where(selection == 1)[0]32 if len(idx) == 0:33 return {}34 edge = np.clip(market["expected_returns"][idx], 0, None) # solo long su nomi con edge positivo35 weights = edge / edge.sum() if edge.sum() > 0 else np.ones(len(idx)) / len(idx)3637 sizes = self.gross_leverage * gate * weights38 return {int(a): round(float(s), 4) for a, s in zip(idx, sizes)}3940 def act(self, market):41 psi = self.perceive(market)42 selection = self.deliberate(market)43 orders = self.measure(psi, selection, market)44 # execute(orders) <- instrada allo scambio / broker qui45 self.memory.append((market, orders))46 return orders
Osserva attentamente measure(), perché la versione precedente ingenua aveva un vero difetto: applicava una dimensione identica a ogni asset selezionato, ignorando quanto fosse buono ciascuno. Questa versione lo risolve con due fasi. Un gate globale legge lo stato degli scenari – la convinzione direzionale, cioè P(up) + P(breakout), divisa per un termine di volatilità. Quella divisione è la regola stile Heisenberg che fa gestione del rischio: più il mercato resiste a una valutazione precisa, cioè volatilità più alta, minore è l'impegno totale dell'agente. Poi un peso per-asset distribuisce quel budget tra i nomi selezionati in proporzione al loro edge atteso, e si rifiuta di fare long su qualsiasi cosa con rendimento atteso negativo. La convinzione stabilisce quanto scommetti; l'edge per-asset stabilisce dove va.
8. Il reality check di Wall Street
Dove fa effettivamente guadagnare soldi, e dove è una bella demo? Essere specifici qui è ciò che rende credibile il resto.
Vantaggio genuino oggi, su hardware classico:
Ottimizzazione di portafoglio su larga scala. Con centinaia di asset e vincoli stringenti, gli annealer e i metodi a reti tensoriali gestiscono la combinatoria e i vincoli in modo più elegante dei risolutori naive media-varianza, e spesso più velocemente. Questa è l'applicazione più matura e meno incline all'hype.
Stima del rischio tramite quantum amplitude estimation. In teoria questo offre un'accelerazione quadratica rispetto al Monte Carlo classico per VaR e CVaR. Rimane una delle direzioni più attivamente ricercate nelle grandi banche, perché le simulazioni di rischio sono costose e vengono eseguite costantemente. Nota l'avvertenza: l'accelerazione dichiarata è un risultato asintotico teorico, e l'hardware odierno non la realizza ancora a scala produttiva.
Combinazione di segnali tramite interferenza. Modellare la convinzione con una fase in modo che le operazioni affollate e sovra-correlate si cancellino è un re-inquadramento genuinamente utile, e funziona sulla tua GPU attuale oggi. È l'idea più immediatamente pratica di questo articolo – a patto che tu risolva onestamente il problema della fase della Sezione 5.
Ancora principalmente ricerca:
Pricing di derivati end-to-end su hardware quantistico reale. Promettente in linea di principio, ma rumore e numero di qubit lo limitano oggi.
Previsione dei prezzi "Quantum ML". Fortemente sovra-pubblicizzato. Il costo di caricare dati di mercato classici in uno stato quantistico di solito divora qualsiasi accelerazione speravi di ottenere. Sii molto scettico verso chiunque venda questo.
La conclusione onesta: l'agente quantum-inspired è costruibile e backtestabile adesso, perché ogni modulo gira su hardware classico. Catturi le idee strutturali – una sovrapposizione di ipotesi, interferenza distruttiva contro l'affollamento, ottimizzazione basata su hamiltoniano – senza aspettare computer quantistici tolleranti ai guasti. Quando l'hardware maturerà, sostituisci il modulo 4 e tieni il resto.

9. Cosa ucciderà davvero questo in produzione
Ogni strategia sembra brillante finché non incontra il mercato. Prima di rischiare un dollaro, interiorizza le quattro cose che distruggono silenziosamente gli agenti quantum-inspired in particolare.
Costi di transazione e slippage. Il livello di interferenza rimescola la convinzione ogni volta che arrivano nuovi dati, il che tenta l'agente a rimescolare il suo libro. Commissioni e slippage non si preoccupano di quanto sia elegante il tuo vettore di stato. Aggiungi una penalità di turnover direttamente nell'hamiltoniano e riesegui – molti "vantaggi" evaporano non appena vengono applicati costi realistici.
Overfitting delle fasi. La fase ti dà un intero set extra di parametri liberi, e i parametri liberi sono il modo in cui i backtest mentono. È banalmente facile tarare le fasi finché l'anno scorso stampa denaro e l'anno prossimo sanguina. Fissa le regole della fase dalla teoria (Sezione 5) prima di guardare i rendimenti, e non permettere mai al backtest di sceglierle per te.
Data-snooping attraverso il ciclo. Poiché questo è un ciclo di feedback chiuso, le perdite si accumulano. Se il tuo modello di convinzione, la tua stima di covarianza o le tue etichette di regime guardano anche solo leggermente nel futuro, l'intero agente eredita la menzogna. Testa in walk-forward l'intero ciclo, non solo il segnale in isolamento.
Fragilità di regime della covarianza. Il QUBO si basa su una matrice di covarianza, e le covarianze esplodono proprio quando ne hai bisogno – in un crollo, le correlazioni vanno a uno. Stress-test la selezione dello stato fondamentale sotto una covarianza shockata, non solo quella di mercato calmo, o l'ottimizzatore ti darà felicemente un portafoglio diversificato solo sulla carta.
10. La tua checklist di costruzione
Se vuoi davvero implementare questo, ecco l'ordine delle operazioni.
Inizia con il risolutore quantum-inspired – semplice numpy più simulated annealing. Nessun hardware, nessun account, nessuna dipendenza.
Sostituisci le ampiezze tarate a mano con un modello di convinzione appreso che alimenta combine_signals, e ricava le fasi dalla teoria invece di adattarle.
Backtesta l'intero ciclo, con i costi, non solo il segnale. Applica commissioni e slippage realistici, aggiungi una penalità di turnover, e fallo procedere in walk-forward. La logica di interferenza e dimensionamento è dove si nascondono sia il vantaggio che l'auto-inganno.
Solo dopo che l'astrazione ha ripagato in simulazione, dovresti passare a un backend reale – prima simulatore Qiskit o PennyLane, poi D-Wave, poi hardware. Sostituire il modulo 4 è una modifica di una riga per progettazione.
Il mercato è sempre stato un'onda di probabilità. Quasi tutti lo scambiano ancora come un singolo numero – e il divario tra queste due visioni è l'intera opportunità.
Se questo ha ridefinito il tuo modo di pensare ai mercati, ripubblica l'articolo e seguimi. Il repository completo dell'agente open-source arriva la prossima settimana. ⚛️
Disclaimer. Non è una consulenza finanziaria, né una promessa di rendimenti. Quantum-inspired non significa quantum-garantito – la maggior parte di ciò che fa funzionare questo è una modellazione classica disciplinata che indossa un cappotto quantistico. Backtesta tutto con costi reali; il mercato collassa la tua funzione d'onda, che tu sia pronto o no.





