मैट्रिक्स, टेंसर और ट्रॉपिकल बीजगणित: आर्बिट्राज पहचान के लिए रैखिक बीजगणित
"फ्यूचर्स और स्पॉट के बीच जटिल आर्बिट्राज श्रृंखलाएं" शृंखला का भाग 4
एक विशाल हॉल की कल्पना कीजिए जहां सैकड़ों ट्रेडर एक साथ मुद्राएं बदल रहे हैं। हर किसी की अपनी दरें, शुल्क और खासियतें हैं। आप बीच में एक नोटबुक लेकर खड़े हैं, एक ऐसा विनिमय मार्ग खोजने की कोशिश कर रहे हैं जो मुनाफा दे: डॉलर से यूरो, यूरो से येन, येन वापस डॉलर में—और शुरुआत से ज़्यादा लेकर बाहर निकलना। यहां भटकना आसान है। लेकिन अगर आप सभी दरों को एक तालिका—एक मैट्रिक्स—में लिख दें, तो अचानक इस अराजकता को एक संरचना मिल जाती है। इस मैट्रिक्स के आइगनवैल्यू आपको बताएंगे कि आर्बिट्राज है या नहीं। ट्रॉपिकल बीजगणित सबसे अच्छा मार्ग खोज लेगा। और टेंसर डिकम्पोज़िशन ऐसे पैटर्न उजागर करेंगे जो नंगी आंखों से अदृश्य हैं।
इस लेख में, हम एक साधारण विनिमय दर तालिका से लेकर उन्नत बहु-आयामी विश्लेषण विधियों तक की यात्रा करेंगे—और हर कदम को Rust में एक कार्यान्वयन का समर्थन प्राप्त होगा।
क्रिप्टोकरेंसी के बीच विनिमय दर मैट्रिक्स का विज़ुअलाइज़ेशन: ग्राफ की धारें ट्रेडिंग जोड़ों को दर्शाती हैं, और हाइलाइट किया गया चक्र एक पहचानी गई आर्बिट्राज संभावना को दर्शाता है।

1. विनिमय दर मैट्रिक्स: नींव
1.1 अराजकता से तालिका तक
मान लीजिए हमारे पास n एसेट हैं: BTC, ETH, USDT, SOL, आदि। हर जोड़े को एक निश्चित दर पर बदला जा सकता है। विनिमय दर मैट्रिक्स R एक n × n तालिका है जिसमें तत्व R[i][j] दर्शाता है कि एसेट i की एक इकाई के बदले हमें एसेट j की कितनी इकाइयां मिलती हैं।
एक अच्छी तरह से बने मैट्रिक्स के गुण:
- विकर्ण (Diagonal):
R[i][i] = 1—किसी एसेट को खुद के बदले बदलने से कुछ नहीं बदलता। - धनात्मकता: सभी जोड़ों के लिए
R[i][j] > 0। - पारस्परिकता (Reciprocity) (एक आदर्श बाज़ार में):
R[i][j] * R[j][i] = 1।
Rust में, हम इसे nalgebra का उपयोग करके दर्शा सकते हैं:
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 नो-आर्बिट्राज शर्त
यहां वह मुख्य प्रमेय है जिस पर बाकी सब कुछ आधारित है।
प्रमेय। एक बाज़ार आर्बिट्राज-मुक्त तभी होता है जब एसेट्स के किसी भी चक्र (i₁, i₂, ..., iₖ, i₁) के लिए, चक्र के साथ विनिमय दरों का गुणनफल एक के बराबर हो:
R[i₁][i₂] * R[i₂][i₃] * ... * R[iₖ][i₁] = 1
समतुल्य कथन: एक मैट्रिक्स R आर्बिट्राज-मुक्त तभी होता है जब उसकी रैंक 1 हो (गुणात्मक अर्थ में)। इसका मतलब है कि एक मूल्य वेक्टर p = (p₁, p₂, ..., pₙ) मौजूद है जैसे कि:
R[i][j] = pj / pi सभी i, j के लिए
मैट्रिक्स R एक बाहरी गुणनफल R = (1/p) * pᵀ के रूप में विघटित होता है—और यह एक रैंक-1 मैट्रिक्स है। यदि वास्तविक मैट्रिक्स रैंक 1 से विचलित होता है—तो कहीं न कहीं एक आर्बिट्राज संभावना छिपी है।
2. आइगनवैल्यू विधि: O(n³) में आर्बिट्राज
2.1 मिंग मा का प्रमेय
आर्बिट्राज पहचान के सबसे सुरुचिपूर्ण तरीकों में से एक 2007 में मिंग मा द्वारा प्रस्तावित किया गया था। यह विचार शानदार ढंग से सरल है।
प्रमेय (मिंग मा)। मान लीजिए R एक n × n विनिमय दर मैट्रिक्स है। यदि बाज़ार आर्बिट्राज-मुक्त है, तो:
- सबसे बड़ा आइगनवैल्यू
λ_max = n। - अन्य सभी आइगनवैल्यू शून्य के बराबर होते हैं।
- संबंधित आइगनवेक्टर
vसंतुलन कीमतों को दर्शाता है।
यह क्यों काम करता है? एक आर्बिट्राज-मुक्त मैट्रिक्स की रैंक 1 होती है, और इसका ट्रेस (विकर्ण तत्वों का योग) n के बराबर होता है (क्योंकि प्रत्येक R[i][i] = 1)। रैंक-1 मैट्रिक्स के लिए, एकमात्र गैर-शून्य आइगनवैल्यू ट्रेस के बराबर होता है। इसलिए, λ_max = n।
आर्बिट्राज मानदंड: आर्बिट्राज तभी मौजूद होता है जब λ_max > n। विचलन δ = λ_max - n मात्रात्मक रूप से आर्बिट्राज संभावना के पैमाने का अनुमान लगाता है।

