← العودة إلى قائمة المقالات
July 10, 2026
5 دقائق للقراءة

GARCH(1,1): التنبؤ بتقلب العملات الرقمية

#volatility
#GARCH
#risk
#forecasting
#crypto
#algorithmic-trading

افتح رسمًا بيانيًا للعوائد اليومية لـ BTC وستلاحظ شيئًا لم تعدك له كتب المشي العشوائي (random walk): الهدوء والفوضى يأتيان في تكتلات. نادرًا ما يكون يوم هبوط بنسبة 6% وحيدًا. إنه يقع ضمن أسبوع من تذبذبات بنسبة 4-8%، ثم يلتقط السوق أنفاسه وينجرف عبر شهر من جلسات هادئة بنسبة 1% قبل العاصفة التالية. العوائد نفسها تبدو غير قابلة للتنبؤ تقريبًا — لا يمكنك القول بثقة ما إذا كان الغد صعودًا أم هبوطًا — لكن حجمها قابل للتنبؤ بعمق. اضطراب اليوم يخبرك الكثير عن اضطراب الغد.

يفترض ضمنيًا كل أداة إدارة مخاطر يلجأ إليها المتداول تقريبًا أن هذا غير صحيح. يسعّر Black-Scholes الخيار بقيمة ثابتة واحدة لـ σ\sigma. رقم القيمة المعرضة للخطر (Value-at-Risk) الثابت يضرب تقدير تقلب واحد في كمية توزيع طبيعي. وقف خسارة ثابت بنسبة 3% يعامل يوم ثلاثاء هادئ تمامًا وساعات ما حول إعلان اجتماع الفدرالي أو فك ارتباط بورصة كبرى وكأنهما يحملان نفس المخاطرة. ينهار كل من هذه بنفس الطريقة بالضبط: يختزل كمية متغيرة عبر الزمن إلى ثابت، ثم يُفاجأ عندما يتضح أن الثابت يتحرك.

هذا المقال هو الجزء الأول من سلسلة من أربعة أجزاء حول نمذجة التقلب للعملات الرقمية. يبني الأساس: نموذج GARCH(1,1)، ولماذا يلائم عوائد العملات الرقمية بشكل جيد جدًا، وكيفية تقديره بأمانة عبر الإمكان الأعظم باستخدام مكتبة arch، وكيفية تحويل توقع التباين الشرطي إلى شيئين مفيدين فورًا — حجم مركز واتساع وقف خسارة يتنفسان مع السوق. يضيف الجزء الثاني عدم التماثل والذيول الثقيلة، وينتقل الجزء الثالث إلى التعدد المتغير (multivariate)، ويجمّع الجزء الرابع اختبار الاستهداف الكامل للتقلب رجعيًا (backtest). نبقي التطبيق هنا بسيطًا عن قصد؛ الاستراتيجية الأمينة المُتحقق منها بطريقة walk-forward هي موضوع الجزء الرابع.

الحقائق النمطية لعوائد العملات الرقمية

قبل نمذجة أي شيء، من المفيد أن نكون دقيقين بشأن ما نحاول إعادة إنتاجه. تشترك العوائد المالية التجريبية — الأسهم والفوركس والعملات الرقمية بشكل خاص — في مجموعة صغيرة من الانتظامات الإحصائية القوية الموثقة منذ عقود. تُسمى عادة الحقائق النمطية (stylized facts)، وثلاث منها تقود كل ما يلي.

1. تكتل التقلب (Volatility clustering). تميل الحركات الكبيرة إلى أن تتبعها حركات كبيرة (بأي إشارة)، والحركات الصغيرة تتبعها حركات صغيرة. لاحظ مانديلبروت هذا في أسعار القطن عام 1963. رسميًا، بينما تكون العوائد rtr_t قريبة من عدم الارتباط التسلسلي، فإن العوائد التربيعية rt2r_t^2 (وهي مقياس بديل للتباين المحقق) تُظهر ارتباطًا ذاتيًا موجبًا قويًا وبطيء الاضمحلال.

2. الذيول الثقيلة (Fat tails / leptokurtosis). يحتوي التوزيع غير الشرطي للعوائد على كتلة أكبر بكثير في الأطراف المتطرفة مقارنة بالتوزيع الغاوسي. حيث يمتلك التوزيع الطبيعي تفلطحًا (kurtosis) قدره 3، تقع عوائد BTC اللوغاريتمية اليومية عادة فوق 8-10، وقد تكون عوائد العملات الرقمية عالية التردد أسوأ. أيام الانحراف السداسي (six-sigma)، التي يقول النموذج الطبيعي إنها يجب أن تحدث مرة واحدة تقريبًا كل مليون سنة، تظهر عدة مرات في العقد.

3. لا ارتباط ذاتي خطي في العوائد، وارتباط ذاتي قوي في العوائد التربيعية. هذا هو البصمة التي تفصل عملية تقلب حقيقية عن اتجاه تافه. إذا انحدرت rtr_t على تأخراتها الخاصة فلن تحصل على شيء قابل للاستغلال. إذا انحدرت rt2r_t^2 على تأخراتها، تجد إشارة واضحة ومستمرة. هذا بالضبط هو البنية التي يجب أن يلتقطها نموذج التباين — وبالضبط ما يتجاهله نموذج σ\sigma الثابت.

يمكننا رصد الثلاثة جميعًا في بضعة أسطر. لا شيء هنا يتطلب مصدر بيانات خاص؛ استخدم ccxt في الإنتاج، لكن لمقتطف قابل لإعادة الإنتاج فإن yfinance مناسبة.

import numpy as np
import pandas as pd
import yfinance as yf
from statsmodels.graphics.tsaplots import plot_acf
from statsmodels.stats.diagnostic import acorr_ljungbox
from scipy import stats

px = yf.download("BTC-USD", start="2021-01-01", end="2025-12-31")["Close"]
ret = np.log(px / px.shift(1)).dropna()          # log returns
ret = ret.rename("btc")

print(f"Observations:     {len(ret)}")
print(f"Ann. volatility:  {ret.std() * np.sqrt(365):.2%}")
print(f"Skewness:         {stats.skew(ret):.2f}")
print(f"Excess kurtosis:  {stats.kurtosis(ret):.2f}")   # 0 == Gaussian

lb_ret  = acorr_ljungbox(ret,        lags=[10], return_df=True)
lb_ret2 = acorr_ljungbox(ret ** 2,   lags=[10], return_df=True)
print("\nLjung-Box p-value, returns   (lag 10):", float(lb_ret["lb_pvalue"].iloc[0]))
print("Ljung-Box p-value, squared   (lag 10):", float(lb_ret2["lb_pvalue"].iloc[0]))

