sistemi di trading AI multi agente reali
I sistemi di trading AI multi-agente usano comitati LLM su una singola operazione. Vedi l'architettura, i costi di mercato che un segnale deve coprire e le trappole nei backtest.
Un sistema di trading AI multi-agente suddivide una singola decisione di trading su più istanze di un grande modello linguistico, assegna a ciascuna istanza un ruolo e fonde i loro output in un unico ordine. La composizione tipica prevede un lettore di notizie, un analista fondamentale, un analista grafico, un controllore del rischio e un agente manager che arbitra. A luglio 2026, diversi framework open source con questa struttura si trovano nell'argomento 'algorithmic-trading' su GitHub, ciascuno con poche centinaia di stelle. Questa pagina illustra l'architettura, separa le prove pubblicate dalle affermazioni nei README e presenta i dati di mercato sui costi che qualsiasi versione del sistema deve superare.
Cosa è realmente un sistema di trading AI multi-agente
L'architettura è un comitato con un presidente. Ogni agente è un template di prompt, un feed di dati e uno schema di output. L'agente delle notizie riceve titoli e restituisce un'etichetta. L'agente fondamentale riceve estratti di documenti e restituisce un punteggio. L'agente presidente riceve quelle etichette e quei punteggi e restituisce un ordine.
Da questa progettazione derivano tre proprietà, e ciascuna merita di essere nominata prima di qualsiasi affermazione sulle performance.
Ogni agente di solito condivide un unico modello di base. Cinque prompt applicati agli stessi pesi producono opinioni correlate, quindi un voto di cinque agenti non equivale a cinque stime indipendenti. La struttura del comitato suggerisce una diversificazione che l'implementazione non fornisce.
Il sistema è una pipeline di testo che avvolge una decisione numerica. Il modello legge parole ed emette un token. Il dimensionamento della posizione, il tipo di ordine, il posizionamento dello stop e la logica di uscita sono codice ordinario sottostante, e la maggior parte di ciò che determina il risultato risiede in quel codice piuttosto che nei prompt.
Un round trip del comitato richiede secondi. Questo è fattibile per un ribilanciamento settimanale e irrilevante a velocità intraday, dove i market maker quotano e riquotano in microsecondi.
Cosa supporta la ricerca e cosa no
Il lavoro pubblicato sui modelli linguistici in finanza si divide in tre affermazioni di forza molto diversa.
L'estrazione e la classificazione sono l'affermazione forte. I modelli etichettano il sentiment, estraggono cifre dai documenti e comprimono documenti lunghi con una precisione che pochi anni fa richiedeva un modello su misura. È misurabile su testo non visto e regge.
La descrizione dello stato del mercato è l'affermazione mista. I modelli scrivono resoconti fluidi di un regime, e questi resoconti sono solitamente coerenti con i dati mostrati al modello. Se la descrizione contenga informazioni che il prezzo non contiene già è una domanda separata, e gli articoli che la testano attentamente riportano effetti piccoli con ampi intervalli di errore.
La redditività è l'affermazione debole. La maggior parte dei README dei repository riporta un backtest piuttosto che un track record finanziato, e la distanza tra una curva di equity in-sample e un conto reale è la distanza più antica nel trading quantitativo. Mettere un modello linguistico nel loop non la accorcia.
Il costo minimo che un segnale deve superare
Ogni operazione attraversa uno spread, e questo attraversamento è il costo minimo che una strategia deve superare prima di qualsiasi altra cosa. Spread quotato mediano durante l'orario regolare, dal 22 al 26 giugno 2026, per sei titoli quotati negli Stati Uniti:
L'esatto SQL dietro ogni numero
SELECT ticker,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS spread_bps,
round(2 * quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS round_trip_bps,
round(count() / 1e6, 1) AS quote_updates_m
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'KO', 'F', 'RIOT')
AND sip_timestamp >= toDateTime('2026-06-22 00:00:00')
AND sip_timestamp < toDateTime('2026-06-27 00:00:00')
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
HAVING countIf(bid_price > 0 AND ask_price > bid_price) > 0
ORDER BY spread_bpsUn punto base è un centesimo di punto percentuale. Il titolo più stretto nel panel, SPY, ha quotato uno spread mediano di 0.27 punti base in quella settimana. Il più largo, RIOT, ha quotato 7.09. Un round trip paga lo spread due volte, quindi un'entrata e un'uscita nel primo titolo partono con uno svantaggio di 0.55 punti base e la stessa coppia nell'ultimo titolo parte con uno svantaggio di 14.19. Un agente che gira il suo portafoglio due volte a settimana paga quel pedaggio circa cento volte l'anno, e il pedaggio viene addebitato indipendentemente dal fatto che la previsione fosse giusta o sbagliata. What it costs to trade a stock dettaglia il resto del conto.
Il rumore che una previsione direzionale deve battere
Le previsioni direzionali vengono valutate rispetto a una distribuzione composta principalmente da numeri piccoli. Ogni sessione di SPY nell'anno solare 2025, ordinata per dimensione del movimento da chiusura a chiusura:
L'esatto SQL dietro ogni numero
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2025-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
paired AS (
SELECT d, close_px,
any(close_px) OVER (ORDER BY d ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prev_px
FROM daily
),
rets AS (
SELECT d, round(100 * (toFloat64(close_px) / toFloat64(prev_px) - 1), 3) AS ret_pct
FROM paired
WHERE prev_px > 0
)
SELECT multiIf(abs(ret_pct) < 0.25, 'under 0.25%',
abs(ret_pct) < 0.5, '0.25 to 0.5%',
abs(ret_pct) < 1.0, '0.5 to 1%',
abs(ret_pct) < 2.0, '1 to 2%',
'2% and up') AS move_bucket,
count() AS sessions,
round(100 * count() / sum(count()) OVER (), 1) AS pct_of_sessions
FROM rets
GROUP BY move_bucket
ORDER BY min(abs(ret_pct))Metà dell'anno è rimasta entro mezzo punto percentuale. La fascia under 0.25% conteneva 24.9% delle sessioni e la fascia 0.25 to 0.5% altre 24.1%. All'altro estremo, 13 sessioni si sono mosse di 2% and up, 5.2% dell'anno.
Metti questo a confronto con il panel dello spread. Un punto base è lo 0,01%. Un movimento tipico di sessione dello 0,3% è trenta volte uno spread stretto e circa quattro volte quello largo. L'aritmetica lascia spazio per una previsione paziente e corretta e pochissimo per una veloce e marginale.
Dove si trova realmente l'universo negoziabile
I framework di agenti pubblicizzano una copertura, spesso centinaia di ticker scansionati ogni mattina. Il volume in dollari mostra quanta parte di quella lista può assorbire dimensione. Ogni titolo quotato negli Stati Uniti che ha scambiato durante l'orario regolare il 30 giugno 2026, raggruppato per il suo rango nel volume in dollari di quella sessione:
L'esatto SQL dietro ogni numero
WITH tv AS (
SELECT ticker,
sum(toFloat64(close) * toFloat64(volume)) AS dollar_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE toDate(toTimeZone(window_start, 'America/New_York')) = toDate('2026-06-30')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY ticker
HAVING sum(toFloat64(close) * toFloat64(volume)) > 0
),
ranked AS (
SELECT ticker, dollar_volume,
row_number() OVER (ORDER BY dollar_volume DESC) AS rk
FROM tv
)
SELECT multiIf(rk <= 10, 'top 10 names',
rk <= 50, 'ranks 11 to 50',
rk <= 200, 'ranks 51 to 200',
rk <= 1000, 'ranks 201 to 1000',
'ranks beyond 1000') AS liquidity_tier,
count() AS tickers,
round(sum(dollar_volume) / 1e9, 2) AS dollar_volume_bn,
round(100 * sum(dollar_volume) / (SELECT sum(dollar_volume) FROM tv), 1) AS pct_of_dollar_volume
FROM ranked
GROUP BY liquidity_tier
ORDER BY min(rk)Dieci titoli hanno rappresentato 22.5% del volume in dollari della sessione, circa 205.04 miliardi di dollari. I successivi 40 hanno rappresentato 20.5%. All'altro estremo, 10966 titoli classificati oltre il 1000 hanno condiviso 12.9% tra di loro, circa 117.83 miliardi di dollari distribuiti su tutta la coda.
L'ampiezza è economica da pubblicizzare e costosa da negoziare. Un comitato che classifica tremila titoli spende la maggior parte del suo sforzo di classificazione in quella coda, dove il panel dello spread sopra è un costo reale piuttosto che un errore di arrotondamento.
Perché questi backtest lusingano il sistema
La singola fonte più grande di un backtest lusinghiero è la scelta della finestra temporale. SPY per anno solare, dal 2016 al 2025, con il divario tra il prezzo di chiusura più alto e quello più basso dell'anno:
L'esatto SQL dietro ogni numero
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d,
argMax(close, window_start) AS close_px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) >= toDate('2016-01-01')
AND toDate(toTimeZone(window_start, 'America/New_York')) <= toDate('2025-12-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) BETWEEN 570 AND 959
GROUP BY d
),
yr AS (
SELECT toYear(d) AS year,
argMin(close_px, d) AS first_close,
argMax(close_px, d) AS last_close,
max(close_px) AS high_close,
min(close_px) AS low_close,
count() AS sessions
FROM daily
GROUP BY year
)
SELECT year,
sessions,
round(100 * (toFloat64(last_close) / toFloat64(first_close) - 1), 1) AS price_return_pct,
round(100 * (toFloat64(high_close) / toFloat64(low_close) - 1), 1) AS high_low_range_pct
FROM yr
ORDER BY yearUn sistema testato solo su 2021, un anno che ha chiuso 28.7% più in alto, eredita un trend rialzista. Lo stesso sistema testato solo su 2022, che ha chiuso -20%, eredita un trend ribassista. Il divario intra-anno tra la chiusura più alta e quella più bassa ha raggiunto 68% in 2020 ed è rimasto sopra 25.3% anche negli anni più calmi.
Quattro trappole si aggiungono al problema della finestra temporale, e una di queste appartiene esclusivamente ai modelli linguistici.
- Lookahead attraverso i dati di addestramento. Un modello addestrato su testo fino al 2025 ha già letto come è andata un'operazione del 2023. Un backtest sul 2023 pone una domanda di cui il modello conosce la risposta, e nessuna rimescolatura della serie dei prezzi rimuove quella conoscenza.
- Sopravvivenza nell'elenco dei ticker. Un universo assemblato dalle quotazioni odierne omette i titoli che sono stati delistati lungo il percorso.
- Ipotesi di esecuzione. Un backtest che esegue ogni ordine al prezzo medio cancella l'intero panel dei costi sopra.
- Selezione tra varianti di prompt. Venti formulazioni di prompt provate e la migliore riportata è lo stesso overfitting che affliggeva le ricerche sui parametri molto prima che esistessero i modelli linguistici.
Dove gli agenti basati su modelli linguistici aiutano plausibilmente
La versione onesta della proposta è più ristretta della versione del README e comunque utile.
La lettura del volume è il vantaggio più chiaro. Un agente che esamina ogni documento e titolo di una watchlist durante la notte e restituisce un riepilogo strutturato fa risparmiare ore di attenzione umana, e l'output è verificabile rispetto alla fonte.
Descrivere un regime in linguaggio semplice è il secondo. Un paragrafo giornaliero su dispersione, ampiezza e volatilità, generato dagli stessi numeri che un umano leggerebbe, è un utile documento informativo anche quando non contiene previsioni.
L'igiene del processo è il terzo. Un agente che rifiuta un ordine che viola un limite di posizione dichiarato, o che segnala una strategia in procinto di negoziare una data di pubblicazione degli utili, applica regole che un umano distratto salta.
Nessuno di questi tre è un vantaggio sul mercato. Tutti e tre sono lavoro di ricerca e operativo, che è dove risiedono oggi i guadagni misurabili. Un effetto documentato come the low volatility anomaly ha richiesto campioni ampi e replicazioni out-of-sample ripetute prima che qualcuno lo trattasse come reale, e un nuovo framework di agenti incontra la stessa asticella o non la supera. Missing the best days mostra cosa costa il cambio frequente a un detentore di lungo periodo.
La disciplina descritta dai professionisti
I team che gestiscono questi sistemi pubblicamente tendono a descrivere la stessa sequenza. Test forward su esecuzioni simulate per mesi piuttosto che giorni, poiché un record cartaceo si accumula solo alla velocità del tempo reale. Mantieni una porzione out-of-sample che i prompt non hanno mai visto. Registra ogni prompt, ogni risposta e ogni ordine, poiché un comitato che non può essere riprodotto non può essere debugato. Dimensiona le posizioni con regole fisse che risiedono al di fuori del modello. Conta ogni costo dai panel sopra prima di definire redditizio qualsiasi periodo.
FAQ
I sistemi di trading AI multi-agente fanno realmente soldi?
Le prove pubbliche sono scarse. La maggior parte dei progetti open source pubblica un backtest piuttosto che un record reale certificato, e i backtest delle strategie basate su modelli linguistici hanno un difetto specifico: il modello è stato addestrato su testo che descrive il periodo di test. Una curva di equity non certificata dimostra il software, non un vantaggio.
Un comitato di agenti LLM è meglio di un singolo modello?
Un comitato riduce alcuni errori di formattazione e parsing e aggiunge struttura all'output. Non aggiunge informazioni indipendenti quando ogni agente interroga lo stesso modello di base sugli stessi dati sottostanti. Cinque opinioni correlate votano approssimativamente come una sola opinione, con latenza extra e costo di token extra associati.
Un agente AI può fare trading più velocemente di un market maker?
No. Un round trip di un modello linguistico richiede secondi, mentre i sistemi di quotazione professionali operano in microsecondi su hardware co-localizzato. Qualsiasi strategia il cui profitto dipende dalla velocità è al di fuori di ciò che questi sistemi possono fare, il che lascia orizzonti di giorni e settimane come terreno plausibile.
Qual è la più grande trappola del backtest specifica per gli agenti di trading LLM?
Lookahead dei dati di addestramento. I backtest convenzionali impediscono che i prezzi futuri filtrino in una decisione, ma i pesi di un modello codificano già commenti pubblicati sulla finestra di test. Le finestre walk-forward e le suddivisioni out-of-sample non rimuovono la conoscenza incorporata nei pesi, e l'unico test pulito è un periodo successivo al cutoff di addestramento.
Per quanto tempo deve durare un periodo di paper trading?
L'inquadramento utile è la dimensione del campione piuttosto che la lunghezza del calendario. Una strategia che fa trading settimanalmente produce circa cinquanta osservazioni all'anno, un campione piccolo per qualsiasi affermazione su un vantaggio. I professionisti generalmente vogliono abbastanza operazioni per aver visto un drawdown, non solo un buon periodo.
Ogni panel in questa pagina è una query archiviata e versionata su dati reali del mercato statunitense. Apri qualsiasi panel per leggere il SQL sottostante, o esegui la tua query sulle stesse tabelle sul terminale Strasmore.