← Макалаларга кайтуу
July 10, 2026
5 мүн окуу

GARCH(1,1): Крипто волатилдүүлүгүн болжолдоо

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

BTCнин күндөлүк кирешелерин график түрүндө ачып көрүңүз — кокус басып жүрүү жөнүндөгү окуу китептери сизди эч качан даярдай элек нерсени байкайсыз: тынчтык менен хаос топ-топ болуп келет. 6% төмөндөгөн күн сейрек жалгыз болот. Ал 4-8% термелген жуманын ичинде жашырылат, андан кийин рынок дем алып, кийинки бороон чейин 1% гана термелген уйку баскан айды өткөрөт. Кирешелердин өзү болжолдоого мүмкүн эместей көрүнөт — эртеңки күн өсөбү же түшөбү, аны ишенимдүү айтуу мүмкүн эмес — бирок алардын чоңдугу терең болжолдонуучу. Бүгүнкү толкундоо эртеңки жөнүндө көп нерсени айтат.

Соодагер колдонгон дээрлик ар бир тобокелдик куралы бул чындык эместигин үнсүз болжолдойт. Black-Scholes опционду туруктуу бир σ\sigma менен баалайт. Статикалык Value-at-Risk саны бир волатилдүүлүк баасын нормалдуу квантилге көбөйтөт. Туруктуу 3% стоп-лосс тынч жаткан шейшемби менен FOMC жарыясы же ири биржанын депег учурундагы саат аралыгын бирдей тобокелдик катары карайт. Булардын ар бири так бир эле жол менен бузулат: убакыт менен өзгөрүүчү чоңдукту туруктуу санга кысат, андан кийин ошол туруктуу сан кыймылдай баштаганда таң калат.

Бул макала крипто үчүн волатилдүүлүктү моделдөө боюнча төрт бөлүктөн турган сериянын биринчи бөлүгү. Ал негизди курат: GARCH(1,1) модели, ал эмне үчүн крипто кирешелерине мынчалык жакшы дал келет, аны arch китепканасы менен максималдуу ыктымалдуулук ыкмасы аркылуу канткенде адилеттүү баалоого болот, жана шарттуу дисперсия болжолун дароо пайдалуу эки нерсеге — рынок менен бирге "дем алган" позиция көлөмүнө жана стоп кеңдигине — кантип айландырса болот. 2-бөлүк асимметрия менен оор куйруктарды кошот, 3-бөлүк көп өлчөмдүү моделге өтөт, 4-бөлүк волатилдүүлүккө багытталган толук бэктестти чогултат. Бул жерде колдонмо бөлүгүн атайын жөнөкөй кармайбыз; адилет, walk-forward менен текшерилген стратегия 4-бөлүктүн темасы.

Крипто кирешелеринин стилдештирилген фактылары

Бир нерсени моделдөөдөн мурун, эмнени кайра чагылдырууга аракет кылып жатканыбызды так түшүнүү маанилүү. Эмпирикалык каржы кирешелери — акциялар, FX, өзгөчө крипто — ондогон жылдар бою документтештирилген бир нече бекем статистикалык эрежелерди бөлүшөт. Аларды адатта стилдештирилген фактылар деп аташат, жана алардын үчөө андан ары баарын аныктайт.