القراءة النموذجية (توضيحية — نافذتك ستختلف): تفلطح زائد أعلى بكثير من 3، وقيمة p لاختبار Ljung-Box على العوائد الخام تفشل في رفض "لا ارتباط ذاتي"، وقيمة p على العوائد التربيعية تكون صفرًا فعليًا. هذا التباين الأخير هو لُب الموضوع كله. لا يوجد شيء للتداول عليه في إشارة العوائد عند الأفق اليومي، لكن هناك قدر كبير من البنية في تباينها، وهذه البنية قابلة للتنبؤ.

ملاحظة حول طبيعة العملات الرقمية على مدار الساعة طوال أيام الأسبوع (24/7). على عكس الأسهم، لا توجد فجوة ليلية ولا إغلاق نهاية أسبوع، لذا فإن "اليوم" هو شريط نظيف مدته 24 ساعة، ومعامل التسنيّة السنوية هو 365\sqrt{365}، وليس 252\sqrt{252}. كما ينجو تكتل التقلب أيضًا عند المقاييس داخل اليوم، وهو أمر مهم إذا كنت تشغّل GARCH على أشرطة ساعية — فانقلابات معدل التمويل (funding rate) وسلاسل التصفية (liquidation cascades) تحقن انفجارات تباين حادة ومتكتلة يقوم النموذج اليومي بتنعيمها.

من ARCH إلى GARCH

المشكلة الآن مطروحة بوضوح: نمذجة تباين ليس ثابتًا بل يعتمد على الماضي القريب. النموذج الأول الذي فعل ذلك بشكل صحيح هو ARCH لإنجل (Autoregressive Conditional Heteroskedasticity، 1982)، والذي فاز بسببه بجائزة نوبل عام 2003.

اكتب العائد كوسط شرطي زائد صدمة:

rt=μt+εt,εt=σtzt,zti.i.d. (0,1)r_t = \mu_t + \varepsilon_t, \qquad \varepsilon_t = \sigma_t z_t, \qquad z_t \sim \text{i.i.d. } (0, 1)

هنا σt2\sigma_t^2 هو التباين الشرطي — تباين rtr_t بالنظر إلى كل ما هو معروف حتى الزمن t1t-1 — وztz_t هو ابتكار (innovation) موحّد (طبيعي قياسي في أبسط الحالات). كلمة "شرطي" تقوم بكل العمل: قد يكون التباين غير الشرطي ثابتًا، لكن بالاشتراط على الأمس فإنه يتحرك.

يجعل ARCH(qq) لإنجل تباين اليوم مجموعًا مرجّحًا لآخر qq صدمات تربيعية:

σt2=ω+i=1qαiεti2\sigma_t^2 = \omega + \sum_{i=1}^{q} \alpha_i \, \varepsilon_{t-i}^2

مع ω>0\omega > 0 و αi0\alpha_i \ge 0 للحفاظ على إيجابية التباين. هذا يلتقط التكتل مباشرة: صدمة كبيرة εt12\varepsilon_{t-1}^2 ترفع σt2\sigma_t^2، مما يرفع احتمال صدمة كبيرة أخرى، مما يبقي التباين مرتفعًا. المشكلة هي الاضمحلال التجريبي. يمتد استمرار التقلب في الأسواق الحقيقية عبر تأخرات عديدة، لذا لملاءمته يحتاج نموذج ARCH إلى qq كبير — غالبًا 8 أو 10 أو أكثر — وهذا يعني تقدير متجه طويل وغير مستقر من αi\alpha_i يميل إلى فرط الملاءمة (overfitting).

كانت رؤية بولرسليف عام 1986 هي إضافة حد يمتص كل ذلك الاستمرار بمعامل واحد. تكرار GARCH(1,1) — Generalized ARCH — هو:

σt2=ω+αεt12+βσt12\sigma_t^2 = \omega + \alpha \, \varepsilon_{t-1}^2 + \beta \, \sigma_{t-1}^2

ثلاثة معاملات، ثلاثة تفسيرات واضحة:

  • ω>0\omega > 0الأساس أو الأرضية. ثابت يُرسّي المستوى طويل الأمد للتباين. التباين لا يضمحل أبدًا دون ما يدعمه ω\omega.
  • α0\alpha \ge 0رد الفعل على الأخبار. مدى عنف استجابة التباين لمفاجأة الأمس εt12\varepsilon_{t-1}^2. α\alpha كبير يعني أن التباين الشرطي متقلب وحساس للصدمات.
  • β0\beta \ge 0الاستمرار أو الذاكرة. مقدار تباين الأمس الذي ينتقل إلى اليوم. β\beta كبير يعني أن التقلب سلس وبطيء التلاشي — الهدوء يبقى هادئًا، والعواصف تبقى عاصفة.

الأناقة تكمن في التكرار. لأن σt12\sigma_{t-1}^2 نفسه احتوى على حد βσt22\beta \sigma_{t-2}^2، فإن التوسّع للخلف يُظهر أن GARCH(1,1) هو في الواقع ARCH(\infty) بأوزان متناقصة هندسيًا αβk\alpha \beta^{k} على الصدمات التربيعية الماضية:

σt2=ω1β+αk=0βkεt1k2\sigma_t^2 = \frac{\omega}{1-\beta} + \alpha \sum_{k=0}^{\infty} \beta^{k}\, \varepsilon_{t-1-k}^2

إذن فإن β\beta الواحد يشتري لك ذاكرة لا نهائية مرجّحة أسّيًا للصدمات الماضية. هذا هو السبب في أن مجرد GARCH(1,1) — ثلاثة معاملات — يتفوق بانتظام على نماذج ARCH ذات العشرة معاملات، ولماذا أصبح حصان العمل في نمذجة التقلب التطبيقية. إنه في الواقع ابن عم قريب لمقدّر تباين EWMA الخاص بـ RiskMetrics، وهو الحالة الخاصة ω=0\omega = 0، α+β=1\alpha + \beta = 1 مع β\beta ثابت عند 0.94. يُعمّم GARCH ذلك بالسماح للبيانات باختيار α\alpha وβ\beta ومستوى عودة حقيقي إلى الوسط.

الخصائص: الاستقرارية، التباين طويل الأمد، ونصف العمر

يحمل تكرار GARCH(1,1) بضع خصائص تستحق الاشتقاق، لأنها ما يتيح لك التفكير في النموذج بدلًا من مجرد ملاءمته بشكل أعمى.

التباين غير الشرطي (طويل الأمد). افترض أن العملية مستقرة تباينيًا (covariance-stationary) بحيث يوجد التباين غير الشرطي σˉ2=E[εt2]=E[σt2]\bar{\sigma}^2 = \mathbb{E}[\varepsilon_t^2] = \mathbb{E}[\sigma_t^2] ويكون ثابتًا عبر الزمن. خذ التوقع لطرفي التكرار. بما أن E[εt12]=E[σt12]=σˉ2\mathbb{E}[\varepsilon_{t-1}^2] = \mathbb{E}[\sigma_{t-1}^2] = \bar{\sigma}^2:

