Matrizen, Tensoren und tropische Algebra: Lineare Algebra zur Arbitrage-Erkennung
Teil 4 der Serie "Komplexe Arbitrage-Ketten zwischen Futures und Spot"
Stellen Sie sich eine riesige Halle vor, in der Hunderte von Händlern gleichzeitig Währungen tauschen. Jeder hat seine eigenen Kurse, Gebühren und Eigenheiten. Sie stehen in der Mitte mit einem Notizbuch und versuchen, eine Tauschroute zu finden, die Gewinn bringt: Dollar zu Euro, Euro zu Yen, Yen zurück zu Dollar—und am Ende mehr herausgehen als hineingesteckt wurde. Es ist leicht, den Überblick zu verlieren. Doch wenn man alle Kurse in einer Tabelle—einer Matrix—notiert, gewinnt das Chaos plötzlich Struktur. Die Eigenwerte dieser Matrix verraten, ob Arbitrage vorliegt. Die tropische Algebra findet die optimale Route. Und Tensor-Zerlegungen offenbaren Muster, die dem bloßen Auge verborgen bleiben.
In diesem Artikel bewegen wir uns von einer einfachen Wechselkurstabelle zu fortgeschrittenen mehrdimensionalen Analysemethoden—und jeder Schritt wird durch eine Implementierung in Rust untermauert.
Visualisierung der Wechselkursmatrix zwischen Kryptowährungen: Die Kanten des Graphen stellen Handelspaare dar, und der hervorgehobene Zyklus zeigt eine erkannte Arbitrage-Möglichkeit.

1. Die Wechselkursmatrix: Das Fundament
1.1 Vom Chaos zur Tabelle
Angenommen, wir haben n Assets: BTC, ETH, USDT, SOL usw. Jedes Paar kann zu einem bestimmten Kurs getauscht werden. Die Wechselkursmatrix R ist eine n × n-Tabelle, in der das Element R[i][j] angibt, wie viele Einheiten des Assets j wir für eine Einheit des Assets i erhalten.
Eigenschaften einer wohlgeformten Matrix:
- Diagonale:
R[i][i] = 1—ein Asset gegen sich selbst zu tauschen, ändert nichts. - Positivität:
R[i][j] > 0für alle Paare. - Reziprozität (in einem idealen Markt):
R[i][j] * R[j][i] = 1.
In Rust können wir dies mit nalgebra darstellen:
use nalgebra::DMatrix;
/// Builds an exchange rate matrix from a set of trading pairs
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);
// Diagonal: exchange for self = 1
for i in 0..n {
matrix[(i, i)] = 1.0;
}
// Fill known rates
for &((i, j), rate) in rates {
matrix[(i, j)] = rate;
// Reciprocal rate (if there is no direct one)
if matrix[(j, i)] == 0.0 {
matrix[(j, i)] = 1.0 / rate;
}
}
matrix
}
1.2 Die No-Arbitrage-Bedingung
Hier ist das zentrale Theorem, auf dem alles Weitere aufbaut.
Theorem. Ein Markt ist genau dann arbitragefrei, wenn für jeden Zyklus von Assets (i₁, i₂, ..., iₖ, i₁) das Produkt der Wechselkurse entlang des Zyklus gleich eins ist:
R[i₁][i₂] * R[i₂][i₃] * ... * R[iₖ][i₁] = 1
Äquivalente Formulierung: Eine Matrix R ist genau dann arbitragefrei, wenn ihr Rang 1 ist (im multiplikativen Sinne). Das bedeutet, es existiert ein Preisvektor p = (p₁, p₂, ..., pₙ), sodass:
R[i][j] = pj / pi für alle i, j
Die Matrix R zerfällt in ein äußeres Produkt R = (1/p) * pᵀ—und dies ist eine Rang-1-Matrix. Weicht die tatsächliche Matrix vom Rang 1 ab—verbirgt sich irgendwo eine Arbitrage-Möglichkeit.
2. Die Eigenwert-Methode: Arbitrage in O(n³)
2.1 Ming Mas Theorem
Einer der elegantesten Ansätze zur Arbitrage-Erkennung wurde 2007 von Ming Ma vorgeschlagen. Die Idee ist bestechend einfach.
Theorem (Ming Ma). Sei R eine n × n-Wechselkursmatrix. Ist der Markt arbitragefrei, dann gilt:
- Der größte Eigenwert
λ_max = n. - Alle anderen Eigenwerte sind gleich null.
- Der zugehörige Eigenvektor
vrepräsentiert die Gleichgewichtspreise.
Warum funktioniert das? Eine arbitragefreie Matrix hat Rang 1, und ihre Spur (die Summe der Diagonalelemente) ist gleich n (da jedes R[i][i] = 1). Für eine Rang-1-Matrix ist der einzige von null verschiedene Eigenwert gleich der Spur. Daher gilt λ_max = n.
Arbitrage-Kriterium: Arbitrage existiert genau dann, wenn λ_max > n. Die Abweichung δ = λ_max - n schätzt quantitativ das Ausmaß der Arbitrage-Möglichkeit.

