Pairs Trading در کریپتو
ETH/BTC، آلت/BTC.
Pairs Trading در کریپتو: استراتژی آماری برای بازارهای پرنوسان
هدف یادگیری
در پایان این درس، قادر خواهید بود:
- رابطه همانباشتگی (Cointegration) بین جفتارزها را با آزمون آماری تأیید کنید
- نسبت پوشش بهینه (Hedge Ratio) را محاسبه و بهصورت پویا بهروز کنید
- Z-Score اسپرد را بسازید و سیگنالهای ورود و خروج دقیق تعریف کنید
- نیمعمر بازگشت به میانگین را برآورد کرده و افق زمانی معامله را بر اساس آن تنظیم نمایید
- تفاوت رفتاری ETH/BTC با جفتهای آلت/BTC را تشخیص دهید و ریسک هر کدام را مدیریت کنید
---
۱. پایه آماری: چرا Pairs Trading کار میکند؟
Pairs Trading یا معامله جفتی یک استراتژی market-neutral است که بر اساس رابطه آماری بلندمدت بین دو دارایی بنا شده است. ایده اصلی این است: اگر دو دارایی همانباشته (Cointegrated) باشند، اسپرد آنها در بلندمدت به یک میانگین پایدار بازمیگردد و هر انحراف از این میانگین یک فرصت معاملاتی است.
تفاوت کلیدی: Correlation در برابر Cointegration
همبستگی (Correlation) نشان میدهد دو سری زمانی در یک جهت حرکت میکنند، اما این رابطه ممکن است ناپایدار و گذرا باشد. همانباشتگی (Cointegration) چیزی عمیقتر است: نشان میدهد ترکیب خطی آن دو دارایی یک سری پایدار (stationary) ایجاد میکند که بهمرور زمان به میانگین خود بازمیگردد.
آزمون Engle-Granger (دو مرحلهای):
گام اول، رگرسیون خطی بین لگاریتم قیمتها:
log(ETH_t) = α + β × log(BTC_t) + ε_t
گام دوم، آزمون پایایی روی پسماندها:
اگر آزمون ADF (Augmented Dickey-Fuller) روی ε_t مقدار p-value کمتر از ۰.۰۵ نشان دهد، رابطه همانباشتگی با اطمینان آماری تأیید میشود و میتوانیم به استراتژی ادامه دهیم.
---
۲. محاسبه Hedge Ratio و Z-Score
Hedge Ratio (β):
با استفاده از OLS (Ordinary Least Squares) روی پنجره متحرک ۶۰ تا ۹۰ روزه:
β = Cov(log(ETH), log(BTC)) / Var(log(BTC))
از پنجره متحرک استفاده میکنیم تا β تطبیقی (adaptive) داشته باشیم و رابطه در حال تغییر بین دو دارایی را دنبال کنیم.
اسپرد و Z-Score:
Spread_t = log(ETH_t) - β × log(BTC_t) - α
Z_t = (Spread_t - μ_spread) / σ_spread
که μ_spread و σ_spread میانگین و انحراف معیار اسپرد در پنجره نگاه به گذشته هستند.
قوانین ورود و خروج:
| سیگنال | شرط Z-Score | عملیات |
|---|---|---|
| ورود Long ETH / Short BTC | Z < −2.0 | ETH زیر ارزش نسبی است |
| ورود Short ETH / Long BTC | Z > +2.0 | ETH بالای ارزش نسبی است |
| خروج از معامله | −0.5 < Z < +0.5 | بازگشت به تعادل |
| حد ضرر اجباری | Z < −3.5 یا Z > +3.5 | رابطه احتمالاً شکسته است |
مثال عددی کامل:
فرض کنید:
- BTC = 65,000 دلار → log(BTC) = 11.082
- ETH = 3,200 دلار → log(ETH) = 8.071
- β = 1.15 و α = −4.67 (از رگرسیون OLS)
Spread = 8.071 − (1.15 × 11.082) + 4.67
= 8.071 − 12.744 + 4.67
= −0.003
اگر μ_spread = 0.00 و σ_spread = 0.08 باشد:
Z = (−0.003 − 0.00) / 0.08 = −0.04
این Z نزدیک صفر است، سیگنالی نداریم. حالا فرض کنید ETH به ۲,۸۵۰ دلار افت کند:
Spread = log(2850) − 1.15 × log(65000) + 4.67
= 7.955 − 12.744 + 4.67 = −0.119
Z = (−0.119 − 0.00) / 0.08 = −1.49
و اگر ETH به ۲,۶۵۰ دلار برسد:
Spread = 7.883 − 12.744 + 4.67 = −0.191
Z = −0.191 / 0.08 = −2.39
→ سیگنال ورود: Long ETH، Short BTC با اندازه متناسب با β.
---
۳. نیمعمر بازگشت به میانگین
یکی از مهمترین پارامترها برای تعیین افق زمانی معامله، نیمعمر (Half-Life) است: مدت زمانی که اسپرد طول میکشد تا نیمی از انحراف از میانگین را جبران کند.
مدل Ornstein-Uhlenbeck:
ΔSpread_t = κ × (θ − Spread_{t−1}) + σ × ε_t
که κ سرعت بازگشت به میانگین است.
محاسبه عملی:
رگرسیون زیر را اجرا کنید:
ΔSpread_t = a + b × Spread_{t−1} + ε_t
سپس:
Half-Life = −log(2) / log(1 + b)
مثال:
اگر رگرسیون b = −0.12 بدهد:
Half-Life = −0.693 / log(0.88)
= −0.693 / (−0.128)
≈ 5.4 روز
برای جفت ETH/BTC، Half-Life معمولاً بین ۳ تا ۱۵ روز متغیر است.
کاربرد عملی:
- Half-Life کمتر از ۵ روز → تایمفریم روزانه یا ۴ ساعته مناسب است
- Half-Life بین ۵ تا ۱۵ روز → تایمفریم روزانه با صبر بیشتر
- Half-Life بالای ۲۰ روز → ریسک تغییر رژیم بالاست؛ احتیاط کنید
- قانون عملی: حداکثر ۳ برابر Half-Life در معامله بمانید؛ اگر تا آن زمان بازگشت نشد، با ضرر خارج شوید
---
۴. جفتهای آلت/BTC: فرصتها و چالشهای واقعی
چرا آلت/BTC پیچیدهتر از ETH/BTC است؟
در مقایسه با ETH/BTC که رابطهای نسبتاً پایدار و شناختهشده دارد، جفتهای آلت/BTC چند ویژگی خاص دارند که باید با احتیاط بیشتری به آنها نزدیک شوید:
۱. نقدشوندگی پایینتر: اسپرد bid-ask بالاتر است و اسلیپیج در اجرای سفارش بیشتر میشود
۲. ناپایداری رابطه: بسیاری از آلتکوینها دورههای decoupling دارند، بهویژه در آلتسیزونها
۳. ریسک رویداد بالاتر: یک خبر پروژهای میتواند رابطه آماری را بهطور کامل و ناگهانی بشکند
۴. بتای ناپایدار: β در آلتها نوسان بیشتری دارد و نیاز به بهروزرسانی مکرر دارد
معیارهای انتخاب جفت آلت/BTC:
- همبستگی بالا با BTC: معمولاً r > 0.75 در ۳۶۵ روز گذشته
- Market Cap قابل توجه: ترجیحاً بالاتر از ۵ میلیارد دلار
- تأیید همانباشتگی: آزمون Engle-Granger با p-value < 0.05
- سابقه کافی داده: حداقل ۲ سال تاریخچه معاملاتی پیوسته
هزینهها را در محاسبات بگنجانید:
Net_Return = Gross_Return − 2 × Maker_Fee − Funding_Rate × Days_Held
مثال: اگر سیگنال با Z = −2.5 وارد شوید و اسپرد انتظاری ۸٪ باشد، اما هزینههای کل (کارمزد + funding) ۱.۸٪ باشد، بازده خالص انتظاری ۶.۲٪ است. اما در Z = −2.0 با اسپرد ۴٪، بازده خالص به ۲.۲٪ کاهش مییابد که ممکن است با توجه به ریسک، توجیه نداشته باشد.
---
۵. مدیریت ریسک و تشخیص تغییر رژیم
خطرناکترین سناریو: شکستن رابطه
Pairs Trading در کریپتو با یک ریسک بنیادی روبروست: رابطه همانباشتگی ممکن است در دورههای خاص بشکند. این پدیده بهویژه در موارد زیر رخ میدهد:
- شروع روندهای قوی bear یا bull market
- رویدادهای ساختاری مانند هاروینگ بیتکوین
- آپگریدهای شبکهای مهم (مثل Ethereum Merge که رابطه ETH/BTC را دوباره تعریف کرد)
- بحرانهای سیستمیک مانند سقوط LUNA
Regime Detection با Kalman Filter:
یک رویکرد پیشرفته برای ردیابی پویای β استفاده از Kalman Filter است:
State equation: β_t = β_{t−1} + η_t (η ~ N(0, Q))
Obs. equation: y_t = β_t × x_t + ε_t (ε ~ N(0, R))
این روش β را در هر لحظه بهروز میکند. وقتی β شروع به تغییر سریع میکند، یک هشدار تغییر رژیم است و باید احتیاط بیشتری داشته باشید.
قوانین مدیریت ریسک:
۱. حد ضرر سخت: اگر Z از ±۳.۵ تجاوز کرد، فوری خروج کنید
۲. حداکثر نگهداری: بیشتر از ۳ برابر Half-Life در معامله نمانید
۳. سایزبندی موقعیت با Half-Kelly:
f* = (μ / σ²) × factor
در عمل، معاملهگران حرفهای ۰.۵ تا ۰.۷ برابر Kelly Criterion را توصیه میکنند تا ریسک کاهش یابد.
۴. همبستگی بین جفتها: اگر چند جفت همزمان معامله میکنید، همبستگی بین آنها را بررسی کنید. جفتهای BNB/BTC و ETH/BTC در یک جهت معامله شده، ریسک واقعی شما را دو برابر میکنند نه متنوع.
---
۶. پیادهسازی: از ایده تا Backtest قابل اعتماد
چارچوب کاری گامبهگام:
۱. جمعآوری داده OHLCV روزانه (حداقل ۲ سال)
۲. محاسبه log قیمتها
۳. اجرای آزمون Engle-Granger → p-value < 0.05 لازم است
۴. محاسبه β با rolling OLS (پنجره ۶۰ روزه)
۵. ساخت اسپرد و Z-Score
۶. محاسبه Half-Life برای تعیین افق زمانی
۷. تعریف قوانین ورود، خروج و حد ضرر
۸. Backtest با کارمزد و اسلیپیج واقعی
اشتباهات رایج در Backtest:
- Look-ahead bias: تمام محاسبات باید فقط از دادههای گذشته استفاده کنند. β امروز را نمیتوان برای سیگنال دیروز استفاده کرد.
- Survivorship bias: فقط ارزهایی که امروز وجود دارند را بررسی نکنید؛ ارزهای از بین رفته را هم لحاظ کنید.
- هزینههای ناقص: funding rate در پوزیشنهای لانگ مدت میتواند بخش قابل توجهی از سود را از بین ببرد.
- Overfitting پارامترها: آستانههای Z-Score را روی داده train بهینه نکنید و نتیجه را بهعنوان موفقیت اعلام کنید؛ همیشه out-of-sample test داشته باشید.
شاخصهای ارزیابی:
| شاخص | هدف در out-of-sample |
|---|---|
| Sharpe Ratio | بالاتر از ۱.۵ |
| Max Drawdown | کمتر از ۲۰٪ |
| Calmar Ratio | بالاتر از ۰.۸ |
| میانگین مدت نگهداری | نزدیک به Half-Life محاسبهشده |
---
نتیجهگیری
Pairs Trading در کریپتو یک استراتژی قدرتمند اما مطالبهگر است که بر پایه ریاضیات آماری بنا شده، نه شهود یا الگوهای چشمی. ETH/BTC به دلیل نقدشوندگی بالا، رابطه نسبتاً پایدار و دادههای فراوان، بهترین نقطه شروع برای این استراتژی است. جفتهای آلت/BTC فرصتهای بیشتری ارائه میدهند اما ریسک بالاتری هم دارند و نیاز به نظارت مستمر دارند. موفقیت در این حوزه به سه رکن وابسته است: انتخاب آماری درست جفت، محاسبه دقیق پارامترها، و مدیریت ریسک منضبط بدون استثنا.
---
خلاصه نقطهای
- همانباشتگی، نه همبستگی: پیش از هر چیز، رابطه آماری را با آزمون Engle-Granger تأیید کنید
- Hedge Ratio پویا: از rolling OLS یا Kalman Filter برای بتای تطبیقی استفاده کنید
- Z-Score = ابزار ورود: Z کمتر از −2 سیگنال Long ارز اول و Short ارز دوم است؛ Z بالاتر از +2 برعکس
- Half-Life = ساعت معامله: افق زمانی خود را بر اساس نیمعمر بازگشت به میانگین تنظیم کنید
- ETH/BTC پایدارتر از آلت/BTC: نقدشوندگی بهتر، رابطه مستحکمتر و کارمزد واقعی پایینتر
- هزینهها تعیینکنندهاند: در آلتها، کارمزد + اسلیپیج + funding میتواند بازده خالص را بهشدت کاهش دهد
- حد ضرر اجباری: Z خارج از ±۳.۵ به معنای شکسته شدن احتمالی رابطه است؛ فوری خروج کنید
- Backtest واقعبینانه: out-of-sample + هزینه واقعی + بدون look-ahead bias؛ نتایج درون دادههای train اعتبار ندارند