σˉ2=ω+ασˉ2+βσˉ2        σˉ2=ω1αβ\bar{\sigma}^2 = \omega + \alpha\, \bar{\sigma}^2 + \beta\, \bar{\sigma}^2 \;\;\Longrightarrow\;\; \bar{\sigma}^2 = \frac{\omega}{1 - \alpha - \beta}

هذا هو المستوى الذي يعود إليه التقلب. يوجد فقط — ويكون موجبًا فقط — عندما α+β<1\alpha + \beta < 1.

شرط الاستقرارية. نفس المتباينة،

α+β<1,\alpha + \beta < 1,

هي شرط الاستقرارية التباينية لـ GARCH(1,1). الكمية α+β\alpha + \beta هي استمرار (persistence) عملية التباين: إنها معامل AR(1) الذي يحكم كيفية اضمحلال صدمة التباين عائدةً نحو σˉ2\bar{\sigma}^2. إذا كان α+β1\alpha + \beta \ge 1، فإن التباين غير الشرطي لانهائي (أو غير معرّف) والصدمات لا تموت أبدًا بالكامل.

يمكننا رؤية العودة إلى الوسط بشكل صريح. عرّف انحراف التباين σt2σˉ2\sigma_t^2 - \bar{\sigma}^2. القليل من الجبر على التكرار (بالتعويض ω=σˉ2(1αβ)\omega = \bar{\sigma}^2(1 - \alpha - \beta)) يعطي، بالتوقع:

Et[σt+k2]σˉ2=(α+β)k(σt+12σˉ2)\mathbb{E}_t[\sigma_{t+k}^2] - \bar{\sigma}^2 = (\alpha + \beta)^{k}\,\bigl(\sigma_{t+1}^2 - \bar{\sigma}^2\bigr)

الفجوة بين التباين الحالي ومستواه طويل الأمد تتقلص بعامل (α+β)(\alpha + \beta) في كل خطوة. هذا بالضبط توقع الخطوات المتعددة الذي نستخدمه لاحقًا.

نصف عمر التقلب. كم من الوقت تستغرق صدمة التباين للاضمحلال إلى نصف طريقها إلى الوضع الطبيعي؟ ضع (α+β)h=1/2(\alpha+\beta)^{h} = 1/2 وحلّ:

h1/2=ln0.5ln(α+β)h_{1/2} = \frac{\ln 0.5}{\ln(\alpha + \beta)}

بالنسبة لـ α+β=0.95\alpha + \beta = 0.95 نصف العمر حوالي 13.5 يومًا؛ لـ 0.980.98 حوالي 34 يومًا؛ لـ 0.990.99 حوالي 69 يومًا. هذا الرقم الواحد غالبًا ما يكون أكثر بداهة من المعاملات الخام — فهو يخبرك، بوحدات أشرطتك، مدى لزوجة التقلب.

مشكلة شبه-IGARCH في العملات الرقمية. إليك التعقيد الخاص بالعملات الرقمية. عندما تُلائم GARCH(1,1) لعوائد BTC أو ETH، تجد دائمًا تقريبًا أن α+β\alpha + \beta قريب جدًا من 1 — قيم مثل 0.98 و0.99 وأحيانًا 0.995 هي أمر شائع. هذا هو نظام شبه-IGARCH (Integrated GARCH). له عواقب حقيقية:

  • يصبح نصف العمر هائلًا (أسابيع إلى أشهر)، لذا يعامل النموذج التقلب على أنه شديد الاستمرار وبطيء العودة إلى الوسط بالكاد.
  • يصبح تقدير σˉ2=ω/(1αβ)\bar{\sigma}^2 = \omega/(1-\alpha-\beta) حساسًا للغاية: تغيير صغير في α+β\alpha+\beta من 0.99 إلى 0.995 يضاعف التباين طويل الأمد الضمني. لا تثق أبدًا بالتقدير النقطي للتقلب طويل الأمد في هذا النظام دون فاصل ثقة.
  • تعود توقعات الخطوات المتعددة إلى الوسط ببطء شديد لدرجة أنه، بالنسبة للآفاق العملية دون بضعة أسابيع، يتصرف GARCH تقريبًا كمشي عشوائي في التباين (وهو ما يفترضه EWMA).

سواء كان شبه-التكامل حقيقيًا أو أثرًا ناتجًا عن انكسارات هيكلية (تحول دائم في مستوى التقلب يقرأه النموذج كحلقة واحدة طويلة ومستمرة) فهو جدل حقيقي. إنه سبب إضافي لإعادة الملاءمة على نوافذ متدحرجة بدلًا من الملاءمة مرة واحدة على كل التاريخ، وهي نقطة نعود إليها في المزالق. بنية النظام (regime) على وجه التحديد تُعالج بشكل أفضل بنموذج تبديل صريح — انظر كشف الأنظمة باستخدام نماذج ماركوف المخفية، وهو مكمّل لـ GARCH وليس بديلًا عنه.

التقدير بطريقة الإمكان الأعظم

تُقدَّر معاملات GARCH بطريقة الإمكان الأعظم (maximum likelihood). المنطق مباشر: بالنظر إلى θ=(μ,ω,α,β)\theta = (\mu, \omega, \alpha, \beta)، ينتج التكرار مسارًا كاملًا من التباينات الشرطية σt2(θ)\sigma_t^2(\theta)، وتحت توزيع مفترض لابتكارات ztz_t يمكننا كتابة مدى احتمالية العوائد المُلاحَظة. ثم نختار θ\theta لتعظيم ذلك الاحتمال.

افترض ابتكارات غاوسية ztN(0,1)z_t \sim \mathcal{N}(0,1)، بحيث rtFt1N(μ,σt2)r_t \mid \mathcal{F}_{t-1} \sim \mathcal{N}(\mu, \sigma_t^2). الكثافة الشرطية لملاحظة واحدة هي

f(rtFt1)=12πσt2exp ⁣((rtμ)22σt2).f(r_t \mid \mathcal{F}_{t-1}) = \frac{1}{\sqrt{2\pi\sigma_t^2}}\exp\!\left(-\frac{(r_t - \mu)^2}{2\sigma_t^2}\right).

نظرًا لأن النموذج مكتوب بشكل شرطي، فإن الاحتمال المشترك يتحلل إلى جداء من الكثافات أحادية الخطوة إلى الأمام، ودالة اللوغاريتم للاحتمال (log-likelihood) هي مجموع بسيط:

(θ)=12t=1T[ln(2π)+lnσt2(θ)+(rtμ)2σt2(θ)].\ell(\theta) = -\frac{1}{2}\sum_{t=1}^{T}\left[\ln(2\pi) + \ln \sigma_t^2(\theta) + \frac{(r_t - \mu)^2}{\sigma_t^2(\theta)}\right].