1. Волатилдүүлүктүн кластерленуиши. Чоң козголуштар (кайсы белгиде болбосун) башка чоң козголуштар менен коштолот, ал эми кичине козголуштар кичине козголуштар менен коштолот. Мандельброт муну 1963-жылы мамык баасынан байкаган. Формалдуу түрдө, кирешелер rtr_t бири-бирине катар корреляцияланбаса да, квадраттуу кирешелер rt2r_t^2 (реалдаштырылган дисперсиянын proxy'си) күчтүү, жай жоголуучу оң автокорреляция көрсөтөт.

2. Оор куйруктар (лептокуртоз). Кирешелердин шарттуу эмес бөлүштүрүлүшүндө Гаусс бөлүштүрүлүшүнө караганда экстремумдарда алда канча көп масса бар. Нормалдуу бөлүштүрүлүштүн куртозу 3 болгондо, BTCнин күндөлүк лог-кирешелери туруктуу түрдө 8-10дон жогору турат, ал эми жогорку жыштыктагы крипто кирешелер андан да жаман болушу мүмкүн. Нормалдуу модель боюнча миллион жылда бир жолу гана болушу керек болгон алты-сигма күндөр он жылдыкта бир нече жолу кездешет.

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төн алда канча жогору ашыкча куртоз, чийки кирешелер боюнча "автокорреляция жок" деген гипотезаны четке какпаган Ljung-Box p-мааниси, жана квадраттуу кирешелер боюнча дээрлик нөлгө барабар p-маани. Ошол акыркы карама-каршылык — оюндун бардыгы. Күндөлүк горизонттогу кирешелердин белгисинде соода кылууга эч нерсе жок, бирок алардын дисперсиясында көп структура бар, жана бул структура болжолдонуучу.

Крипто рынокторунун 24/7 табияты жөнүндө эскертүү. Акциялардан айырмаланып, түнкү разрыв жана дем алыш күндөрүндөгү жабылуу жок, ошондуктан "күн" таза 24 сааттык бар, ал эми жылдыкка чыгаруу коэффициенти 365\sqrt{365}, 252\sqrt{252} эмес. Волатилдүүлүктүн кластерленуиши күн ичиндеги масштабда да сакталат, бул GARCHты сааттык бардарда иштетсеңиз маанилүү — фандинг-ставканын өзгөрүшү жана ликвидация каскаддары күндүк модель тегиздеп жиберген курч, кластерленген дисперсия жарылууларын киргизет.

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шарттуу дисперсия, б.а. t1t-1 убакытка чейин белгилүү болгон бардык нерсеге карата rtr_tнин дисперсиясы — жана ztz_t стандартташтырылган инновация (эң жөнөкөй учурда стандарттык нормалдуу). "Шарттуу" деген сөз бардык жумушту аткарат: шарттуу эмес түрдө дисперсия туруктуу болушу мүмкүн, бирок кечээгини эске алганда ал кыймылдайт.

Энгелдин 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 векторун баалоону билдирет.

Боллерслевдин 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 моделдерин туруктуу түрдө жеңип, колдонмо волатилдүүлүктү моделдөөнүн негизги куралына айланды. Чынында, ал RiskMetrics EWMA дисперсия баасынын жакын туугандыгы — бул ω=0\omega = 0, α+β=1\alpha + \beta = 1, β\beta 0.94кө бекитилген өзгөчө учур. GARCH аны маалыматка α\alpha, β\beta жана чыныгы орточого кайтуу деңгээлин тандатып жалпылайт.

Касиеттери: стационарлык, узак мөөнөттүү дисперсия жана жарым-жашоо мезгили

GARCH(1,1) рекурсиясынын изилдөөгө татыктуу бир нече касиети бар, себеби алар модельди көр эместен ой жүгүртүү менен колдонууга мүмкүндүк берет.

Шарттуу эмес (узак мөөнөттүү) дисперсия. Процесс ковариациялык стационардуу деп алабыз, ошондуктан шарттуу эмес дисперсия σˉ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 чоңдугу дисперсия процессинин туруктуулугу — бул дисперсия толкуну σˉ2\bar{\sigma}^2 ге кайра кантип жоголоорун аныктаган AR(1) коэффициенти. Эгер α+β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 болжолдогондой) сыяктуу иштейт.

Интеграцияга жакындык чыныбы же түзүмдүк үзгүлтүктөрдүн (волатилдүүлүк деңгээлинин туруктуу жылышы, аны модель узак туруктуу эпизод катары окуйт) артефактыбы — бул чыныгы талаш маселе. Бул бүтүн тарыхты бир жолу эмес, тегеренме терезелерде кайра дал келтирүү үчүн дагы бир себеп, биз буга кийинчерээк каталар бөлүмүндө кайтабыз. Режимдин структурасы өзгөчө жашырын Марков моделдери менен жакшыраак иштелет — караңыз жашырын Марков моделдери менен режимди аныктоо, ал GARCHка алмаштыруу эмес, толуктоочу.

Максималдуу ыктымалдуулук ыкмасы менен баалоо

GARCH параметрлери максималдуу ыктымалдуулук ыкмасы менен бааланат. Логика түз: θ=(μ,ω,α,β)\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).

Модель шарттуу түрдө жазылгандыктан, биргелешкен ыктымалдуулук бир кадамдык тыгыздыктардын көбөйтүндүсүнө бөлүнөт, жана лог-ыктымалдуулук жөнөкөй сумма:

