پیشرفتهquant

Regime Detection — تشخیص رژیم

15 دقیقه
Regime Detection — تشخیص رژیم

Bull، Bear، Crisis، Range.

Regime Detection — تشخیص رژیم بازار

هدف یادگیری

پس از مطالعه این درس، قادر خواهید بود رژیم جاری بازار را با استفاده از شاخص‌های کمّی تشخیص دهید، مدل‌های آماری مارکوف و HMM را در تحلیل بازار به‌کار برید، و استراتژی معاملاتی خود را متناسب با هر رژیم تنظیم کنید.

---

۱. چرا رژیم بازار اهمیت دارد؟

بیشتر تریدرها یک استراتژی واحد را در تمام شرایط بازار اجرا می‌کنند. این رویکرد مانند آن است که یک پزشک بدون تشخیص بیماری، برای همه یک نسخه بنویسد. بازارهای مالی، به‌خصوص کریپتو، رفتارهای کاملاً متفاوتی در دوره‌های مختلف از خود نشان می‌دهند. این دوره‌ها را رژیم (Regime) می‌نامیم.

مفهوم کلیدی این است: پارامترهای آماری بازار — میانگین بازده، واریانس، همبستگی دارایی‌ها — در طول زمان ثابت نمی‌مانند. این پدیده را در آمار non-stationarity می‌نامند.

اگر در دوره رنج بازار (Range) از یک استراتژی ترند-فالوئینگ استفاده کنید، سیستم شما به‌طور مکرر وارد معامله می‌شود و با stop-loss خارج می‌شود — به این اصطلاح whipsaw می‌گویند. برعکس، در یک روند قوی صعودی، استراتژی‌های mean-reversion مدام در جهت اشتباه وارد می‌شوند.

---

۲. چهار رژیم اصلی بازار

Bull Regime — رژیم صعودی

در این رژیم، بازار روند مثبت با نوسان متوسط دارد. بیتکوین در دوره ژانویه تا نوامبر ۲۰۲۱ نمونه کلاسیک این رژیم بود.

ویژگی‌های آماری:
- میانگین بازده روزانه (μ): مثبت، معمولاً بین ۰.۳٪ تا ۱.۵٪
- انحراف معیار روزانه (σ): متوسط، حدود ۳٪ تا ۵٪
- Skewness بازده: منفی خفیف یا نزدیک به صفر
- همبستگی بین آلتکوین‌ها و BTC: بالا (Pearson r > 0.7)

Bear Regime — رژیم نزولی

روند منفی پایدار با نوسانات بالاتر از حد معمول. دوره می ۲۰۲۲ تا دسامبر ۲۰۲۲ پس از سقوط LUNA/UST نمونه بارز این رژیم است.

ویژگی‌های آماری:
- میانگین بازده روزانه (μ): منفی
- انحراف معیار: بالاتر از Bull، حدود ۵٪ تا ۸٪
- Skewness: منفی عمیق‌تر (دنباله چپ سنگین‌تر)

Crisis Regime — رژیم بحران

سقوط شدید، کوتاه‌مدت، با نوسان فوق‌العاده بالا. مارس ۲۰۲۰ (کرونا) و نوامبر ۲۰۲۲ (سقوط FTX) نمونه هستند.

ویژگی‌های آماری:
- بازده روزانه: گاه منفی ۱۵٪ تا ۴۰٪
- انحراف معیار: می‌تواند از ۱۵٪ عبور کند
- همبستگی همه دارایی‌ها به ۱ نزدیک می‌شود — به این پدیده correlation breakdown یا دقیق‌تر correlation spike می‌گویند

Range Regime — رژیم رنج

بازار بدون روند مشخص در یک کانال افقی نوسان می‌کند. اوایل ۲۰۲۳ پس از تثبیت BTC در ناحیه ۱۶۰۰۰ تا ۲۵۰۰۰ دلار نمونه‌ای از این رژیم بود.

ویژگی‌های آماری:
- میانگین بازده روزانه (μ): نزدیک به صفر
- انحراف معیار: پایین، معمولاً ۱.۵٪ تا ۳٪
- اتوکورلاسیون بازده: منفی (mean-reverting)

---

۳. روش‌های کمّی تشخیص رژیم

روش اول: فیلتر نوسان (Volatility Filter)

ساده‌ترین روش، استفاده از نوسان تاریخی rolling است:

σ_n = std(r_t, r_{t-1}, ..., r_{t-n+1})

جایی که r_t = ln(P_t / P_{t-1}) بازده لگاریتمی است.

قرارداد معمول برای بیتکوین (بر اساس داده‌های تاریخی):
- اگر σ_20 < 0.03: رژیم رنج
- اگر 0.03 ≤ σ_20 < 0.07: رژیم نرمال (Bull یا Bear)
- اگر σ_20 ≥ 0.07: رژیم بحران