حقيقتان بنيويتان تستحقان الملاحظة. أولًا، يظهر σt2\sigma_t^2 سواء كعقوبة (lnσt2\ln \sigma_t^2 — يُعاقَب النموذج على ادعاء تباين مرتفع) وفي البقايا الموحّدة ((rtμ)2/σt2(r_t-\mu)^2/\sigma_t^2 — يُعاقَب النموذج على المفاجأة). المثالي يوازن بين الاثنين، وهذا ما يجعل التباين قابلًا للتتبع. ثانيًا، يحتاج التكرار إلى بذرة σ12\sigma_1^2؛ الاختيار المعتاد هو تباين العينة للعوائد، ومع بضعة آلاف من الملاحظات فإن البذرة بالكاد تهم.

لا توجد صيغة مغلقة للمُعظِّم، لذا نُحسّن رقميًا (تستخدم arch طريقة شبه نيوتن مع تدرجات تحليلية أو رقمية). سطح الاحتمال عمومًا جيد السلوك بالنسبة لـ GARCH(1,1)، لكن أمرين يعضّان في الممارسة العملية: قيود الإيجابية (ω,α,β0\omega,\alpha,\beta \ge 0) والسلوك القريب من الحد عندما α+β1\alpha+\beta \to 1، حيث يمكن أن يزحف المُحسِّن ببطء. كلاهما تتعامل معه مكتبة جيدة نيابة عنك — ويجب أن تستخدم واحدة. صياغة MLE لـ GARCH يدويًا تمرين تعليمي جيد لكنه خيار إنتاج سيء.

مكتبة arch

حزمة arch من إعداد كيفن شيبارد هي الأداة القياسية في بايثون. الملاءمة الكاملة أربعة أسطر.

from arch import arch_model

r = ret * 100.0

model  = arch_model(r, mean="Constant", vol="Garch", p=1, q=1, dist="normal")
res    = model.fit(disp="off")
print(res.summary())

كلمة حول أسماء الوسائط، لأنها مصدر شائع للالتباس. في arch، p هو عدد التباينات المتأخرة (حدود β\beta، رتبة GARCH) وq هو عدد البقايا التربيعية المتأخرة (حدود α\alpha، رتبة ARCH). إذن p=1, q=1 هو GARCH(1,1) الذي اشتققناه. (يكتب تدوين بولرسليف الأصلي GARCH(p,qp,q) مع pp لرتبة ARCH — الاصطلاحان متبادلان. ثق بوثائق المكتبة نفسها، لا بذاكرتك.)

عند قراءة الملخص، يبدو جدول المعاملات تقريبًا كهذا (قيم توضيحية لعوائد BTC اليومية، وليست تجربة حقيقية):

                     Volatility Model
==========================================================
                 coef    std err      t      P>|t|
----------------------------------------------------------
omega          0.4821     0.201    2.40    0.016
alpha[1]       0.0912     0.021    4.34    0.000
beta[1]        0.8994     0.024   37.5     0.000
==========================================================

كيف تقرأ هذا:

  • alpha[1] + beta[1] = 0.0912 + 0.8994 = 0.9906. استمرار أقل بقليل من 1 — نظام شبه-IGARCH، تمامًا كما حذّرنا. نصف العمر ln(0.5)/ln(0.9906)73\approx \ln(0.5)/\ln(0.9906) \approx 73 يومًا.
  • omega = 0.4821، إذن التباين طويل الأمد هو 0.4821/(10.9906)=51.30.4821 / (1 - 0.9906) = 51.3 بوحدات نسبة مئوية تربيعية، أي تقلب يومي طويل الأمد قدره 51.37.2%\sqrt{51.3} \approx 7.2\%، أو ما يقارب 7.2%×365138%7.2\%\times\sqrt{365}\approx 138\% سنويًا. هذا رقم معقول لـ BTC.
  • كل من alpha وbeta معنويان بقوة. كون alpha صغيرًا نسبيًا مقارنة بـ beta أمر نمطي: تباين العملات الرقمية هو في الغالب استمرار (ذاكرة)، مع رد فعل متواضع لكنه حقيقي على الصدمات الجديدة.

مطب القياس ×100

هذا هو الطريق الأكثر شيوعًا للحصول على نتائج عبثية من arch، لذا فهو يستحق قسمًا خاصًا به. يعمل المُحسِّن بشكل أفضل عندما تكون الأرقام التي يراها من رتبة O(1)O(1) إلى O(100)O(100). العوائد اللوغاريتمية اليومية من رتبة O(0.01)O(0.01)، لذا فإن مربعاتها من رتبة O(0.0001)O(0.0001) ويجب أن يكون ω\omega حول 10610^{-6} — نازلًا في نطاق تفقد فيه التدرجات الرقمية الدقة ويمكن أن تفشل الملاءمة بصمت في التقارب أو تُعيد أخطاء معيارية عبثية.

الحل هو الملاءمة على عوائد مقاسة بـ 100 (أي بالنسبة المئوية)، كما أعلاه. ستُصدر arch حتى تحذير DataScaleWarning إذا نسيت. كل ما تقرأه من النموذج بعد ذلك يكون بوحدات النسبة المئوية أو النسبة المئوية التربيعية، ويجب عليك إلغاء القياس بشكل متسق:

sigma_pct     = np.sqrt(res.forecast(horizon=1).variance.iloc[-1, 0])
sigma_decimal = sigma_pct / 100.0
print(f"1-day-ahead conditional vol: {sigma_decimal:.2%}")

خلط كميات مقاسة وغير مقاسة — تغذية تقلب بالنسبة المئوية في صيغة تحديد حجم مركز تتوقع كسورًا عشرية، مثلًا — ينتج أخطاء بمقدار 100x بالضبط، والتي يسهل تفويتها لأن الكود يعمل بشكل طبيعي. اختر اصطلاحًا (أنا أبقي كل شيء عشريًا خارج الملاءمة وأقيس فقط عند حدود arch) ولا تتجاوزه أبدًا.

التنبؤ بالتباين الشرطي

النموذج المُلائَم مفيد فقط إذا كان يتنبأ. يعطي GARCH توقعات تحليلية نظيفة عند أي أفق.

خطوة واحدة إلى الأمام. في الزمن TT (نهاية العينة) نعرف εT\varepsilon_T وσT2\sigma_T^2، لذا فإن التباين التالي محدد بشكل قطعي:

σT+12=ω+αεT2+βσT2.\sigma_{T+1}^2 = \omega + \alpha\,\varepsilon_T^2 + \beta\,\sigma_T^2.

لا حاجة إلى توقع — كل شيء على اليمين مُلاحظ.

خطوات متعددة إلى الأمام. بالنسبة لـ h2h \ge 2 لا نعرف بعد الصدمات المتوسطة، لذا نأخذ التوقعات الشرطية. باستخدام ET[εT+k2]=ET[σT+k2]\mathbb{E}_T[\varepsilon_{T+k}^2] = \mathbb{E}_T[\sigma_{T+k}^2] (لأن E[z2]=1\mathbb{E}[z^2]=1)، ينهار التكرار إلى AR(1) بسيط في التباين المتوقع:

