কনফিগ বলছিল 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 নশনাল, শুক্রবারের মার্কে প্রায় 1.5 BTC, কাছাকাছি $20,150। বাকি 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-মার্জিনে ফ্ল্যাট অ্যাকাউন্ট এমন একটি ডলার লাভ দেখাল যা সেও উপার্জন করেনি, আর BTCUSD-এর তুলনায় খুব কম একটি BTCUSDT মার্ক। সেই সপ্তাহান্তে যদি দুটি "অভিন্ন" BTC পার্প র্যাঙ্ক করতেন, একটি USDC ভেন্যুতে আর একটি USDT ভেন্যুতে, আপনি কোট টোকেনগুলোকে র্যাঙ্ক করে তাকে alpha বলতেন।
পেপার অ্যাকাউন্ট, যেটা আসলে USDC ধরেছিল, রিসার্চ ড্যাশবোর্ডের চেয়ে সত্যের কাছাকাছি ছিল। সে কখনো দাবি করেনি যে সে ডলার। আমরা সেটা করেছিলাম এক্সপোর্টে।
সোমবার আমরা যে এক্সপোর্ট পাঠিয়েছিলাম
USDC আবার $1-এর দিকে হামাগুড়ি দিয়ে ফিরল, Treasury, Fed আর FDIC বলার পর যে SVB ডিপোজিটরদের পুরো টাকা ফেরত দেওয়া হবে, আর Circle বলার পর যে ঘাটতি সে পূরণ করবে। সোমবারের মধ্যে পেগ বেশিরভাগটা সেঁটে গিয়েছিল। স্টাব FX ফাইল, যা 48 ঘণ্টা ভুল ছিল, আবার ঠিক হয়ে গেল।
কিন্তু ডেইলি বার সেটা লুকিয়ে রাখল। 11 মার্চের 00:00 UTC স্যাম্পল USDC-কে ইতিমধ্যে সরে যাওয়া অবস্থায় ধরল, অথবা ইতিমধ্যে বাউন্স করা অবস্থায়, ভেন্ডরের উপর নির্ভর করে, আর 12 মার্চের স্যাম্পল ছিল অন্য সিনেমা। যদি শুধু NAV স্টোর করতেন আর কোট মার্ক না, কোনটা তা পুনর্গঠন করতে পারতেন না। কুৎসিত সপ্তাহান্ত চেপে এমন ছোট একটি ব্লিপ হয়ে গেল যা উপেক্ষা করা যায়, যা আমরা করেছিলাম, কারণ আমরা ডেইলি স্যাম্পল করেছিলাম।
এখন বুকে আমরা যা রাখি তা তিনটি সিরিজ, সবসময়, এমনকি যখন তারা মাসের পর মাস একে অপরের উপর বসে থাকে:
- ভেন্যুর কোট অ্যাসেটে NAV, যে একক আপনি আসলে তুলে নিতে পারেন।
- কোট অ্যাসেট বনাম USD, একটি আসল টেপ, শনিবারসহ, 0.87সহ, Coinbase কনভার্ট করছিল না সেই ঘণ্টাগুলোসহ।
- ডলারে NAV, একটি ডেরাইভড সিরিজ হিসেবে, যাতে USD-এর প্লট লেবেলের একটি প্যারেন্ট থাকে।
যদি কোনো এজেন্ট ব্যাকটেস্ট লেখে, চেকটা একই। প্রতিটি পজিশনের আর ক্যাশের কোট অ্যাসেট জিজ্ঞেস করুন। যদি সে একটি USDC ভেন্যুতে USD উত্তর দেয়, রানটা ডলার রান নয়। মার্চ 2023 সেই সপ্তাহ যা আমি আবার চালাই যখন কেউ বলে পার্থক্যটা Sharpe নড়ায় না। এইটাকে সে স্ট্র্যাটেজির চেয়ে বেশি নড়িয়েছিল, আর স্ট্র্যাটেজি ছিল সেই অংশ যার জন্য আমাদের মডেল ছিল।
← সব পোস্ট


