← Maqolalarga qaytish
February 26, 2026
5 daqiqa o'qish

Matritsalar, tenzorlar va tropik algebra: arbitrajni aniqlash uchun chiziqli algebra

Matritsalar, tenzorlar va tropik algebra: arbitrajni aniqlash uchun chiziqli algebra
#arbitrage
#linear algebra
#tropical algebra
#matrices
#tensors
#rust
#cryptocurrency
#optimization
#PCA
#eigenvalues
🔗
Part 3 of 6 · Collection
Complex Arbitrage in Rust

"Fyucherslar va spot o'rtasidagi murakkab arbitraj zanjirlari" turkumining 4-qismi

Yuzlab treyderlar bir vaqtning o'zida valyuta almashtirayotgan katta zalni tasavvur qiling. Har birining o'z kursi, komissiyasi va o'ziga xos xususiyatlari bor. Siz markazda daftar bilan turib, foyda keltiruvchi almashuv marshrutini qidiryapsiz: dollardan yevroga, yevrodan yenaga, yenadan yana dollarga—va boshlagandan ko'proq bilan chiqish. Adashib qolish oson. Ammo barcha kurslarni jadvalga—matritsaga—yozsangiz, tartibsizlik birdaniga tuzilishga ega bo'ladi. Ushbu matritsaning xos qiymatlari arbitraj bor-yo'qligini aytadi. Tropik algebra optimal marshrutni topadi. Tenzor dekompozitsiyalari esa oddiy ko'z bilan ko'rinmaydigan naqshlarni ochib beradi.

Ushbu maqolada biz oddiy almashuv kursi jadvalidan murakkab ko'p o'lchovli tahlil usullariga qadar yo'l bosib o'tamiz—va har bir qadam Rust tilidagi amalga oshirish bilan tasdiqlanadi.

Almashuv kursi matritsasi va arbitraj sikllari Kriptovalyutalar o'rtasidagi almashuv kursi matritsasining vizualizatsiyasi: graf qirralari savdo juftliklarini bildiradi, ta'kidlangan sikl esa aniqlangan arbitraj imkoniyatini ko'rsatadi.

Xos qiymatlarning spektral dekompozitsiyasi bilan almashuv kursi matritsasi

1. Almashuv kursi matritsasi: asos

1.1 Tartibsizlikdan jadvalgacha

Bizda n ta aktiv bor deylik: BTC, ETH, USDT, SOL va boshqalar. Har bir juftlikni ma'lum bir kursda almashtirish mumkin. Almashuv kursi matritsasi R — bu n × n jadval bo'lib, unda R[i][j] elementi i aktivining bir birligi uchun j aktivining necha birligini olishimizni ko'rsatadi.

To'g'ri shakllangan matritsaning xususiyatlari:

  • Diagonal: R[i][i] = 1—aktivni o'ziga almashtirish hech narsani o'zgartirmaydi.
  • Musbatlik: barcha juftliklar uchun R[i][j] > 0.
  • O'zaro mutanosiblik (reciprocity) (ideal bozorda): R[i][j] * R[j][i] = 1.

Rustda buni nalgebra yordamida ifodalashimiz mumkin:

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 Arbitrajsizlik sharti

Mana, qolgan hamma narsa qurilgan asosiy teorema.

Teorema. Bozor faqat va faqat aktivlarning har qanday sikli (i₁, i₂, ..., iₖ, i₁) uchun sikl bo'ylab almashuv kurslarining ko'paytmasi birga teng bo'lgandagina arbitrajdan xoli bo'ladi:

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