ET[σT+h2]=ω+(α+β)ET[σT+h12].\mathbb{E}_T[\sigma_{T+h}^2] = \omega + (\alpha + \beta)\,\mathbb{E}_T[\sigma_{T+h-1}^2].

التكرار من التوقع أحادي الخطوة يعطي الصيغة المغلقة، وهي نتيجة العودة إلى الوسط التي اشتققناها سابقًا مكتوبة بشكل صريح:

ET[σT+h2]=σˉ2+(α+β)h1(σT+12σˉ2),σˉ2=ω1αβ.\mathbb{E}_T[\sigma_{T+h}^2] = \bar{\sigma}^2 + (\alpha+\beta)^{\,h-1}\bigl(\sigma_{T+1}^2 - \bar{\sigma}^2\bigr), \qquad \bar{\sigma}^2 = \frac{\omega}{1-\alpha-\beta}.

اقرأ هذا بعناية، لأنه هندسة كل توقع GARCH. تبدأ بنية أجل التباين (term structure) عند التباين الشرطي لليوم σT+12\sigma_{T+1}^2 وتضمحل هندسيًا نحو المستوى طويل الأمد σˉ2\bar{\sigma}^2. إذا كان اليوم أهدأ من المتوسط، يرتفع منحنى التوقع نحو σˉ2\bar\sigma^2؛ إذا كان اليوم أزمة، ينخفض نحوه. سرعة ذلك الاضمحلال تُحدد بالكامل بواسطة (α+β)(\alpha+\beta) — وفي نظام شبه-IGARCH الخاص بالعملات الرقمية، حيث α+β0.99\alpha+\beta \approx 0.99، الاضمحلال بطيء جدًا لدرجة أنه للآفاق دون أسبوعين بالكاد يتحرك التوقع عن مستوى اليوم. هذا يستحق الاستيعاب: بالنسبة لفترات الاحتفاظ القصيرة، توقع GARCH للعملات الرقمية هو أساسًا "الغد يشبه اليوم، فقط بعودة بطيئة جدًا إلى الوسط."

التجميع إلى أفق احتفاظ. نادرًا ما يهتم المتداولون بتباين يوم مستقبلي واحد. إذا احتفظت بمركز لمدة HH أيام وكانت العوائد غير مرتبطة شرطيًا (الحقيقة النمطية من البداية)، فإن تباين العائد التراكمي لـ HH يوم هو مجموع توقعات التباين اليومية أحادية الخطوة:

σT2(H)=h=1HET[σT+h2],σT(H)=σT2(H).\sigma_{T}^{2}(H) = \sum_{h=1}^{H} \mathbb{E}_T[\sigma_{T+h}^2], \qquad \sigma_T(H) = \sqrt{\sigma_T^2(H)}.

هذا هو الرقم الذي تُحدد الحجم فعليًا مقابله — تقلب الأرباح والخسائر خلال فترة احتفاظك. لاحظ أنه ليس بتاتًا التسنيّة الساذجة HσT+1\sqrt{H}\,\sigma_{T+1}، والتي تصح فقط إذا كان التباين ثابتًا. عندما يكون تباين اليوم فوق σˉ2\bar\sigma^2، فإن التوقع العائد إلى الوسط يجعل تقلب HH يوم الحقيقي أقل من قاعدة الجذر التربيعي؛ عندما يكون اليوم هادئًا، يكون أعلى. الحصول على هذا بشكل صحيح هو الفرق بين وقف خسارة يحترم بنية الأجل وآخر لا يفعل ذلك.

في الكود:

H = 10
fc = res.forecast(horizon=H, reindex=False)

var_path_pct2 = fc.variance.iloc[-1].values        # [E_T sigma^2_{T+1}, ..., T+H]
var_path      = var_path_pct2 / (100.0 ** 2)       # back to decimal variance

daily_vol   = np.sqrt(var_path)
print("Forecast daily vol path:", np.round(daily_vol * 100, 2), "%")

H_day_var = var_path.sum()
H_day_vol = np.sqrt(H_day_var)
print(f"{H}-day holding-period vol: {H_day_vol:.2%}")

naive = np.sqrt(var_path[0] * H)
print(f"Naive sqrt(H) * sigma_1:   {naive:.2%}")

بالنسبة للآفاق الأطول يدعم GARCH أيضًا توقعات المحاكاة (method="simulation")، التي تنشر توزيع الابتكار إلى الأمام وتعطيك كثافة التوقع الكاملة، وليس فقط تباينها — مفيد عندما تكون الابتكارات غير غاوسية، كما ستكون بمجرد أن ننتقل إلى توزيعات Student-t والملتوية في الجزء الثاني. بالنسبة للكميات الخطية في التباين أعلاه، المسار التحليلي دقيق ومجاني.

التشخيص: هل نجح النموذج فعليًا؟

ملاءمة نموذج ليست نفس الشيء كالتحقق منه. الهدف الكامل من GARCH هو امتصاص التباين الشرطي غير المتجانس — تكتل التقلب — بحيث ما يتبقى يكون (قريبًا من) مستقلًا ومتماثل التوزيع (i.i.d.). الفحص الصحيح إذن هو النظر إلى البقايا الموحّدة

z^t=rtμ^σ^t\hat{z}_t = \frac{r_t - \hat\mu}{\hat\sigma_t}

والسؤال: هل اختفى التكتل؟ إذا التقط النموذج ديناميكيات التباين، يجب أن يكون لدى z^t\hat z_t تباين وحدوي و، الأهم، يجب ألا تُظهر مربعاتها z^t2\hat z_t^2 أي ارتباط ذاتي متبقٍ. نُجري ثلاثة اختبارات.

1. Ljung-Box على البقايا الموحّدة. يتحقق من عدم وجود ارتباط ذاتي خطي متبقٍ في مستوى z^t\hat z_t (هذا في الواقع يختبر نموذج الوسط، وليس نموذج التباين). يجب ألا يُرفض.

2. Ljung-Box على البقايا الموحّدة التربيعية. هذا هو المهم. إذا كان لا يزال لدى z^t2\hat z_t^2 ارتباط ذاتي معنوي، فإن نموذج التباين فشل في إزالة التكتل — هناك بنية لم يلتقطها GARCH(1,1)، وقد تحتاج إلى رتبة أعلى، أو نسخة غير متماثلة، أو توزيع ابتكار مختلف. يجب ألا يُرفض.

3. اختبار ARCH-LM (اختبار مضاعف لاغرانج لإنجل). انحدر z^t2\hat z_t^2 على تأخراته الخاصة واختبر المعنوية المشتركة. إنه في الأساس نسخة رسمية من الاختبار 2 ويسأل مباشرة "هل هناك أثر ARCH متبقٍ؟" النتيجة غير المعنوية تؤكد أن التباين الشرطي غير المتجانس قد نُمذج بعيدًا.

from statsmodels.stats.diagnostic import acorr_ljungbox
from arch.unitroot.cointegration import engle_granger  # (unrelated; shown for import clarity)