نکته مهم: این آستانه‌ها باید برای هر دارایی به‌صورت مجزا کالیبره شوند — ETH و SOL نوسان ذاتی بیشتری دارند.

روش دوم: مدل مارکوف با تغییر رژیم (Markov Regime-Switching)

مدل Hamilton (1989) یکی از پرکاربردترین ابزارهای اقتصادسنجی برای این هدف است. ایده اصلی: فرض می‌کنیم بازده‌ها از یک میکسچر از توزیع‌های نرمال تولید می‌شوند، و فرآیند تغییر رژیم یک زنجیر مارکوف است.

برای دو رژیم:

r_t | S_t = j ~ N(μ_j, σ_j²) j ∈ {1, 2}

ماتریس انتقال:

P = | p_11 p_12 |
| p_21 p_22 |

جایی که p_ij = P(S_{t+1} = j | S_t = i) است.

اگر p_11 = 0.97 و p_22 = 0.95 باشد، رژیم اول (فرض کنید Bull) بسیار پایدار است و احتمال خروج روزانه از آن فقط ۳٪ است. رژیم دوم هم با احتمال ۵٪ به رژیم اول تبدیل می‌شود.

فیلترینگ Hamilton: با استفاده از الگوریتم forward-backward، احتمال حضور در هر رژیم در هر لحظه محاسبه می‌شود:

P(S_t = j | r_1, ..., r_t)

این احتمال فیلتر‌شده را می‌توان به عنوان سیگنال در سیستم معاملاتی به‌کار برد. به عنوان مثال: اگر P(S_t = Bear) > 0.7 وارد پوزیشن short شوید.

روش سوم: مدل پنهان مارکوف (Hidden Markov Model — HMM)

HMM گامی فراتر از Markov Switching است. در این مدل، رژیم‌ها پنهان هستند و ما فقط بازده‌ها را مشاهده می‌کنیم. با الگوریتم Baum-Welch (نوعی EM Algorithm)، پارامترهای مدل تخمین زده می‌شوند:

python

پیاده‌سازی با hmmlearn در Python


from hmmlearn.hmm import GaussianHMM
import numpy as np

model = GaussianHMM(n_components=4, covariance_type="full", n_iter=1000)
model.fit(returns.reshape(-1, 1))
regimes = model.predict(returns.reshape(-1, 1))

پس از فیت مدل، می‌توانید رژیم هر روز را برچسب‌گذاری کنید. با مقایسه میانگین و انحراف معیار هر رژیم، می‌توانید آن‌ها را به Bull/Bear/Crisis/Range تفسیر کنید.

هشدار مهم: HMM مستعد overfitting است. حتماً داده‌های آزمون (out-of-sample) جداگانه‌ای برای اعتبارسنجی در نظر بگیرید.

---

۴. شاخص‌های فنی برای تأیید رژیم

مدل‌های آماری را می‌توان با شاخص‌های فنی ترکیب کرد تا سیگنال‌های قوی‌تری ایجاد شود:

ADX — Average Directional Index

ADX بین ۰ تا ۱۰۰ است و قدرت روند را (نه جهت آن را) اندازه می‌گیرد:
- ADX < 20: رژیم رنج
- 20 ≤ ADX < 40: روند در حال شکل‌گیری
- ADX ≥ 40: روند قوی (Bull یا Bear)

VIX-Equivalent برای کریپتو

در بازار کریپتو از DVOL (Deribit Volatility Index) یا BVIV (Bitcoin Implied Volatility) استفاده می‌شود:
- DVOL < 50: محیط آرام
- 50 ≤ DVOL < 100: نوسان بالا
- DVOL ≥ 100: رژیم بحران احتمالی

Hurst Exponent — نماگر هرست

یکی از قدرتمندترین ابزارها برای تمایز رنج از ترند:

H = log(R/S) / log(n)

- H < 0.5: سری mean-reverting است — رژیم رنج
- H ≈ 0.5: حرکت تصادفی (Random Walk)
- H > 0.5: سری trending است — رژیم Bull یا Bear

برای بیتکوین در دوره‌های bull، Hurst معمولاً در محدوده ۰.۵۵ تا ۰.۶۵ قرار می‌گیرد.

---

۵. ادغام رژیم در سیستم معاملاتی

پس از تشخیص رژیم، چطور آن را در استراتژی خود به‌کار می‌برید؟ رویکرد meta-labeling که توسط Marco Lopez de Prado معرفی شده، یک چارچوب عملی ارائه می‌دهد:

جدول تطبیق استراتژی و رژیم