(θ)=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 болгондо чекара жанындагы жүрүм-турум, мында оптимизатор жай сойлошу мүмкүн. Экөө тең жакшы китепкана тарабынан иштелет — жана сиз аны колдонушуңуз керек. GARCH MLEти кол менен жасоо жакшы окуу көнүгүүсү, бирок начар продакшн тандоосу.

arch китепканасы

Kevin Sheppard жазган arch пакети Python'до стандарттуу курал. Толук дал келтирүү төрт сап.

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) деп ARCH тартиби үчүн pp менен жазат — эки конвенция орун алмаштырылган. Эсиңизге эмес, китепкананын өз документтерине ишениңиз.)

Жыйынтыкты окусаңыз, коэффициенттер таблицасы болжол менен мындай көрүнөт (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 болжолдун геометриясы. Дисперсиянын мөөнөт структурасы бүгүнкү шарттуу дисперсия σ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)}.

Бул сиз чынында эсептешкен сан — кармоо мезгилиндеги P&L волатилдүүлүгү. Эске алыңыз, бул эч качан жөнөкөй 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"), алар инновация бөлүштүрүлүшүн алдыга жылдырат жана толук болжолдук тыгыздыкты берет, жөн гана анын дисперсиясын эмес — бул инновациялар Гаусс эмес болгондо пайдалуу, 2-бөлүктө 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}")

Жакшы натыйжа кандай көрүнөт: z^t2\hat z_t^2 боюнча Ljung-Box p-маанилери (чийки квадраттуу кирешелердеги) нөлгө жакын маанилерден 0.05тен жогору деңгээлге секирет, жана ARCH-LM тести четке какпайт. Бул модель экинчи момент боюнча өз ишин аткарганынын далили.

Жетишсиз натыйжа кандай көрүнөт — жана крипто боюнча жөнөкөй Гаусс GARCH(1,1) менен эмнени күтүшүңүз керек — кластерленуиш тесттери өтөт, бирок стандартташтырылган калдыктын куртозу дагы эле жогору бойдон калат (айталы, 0 эмес, 4-6). GARCH кластерленуишти алып салат, бирок бир фат-куйруктуу шарттуу эмес бөлүштүрүлүш калат, себеби Гаусс инновациялары куйруктарды кайра чагылдыра албайт. Ошол калган фат-куйруктуулук бул жерде оңдоо керек болгон каталык эмес — бул 2-бөлүктүн, крипто GARCHдагы асимметрия жана левередж эффекти деген бөлүктүн мотивациясы, мында Student-t жана кыйшайган-t инновациялар менен GJR/EGARCH асимметрия мүчөсү дал ушуну чечет.

Колдонмо: волатилдүүлүккө шкалдалган өлчөм жана стоптор

Эми бизде эртеңки (жана кийинки HH күндүн) волатилдүүлүгүнүн болжолу бар. Аны эмне үчүн колдонобуз? Эң жөнөкөй, эң жогорку баалуулуктагы эки колдонуу — позиция көлөмүн жана стоп жайгаштырууну аныктоо. Экөөнү тең атайын жөнөкөй кармайбыз — бардык практикалык механизми бар толук vol-таргетинг стратегиясы 4-бөлүк.

Волатилдүүлүккө багытталган позиция көлөмү

Идея — убакыт менен тобокелдик салымы болжол менен туруктуу болгон позицияны кармоо, эмес номиналы туруктуу позицияны. Эгер сиз ар дайым бирдей доллардык көлөмдү жайгаштырсаңыз, тобокелдигиңиз жогорку-волатилдик режимдерде шишип, тынч режимдерде кичирейет — сиз каалагандын карама-каршысы. Волатилдүүлүккө багытталуу муну тескери айландырат: P&Lдин белгиленген максаттуу волатилдүүлүгүнө умтулуп, болжолго көлөмдү аныктатыңыз.