z  = res.std_resid.dropna()          # standardized residuals
z2 = z ** 2

lb_z  = acorr_ljungbox(z,  lags=[10, 20], return_df=True)
lb_z2 = acorr_ljungbox(z2, lags=[10, 20], return_df=True)
print("Ljung-Box on standardized residuals:\n", lb_z, "\n")
print("Ljung-Box on SQUARED standardized residuals:\n", lb_z2, "\n")

lm = res.arch_lm_test(lags=10, standardized=True)
print(lm)

print(f"\nStd-resid excess kurtosis: {stats.kurtosis(z):.2f}")

الناتج الجيد يبدو كالتالي: تقفز قيم p لاختبار Ljung-Box على z^t2\hat z_t^2 من قريبة من الصفر (على العوائد التربيعية الخام) إلى ما فوق 0.05 بشكل مريح، ويفشل اختبار ARCH-LM في الرفض. هذا هو دليلك على أن النموذج أدى عمله على العزم الثاني.

الناتج غير المثالي — وما يجب أن تتوقعه مع GARCH(1,1) غاوسي بسيط على العملات الرقمية — هو أن اختبارات التكتل تنجح لكن تفلطح البقايا الموحّدة لا يزال مرتفعًا (لنقل 4-6 بدلًا من 0). يزيل GARCH التكتل لكن يبقى توزيع غير شرطي واحد ذو ذيول ثقيلة، لأن الابتكارات الغاوسية لا يمكنها إعادة إنتاج الذيول. تلك الذيول الثقيلة المتبقية ليست خطأً يجب إصلاحه هنا؛ إنها الدافع للجزء الثاني، GARCH غير المتماثل وتأثير الرفع المالي في العملات الرقمية، حيث تعالج ابتكارات Student-t والملتوية-t وحد عدم التماثل GJR/EGARCH هذا بالضبط.

التطبيق: تحديد الحجم والوقف بمقياس التقلب

لدينا الآن توقع لتقلب الغد (وأيام HH القادمة). ماذا نفعل به؟ أبسط استخدامين وأكثرهما قيمة هما تحديد حجم المركز ووضع وقف الخسارة. نبقي كليهما بسيطين عن قصد هنا — استراتيجية استهداف التقلب الكاملة بكل آلياتها العملية هي الجزء الرابع.

تحديد حجم المركز باستهداف التقلب

الفكرة هي الاحتفاظ بمركز مساهمته في المخاطرة ثابتة تقريبًا عبر الزمن، بدلًا من مركز قيمته الاسمية ثابتة. إذا نشرت دائمًا نفس الحجم بالدولار، فإن مخاطرتك تتضخم في أنظمة التقلب المرتفع وتنكمش في الأنظمة الهادئة — عكس ما تريده. استهداف التقلب يعكس هذا: استهدف تقلبًا ثابتًا للأرباح والخسائر، ودع التوقع يُملي الحجم.

بالنسبة لتقلب سنوي مستهدف σtarget\sigma_{\text{target}} (لنقل 20%) وتقلب سنوي متوقع σ^t\hat\sigma_t، وزن المركز هو

wt=σtargetσ^t.w_t = \frac{\sigma_{\text{target}}}{\hat{\sigma}_t}.

عندما يكون التقلب المتوقع مرتفعًا، تُقلّص الحجم؛ عندما يكون منخفضًا، تُوسّعه. هذه هي الآلية بأكملها. لأن σ^t\hat\sigma_t متوقع — معروف عند tt قبل تحقق العائد عند t+1t+1 — لا يوجد تطلع مسبق (look-ahead)، شريطة أن تكون منضبطًا بشأن التوقيت (المزيد حول هذا في المزالق).

def vol_target_weight(sigma_forecast_annual, sigma_target_annual=0.20,
                      w_max=3.0):
    """Volatility-scaled position weight. Inputs/outputs in decimals.
    w_max caps leverage so a tiny forecast vol can't demand insane size."""
    w = sigma_target_annual / sigma_forecast_annual
    return float(np.clip(w, 0.0, w_max))

sigma_1d   = np.sqrt(res.forecast(horizon=1).variance.iloc[-1, 0]) / 100.0
sigma_ann  = sigma_1d * np.sqrt(365)
w          = vol_target_weight(sigma_ann, sigma_target_annual=0.20)
print(f"Forecast annual vol: {sigma_ann:.1%}  ->  position weight: {w:.2f}x")

هذا ابن عم مباشر لقواعد تخصيص رأس المال الصحيحة. يجيب استهداف التقلب عن "كم يجب أن تتناسب المخاطرة مع التقلب"، بينما يجيب معيار كيلي عن "كم يجب أن تتناسب المخاطرة مع الميزة" — والاثنان يُضربان معًا في مكدس تحديد حجم كامل: الحجم \propto الميزة / التباين. لاحظ أن حد تباين كيلي هو بالضبط توقع GARCH الذي حسبته للتو، وهذا هو سبب كون نموذج التقلب الحي يشحذ تحديد حجم كيلي بشكل كبير مقارنة بتقدير تاريخي ثابت. إذا كان تقدير ميزتك نفسه يحمل عدم يقين مُقنَّن، فإن التنبؤ المطابق (conformal prediction) يعطي طريقة خالية من افتراض التوزيع لتوسيع أو تقليص الحجم ليطابق ذلك، ويتناسق بسلاسة مع استهداف التقلب.

الحد الأعلى w_max ليس اختياريًا. في نظام شبه-IGARCH يمكن لفترة هادئة أن تدفع التقلب المتوقع منخفضًا جدًا، وسيطلب σtarget/σ^t\sigma_{\text{target}}/\hat\sigma_t رافعة مالية جيدة على الورق ومدمرة عندما ينكسر الهدوء — وهو ما يحدث في النهاية، وفقًا لتكتل التقلب، غالبًا بشكل مفاجئ. تحديد سقف الرافعة المالية هو اعتراف خشن لكنه فعال بأن توقعك هو وسط شرطي، وليس ضمانًا، وأن مردود الخطأ غير متماثل. ذلك عدم التماثل — حساب منفجر لا يمكن تعويضه بفوز متماثل — هو بالضبط عدم تماثل الخسارة مقابل الربح الذي يجب أن يجعلك أكثر تحفظًا بشكل منهجي مما تقترحه قاعدة تباين فقط.

أوقاف الخسارة المُقاسة بالتقلب

يعاني وقف الخسارة الثابت بالنسبة المئوية من نفس علة حجم المركز الثابت: وقف خسارة بنسبة 3% هو زناد حساس في سوق هادئ وخطأ تقريبي في سوق عنيف. يجعلك تخرج من مراكز جيدة بسبب ضجيج عادي خلال أنظمة التقلب المرتفع ويتنازل عن الكثير جدًا خلال الانتقالات. الحل هو تعيين مسافة وقف الخسارة بوحدات التقلب المتوقع.

