La quasi totalità dei sistemi di analisi automatica applica un criterio unico a tutto il mercato. Funziona finché il mercato assomiglia a quel criterio, e smette di funzionare quando cambia regime — senza che nessuno se ne accorga, perché non esiste un secondo punto di vista che contraddica il primo.
BO.I.A. parte dall'ipotesi opposta. Sei agenti con letture strutturalmente diverse — chi segue le tendenze, chi cerca l'eccesso da correggere, chi guarda i volumi, chi osserva le mosse dei dirigenti, chi ragiona di macroeconomia, chi ha il solo compito di smontare le tesi degli altri — vengono messi in disaccordo di proposito. Il valore non sta nella singola opinione: sta in quanto sono d'accordo, e in cosa succede quando non lo sono.
Ogni giudizio porta con sé una misura di quanto gli agenti divergono. Un consenso unanime e un consenso strappato a maggioranza non valgono lo stesso, e il sistema non li presenta come se lo fossero.
Il contrarian riceve i titoli su cui il consenso è più forte e deve attaccarli. Non vota: produce un avvertimento che resta allegato al giudizio finale. È il freno strutturale contro l'entusiasmo collettivo.
Una previsione dichiara azione, orizzonte e confidenza. Alla scadenza si controlla se ha battuto l'indice nella stessa finestra. Il verdetto è ricalcolato dai dati grezzi, non archiviato: nessuno può ritoccarlo.
Ogni agente è un modello di linguaggio guidato da un prompt versionato e da una selezione di dati diversa dagli altri. Non produce testo libero: produce un oggetto strutturato validato contro uno schema. Per ogni titolo restituisce l'azione (BUY / SELL / HOLD), una confidenza, la tesi argomentata, un prezzo obiettivo, uno stop e un orizzonte temporale dichiarato in giorni.
Quell'orizzonte dichiarato non è un dettaglio: è la condizione di falsificabilità della previsione. Un agente che dice «salirà» senza dire entro quando non può essere smentito. Qui ogni previsione si porta dietro la propria scadenza, e alla scadenza viene giudicata.
Le letture puramente deterministiche — se una media mobile è sopra o sotto un'altra, se il volume supera una soglia — non sono affidate al modello. Vengono calcolate nel codice e passate all'agente già risolte. Al modello resta il giudizio, non l'aritmetica: è la parte in cui un LLM aggiunge valore, ed è l'unica in cui viene usato.
Un obiettivo che si può riscrivere a posteriori non è un obiettivo. Questi sono fissati nella specifica del progetto, insieme alla condizione esplicita che ne comporta l'archiviazione.
Il rendimento di un portafoglio è una misura rumorosa della qualità di un agente, perché dipende anche da quanto capitale si mette su ogni posizione, da quando si esegue, dai vincoli di settore e dal cash tenuto fermo. Un agente eccellente dentro un sizing sbagliato produce un portafoglio mediocre, e viceversa.
Per questo il giudizio sugli agenti è ancorato al segnale, non al P&L: hit-rate all'orizzonte dichiarato, rendimento medio contro il benchmark sulla stessa finestra, calibrazione della confidenza. Il portafoglio resta come prova di realtà a valle, ma non è il metro con cui si decide se un agente vale.
La catena è volutamente asimmetrica: quasi tutto il lavoro è deterministico e a costo nullo, e l'intelligenza artificiale entra solo nel punto in cui serve davvero un giudizio.
Prezzi e volumi di chiusura, eventi societari, indicatori tecnici derivati, serie macroeconomiche, operazioni dichiarate dai dirigenti alle autorità di vigilanza USA. Tutto da fonti pubbliche, con controlli di continuità che segnalano buchi e discontinuità invece di ignorarli.
Un filtro meccanico, senza alcuna chiamata all'AI, porta l'indice a poche decine di candidati: quelli che si stanno effettivamente muovendo. Costa zero e taglia il grosso della spesa a valle.
Ognuno riceve una finestra di dati costruita per la propria specializzazione e produce un giudizio strutturato per titolo. Il contrarian entra per ultimo, quando gli altri hanno già parlato, e attacca i titoli col consenso più alto.
Aggregazione deterministica, senza AI: stesso input, stesso output, sempre. Ne esce un punteggio di consenso, una misura di disaccordo, mediane di obiettivo e orizzonte, e l'eventuale avvertimento del contrarian allegato.
I quattro passaggi corrispondono a quattro livelli sovrapposti. L'informazione sale dal basso; ogni livello è un pacchetto separato con la stessa struttura interna — calcolo puro (nessun accesso a database né rete), persistenza senza commit, orchestrazione — così che la parte che decide sia sempre testabile senza toccare dati reali.
La catena deterministica — acquisizione prezzi, eventi, macro, indicatori, controllo di continuità, selezione — è schedulata e automatica ogni notte su server dedicato, con monitoraggio esterno che avvisa se una notte salta. Il blocco degli agenti e la catena dei portafogli sono oggi lanciati a comando: è l'ultimo anello che resta da automatizzare, e finché non lo è la pagina non lo racconta come se lo fosse.
Non sono sei varianti dello stesso ragionamento. Ognuna guarda una famiglia di dati che le altre ignorano, e in condizioni di mercato diverse arriva a conclusioni opposte. È esattamente l'effetto cercato.
Il contrarian è la scelta architetturale più controintuitiva del sistema, e la più importante. Un impianto che aggrega opinioni tende a premiare il conformismo: più agenti concordano, più il punteggio sale. Il contrarian esiste per rompere quel meccanismo dall'interno, ed è misurato come tutti gli altri — con la consapevolezza che un suo hit-rate basso è il comportamento atteso, non un difetto.
Tutti gli agenti girano oggi sullo stesso modello economico per contenere i costi. I modelli più capaci sono una leva deliberatamente non tirata: si attiveranno se e quando l'impianto avrà dimostrato di funzionare, e il confronto sarà a parità di tutto il resto.
Altri sei agenti sono specificati ma non in esercizio, e in nessun caso per una scelta estetica: ognuno è fermo su una dipendenza dichiarata. Tre analisti di bilancio attendono l'acquisizione dei dati finanziari strutturati depositati dalle società; un analista di notizie e uno di sentiment social attendono le rispettive fonti; un lettore di configurazioni grafiche richiede un modello multimodale, con un rapporto tra valore atteso e costo che oggi non lo giustifica.
Perché conta per chi valuta il progetto. La composizione della squadra è versionata. Quando entra un agente nuovo, le serie storiche di performance non vengono contaminate: ogni finestra di valutazione resta legata alla squadra attiva in quel periodo. Senza questo accorgimento, ogni miglioramento apparente sarebbe indistinguibile da un cambio di formazione.
Il punto in cui la maggior parte dei sistemi multi-agente mette un ulteriore modello di linguaggio è, in BO.I.A., codice deterministico. La ragione è verificabilità: un'aggregazione fatta da un LLM non è riproducibile, non è ispezionabile e non è ricalcolabile a distanza di mesi. Questa lo è.
L'arbitro riceve i segnali disponibili per un titolo e produce un punteggio di consenso compreso tra −1 e +1: la media di direzione per confidenza sulle sole fonti effettivamente presenti. L'etichetta finale segue il puro segno del punteggio. Accanto, un punteggio di disaccordo calcolato come entropia normalizzata delle direzioni: alto significa che gli agenti sono profondamente divisi, e quel numero viaggia insieme al giudizio invece di essere nascosto.
Il disegno prevede pesi reputazionali che premino gli agenti storicamente più accurati. Oggi quei pesi sono fissi a 1.0, deliberatamente. Stimare la reputazione su qualche decina di esiti significa amplificare il rumore e chiamarlo apprendimento: pochi casi fortunati basterebbero a far dominare un agente. L'attivazione è vincolata a una soglia minima di esiti risolti, con contrazione verso il peso neutro proporzionale alla dimensione del campione.
Il criterio. Ogni meccanismo adattivo che non ha ancora abbastanza dati per funzionare resta spento e dichiarato spento. Il costo di questa scelta è una pagina meno spettacolare; il beneficio è che nessun numero pubblicato qui è il prodotto di un adattamento su un campione che non lo reggeva.
È l'idea su cui è costruita tutta la valutazione del sistema, ed è il motivo per cui i risultati qui sotto sono più severi di quelli che si trovano altrove. La domanda non è «ha guadagnato». È: ha fatto meglio che stare fermi sull'indice, nella stessa identica finestra temporale?
Ogni previsione ha una data di ingresso (la chiusura del giorno a cui si riferisce l'analisi) e una scadenza (l'orizzonte in giorni di calendario che l'agente ha dichiarato da sé). Alla valutazione si prende l'ultima chiusura disponibile entro la scadenza, si calcola il rendimento del titolo e quello del benchmark sulle stesse due date, e la differenza è l'esito. Un BUY è corretto se l'eccesso è positivo, un SELL se è negativo.
Una previsione può essere matura (l'orizzonte è passato e i prezzi ci sono), in corso, senza orizzonte (l'agente non l'ha dichiarato: esce da ogni statistica), oppure non valutabile con motivo esplicito. La distinzione non è pedanteria: fondere questi stati in un booleano significa trasformare un dato mancante in uno zero, e uno zero in un pareggio che non è mai avvenuto. Le posizioni HOLD restano fuori dal denominatore dell'hit-rate, perché non esprimono una direzione da verificare.
Gli esiti non sono mai salvati da nessuna parte: vengono ricalcolati dai prezzi grezzi a ogni richiesta. È una scelta strutturale, non una comodità — un risultato archiviato può essere corretto, aggiornato o dimenticato, e nessuno se ne accorge. La garanzia è verificabile nel codice: il modulo che calcola gli esiti non importa alcun modulo capace di scrivere. Quando il denominatore è vuoto, l'hit-rate è nullo e non zero per cento; quando il campione è sotto la trentina di casi, il sistema stampa da sé un avviso di insufficienza statistica.
Verifica indipendente. Prima di pubblicare qualunque numero, un esito è stato ricalcolato a mano — interrogazione diretta al database e aritmetica decimale svolta separatamente dal codice — e confrontato campo per campo con l'output del sistema: prezzi, date, rendimenti, eccesso, verdetto. Scarto zero esatto su tutti i campi.
Questi sono i primi esiti prodotti dal sistema su previsioni reali, non su simulazioni retrospettive. Sono pubblicati integralmente, incluse le righe che al progetto non fanno comodo.
| Agente | Maturi | Hit-rate | Lettura |
|---|---|---|---|
| Volume Whisperer | 33 | 0,667 | Il migliore del gruppo su questa singola finestra |
| Arbitro | 45 | 0,581 | 43 direzionali, due HOLD fuori dal denominatore |
| Trend Hunter | 44 | 0,545 | Sopra la moneta, di poco |
| Devil's Advocate | 45 | 0,450 | Solo 20 direzionali: è contrarian per costruzione |
| Reversion Sniper | 46 | 0,326 | Excess medio negativo: su questa finestra ha sottratto valore |
La riga più interessante è l'ultima. Un agente che va peggio del caso e il cui eccesso medio è negativo è un candidato alla rimozione — e la stessa architettura che lo ha prodotto è quella che lo mette per iscritto in pubblico. Il secondo dato notevole è che l'arbitro batte tutti gli agenti che aggrega tranne uno: l'aggregazione, su questa finestra, ha aggiunto qualcosa rispetto ai suoi ingredienti.
Questa è una misura, non un'evidenza. Campione singolo, un solo periodo di mercato, nessuna significatività statistica pretesa né calcolata. Un hit-rate su qualche decina di casi è pienamente compatibile con il caso. Questi numeri non vengono usati per ordinare gli agenti, per pesarli nell'arbitro né per rimuoverne uno, e non dovrebbero esserlo da chi legge.
Tre portafogli simulati partono dallo stesso capitale figurato di diecimila e vengono confrontati in continuo. A compra l'indice e lo tiene: è il muro contro cui tutto va misurato. B segue un solo agente. C segue l'arbitro con la squadra completa. Il confronto B contro C è la verifica diretta dell'ipotesi che regge il progetto.
Quattro ragioni per non trarre conclusioni da questi numeri.
Non è una strategia in esercizio. Nelle 43 sedute misurate non è stata eseguita alcuna operazione: i portafogli hanno tenuto le posizioni iniziali dal primo giorno all'ultimo. Quello che si osserva è la qualità della selezione di partenza, non il funzionamento del sistema.
Lo stop di protezione è stato rilevato ma non eseguito. Le violazioni sono state registrate come misura, non agite. Un portafoglio reale avrebbe chiuso quelle posizioni e le curve successive sarebbero diverse, in una direzione non determinabile a posteriori.
Quarantatré sedute non sono un campione, tantomeno con un solo portafoglio per strategia. Non distinguono il segnale dal rumore in nessuna delle due direzioni.
Il ribilanciamento è stato eseguito all'ultimo punto della curva, quindi i suoi effetti non sono ancora entrati in nessuno di questi valori.
I due blocchi di numeri dicono cose apparentemente incompatibili. A livello di segnale, l'arbitro fa meglio dell'agente singolo che guida il portafoglio B. A livello di portafoglio, B batte C di cinque punti. Se la discrepanza reggesse su un campione serio, l'implicazione sarebbe precisa: il collo di bottiglia non sarebbe la squadra, ma la costruzione del portafoglio — il filtro che ammette solo i giudizi d'acquisto, il limite di dieci titoli, il tetto di tre per settore, la quota fissa per posizione.
Sarebbe una buona notizia per il progetto, perché la costruzione di portafoglio è la parte deterministica: si cambia, si rimisura, si confronta. Ma è esattamente il tipo di conclusione che non si può trarre da un campione di questa dimensione, e infatti non viene tratta. Resta annotata come ipotesi da verificare quando ci saranno i dati per farlo.
Come sono verificate le scritture sul portafoglio. Ogni ribilanciamento reale è validato con quattro ricalcoli aritmetici indipendenti dal codice che lo ha prodotto — ricavo delle chiusure, dimensionamento completo delle aperture, immutabilità dei campi che non dovevano cambiare, ricomposizione manuale della liquidità — più il controllo che liquidità e posizioni tornino esattamente al valore del portafoglio. Un codice di uscita a zero non è considerato una prova.
È la domanda che chiunque valuti un sistema di analisi pone per prima, e la risposta è la parte più importante di questa pagina: un backtest degli agenti sarebbe una misura falsa, e sarebbe falsa in una direzione prevedibile — verso l'alto.
Contaminazione. I modelli di linguaggio sono addestrati su testi che includono l'esito di quegli anni. Chiedere a un agente cosa avrebbe fatto nel 2019 significa chiederlo a qualcuno che sa già com'è andata. Nessun accorgimento sul prompt elimina il problema.
Sopravvivenza. Un test costruito sui componenti attuali dell'indice ignora le società che ne sono uscite perché fallite, delistate o acquisite. Il campione è già selezionato per essere sopravvissuto, e ogni risultato ne esce gonfiato.
La conseguenza è scomoda e va detta: l'unica valutazione onesta è in avanti, dal vivo, giorno per giorno. Il tempo passato in esercizio è la risorsa critica del progetto, e non esiste una scorciatoia per accumularlo.
L'esclusione riguarda gli agenti, non l'intero impianto. Le componenti deterministiche — i criteri di selezione, il dimensionamento delle posizioni, la soglia di stop — sono codice ordinario e possono essere testate all'indietro senza contaminazione, perché non contengono alcun modello che abbia letto la storia. Su quelle il test retrospettivo è utile per confrontare parametrizzazioni diverse e per distinguere una variabilità statistica da un difetto strutturale.
La linea è netta e vale la pena enunciarla: si testa all'indietro tutto ciò che non ha memoria del futuro, e solo quello. Ogni sistema che presenta curve retrospettive brillanti su decisioni prese da un modello di linguaggio sta, consapevolmente o no, misurando la memoria del modello anziché la sua capacità di giudizio.
L'economia dell'impianto è la ragione per cui l'architettura può permettersi sei opinioni invece di una — e per cui potrà permettersene dodici senza cambiare ordine di grandezza.
Cifre di una corsa reale, non stimate: cinquanta titoli selezionati dall'indice, sei agenti più l'arbitro, duecentosessanta esecuzioni complessive. La distribuzione dei giudizi finali di quella notte — trentotto acquisti, sette attese, cinque vendite — è essa stessa un dato monitorato: uno sbilanciamento verso l'acquisto è un difetto noto della categoria, e viene sorvegliato nel tempo invece che ignorato.
Il sistema è in esercizio su un server dedicato, con database applicativo isolato e utenza non privilegiata. La catena deterministica notturna è schedulata e si conclude in meno di un'ora; un servizio esterno di monitoraggio riceve un segnale a ogni esecuzione e apre un allarme se la notte salta.
I backup sono giornalieri, cifrati e conservati fuori dal server, con retention a trenta giorni. La differenza rilevante non è che esistano: è che la catena completa di ripristino — copia, archiviazione, estrazione, riporto in un database vuoto — è stata eseguita per intero e verificata a impronta crittografica identica, contando tabelle e indici. Un backup mai ripristinato è un'ipotesi, non una garanzia.
L'interfaccia di lettura non è esposta su internet pubblico. Le fonti dati sono pubbliche e gratuite: prezzi e volumi, serie macroeconomiche ufficiali, depositi societari all'autorità di vigilanza USA. Non ci sono abbonamenti a dati proprietari nella struttura di costo, e questo è un elemento di scalabilità, non un ripiego.
Il costo dominante non è l'AI. A questi volumi la spesa in modelli è trascurabile rispetto al tempo di ingegneria. È il motivo per cui la leva più promettente non è ridurre le chiamate, ma aumentare la qualità del giudizio per chiamata — e perché passare a modelli più capaci resta un'opzione economicamente aperta in qualunque momento.
Un progetto che si propone di battere il mercato deve dichiarare in partenza quanto è improbabile riuscirci. Qui è dichiarato, con le soglie oltre le quali il sistema si ferma da solo.
Alla revisione dei sei mesi, se il rendimento aggiustato per il rischio è sotto la soglia o il ritardo sull'indice supera il margine stabilito, il sistema apre da sé una schermata di valutazione con l'analisi completa di dove sono nati guadagni e perdite. A dodici mesi, se l'indice non è stato battuto in modo statisticamente difendibile, il suggerimento esplicito è l'archiviazione.
Nei portafogli simulati i guadagni sono puliti. Nella realtà commissioni, slippage — la differenza tra il prezzo osservato e quello effettivamente ottenuto — e tassazione erodono i margini, e lo fanno in modo sistematico, non casuale. Una strategia che guadagna il tre per cento lordo su operazioni frequenti può chiudere in perdita netta.
Per questo il disegno prevede il filtro dei suggerimenti che non sarebbero profittevoli al netto dei costi, prima ancora che vengano presentati. Un guadagno teorico che sparisce dopo commissioni e imposte non è un guadagno: è un errore di misura.
Sulla disciplina di verifica. Il progetto tiene un registro esplicito dei propri difetti aperti, numerato e datato, che comprende anche quelli scomodi: metriche che dipendono dalla freschezza dei dati, componenti mai provate a runtime, controlli passati senza che se ne conoscesse la ragione. Un difetto annotato è un difetto che qualcuno può chiedere di chiudere; un difetto taciuto no.
Il sistema oggi produce giudizi strutturati, li misura contro il benchmark e conserva la storia completa di ogni previsione emessa. Quello che manca è la superficie pubblica: un sito dove quelle analisi, e soprattutto gli esiti delle analisi precedenti, siano consultabili da chiunque.
È una scelta di sequenza deliberata. Costruire prima la vetrina e poi il metodo avrebbe prodotto una pagina più impressionante e un impianto meno solido. L'ordine inverso costa in visibilità e paga in credibilità: quando le analisi saranno pubbliche, saranno accompagnate dallo storico completo di quelle sbagliate, perché il meccanismo che lo calcola esiste già ed è stato costruito per non poter essere addomesticato.
BO.I.A. non vende una previsione. Costruisce un impianto che produce previsioni falsificabili, dichiara in anticipo il criterio con cui giudicarle, e pubblica il risultato anche quando è mediocre.
La domanda aperta non è se funzionerà. È se dodici mesi di misure oneste diranno qualcosa che dodici mesi di curve retrospettive non avrebbero mai detto.