Ekvivalent ta'rif: R matritsasi faqat va faqat uning rangi 1ga teng bo'lgandagina (multiplikativ ma'noda) arbitrajdan xoli bo'ladi. Bu shuni anglatadiki, quyidagi shartni qanoatlantiruvchi narx vektori p = (p₁, p₂, ..., pₙ) mavjud:

R[i][j] = pj / pi   barcha i, j uchun

R matritsasi tashqi ko'paytma R = (1/p) * pᵀ sifatida yoyiladi—va bu 1-rangli matritsa. Agar haqiqiy matritsa 1-rangdan chetlansa—qayerdadir arbitraj imkoniyati yashiringan bo'ladi.

2. Xos qiymat usuli: O(n³) da arbitraj

2.1 Ming Ma teoremasi

Arbitrajni aniqlashning eng nafis usullaridan biri 2007-yilda Ming Ma tomonidan taklif qilingan. G'oya ajoyib darajada sodda.

Teorema (Ming Ma). Rn × n almashuv kursi matritsasi bo'lsin. Agar bozor arbitrajdan xoli bo'lsa, u holda:

  1. Eng katta xos qiymat λ_max = n.
  2. Qolgan barcha xos qiymatlar nolga teng.
  3. Mos keluvchi xos vektor v muvozanat narxlarini ifodalaydi.

Nega bu ishlaydi? Arbitrajdan xoli matritsaning rangi 1ga teng, va uning izi (diagonal elementlar yig'indisi) nga teng (chunki har bir R[i][i] = 1). 1-rangli matritsa uchun nolga teng bo'lmagan yagona xos qiymat izga teng. Shuning uchun λ_max = n.

Arbitraj mezoni: arbitraj faqat λ_max > n bo'lgandagina mavjud. δ = λ_max - n og'ishi arbitraj imkoniyatining miqyosini miqdoriy baholaydi.

Tropik (max-plus) algebra vizualizatsiyasi

3. Tropik (max-plus) algebra: eng nafis usul

3.1 Qo'shish maksimumga aylanganda

Bu, ehtimol, bizning tadqiqotimizning eng go'zal kashfiyoti. Tropik algebra — tanish amallar qayta belgilanadigan algebraik tizim:

  • "Qo'shish": a ⊕ b = max(a, b)
  • "Ko'paytirish": a ⊗ b = a + b

Ushbu algebrada matritsalarni ko'paytirish avtomatik ravishda og'irliklarning maksimal yig'indisiga ega yo'lni qidiradi. Bu aynan eng foydali arbitraj siklini topish uchun kerak bo'lgan narsa.

3.2 Tropik xos qiymat va arbitraj

Kurslarning log-matritsasini olaylik: L[i][j] = ln(R[i][j]). L matritsasining tropik xos qiymati λni hisoblang.

Teorema. λ > 0 faqat arbitraj mavjud bo'lgandagina bajariladi. Bundan tashqari, exp(λ) — eng yaxshi siklning foyda ko'paytiruvchisi.

/// 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 va faktor modellari: statistik arbitraj

Deterministik arbitrajdan (to'g'ridan-to'g'ri narx farqlari) statistik arbitrajga—faktor modelidan sistematik og'ishlarni qidirishga—o'tamiz.

Bosh komponentlar tahlili (PCA) aktiv daromadlarini sistematik faktorlarga va idiosinkratik qoldiqlarga ajratadi:

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

bu yerda Fk(t) — k-chi faktor, βik — yuklama (loading), va εi(t) — qoldiq, ya'ni arbitraj signali.

4.1 Tasodifiy matritsalar nazariyasi (RMT)

Asosiy savol: nechta faktorni saqlab qolish kerak? Marchenko-Pastur taqsimoti tasodifiy kovariatsiya matritsasi uchun xos qiymatlar spektrini tavsiflaydi. Yuqori chegara λ+λ_+ dan yuqori xos qiymatlar haqiqiy signallarni olib yuradi, chegara ichidagilari esa shovqin (noise) hisoblanadi.

Ko'p o'lchovli arbitraj uchun 3D tenzor vizualizatsiyasi

5. Tenzor usullari: arbitrajning uchinchi o'lchovi

Kriptovalyuta arbitraji bir vaqtning o'zida bir nechta o'lchovni o'z ichiga oladi. Kurslar matritsasi shunchaki 2D kesim. Haqiqiy manzara esa Tenzordir:

T(a, e, i) = i instrumenti uchun e birjasidagi a aktivining narxi/kursi

O'lchovlar:

  • 1-rejim (Aktivlar): BTC, ETH, SOL, ...
  • 2-rejim (Birjalar): Binance, Kraken, Coinbase, ...
  • 3-rejim (Instrumentlar): Spot, Perpetual, Futures, ...

CP-dekompozitsiya (CANDECOMP/PARAFAC) tenzorni 1-rangli tenzorlar yig'indisiga faktorlashtiradi. T - T_approx qoldiqlari bozorning umumiy faktor tuzilmasiga nisbatan muayyan aktiv/birja/instrument kombinatsiyalari noto'g'ri narxlangan joylardagi anomaliyalarni ochib beradi.

Xulosa

Oddiy jadvallardan tortib ko'p o'lchovli tenzorlargacha, chiziqli algebra kriptovalyuta bozori uchun formal til taqdim etadi. Rust bizga ushbu murakkab modellarni HFT uchun zarur bo'lgan tezlikda bajarish imkonini beradi.

Keyingi qismda biz arbitraj uchun GNN, Transformer va RLni o'rganamiz va neyron tarmoqlar savdo qilishni qanday o'rganishini ko'rib chiqamiz.


Yuqori o'lchovli signallarni qayta ishlayapsizmi? GitHub'dagi tenzorga asoslangan Trading Engine sahifamizga qarang.

blog.disclaimer

Authors

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

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.