stop distancet=kσ^t(H)\text{stop distance}_t = k \cdot \hat\sigma_t^{(H)}

حيث σ^t(H)\hat\sigma_t^{(H)} هو التقلب المتوقع خلال أفق احتفاظك المتوقع HH (الكمية المُجمّعة من قسم التنبؤ) وkk هو مضاعف — عادة 1.5 إلى 3 — يُختار بحيث يقع وقف الخسارة خارج التذبذب الطبيعي لكن داخل حركة معاكسة حقيقية.

def vol_scaled_stop(entry_price, side, sigma_H, k=2.0):
    """
    entry_price : fill price
    side        : +1 long, -1 short
    sigma_H     : forecast volatility over the holding horizon (decimal)
    k           : stop width in vol units
    Returns the stop price.
    """
    stop_frac = k * sigma_H
    return entry_price * (1.0 - side * stop_frac)

var_path = res.forecast(horizon=10, reindex=False).variance.iloc[-1].values / (100.0 ** 2)
sigma_H  = np.sqrt(var_path.sum())

entry = float(px.iloc[-1])
stop  = vol_scaled_stop(entry, side=+1, sigma_H=sigma_H, k=2.0)
print(f"Entry {entry:,.0f}  |  10-day vol {sigma_H:.2%}  |  2-sigma stop {stop:,.0f}")

لأن σ^t(H)\hat\sigma_t^{(H)} يستخدم توقع بنية الأجل العائد إلى الوسط بدلًا من رقم تاريخي ثابت، يتسع وقف الخسارة تلقائيًا مع الدخول في أنظمة مضطربة ويضيق مع تراجع التقلب — بنية الأجل تقوم بالتكيف نيابة عنك. هذا نفس التوقع الذي يغذي كلًا من الحجم ووقف الخسارة، وهذه ميزة: في نظام التقلب المرتفع تحتفظ في وقت واحد بحجم أقل وتعطي المركز مساحة أكبر، ويتراكب التأثيران في مخاطرة ذيل أقل بشكل كبير. تحديد الحجم ووقف الخسارة هما إسقاطان لرؤية تقلب واحدة، وليسا مقبضين مستقلين.

هذا هو أقصى ما نأخذه في التطبيق في الجزء الأول. الاستراتيجية الحقيقية يجب أن تتعامل مع تكاليف المعاملات من إعادة التوازن المستمرة، وتوقيت متى يُحسب التوقع مقابل متى تُنفَّذ الصفقة، والتحكم في معدل الدوران، و — قبل كل شيء — تقييم أمين خارج العينة. كل ذلك هو الجزء الرابع: استراتيجية GARCH لاستهداف التقلب، حيث نبني ونختبر رجعيًا بطريقة walk-forward كامل الشيء.

المزالق

سهل ملاءمة GARCH وسهل خداع نفسك به. أنماط الفشل متسقة.

قياس العوائد. غُطي أعلاه، لكنه الخطأ رقم واحد، لذا يستحق التكرار: لائم arch على العوائد × 100، وألغِ قياس كل ناتج (التباين بـ 1002100^2، التقلب بـ 100100). خطأ صامت بمقدار 100x هنا يسمم كل حساب تحديد حجم ووقف خسارة لاحق.

التطلع المسبق في الملاءمة. القاتل الخفي. إذا لائمت النموذج على التاريخ بأكمله ثم حسبت "توقعات" على ذلك التاريخ نفسه، فإن كل توقع قد رأى المستقبل سرًا — تم تقدير المعاملات باستخدام بيانات من بعد تاريخ التوقع. سيبدو الملاءمة داخل العينة رائعًا ولن يشبه الأداء الحي ذلك على الإطلاق. يجب أن يأتي كل توقع مُختبَر رجعيًا من نموذج مُلائَم فقط على البيانات المتاحة في تلك اللحظة: أعد الملاءمة على نافذة متوسعة أو متدحرجة، توقع خطوة واحدة، تقدم للأمام. هذا غير قابل للتفاوض وهو الموضوع الكامل لـ التحسين walk-forward. الفجوة بين GARCH داخل العينة وآخر مُختبَر بطريقة walk-forward صحيحة هي الفجوة بين عرض توضيحي ونظام ينجو من الاحتكاك بالأسواق الحية — انظر أيضًا تكافؤ الاختبار الرجعي والحي.

توقيت التوقع. ذو صلة لكنه متمايز. يجب حساب توقع اليوم t+1t+1 من معلومات متاحة عند إغلاق اليوم tt (أو أينما يُغلق شريطك)، ويجب أن يكون المركز قابلًا للتنفيذ بسعر يمكنك الحصول عليه فعليًا. حساب التوقع باستخدام إغلاق اليوم t+1t+1 ثم "التداول" عند افتتاح اليوم t+1t+1 هو تطلع مسبق يُضخّم كل نتيجة بصمت.

فرط ملاءمة الرتب العالية. يكفي GARCH(1,1) دائمًا تقريبًا. إغراء ملاءمة GARCH(2,2) أو GARCH(3,1) لأنه يرفع دالة اللوغاريتم للاحتمال داخل العينة قليلًا هو عادة ملاءمة ضجيج؛ نادرًا ما تُحسّن المعاملات الإضافية التوقعات خارج العينة وغالبًا ما تجعل المُحسِّن غير مستقر بالقرب من الحد. فضّل النموذج المُقتصِد، وإذا كان يجب عليك مقارنة الرتب، قارنها بخسارة التوقع خارج العينة على تقسيم walk-forward، وليس بمعيار AIC داخل العينة. عندما تُظهر تشخيصات البقايا لا تزال مشكلة، الحل عادة هو توزيع ابتكار أفضل أو حد عدم تماثل (الجزء الثاني)، وليس رتبة أعلى.

الانكسارات الهيكلية تُقرأ كاستمرار. كما لوحظ، يمكن لتحول دائم في مستوى التقلب (نظام سوق جديد، تغيير في البنية الدقيقة للسوق) أن يُمتص بواسطة GARCH كاستمرار عالٍ زائف، يدفع α+β\alpha+\beta نحو 1. إذا بدا تقدير تقلبك طويل الأمد غير مستقر عبر النوافذ، اشتبه في انكسار بدلًا من الثقة بالتقدير النقطي شبه-IGARCH. إعادة الملاءمة المتدحرجة و، حيثما كان مناسبًا، نموذج نظام صريح يحرسان ضد هذا.

معاملة توقعات التقلب كتوقعات عوائد. يتوقع GARCH حجم الحركات، وليس اتجاهها. يخبرك كم من المرجح أن تكون حركة الغد كبيرة، وليس في أي اتجاه. هذا بالضبط سبب كون موطنه الطبيعي إدارة المخاطر — تحديد الحجم، أوقاف الخسارة، القيمة المعرضة للخطر — بدلًا من توليد الإشارات. لا تخلط بين توقع تباين جيد وميزة.

