← Torna agli articoli
February 26, 2026
5 min di lettura

Matrici, Tensori e Algebra Tropicale: Algebra Lineare per il Rilevamento dell'Arbitraggio

Matrici, Tensori e Algebra Tropicale: Algebra Lineare per il Rilevamento dell'Arbitraggio
#arbitraggio
#algebra lineare
#algebra tropicale
#matrici
#tensori
#rust
#criptovaluta
#ottimizzazione
#PCA
#autovalori

Parte 4 della serie "Catene di Arbitraggio Complesse tra Futures e Spot"

Immaginate una grande sala in cui centinaia di trader scambiano valute simultaneamente. Ognuno ha i propri tassi, commissioni e peculiarità. Voi siete al centro con un taccuino, cercando un percorso di scambio che generi profitto: dollari in euro, euro in yen, yen di nuovo in dollari — e uscite con più di quanto avete iniziato. È facile perdersi. Ma se scrivete tutti i tassi in una tabella — una matrice — il caos acquista improvvisamente struttura. Gli autovalori di questa matrice vi diranno se esiste arbitraggio. L'algebra tropicale troverà il percorso ottimale. E le decomposizioni tensoriali riveleranno pattern invisibili a occhio nudo.

In questo articolo, viaggeremo da una semplice tabella di tassi di cambio ai metodi avanzati di analisi multidimensionale — e ogni passo sarà supportato da un'implementazione in Rust.

Matrice dei Tassi di Cambio e Cicli di Arbitraggio Visualizzazione della matrice dei tassi di cambio tra criptovalute: gli archi del grafo rappresentano coppie di trading, e il ciclo evidenziato rappresenta un'opportunità di arbitraggio rilevata.

Matrice dei tassi di cambio con decomposizione spettrale degli autovalori

1. La Matrice dei Tassi di Cambio: Le Fondamenta

1.1 Dal Caos alla Tabella

Supponiamo di avere n asset: BTC, ETH, USDT, SOL, ecc. Ogni coppia può essere scambiata a un determinato tasso. La Matrice dei Tassi di Cambio R è una tabella n × n dove l'elemento R[i][j] mostra quante unità dell'asset j otteniamo per un'unità dell'asset i.

Proprietà di una matrice ben formata:

  • Diagonale: R[i][i] = 1 — scambiare un asset con se stesso non cambia nulla.
  • Positività: R[i][j] > 0 per tutte le coppie.
  • Reciprocità (in un mercato ideale): R[i][j] * R[j][i] = 1.

In Rust, possiamo rappresentare questo usando nalgebra:

use nalgebra::DMatrix;

/// Costruisce una matrice dei tassi di cambio da un insieme di coppie di trading
fn build_exchange_rate_matrix(
    assets: &[&str],
    rates: &[((usize, usize), f64)],
) -> DMatrix<f64> {
    let n = assets.len();
    let mut matrix = DMatrix::from_element(n, n, 0.0);

    // Diagonale: scambio con se stesso = 1
    for i in 0..n {
        matrix[(i, i)] = 1.0;
    }

    // Riempire i tassi noti
    for &((i, j), rate) in rates {
        matrix[(i, j)] = rate;
        // Tasso reciproco (se non ce n'è uno diretto)
        if matrix[(j, i)] == 0.0 {
            matrix[(j, i)] = 1.0 / rate;
        }
    }

    matrix
}

1.2 La Condizione di Assenza di Arbitraggio

Ecco il teorema chiave su cui è costruito tutto il resto.

Teorema. Un mercato è privo di arbitraggio se e solo se per qualsiasi ciclo di asset (i₁, i₂, ..., iₖ, i₁), il prodotto dei tassi di cambio lungo il ciclo è uguale a uno:

R[i₁][i₂] * R[i₂][i₃] * ... * R[iₖ][i₁] = 1

Formulazione equivalente: Una matrice R è priva di arbitraggio se e solo se il suo rango è 1 (in senso moltiplicativo). Ciò significa che esiste un vettore di prezzi p = (p₁, p₂, ..., pₙ) tale che:

R[i][j] = pj / pi   per tutti i, j

La matrice R si decompone come prodotto esterno R = (1/p) * pᵀ — e questa è una matrice di rango 1. Se la matrice reale devia dal rango 1 — da qualche parte si nasconde un'opportunità di arbitraggio.

2. Il Metodo degli Autovalori: Arbitraggio in O(n³)

2.1 Il Teorema di Ming Ma

Uno degli approcci più eleganti al rilevamento dell'arbitraggio è stato proposto da Ming Ma nel 2007. L'idea è brillantemente semplice.

Teorema (Ming Ma). Sia R una matrice dei tassi di cambio n × n. Se il mercato è privo di arbitraggio, allora:

  1. Il maggiore autovalore λ_max = n.
  2. Tutti gli altri autovalori sono uguali a zero.
  3. Il corrispondente autovettore v rappresenta i prezzi di equilibrio.