Максаттуу жылдык волатилдүүлүк σ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 болжолдук болгондуктан — t+1t+1 убактагы киреше ишке ашкандан мурун tt убакта белгилүү — эгер сиз убакытты (пайдалануу) тартипте кармасаңыз, келечекти алдын ала билүү жок (муну кийинчерээк каталар бөлүмүндө кеңирирээк карайбыз).

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 болжолу, ошондуктан жандуу волатилдүүлүк модели статикалык тарыхый баадан алда канча так Келли көлөмдөөнү курчутат. Эгер артыкчылык баагыңыздын өзү сандык ыксыздыкка ээ болсо, конформдук болжолдоо көлөмдү бул менен дал келтирүү үчүн бөлүштүрүлүштөн эркин ыкманы берет, жана ал vol-таргетинг менен таза айкалышат.

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)} тегиз тарыхый сан эмес, орточого кайтуучу мөөнөт-структура болжолун колдонгондуктан, стоп бороондуу режимдерге кире жатканда өзү-өзүнөн кеңейет жана волатилдүүлүк төмөндөгөндө тарылат — мөөнөт структурасы сиз үчүн адаптацияны аткарат. Бул көлөмдү да, стопту да иштеткен бирдей болжол, жана бул артыкчылык: жогорку-волатилдик режимде сиз бир эле убакта аз позиция кармайсыз жана позицияга көбүрөөк орун бересиз, жана эки эффект бирге көбөйүп, куйрук тобокелдигин алда канча төмөндөтөт. Көлөм жана стоптор бир волатилдүүлүк көз карашынын эки проекциясы, эки көз каранды эмес рычаг эмес.

Бул 1-бөлүктөгү колдонмонун чегине жетти. Чыныгы стратегия туруктуу кайра тең салмактоодон келген транзакция чыгымдарын, болжол эсептелген убакыт менен соода жайгаштырылган убакыттын ортосундагы убакыт маселесин, айланма көзөмөлүн, жана — эң башкысы — адилет out-of-sample баалоону чечиши керек. Мунун баары 4-бөлүктө: волатилдүүлүккө багытталган GARCH стратегиясы, мында биз бүт нерсени курабыз жана walk-forward менен текшеребиз.

Каталар

GARCHты дал келтирүү оңой, жана өзүңүздү алдоо да оңой. Ийгиликсиздик режимдери туруктуу.

Кирешелерди масштабдоо. Жогоруда каралды, бирок бул биринчи орундагы каталык, ошондуктан кайталанууга татыктуу: archты 100гө көбөйтүлгөн кирешелерде дал келтириңиз, жана ар бир чыгышты масштабдан чыгарыңыз (дисперсияны 1002100^2 ге, волатилдүүлүктү 100100 гө). Бул жердеги унчукпай кеткен 100x ката ар бир кийинки көлөм жана стоп эсептөөсүн уулайт.

Дал келтирүүдө келечекти алдын ала билүү. Кылдат өлтүргүч. Эгер моделди бүт тарыхта дал келтирсеңиз жана андан кийин ошол эле тарых боюнча "болжолдорду" эсептесеңиз, ар бир болжол жашырын түрдө келечекти көргөн — параметрлер болжол күнүнөн кийинки маалымат менен бааланган. In-sample дал келтирүү сонун көрүнөт, ал эми жандуу натыйжа андан такыр башкача болот. Ар бир бэктестен алынган болжол ошол учурда жеткиликтүү маалыматта гана дал келтирилген моделден чыгышы керек: кеңейүүчү же тегеренме терезеде кайра дал келтир, бир кадам болжо, алдыга жылдыр. Бул талашка алынбайт жана ал walk-forward оптимизациясынын бүт темасы. In-sample GARCH менен туура walk-forward GARCH ортосундагы ажырым — демонстрация менен жандуу рынокторго туш болуп аман калган системанын ортосундагы ажырым — ошондой эле караңыз бэктест-жандуу паритети.

Болжолдун убактысы. Байланыштуу, бирок башка нерсе. t+1t+1 күн үчүн болжол tt күндүн жабылышында (же сиздин барыңыз качан жабылса) жеткиликтүү маалымат менен эсептелиши керек, жана позиция сиз чынында ала турган баада аткарылышы керек. Болжолду t+1t+1 күндүн жабылышын колдонуп эсептеп, андан кийин t+1t+1 күндүн ачылышында "соода жүргүзүү" унчукпай натыйжаны шиширген келечекти алдын ала билүү.

Жогорку тартиптерди асыра ыкташтыруу. GARCH(1,1) дээрлик ар дайым жетиштүү. GARCH(2,2) же GARCH(3,1) дал келтирүү азгырыгы, себеби ал in-sample лог-ыктымалдуулукту бир аз жогорулатат, көбүнчө шоокумду ыкташтыруу болуп саналат; кошумча параметрлер сейрек out-of-sample болжолдорду жакшыртат жана көбүнчө чекара жанында оптимизаторду туруксуз кылат. Экономдук моделди артык көрүңүз, жана эгер тартиптерди салыштырышыңыз керек болсо, аларды in-sample AICке эмес, walk-forward бөлүнүштө out-of-sample болжол зыяны боюнча салыштырыңыз. Калдык диагностикасы дагы эле маселени көрсөткөндө, чечим көбүнчө жакшыраак инновация бөлүштүрүлүшү же асимметрия мүчөсү (2-бөлүк), жогорураак тартип эмес.