إلى أين يتجه هذا بعد ذلك

GARCH(1,1) هو الأساس، وهو غير مكتمل عن قصد. تبني السلسلة عليه في ثلاثة اتجاهات:

  • عدم التماثل والذيول الثقيلة — يستجيب تقلب العملات الرقمية الحقيقي بشكل أكبر للحركات الهابطة منه للصاعدة (تأثير الرفع المالي)، ولا يمكن للابتكارات الغاوسية إعادة إنتاج الذيول. GJR-GARCH و EGARCH وابتكارات Student-t / الملتوية-t هي الجزء الثاني.
  • التقلب متعدد المتغيرات — الارتباطات بين أصول العملات الرقمية نفسها متغيرة عبر الزمن وترتفع بحدة في الانهيارات. نمذجة مصفوفة التغاير بأكملها ديناميكيًا هي الجزء الثالث: DCC-GARCH، الذي يتصل مباشرة بـ نظرية ماركويتز للوسط والتباين والتخصيص القائم على CVaR بمجرد أن يصبح التغاير ديناميكيًا.
  • الاستراتيجية الكاملة — تحديد الحجم، أوقاف الخسارة، التكاليف، معدل الدوران، والتقييم الأمين بطريقة walk-forward تجتمع في الجزء الرابع.

وحيث تغذي هوامش GARCH المخاطر المشتركة: نموذج التباين الشرطي أحادي المتغير هنا هو بالضبط المرحلة الأولى من خط أنابيب GARCH-EVT-copula لـ VaR/CVaR للمحفظة. بمجرد أن يكون لديك بقايا موحّدة من ملاءمة GARCH لكل أصل، تُحوّلها وتُلصقها معًا بواسطة copula — الهوامش هي GARCH، والاعتماد هو الـ copula. ذلك البناء، بما في ذلك اعتماد الذيل ومعالجة ذيل EVT، مُغطّى بعمق في نماذج copula للمخاطر المشتركة للعملات الرقمية؛ هذا المقال هو المحرك أحادي المتغير الذي يقع تحته.

الملخص

  • تُظهر عوائد العملات الرقمية تكتل التقلب والذيول الثقيلة وعدم ارتباط ذاتي في العوائد لكن ارتباطًا ذاتيًا قويًا في العوائد التربيعية. أي أداة تفترض تقلبًا ثابتًا — Black-Scholes بـ σ\sigma واحد، القيمة المعرضة للخطر الثابتة، أوقاف الخسارة الثابتة بالنسبة المئوية — سيئة التحديد مقابل هذه الحقائق.
  • GARCH(1,1)، σt2=ω+αεt12+βσt12\sigma_t^2 = \omega + \alpha\varepsilon_{t-1}^2 + \beta\sigma_{t-1}^2، يُنمذج تباينًا شرطيًا متغيرًا عبر الزمن بثلاثة معاملات: أساس ω\omega، ورد فعل على الصدمة α\alpha، واستمرار β\beta. إنه ARCH(\infty) بذاكرة متناقصة هندسيًا، وهذا سبب تفوقه على ARCH ذي الرتبة العالية.
  • تتطلب الاستقرارية α+β<1\alpha+\beta<1؛ التباين طويل الأمد هو ω/(1αβ)\omega/(1-\alpha-\beta)، والاستمرار هو α+β\alpha+\beta، ونصف عمر التقلب هو ln0.5/ln(α+β)\ln 0.5 / \ln(\alpha+\beta). تقع العملات الرقمية في نظام شبه-IGARCH (α+β0.99\alpha+\beta\approx 0.99): شديد الاستمرار، بطيء العودة إلى الوسط، وبتقدير تباين طويل الأمد هش.
  • قدّر بالإمكان الأعظم. دالة اللوغاريتم للاحتمال الغاوسي هي مجموع من الكثافات أحادية الخطوة؛ لائمها بـ arch_model(r*100, vol="Garch", p=1, q=1). تذكّر قياس ×100 وألغِ قياس كل ناتج بشكل متسق.
  • تعود التوقعات إلى الوسط هندسيًا نحو التباين طويل الأمد بمعدل (α+β)h1(\alpha+\beta)^{h-1}. جمّع توقعات التباين اليومية للحصول على تقلب أفق احتفاظ — وليس قاعدة H\sqrt{H} الساذجة.
  • تحقق بـ Ljung-Box على البقايا الموحّدة التربيعية واختبار ARCH-LM. اجتياز هذه يؤكد أن التكتل نُمذج بعيدًا؛ الذيول الثقيلة المتبقية تُحفّز الجزء الثاني.
  • طبّقه على تحديد الحجم باستهداف التقلب (wt=σtarget/σ^tw_t = \sigma_{\text{target}}/\hat\sigma_t، بحد أعلى) وأوقاف الخسارة المُقاسة بالتقلب (kσ^t(H)k\cdot\hat\sigma_t^{(H)}). توقع واحد يقود كليهما، لذا تحصل أنظمة التقلب المرتفع على حجم أصغر ووقف خسارة أوسع في آن واحد.
  • المزالق المهمة: قياس العوائد، والتطلع المسبق في الملاءمة (لائم فقط على بيانات ماضية، دائمًا walk-forward)، وتوقيت التوقع، والإفراط في الرتبة، وعدم الخلط أبدًا بين توقع تباين وتوقع اتجاه.

المراجع:

  • Engle, R. F. (1982). Autoregressive Conditional Heteroscedasticity with Estimates of the Variance of United Kingdom Inflation. Econometrica, 50(4), 987-1007. DOI
  • Bollerslev, T. (1986). Generalized Autoregressive Conditional Heteroskedasticity. Journal of Econometrics, 31(3), 307-327. DOI
  • Mandelbrot, B. (1963). The Variation of Certain Speculative Prices. The Journal of Business, 36(4), 394-419. DOI
  • Nelson, D. B. (1991). Conditional Heteroskedasticity in Asset Returns: A New Approach. Econometrica, 59(2), 347-370. DOI
  • Katsiampa, P. (2017). Volatility estimation for Bitcoin: A comparison of GARCH models. Economics Letters, 158, 3-6. DOI
  • Chu, J., Chan, S., Nadarajah, S., & Osterrieder, J. (2017). GARCH Modelling of Cryptocurrencies. Journal of Risk and Financial Management, 10(4), 17. DOI
  • Sheppard, K. (2023). arch: Autoregressive Conditional Heteroskedasticity (ARCH) and other tools for financial econometrics in Python. GitHub.
blog.disclaimer

MarketMaker.cc Team

البحوث والاستراتيجيات الكمية

ناقش في تلغرام
Newsletter

ابقَ متقدماً على السوق

اشترك في نشرتنا الإخبارية للحصول على رؤى حصرية حول تداول الذكاء الاصطناعي وتحليلات السوق وتحديثات المنصة.

نحترم خصوصيتك. يمكنك إلغاء الاشتراك في أي وقت.