Perché funziona? Una matrice priva di arbitraggio ha rango 1, e la sua traccia (la somma degli elementi diagonali) è uguale a n (perché ogni R[i][i] = 1). Per una matrice di rango 1, l'unico autovalore non nullo è uguale alla traccia. Quindi, λ_max = n.

Criterio di arbitraggio: L'arbitraggio esiste se e solo se λ_max > n. La deviazione δ = λ_max - n stima quantitativamente la scala dell'opportunità di arbitraggio.

Visualizzazione dell'algebra tropicale (max-plus)

3. Algebra Tropicale (Max-Plus): Il Metodo più Elegante

3.1 Quando l'Addizione Diventa Massimo

Questa è forse la scoperta più bella del nostro studio. L'algebra tropicale è un sistema algebrico in cui le operazioni familiari vengono ridefinite:

  • "Addizione": a ⊕ b = max(a, b)
  • "Moltiplicazione": a ⊗ b = a + b

La moltiplicazione di matrici in questa algebra cerca automaticamente il percorso con la somma massima di pesi. Questo è esattamente ciò che serve per trovare il ciclo di arbitraggio più redditizio.

3.2 Autovalore Tropicale e Arbitraggio

Prendiamo la log-matrice dei tassi L[i][j] = ln(R[i][j]). Calcoliamo l'autovalore tropicale λ della matrice L.

Teorema. λ > 0 se e solo se esiste arbitraggio. Inoltre, exp(λ) è il moltiplicatore di profitto del ciclo migliore.

/// Moltiplicazione di matrici tropicale (max-plus)
fn tropical_matmul(a: &DMatrix<f64>, b: &DMatrix<f64>) -> DMatrix<f64> {
    let n = a.nrows();
    let m = b.ncols();
    let k = a.ncols();
    let mut result = DMatrix::from_element(n, m, f64::NEG_INFINITY);

    for i in 0..n {
        for j in 0..m {
            for l in 0..k {
                // Moltiplicazione tropicale: max invece di somma, + invece di *
                let val = a[(i, l)] + b[(l, j)];
                if val > result[(i, j)] {
                    result[(i, j)] = val;
                }
            }
        }
    }
    result
}

4. PCA e Modelli Fattoriali: Arbitraggio Statistico

Passando dall'arbitraggio deterministico (discrepanze dirette di prezzo) all'arbitraggio statistico — trovare deviazioni sistematiche da un modello fattoriale.

L'Analisi delle Componenti Principali (PCA) decompone i rendimenti degli asset in fattori sistematici e residui idiosincratici:

ri(t) = αi + Σk βik * Fk(t) + εi(t)

dove Fk(t) è il k-esimo fattore, βik è il carico e εi(t) è il residuo — il segnale di arbitraggio.

4.1 Teoria delle Matrici Casuali (RMT)

Domanda chiave: quanti fattori conservare? La distribuzione di Marchenko-Pastur descrive lo spettro degli autovalori per una matrice di covarianza casuale. Gli autovalori al di sopra del limite superiore λ+λ_+ portano segnali reali, mentre quelli all'interno del limite sono rumore.

Visualizzazione 3D del tensore per l'arbitraggio multidimensionale

5. Metodi Tensoriali: La Terza Dimensione dell'Arbitraggio

L'arbitraggio nelle criptovalute coinvolge simultaneamente più dimensioni. La matrice dei tassi è solo una fetta 2D. Il quadro reale è un Tensore:

T(a, e, i) = prezzo/tasso per l'asset a sulla borsa e per lo strumento i

Dimensioni:

  • Modo 1 (Asset): BTC, ETH, SOL, ...
  • Modo 2 (Borse): Binance, Kraken, Coinbase, ...
  • Modo 3 (Strumenti): Spot, Perpetual, Futures, ...

Decomposizione CP (CANDECOMP/PARAFAC) fattorizza il tensore in una somma di tensori di rango 1. I residui T - T_approx rivelano anomalie dove specifiche combinazioni di prezzo/borsa/strumento sono mal prezzate rispetto alla struttura complessiva dei fattori di mercato.

Conclusione

Dalle semplici tabelle ai tensori multidimensionali, l'algebra lineare fornisce un linguaggio formale per il mercato delle criptovalute. Rust ci permette di eseguire questi modelli complessi con la velocità richiesta dall'HFT.

Nella prossima parte, esploreremo GNN, Transformers e RL per l'Arbitraggio, osservando come le reti neurali imparano a fare trading.


Elaborazione di segnali ad alta dimensionalità? Scopri il nostro Motore di Trading Basato su Tensori su GitHub.

Disclaimer: le informazioni fornite in questo articolo hanno solo scopo didattico e informativo e non costituiscono consulenza finanziaria, di investimento o di trading. Il trading di criptovalute comporta un rischio significativo di perdita.

Autori

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Resta un Passo Avanti al Mercato

Iscriviti alla nostra newsletter per approfondimenti esclusivi sul trading con IA, analisi di mercato e aggiornamenti sulla piattaforma.

Rispettiamo la tua privacy. Annulla l'iscrizione in qualsiasi momento.