3. Tropische (Max-Plus-)Algebra: Die eleganteste Methode
3.1 Wenn Addition zum Maximum wird
Dies ist wohl die schönste Entdeckung unserer Untersuchung. Tropische Algebra ist ein algebraisches System, in dem vertraute Operationen neu definiert werden:
- "Addition":
a ⊕ b = max(a, b) - "Multiplikation":
a ⊗ b = a + b
Die Matrixmultiplikation in dieser Algebra sucht automatisch den Pfad mit der maximalen Summe der Gewichte. Genau das ist nötig, um den profitabelsten Arbitrage-Zyklus zu finden.
3.2 Tropischer Eigenwert und Arbitrage
Nehmen wir die Log-Matrix der Kurse L[i][j] = ln(R[i][j]). Berechnen Sie den tropischen Eigenwert λ der Matrix L.
Theorem. λ > 0 genau dann, wenn Arbitrage existiert. Zudem ist exp(λ) der Gewinnmultiplikator des besten Zyklus.
/// Tropical (max-plus) matrix multiplication
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 {
// Tropical multiplication: max instead of sum, + instead of *
let val = a[(i, l)] + b[(l, j)];
if val > result[(i, j)] {
result[(i, j)] = val;
}
}
}
}
result
}
4. PCA und Faktormodelle: Statistische Arbitrage
Wir wechseln von deterministischer Arbitrage (direkte Preisdiskrepanzen) zur statistischen Arbitrage—dem Aufspüren systematischer Abweichungen von einem Faktormodell.
Die Hauptkomponentenanalyse (PCA) zerlegt Asset-Renditen in systematische Faktoren und idiosynkratische Residuen:
ri(t) = αi + Σk βik * Fk(t) + εi(t)
wobei Fk(t) der k-te Faktor ist, βik die Ladung (Loading) und εi(t) das Residuum—das Arbitrage-Signal.
4.1 Random-Matrix-Theorie (RMT)
Die Schlüsselfrage: Wie viele Faktoren sollte man behalten? Die Marchenko-Pastur-Verteilung beschreibt das Spektrum der Eigenwerte für eine zufällige Kovarianzmatrix. Eigenwerte oberhalb der oberen Grenze tragen echte Signale, während jene innerhalb der Grenze Rauschen sind.

5. Tensor-Methoden: Die dritte Dimension der Arbitrage
Krypto-Arbitrage umfasst gleichzeitig mehrere Dimensionen. Die Kursmatrix ist nur ein 2D-Schnitt. Das eigentliche Bild ist ein Tensor:
T(a, e, i) = Preis/Kurs für Asset a an Börse e für Instrument i
Dimensionen:
- Modus 1 (Assets): BTC, ETH, SOL, ...
- Modus 2 (Börsen): Binance, Kraken, Coinbase, ...
- Modus 3 (Instrumente): Spot, Perpetual, Futures, ...
Die CP-Zerlegung (CANDECOMP/PARAFAC) faktorisiert den Tensor in eine Summe von Rang-1-Tensoren. Die Residuen T - T_approx offenbaren Anomalien, bei denen bestimmte Kombinationen aus Asset/Börse/Instrument im Vergleich zur allgemeinen Faktorstruktur des Marktes falsch bepreist sind.
Fazit
Von einfachen Tabellen bis hin zu mehrdimensionalen Tensoren liefert die lineare Algebra eine formale Sprache für den Kryptomarkt. Rust erlaubt es uns, diese komplexen Modelle mit der für HFT erforderlichen Geschwindigkeit auszuführen.
Im nächsten Teil erkunden wir GNN, Transformer und RL für Arbitrage und betrachten, wie neuronale Netze das Trading lernen.
Verarbeiten Sie hochdimensionale Signale? Schauen Sie sich unsere Tensor-basierte Trading-Engine auf GitHub an.
Authors
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.