कॉन्फिग में starting_capital: 100000 लिखा था, और चार्ट की y-अक्ष पर USD। लॉग की हर फिल एक USDC संख्या थी। उस रन के ग्यारह महीनों तक ये दोनों तथ्य एक ही सेल में रहे और किसी के पास उन्हें अलग करने की वजह नहीं थी।
फिर Silicon Valley Bank फेल हो गया, Circle ने कहा कि USDC रिज़र्व के $3.3 बिलियन वहाँ फँसे हैं, और USDC 87 सेंट पर ट्रेड हुआ। हमारी "डॉलर" बुक ऊपर चली गई। USDC में प्राइस्ड BTC उछल गया। पर्प ने हरा प्रिंट किया। वह कैश जिसे हमने रिस्क-फ्री 100,000 माना था, वही चीज़ हिली।
मैं अब भी उन रिसर्च पाइपलाइनों को पकड़ लेता हूँ जो USDC, USDT और USD को एक ही कॉलम में मार्क करती हैं। यह वही वीकेंड है, लेजर ने जिस क्रम में देखा उसी क्रम में चीरकर रखा गया।
वह लाइन जिसमें $100,000 लिखा था
पेपर अकाउंट, USDC-मार्जिंड BTC परपेचुअल, मामूली लॉन्ग। 30,000 USDC का BTC नोशनल, शुक्रवार के मार्क पर $20,150 के आसपास लगभग 1.5 BTC। बाकी 70,000 USDC कोलैटरल के रूप में बैठा था। जानबूझकर अंडर-डिप्लॉयड। हम एक रणनीति को वार्म अप कर रहे थे। स्टैक का बाकी हिस्सा कैश में बैठा था।
NAV फ़ंक्शन ने वही किया जो उनमें से ज़्यादातर करते हैं। उसने USDC कैश को USDC अनरियलाइज़्ड pnl में जोड़ा और योग को equity_usd नाम की सीरीज़ में लिख दिया। कॉन्फिग में एक कमेंट था जिसे मैंने खुद लिखा था:
स्टेबलकॉइन = 1 डॉलर। FX दो बार मत गिनो।
मेरा मतलब था: USDT फंडिंग पेमेंट को दो बार कन्वर्ट करके दूसरी डॉलर मूव में मत बदलो। जो मैंने वास्तव में किया वह फ़ाइल के बाकी हिस्से के लिए FX रेट को 1.0 पर फ़्रीज़ कर देना था।
quote_asset = "USDC"
वेन्यू एक USDC वेन्यू था। फिल, मार्जिन, फंडिंग, लिक्विडेशन मार्क्स, लॉट साइज़, मिन नोशनल, सब कुछ। Hyperliquid, dYdX v3, Coinbase International, एक दर्जन और, वही शक्ल। रिसर्च नोटबुक ने एक BTCUSDC कैंडल और एक BTCUSD कैंडल इम्पोर्ट की, ट्रेडिंग के लिए पहली का इस्तेमाल किया, और प्लॉट पर दूसरी का लेबल लगाया क्योंकि प्लॉट डॉलर में ज़्यादा प्रोफ़ेशनल लगता था।
और यही वह छोटी, बेवकूफ़ाना बात है जिसके बारे में मैं अभी भी बेवक्त सोचता हूँ: प्लॉटिंग लाइब्रेरी का डिफ़ॉल्ट अक्ष टाइटल "USD" है। मैंने उसे कभी ओवरराइड नहीं किया। लोग स्क्रीन के पास से गुज़रे और एक ऐसी यूनिट पढ़ी जो उस सीरीज़ के पास थी ही नहीं।
शुक्रवार की रात, Circle का ट्वीट
10 मार्च, 2023। SVB पहले ही जा चुका है। Circle खुलासा करता है कि उसके तब के ~$40 बिलियन USDC रिज़र्व में से $3.3 बिलियन फेल बैंक में बैठे थे, करीब 8%। Coinbase उसी रात USDC कन्वर्ज़न सस्पेंड कर देता है। रिडेम्प्शन, असली पेग मैकेनिज़्म, वीकेंड के लिए बंद है।
बैकटेस्ट में इनमें से किसी के लिए कोई पंक्ति नहीं थी। कोई रिडेम्प्शन हॉल्ट फ़्लैग नहीं, कोई इश्यूअर-रिज़र्व फ़ील्ड नहीं, कोई "क्या मैं सोमवार से पहले इस टोकन के बदले डॉलर ले सकता हूँ।" नहीं। उसके पास एक क्लोज़ था। शुक्रवार का क्लोज़ हमारी FX फ़ाइल में अभी भी 1.0000 था, क्योंकि FX फ़ाइल एक स्टब थी जो USD से शुरू होने वाले किसी भी टिकर के लिए 1.0 लौटाती थी।
मैं USDT प्रीमियम को किताबी शोर मानता था, उस किस्म की चीज़ जिसका फ़ुटनोट में ज़िक्र करके फिर अनदेखा कर दिया जाता है। एक बार हमने रसोई में बीस मिनट बहस की कि क्या 1.03 "बुक करने लायक" है। हम दोनों राय घड़ रहे थे। पेयर एक सीरीज़ है। उसे स्टोर करो। उस पर वोट करना बंद करो।
0.8789
शनिवार की सुबह। CoinGecko पर USDC का लो $0.8789 है। दूसरी टेप $0.87 प्रिंट करती हैं। कुछ DEX पूल $0.80 से गुज़र जाते हैं। DAI, जिसमें कोलैटरल के रूप में USDC ठूँसा है, उसके साथ नीचे जाता है। USDT उल्टी दिशा में जाता है, कुछ स्क्रीन पर $1.03, Kraken पर $1.06।
स्टब FX फ़ाइल अभी भी 1.0 लौटाती है। बैकटेस्ट की घड़ी जानती है कि शनिवार है। उसे नहीं पता कि बुक की यूनिट अब एक संकटग्रस्त टोकन है।
26,000 पर Kraken प्रिंट
Bitstamp BTC/USD $20,200 के आसपास चक्कर काट रहा है। Kraken BTC/USDC $26,000 से ऊपर प्रिंट करता है। वह वही बिटकॉइन है। दूसरी संख्या एक टूटे पेग से विभाजित डॉलर कीमत है, प्लस वह हवा जो शनिवार को एक पतली USDC बुक जोड़ देती है।
हमारे वेन्यू ने परपेचुअल को USDC में मार्क किया। एक कंज़र्वेटिव टेप लो, BTC/USDC ~$23,000 पर, जो $20,200 / 0.88 है। 1.5 BTC लॉन्ग करीब 4,300 USDC ऊपर है। नेटिव यूनिट में अकाउंट: 104,300 USDC। इंजन $104,300 रिपोर्ट करता है, 4.3% का अप वीकेंड, और उसी यूनिट में एक फंडिंग पेमेंट उसके ऊपर आ बैठता है।
डॉलर में 70,000 USDC का निष्क्रिय कोलैटरल करीब $61,600 का है। पूरा 104,300 USDC करीब $91,800 का है। वह बुक जिसने 4.3% "कमाया", अपने डॉलर कैपिटल का 8% खो बैठी जबकि वह ज़्यादातर कैश में बैठी थी।
वीकेंड रिटर्न यूनिट का बदलाव था, किस्मत का नहीं। USDC-गिरावट वाले दिन लॉन्ग BTC/USDC पोज़ीशन मैकेनिकली डिपेग की लॉन्ग होती है। आप वह दांव चाह सकते हैं। आप उसे बाद में USD लेबल वाली सीरीज़ में खोज नहीं सकते।
cash_usd = cash_usdc * 1.0
वही लाइन है जिसे मैं रखता हूँ। वह हर बार पर चली, उन बार सहित जहाँ USDCUSD 0.87 था। 1.0 से गुणा करना नो-ऑप जैसा लगता है, इसीलिए यह कोड रिव्यू में बच जाता है। यह एक FX मार्क है। फ़्रीज़ किया हुआ।
70,000 USDC के कोलैटरल ने कभी ट्रेड ट्रिगर नहीं किया, इसलिए कोई स्लिपेज मॉडल कभी उसे नहीं देखता, कोई फीस टेबल नहीं, कोई फंडिंग नहीं। कैश को बोरिंग कॉलम माना जाता है। इस बुक पर वही सबसे बड़ा रिस्क था, और अकेला जिसे हमने प्राइस नहीं किया।
उस वीकेंड BTC फिल पर maker रिबेट 2 या 3 bps थी, अगर फिल मिला भी हो। कोट-एसेट मूव 1,300 bps की थी। 3 के लिए हमारे पास पूरा स्टैक है और 1,300 के लिए एक स्टब।
चार्ट पर हरा वीकेंड
सोमवार सुबह Slack, इससे पहले कि किसी ने USDCUSD खोला होता: हमने ओवरनाइट 4% प्रिंट किया। किसी ने पूछा कि क्या पेपर साइज़ स्केल करना चाहिए। मैंने चार्ट देखा, फिर Kraken, फिर स्टब।
| लेजर आइटम | इंजन ने क्या स्टोर किया | शनिवार, नेटिव | उसी क्षण, डॉलर में |
|---|---|---|---|
| निष्क्रिय कोलैटरल | 70,000 USDC × 1.00 | 70,000 USDC | ~$61,600 |
| BTC पर्प मार्क | BTCUSDC लास्ट | ~23,000 USDC (Kraken पर 26,000) | BTCUSD ~$20,200 |
| 1.5 BTC पर अनरियलाइज़्ड | +4,300 USDC | +4,300 USDC | ज़्यादातर पेग, कुछ बिटकॉइन |
| रिपोर्टेड NAV | 104,300 "USD" | 104,300 USDC | ~$91,800 |
USDT बुक्स का उल्टा कार्टून था। USDT महँगा ट्रेड हुआ, इसलिए USDT-मार्जिंड फ्लैट अकाउंट ने एक डॉलर गेन दिखाया जो उसने भी नहीं कमाया था, और एक BTCUSDT मार्क जो BTCUSD के सापेक्ष बहुत कम था। अगर आपने उस वीकेंड दो "एक जैसी" BTC पर्प रैंक कीं, एक USDC वेन्यू पर और एक USDT वेन्यू पर, तो आपने कोट टोकन रैंक किए और उसे alpha कहा।
पेपर अकाउंट, वही जिसने वास्तव में USDC होल्ड किया, रिसर्च डैशबोर्ड से सच्चाई के ज़्यादा करीब था। उसने कभी डॉलर होने का दावा नहीं किया। वह हमने एक्सपोर्ट में किया।
सोमवार को हमने जो एक्सपोर्ट शिप किया
Treasury, Fed और FDIC के यह कहने के बाद कि SVB डिपॉज़िटर को पूरा भुगतान मिलेगा, और Circle के यह कहने के बाद कि वह शॉर्टफ़ॉल कवर करेगा, USDC $1 की ओर रेंगने लगा। सोमवार तक पेग ज़्यादातर पैच हो चुका था। स्टब FX फ़ाइल, जो 48 घंटे गलत रही थी, फिर सही हो गई।
लेकिन डेली बार ने उसे छिपा दिया। 11 मार्च का 00:00 UTC सैंपल USDC को पहले से ऑफ पकड़ता है, या पहले से बाउंस करते, वेंडर पर निर्भर, और 12 मार्च का सैंपल एक अलग फ़िल्म था। अगर आपने सिर्फ़ NAV स्टोर किया और कोट मार्क नहीं, तो आप यह रीकंस्ट्रक्ट नहीं कर सकते थे कि कौन सा। बदसूरत वीकेंड एक इतने छोटे ब्लिप में चपटा हो गया जिसे नज़रअंदाज़ किया जा सके, जो हमने किया, क्योंकि हमने डेली सैंपल किया।
अब हम बुक पर तीन सीरीज़ रखते हैं, हमेशा, तब भी जब वे महीनों तक एक के ऊपर एक बैठी रहें:
- वेन्यू के कोट एसेट में NAV, वह यूनिट जिसे आप वास्तव में विदड्रॉ कर सकते हैं।
- कोट एसेट बनाम USD, एक असली टेप, शनिवार सहित, 0.87 सहित, उन घंटों सहित जब Coinbase कन्वर्ट नहीं कर रहा था।
- डॉलर में NAV, व्युत्पन्न सीरीज़ के रूप में, ताकि USD के प्लॉट लेबल का एक पैरेंट हो।
अगर कोई एजेंट बैकटेस्ट लिखे, जाँच वही है। उससे हर पोज़ीशन और कैश का कोट एसेट पूछो। अगर वह USDC वेन्यू पर USD जवाब दे, तो वह रन डॉलर रन नहीं है। मार्च 2023 वह सप्ताह है जिसे मैं रीप्ले करता हूँ जब कोई कहता है कि यह फ़र्क Sharpe को नहीं हिलाता। इस वाले को उसने रणनीति से ज़्यादा हिलाया, और रणनीति वह हिस्सा था जिसके लिए हमारे पास मॉडल थे।
← सभी पोस्ट