Туруктуулук катары окулган түзүмдүк үзгүлтүктөр. Белгиленгендей, волатилдүүлүк деңгээлинин туруктуу жылышы (жаңы рынок режими, рынок микроструктурасынын өзгөрүшү) GARCH тарабынан жалган жогорку туруктуулук катары сиңирилиши мүмкүн, α+β\alpha+\beta ди 1ге түртүп. Эгер узак мөөнөттүү волатилдүүлүк баагыңыз терезелер боюнча туруксуз көрүнсө, IGARCHга жакын чекиттик баага ишенбестен, үзгүлтүктү шектениңиз. Тегеренме кайра дал келтирүүлөр жана, ылайыктуу болгон жерде, так режим модели буга каршы коргойт.

Волатилдүүлүк болжолдорун киреше болжолдору катары кароо. GARCH козголуштун чоңдугун болжолдойт, багытын эмес. Ал сизге эртеңки термелүү канчалык чоң болушу мүмкүн экенин айтат, кайсы жакка эмес. Дал ошондуктан анын табигый үйү — сигнал генерациясы эмес, тобокелдик башкаруу — көлөмдөө, стоптор, VaR. Жакшы дисперсия болжолун артыкчылык менен чаташтырбаңыз.

Мындан ары эмне

GARCH(1,1) — негиз, жана ал атайын толук эмес. Серия анын үстүнөн үч багытта курулат:

  • Асимметрия жана оор куйруктар — чыныгы крипто волатилдүүлүгү жогорку кыймылдардан көрө төмөн кыймылдарга көбүрөөк жооп берет (левередж эффекти), жана Гаусс инновациялары куйруктарды кайра чагылдыра албайт. GJR-GARCH, EGARCH, жана Student-t / кыйшайган-t инновациялар 2-бөлүктө.
  • Көп өлчөмдүү волатилдүүлүк — крипто активдер ортосундагы корреляциялар өздөрү убакыт менен өзгөрөт жана кулоолордо секирет. Бүт ковариация матрицасын динамикалык моделдөө 3-бөлүктө: DCC-GARCH, ал ковариация динамикалык болгондо түздөн-түз Markowitz орточо-дисперсия жана CVaR негизиндеги бөлүштүрүү менен байланышат.
  • Толук стратегия — көлөм, стоптор, чыгымдар, айланма, жана адилет walk-forward баалоо 4-бөлүктө бириктирилет.

Жана GARCH маргиналдары биргелешкен тобокелдикке кайда кире тургандыгы: бул жердеги бир өлчөмдүү шарттуу-дисперсия модели портфель VaR/CVaR үчүн GARCH-EVT-копула түтүгүнүн так биринчи баскычы. Активке-бирден GARCH дал келтирүүдөн стандартташтырылган калдыктарды алгандан кийин, аларды трансформациялап, копула менен бириктиресиз — маргиналдар GARCH, көз карандылык копула. Ошол конструкция, куйрук көз карандылыгы жана EVT куйрук иштетүүсү менен кошо, крипто биргелешкен тобокелдиги үчүн копула моделдери деген макалада терең каралат; бул макала анын алдында турган бир өлчөмдүү кыймылдаткыч.

Корутунду

  • Крипто кирешелери волатилдүүлүктүн кластерленуишин, оор куйруктарды, жана киреше автокорреляциясынын жоктугун, бирок квадраттуу-киреше автокорреляциясынын күчтүүлүгүн көрсөтөт. Туруктуу волатилдүүлүктү болжолдогон каалаган курал — бир σ\sigma менен Black-Scholes, статикалык VaR, туруктуу-пайыздык стоптор — бул фактыларга карата туура эмес спецификацияланган.
  • 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 тести менен. Буларды өтүү кластерленуиштин моделдештирилгенин ырастайт; калган фат-куйруктар 2-бөлүктү шыктандырат.
  • Аны колдонуңуз волатилдүүлүккө багытталган көлөмдөөгө (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

Сандык изилдөөлөр жана стратегия

Telegram-да талкуулоо
Newsletter

Рынктан бир кадам алдыда болуңуз

AI соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.