3. ट्रॉपिकल (मैक्स-प्लस) बीजगणित: सबसे सुरुचिपूर्ण विधि
3.1 जब जोड़ अधिकतम बन जाता है
यह शायद हमारे अध्ययन की सबसे खूबसूरत खोज है। ट्रॉपिकल बीजगणित एक बीजगणितीय प्रणाली है जहां परिचित संक्रियाओं को फिर से परिभाषित किया जाता है:
- "जोड़":
a ⊕ b = max(a, b) - "गुणा":
a ⊗ b = a + b
इस बीजगणित में मैट्रिक्स गुणन स्वचालित रूप से भारों के अधिकतम योग वाले पथ की खोज करता है। सबसे लाभदायक आर्बिट्राज चक्र खोजने के लिए ठीक यही आवश्यक है।
3.2 ट्रॉपिकल आइगनवैल्यू और आर्बिट्राज
दरों का लॉग-मैट्रिक्स L[i][j] = ln(R[i][j]) लें। मैट्रिक्स L का ट्रॉपिकल आइगनवैल्यू λ गणना करें।
प्रमेय। λ > 0 तभी होता है जब आर्बिट्राज मौजूद हो। इसके अलावा, exp(λ) सबसे अच्छे चक्र का लाभ गुणक है।
/// 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 और फैक्टर मॉडल: सांख्यिकीय आर्बिट्राज
अब हम नियतात्मक आर्बिट्राज (सीधे मूल्य में अंतर) से सांख्यिकीय आर्बिट्राज की ओर बढ़ते हैं—एक फैक्टर मॉडल से व्यवस्थित विचलन खोजना।
प्रिंसिपल कंपोनेंट एनालिसिस (PCA) एसेट रिटर्न को व्यवस्थित कारकों और विशिष्ट अवशेषों में विघटित करता है:
ri(t) = αi + Σk βik * Fk(t) + εi(t)
जहां Fk(t) k-वां फैक्टर है, βik लोडिंग है, और εi(t) अवशेष है—आर्बिट्राज संकेत।
4.1 रैंडम मैट्रिक्स थ्योरी (RMT)
मुख्य प्रश्न: कितने फैक्टर रखने चाहिए? मार्चेंको-पास्तूर वितरण एक यादृच्छिक सहप्रसरण मैट्रिक्स के लिए आइगनवैल्यू के स्पेक्ट्रम का वर्णन करता है। ऊपरी सीमा से ऊपर के आइगनवैल्यू वास्तविक संकेत ले जाते हैं, जबकि सीमा के भीतर वाले शोर (noise) होते हैं।

5. टेंसर विधियां: आर्बिट्राज का तीसरा आयाम
क्रिप्टोकरेंसी आर्बिट्राज एक साथ कई आयामों को शामिल करता है। दरों का मैट्रिक्स केवल एक 2D कट है। असली तस्वीर एक टेंसर है:
T(a, e, i) = इंस्ट्रूमेंट i के लिए एक्सचेंज e पर एसेट a का मूल्य/दर
आयाम:
- मोड 1 (एसेट्स): BTC, ETH, SOL, ...
- मोड 2 (एक्सचेंज): Binance, Kraken, Coinbase, ...
- मोड 3 (इंस्ट्रूमेंट्स): Spot, Perpetual, Futures, ...
CP-डिकम्पोज़िशन (CANDECOMP/PARAFAC) टेंसर को रैंक-1 टेंसर के योग में फैक्टराइज़ करता है। अवशेष T - T_approx उन विसंगतियों को उजागर करते हैं जहां विशिष्ट एसेट/एक्सचेंज/इंस्ट्रूमेंट संयोजन बाज़ार की समग्र फैक्टर संरचना के सापेक्ष गलत मूल्य पर हैं।
निष्कर्ष
साधारण तालिकाओं से लेकर बहु-आयामी टेंसर तक, रैखिक बीजगणित क्रिप्टोकरेंसी बाज़ार के लिए एक औपचारिक भाषा प्रदान करता है। Rust हमें इन जटिल मॉडलों को उस गति से चलाने की अनुमति देता है जो HFT के लिए आवश्यक है।
अगले भाग में, हम आर्बिट्राज के लिए GNN, Transformers और RL का अन्वेषण करेंगे, यह देखते हुए कि न्यूरल नेटवर्क ट्रेडिंग कैसे सीखते हैं।
उच्च-आयामी संकेतों को संसाधित कर रहे हैं? हमारे GitHub पर Tensor-आधारित Trading Engine को देखें।
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.