| رژیم | استراتژی مناسب | استراتژی نامناسب |
|------|----------------|------------------|
| Bull | Trend Following, Breakout | Mean Reversion |
| Bear | Short Selling, Put Options | Buy the Dip |
| Crisis | Cash, Hedging, نگه‌داشتن stablecoin | هر نوع Leverage |
| Range | Mean Reversion, Grid Trading | Trend Following |

مثال عملی — فیلتر رژیم روی استراتژی MA Crossover

فرض کنید یک استراتژی MA(20, 50) دارید. بدون فیلتر رژیم، این استراتژی در بازار رنج ضررده است. با اضافه کردن شرط:

if ADX > 25 and HMM_regime in [Bull, Bear]:
execute_MA_crossover_signal()
else:
skip_signal()

تعداد معاملات کاهش می‌یابد اما نسبت معاملات سودده به‌طور معناداری بهبود می‌یابد، چون سیگنال‌های کاذب رنج حذف می‌شوند.

مدیریت ریسک وابسته به رژیم

اندازه پوزیشن را نیز می‌توان متناسب با رژیم تنظیم کرد:

f_kelly_adjusted = f_kelly × regime_confidence

کجا:
regime_confidence = P(S_t = current_regime | data)

اگر مدل HMM با اطمینان ۹۵٪ رژیم Bull را تشخیص دهد، پوزیشن بزرگ‌تری نسبت به زمانی که اطمینان ۶۰٪ است می‌گیرید.

---

۶. چالش‌ها و محدودیت‌ها

مشکل Lag

همه روش‌های تشخیص رژیم از داده‌های گذشته استفاده می‌کنند. این به معنای تأخیر ذاتی است. در بحران‌های سریع مثل فلش‌کرش، مدل ممکن است رژیم را دیر تشخیص دهد.

راه‌حل: ترکیب مدل آماری با فیلترهای real-time مثل order flow imbalance یا funding rate در فیوچرز.

مشکل Overfitting

بهینه‌سازی آستانه‌های رژیم روی داده‌های تاریخی کریپتو که تعداد رژیم‌های مستقل (independent samples) کمی دارد، به راحتی به overfitting منجر می‌شود.

راه‌حل: Walk-forward validation — مدل را روی یک بازه آموزش می‌دهید و روی بازه بعدی آزمایش می‌کنید، به صورت rolling.

مشکل Regime Change Detection

دقیقاً در نقطه تغییر رژیم، مدل بیشترین عدم‌قطعیت را دارد. این همان لحظه‌ای است که بیشترین ریسک وجود دارد. مدل‌های آماری در تشخیص این نقاط به‌اندازه کافی سریع نیستند.

راه‌حل: در این حالت از regime uncertainty buffer استفاده کنید: وقتی احتمال دو رژیم مختلف هر دو بالای ۳۰٪ است، ریسک را به حداقل برسانید.

---

نتیجه‌گیری

تشخیص رژیم ستون فقرات یک سیستم معاملاتی تطبیق‌پذیر است. بازارهای کریپتو به دلیل نوسان بالا و وجود رژیم‌های شدید (بحران‌های ناگهانی) بیش از هر بازار دیگری به این رویکرد نیاز دارند. ترکیب مدل‌های آماری مثل HMM با شاخص‌های فنی مثل ADX و Hurst Exponent، یک لایه تصمیم‌گیری قوی ایجاد می‌کند.

---

خلاصه نقطه‌ای

- چهار رژیم اصلی: Bull (روند صعودی، نوسان متوسط)، Bear (روند نزولی، نوسان بالاتر)، Crisis (سقوط شدید، همبستگی همه دارایی‌ها به ۱ نزدیک می‌شود)، Range (بدون روند، نوسان پایین)
- فیلتر نوسان ساده: σ_20 روی بازده‌های لگاریتمی، ساده‌ترین روش اولیه تشخیص رژیم
- Markov Switching Model: رژیم‌ها را با زنجیر مارکوف مدل‌سازی می‌کند و احتمال هر رژیم را real-time محاسبه می‌کند
- HMM: رژیم‌های پنهان را با الگوریتم Baum-Welch تخمین می‌زند؛ قدرتمند اما نیازمند اعتبارسنجی دقیق
- ADX > 25: نشانه رژیم ترند؛ ADX < 20: نشانه رژیم رنج
- Hurst > 0.5: trending؛ Hurst < 0.5: mean-reverting
- اصل کلیدی: استراتژی را به رژیم تطبیق دهید — trend-following در Bull/Bear، mean-reversion در Range، نقدینگی و hedging در Crisis
- خطرات اصلی: تأخیر تشخیص در بحران‌ها، overfitting روی داده‌های محدود، عدم‌قطعیت در نقاط تغییر رژیم

Regime Detection — تشخیص رژیم | آکادمی تریدیار | تریدیار