← Maqolalarga qaytish
August 9, 2026
5 daqiqa o'qish

Hawkes Processes for Order Arrival and Market Event Modeling

Hawkes Processes for Order Arrival and Market Event Modeling
#microstructure
#Hawkes-process
#point-process
#order-arrival
#crypto
#HFT

Digital fingerprint maqolasi ishtirokchining xulq-atvor imzosidagi timing komponenti sifatida uch sonli — hawkes_mu, hawkes_alpha, hawkes_beta — vektordan foydalanadi va market maker'lar kuchli self-excitation ko'rsatishini aytadi. Ammo bu uch son qayerdan kelishi, nimadan estimate qilinishi yoki ularga qanchalik ishonish kerakligi aytilmagan. Ushbu maqola yetishmayotgan yarim qismdir: estimator, fit diagnostikasi va uch parametrning o'zidan muhimroq bo'lib chiqadigan hosila kattalik — branching ratio nn.

Bu yerda tekshirilayotgan da'vo tor va tekshirilishi mumkin. Order flow self-exciting: agressiv sell keyingi agressiv sell ehtimolini oshiradi, buni hech qanday time-varying rate'li Poisson model takrorlay olmaydi. Agar bu to'g'ri bo'lsa, raw trade timestamp'lariga fit qilingan Hawkes jarayoni (a) held-out likelihood'da Poisson baseline'dan ustun bo'lishi, (b) 0 va 1 orasida branching ratio berishi va (c) time-rescaling goodness-of-fit testidan o'tishi kerak. (a) va (b) equity futures uchun keng qayd etilgan. (c) esa published Hawkes maqolalari odatda jim qoladigan, bu blogda crypto tape hali tekshirilmagan nuqtadir.

Bu blogda allaqachon mavjud bo'lgan ikki background bu yerda qayta hosil qilinmaydi. Self-exciting feedback structure — bir xil turdagi hodisalar ko'proq hodisalarni qo'zg'atishi, threshold ostida subcritical va undan yuqorida runaway bo'lishi — liquidation cascades as a trading signal maqolasida reproduction number g=ρ/Δg = \rho/\Delta sifatida konkret hosil qilingan; unda geometric-series total move, supercritical flash-crash regime va uni chegaralovchi uch narsadan biri sifatidagi circuit breaker'lar bor. Quyidagi branching ratio nn shu gg ning point-process analogidir. Bu yerda haqiqatan qo'shiladigan narsa: nn ni real vaqtda faqat trade timestamp'laridan, liquidation map, order-book depth yoki leverage farazlarisiz estimate qilish mumkin. Point-process machinery bilan shug'ullanishning butun sababi shu.

Clock time noto'g'ri sampling axis degan premise beyond time bars maqolasining asosiy argumenti bo'lib, u muammoni yaxshiroq barlar qurish bilan hal qiladi. Bu maqola esa boshqacha hal qiladi: umuman sampling qilmaydi va event time'larni bevosita modellashtiradi.

Point process asoslari: qisqacha

Diskret order-arrival hodisalari impulslari

Point process — conditional intensity λ(t)\lambda^*(t) bilan belgilanadigan tasodifiy event time'lar to'plami; bu to'liq Ft\mathcal{F}_t history berilgandagi instant arrival rate:

λ(t)=limΔt0E[N(t,t+Δt)Ft]Δt\lambda^*(t) = \lim_{\Delta t \to 0} \frac{\mathbb{E}[N(t, t + \Delta t) \mid \mathcal{F}_t]}{\Delta t}

Homogeneous Poisson process λ(t)=μ\lambda^*(t) = \mu holatidir. Inhomogeneous Poisson process λ(t)\lambda(t) ga deterministic shape (masalan, U-shaped intraday curve) ergashishga imkon beradi, ammo conditional independence'ni saqlaydi: hozirgina trade bo'lganini bilish keyingisi yaqinligini aytmaydi. Haqiqiy order flow aynan shu farazni buzadi va maqolaning butun mavzusi shu buzilishdir. λ(t)\lambda^*(t) dagi asterisk butun farqni bildiradi — history'ga bog'liqlikni ko'rsatadi.

Hawkes jarayoni

Self-exciting market-event aftershock'lari

Bir o'lchamli Hawkes jarayonining intensity'i quyidagicha:

λ(t)=μ+ti<tϕ(tti)\lambda^*(t) = \mu + \sum_{t_i < t} \phi(t - t_i)

μ>0\mu > 0 background intensity (exogenous arrival'lar), ϕ()0\phi(\cdot) \geq 0 esa excitation kernel. Har bir event intensity'ni ϕ(0)\phi(0) ga oshiradi va u ϕ\phi shaklida so'nadi. Yaqindagi event'lar klasteri yuqori intensity hosil qilib, keyingi event'larni ehtimoliroq qiladi — jarayon o'z history'sini eslab qoladi.

Tarmoqlanish koeffitsiyenti

n=0ϕ(t)dtn = \int_0^\infty \phi(t) \, dt

nn bitta parent qo'zg'atadigan child event'larning o'rtacha soni. Stationarity n<1n < 1 ni talab qiladi; stationary mean intensity λˉ=μ/(1n)\bar{\lambda} = \mu / (1-n) bo'lib, n1n \to 1 da diverge qiladi. Demak, nn total activity'ni exogenous fraction (1n)(1-n) va endogenous fraction nn ga ajratadi: n=0.7n = 0.7 da event'larning yetmish foizi bozordan tashqaridagi narsaga javob emas, boshqa event'larning reaksiyasidir.

Bu liquidation cascades dagi cascade multiplier'ning subcritical/supercritical bo'linishiga aynan mos keladi, faqat boshqa yo'nalishdan olinadi. Hisoblash narxidagi farq shuki: g=ρ/Δg = \rho/\Delta forced-sell density va live book depth'ning forward map'ini talab qiladi, ikkalasi ham leverage distribution haqidagi farazlar ustiga qurilgan estimate'lardir. nn esa timestamp'lar ro'yxatini talab qiladi.

Filimonov va Sornette (2012) E-mini S&P 500 futures'da 1998-2007 yillari oralig'ida nn taxminan 0.3 dan 0.7 dan yuqoriga ko'tarilganini qayd etdi. Hardiman, Bercot va Bouchaud (2013) o'sha contract uchun short lag'larda exponent'i taxminan 1.15-1.15 bo'lgan power-law kernel bilan n0.8n \approx 0.8 ni berdi. Ikkalasi ham o'n yildan oldingi equity-futures natijalari va o'lchovsiz crypto'ga ko'chirilmaydi. Bu maqolaning maqsadi ularni takrorlash emas; turli participant'lar va market-open discontinuity'siz 24/7 perpetual-futures tape'da xuddi shu regime mavjudligini tekshirishdir.

Kernel tanlovlari

Exponential, ϕ(t)=αeβt\phi(t) = \alpha e^{-\beta t}, n=α/βn = \alpha/\beta bilan. Markovian, shuning uchun likelihood har event uchun O(1)O(1) recursion'ga ega (quyida). Har bir amaliy fit shu yerdan boshlanadi.

Power law, ϕ(t)=αcp/(c+t)1+p\phi(t) = \alpha c^p / (c+t)^{1+p}. Long-memory clustering'ni takrorlaydi, ammo recursion yo'qoladi — likelihood evaluation O(N2)O(N^2) bo'ladi yoki truncation talab qiladi.

Exponentials yig'indisi, ϕ(t)=k=1Kαkeβkt\phi(t) = \sum_{k=1}^{K} \alpha_k e^{-\beta_k t}. Recursion'ni saqlagan holda power-law decay'ni KK time scale bilan yaqinlashtiradi. Odatda K=3K = 3 dan 55 gacha yetarli, βk\beta_k esa millisecond'dan minute'largacha yoyiladi.

Crypto trade arrival'lari exponential yoki power law tarzida so'nadimi — likelihood-ratio javobiga ega empirik savol; quyida u citation bilan emas, o'lchov bilan tekshiriladi.

Ko'p o'lchamli Hawkes jarayonlari

Bozor event'larining cross-exciting oqimlari

DD ta event turi uchun:

λd(t)=μd+d=1Dtid<tϕdd(ttid)\lambda_d^*(t) = \mu_d + \sum_{d'=1}^{D} \sum_{t_i^{d'} < t} \phi_{dd'}(t - t_i^{d'})

ϕdd\phi_{dd'} dd' turi dd turini qanday qo'zg'atishini ifodalaydi. Exponential kernel'larda branching matrix G=[αdd/βdd]G = [\alpha_{dd'}/\beta_{dd'}], stationarity esa spectral radius ρ(G)<1\rho(G) < 1 ni talab qiladi. Eng katta eigenvalue'ga mos GG eigenvector'i dominant excitation mode'ni — event type'larning qaysi guruhi birga ishga tushishini — aniqlaydi.

Order book uchun qiziq instantiation D=6D = 6: market buy, market sell, limit buy, limit sell, cancel buy, cancel sell. Bu matrix 36 ta entry'ga ega va Hawkes toolkit'ning blogda boshqa joyda yo'q qismidir. Uning predicted entry'laridan biri vocabulary'siz empirik tarzda allaqachon hujjatlashtirilgan: ketma-ket level'lar bo'ylab correlated mass cancellation — wall pull'lar — queue position va order book wall analysis da bevosita o'lchanadi. Fit qilingan ϕcancel,cancel\phi_{\text{cancel},\text{cancel}} shu hodisaning kernel ko'rinishidir va ikki o'lchov mos kelishi kerak. Mos kelmasa, ulardan biri noto'g'ri.

Cross-asset va multi-venue versiyalar turli label'lar bilan ayni machinery'dir: off-diagonal kernel'lar lead-lag va contagion'ni capture qiladi. Shi, Broussard va Booth (2019) 2010 flash crash davridagi 30 ta Dow stock'ida aynan shuni ishlatib, aniqlanadigan contagion source'lari bilan asymmetric cross-excitation topgan.

Kalibratsiya

Event-intensity field'ni calibration qilish

Maksimal ehtimollik

[0,T][0, T] oralig'idagi {t1,,tN}\{t_1, \ldots, t_N\} event times uchun:

(θ)=i=1Nlogλ(ti)0Tλ(t)dt\ell(\theta) = \sum_{i=1}^{N} \log \lambda^*(t_i) - \int_0^T \lambda^*(t) \, dt

Birinchi term event'lar bo'lgan joydagi intensity'ni mukofotlaydi; ikkinchisi hech narsa hosil qilmagan intensity'ni penalti qiladi.

Exponential kernel uchun recursion:

Ri=j<ieβ(titj)=eβ(titi1)Ri1+1R_i = \sum_{j < i} e^{-\beta(t_i - t_j)} = e^{-\beta(t_i - t_{i-1})} \cdot R_{i-1} + 1

O(1)O(1) per event hisobida λ(ti)=μ+αRi\lambda^*(t_i) = \mu + \alpha R_i ni beradi va compensator yopiladi:

0Tλ(t)dt=μT+αβi=1N(1eβ(Tti))\int_0^T \lambda^*(t) \, dt = \mu T + \frac{\alpha}{\beta} \sum_{i=1}^{N} \left(1 - e^{-\beta(T - t_i)}\right)

Umumiy cost O(N)O(N), million-event fit'larni odatiy qiladigan narsa shu. Positivity constraints ostida L-BFGS-B bilan optimize qiling.

Output'ga ishonishdan oldin bilish kerak bo'lgan ikkita failure mode bor. n1n \to 1 da likelihood surface juda flatten bo'ladi, shuning uchun near-critical fit nn bo'yicha ±0.1\pm 0.1 oralig'ida deyarli tekis valley'da turgan, ishonchli ko'rinadigan point estimate berishi mumkin — har doim optimizer Hessian'ini o'qish o'rniga likelihood'ni nn bo'yicha profile qiling. Multivariate holatda parameter count O(D2)O(D^2) sifatida o'sadi, shuning uchun D10D \approx 10 dan keyin kernel norm'larida group-Lasso kerak, aks holda matrix noise'ga fit bo'ladi.

EM va parametrik bo'lmagan baholash

EM branching structure'ni latent deb qaraydi: har bir event μ\mu dan immigrant yoki oldingi event'ning offspring'idir. Generic E-step/M-step mechanics, local-optimum caveat va multiple-initialization discipline HMM bilan regime detection dagi Baum-Welch bo'limida qamrab olingan va bu yerda ham aynan shunday. Hawkes'ga xos qism E-step quantity'sining o'zidir:

pij=ϕ(titj)λ(ti),pi0=μλ(ti)p_{ij} = \frac{\phi(t_i - t_j)}{\lambda^*(t_i)}, \quad p_{i0} = \frac{\mu}{\lambda^*(t_i)}

pijp_{ij} qaysi event qaysi event'ni sabab qilgan degan posterior — oddiy optimization intermediate emas, talqin qilinadigan output. Event type bo'yicha yig'ilganda tape attribution'ini beradi: oxirgi soat sell'larining shu fraction'i oldingi sell'lar tomonidan trigger qilingan, bu fraction tashqaridan kelgan. Shuningdek, ϕ\phi ni grid'da piecewise-constant sifatida non-parametrik estimate qilishga imkon beradi; shu tariqa alternative'ga majbur bo'lmasdan exponential farazni tekshirasiz. Cost: to'liq pijp_{ij} matrix uchun O(N2)O(N^2), shuning uchun approximation'siz taxminan 10510^5 event'dan oshmaydi.

Bacry va Muzy spectral method'i boshqa model-free yo'ldir — stationary Hawkes process'ning power spectral density'si C^(ω)=IΦ^(ω)2diag(μ)\hat{C}(\omega) = |I - \hat{\Phi}(\omega)|^{-2} \cdot \text{diag}(\mu) sifatida factorize bo'ladi. Shuning uchun covariance density'ni estimate qilish va factorization'ni yechish hech qanday parametric form faraz qilmasdan kernel'larni tiklaydi.

Haqiqiy crypto tape'iga moslashtirish

Crypto trade tape'ni birlashtirish

Bu bo'limdagi har bir son real data'dagi actual fit'dan kelishi kerak. Simulator'ga inject qilgan parametrlarni tiklash optimizer ishlashidan boshqa hech narsaga evidence emas.

Data: belgilangan window'dagi Binance BTC/USDT aggTrade timestamp'lari; har bir report qilingan raqam yonida window, symbol va event count aniq ko'rsatiladi. aggTrade bitta taker order'dan bir xil price'dagi fill'larni bitta record'ga aggregate qiladi, bu yerda to'g'ri unit shu — bitta aggressive order bitta event, counterparty fill uchun alohida event emas.

Bir o'lchamli moslashtirish

import numpy as np
import pandas as pd
from tick.hawkes import HawkesExpKern

trades = pd.read_parquet("binance_btcusdt_aggtrades.parquet")

t0 = trades["transact_time"].iloc[0]
ts = ((trades["transact_time"] - t0) / 1000.0).to_numpy(dtype=np.float64)
T = ts[-1]

learner = HawkesExpKern(decays=BETA_GRID, penalty="none", verbose=False)
learner.fit([ts])

mu_hat = learner.baseline[0]
alpha_hat = learner.adjacency[0, 0]
n_hat = alpha_hat / BETA_CHOSEN

print(f"events   = {len(ts)}")
print(f"window   = {T/3600:.2f} h")
print(f"mu       = {mu_hat:.4f} events/s")
print(f"n        = {n_hat:.4f}")
print(f"lambda_bar (model) = {mu_hat/(1-n_hat):.4f} events/s")
print(f"lambda_bar (data)  = {len(ts)/T:.4f} events/s")

Oxirgi ikki print hech qanday cost talab qilmaydigan birinchi sanity check: model stationary mean intensity μ/(1n)\mu/(1-n) empirical event rate'ga yaqin bo'lmasa, optimizer nima report qilganidan qat'i nazar fit noto'g'ri.

β\beta qo'lda fixed qilinmasligi kerak. Decay'lar grid'i bo'ylab likelihood'ni profile qiling va profilni report qiling, chunki α\alpha va β\beta kuchli trade-off qiladi; n=α/βn = \alpha/\beta barqaror bo'lishi mumkin, parametrlarning o'zi esa bo'lmasligi mumkin.

Kernel haqiqatan ham exponential tarzda so'nadimi?

Literaturadagi power-law da'vosi 2013 yilgi equity-futures maqolalaridan keladi. Uni bevosita test qiling: bir xil tape'ga exponential va power-law kernel'larni fit qiling, held-out data'da log-likelihood bo'yicha solishtiring (in-sample emas, chunki power law'da qo'shimcha parametr bor) va katta trade'lardan keyingi empirical intensity decay'ni alohida ko'ring.

large = ts[trades["quantity"].to_numpy() > LARGE_TRADE_THRESHOLD]

lags = np.logspace(-3, 2, 60)   # 1 ms .. 100 s
rate = np.empty(len(lags) - 1)
for k in range(len(lags) - 1):
    lo, hi = lags[k], lags[k + 1]
    counts = [
        np.searchsorted(ts, t0_ + hi) - np.searchsorted(ts, t0_ + lo)
        for t0_ in large
    ]
    rate[k] = np.mean(counts) / (hi - lo)

Log-log'da chizilganda exponential kernel egiladi, power law to'g'ri chiziq bo'ladi. Bu plot ikki likelihood number'ning istalganidan kuchliroq evidence, chunki misfit qayerda ekanini ko'rsatadi — odatda exponential'lar tail'ni underfit, dastlabki bir necha millisecond'ni overfit qiladi.

Tarmoqlanish matritsasi

Minimum viable multivariate model: is_buyer_maker bilan ajratilgan ikki dimension — aggressive buy va aggressive sell. Agar L3 data mavjud bo'lsa, cancel'largacha kengaytiring.

buys  = ts[~trades["is_buyer_maker"].to_numpy()]   # taker bought
sells = ts[ trades["is_buyer_maker"].to_numpy()]   # taker sold

mv = HawkesExpKern(decays=BETA_CHOSEN, penalty="l2", C=C_CV, verbose=False)
mv.fit([buys, sells])

G = mv.adjacency / BETA_CHOSEN          # branching matrix
rho = np.max(np.abs(np.linalg.eigvals(G)))
print("G =\n", G)
print(f"spectral radius = {rho:.4f}")   # must be < 1

Publish qilinishi kerak bo'lgan ikki quantity — matrixning o'zi va uning spectral radius'i. Qiziq qism asymmetry: sell-excites-sell buy-excites-buy'dan ustunmi va cross term'lar symmetricmi — bular crypto tape haqida test qilinadigan, bu yerda hali hech kim o'lchamagan da'volardir.

Moslikni baholash: vaqtni qayta masshtablash

Time-rescaling teoremasi: agar model to'g'ri bo'lsa, transformed time'lar τi=0tiλ(s)ds\tau_i = \int_0^{t_i} \lambda^*(s)\,ds unit-rate Poisson process hosil qiladi, shuning uchun farqlar Δτi\Delta\tau_i Exp(1)\text{Exp}(1) bo'ladi.

from scipy.stats import kstest, expon

compensator = np.empty(len(ts))
for i, ti in enumerate(ts):
    compensator[i] = mu_hat * ti + (alpha_hat / BETA_CHOSEN) * np.sum(
        1 - np.exp(-BETA_CHOSEN * (ti - ts[:i]))
    )

tau = np.diff(compensator)
stat, pval = kstest(tau, expon(scale=1.0).cdf)
print(f"KS = {stat:.4f}, p = {pval:.4g}, N = {len(tau)}")

Bu testni o'qishda bir ehtiyotkorlik: NN yuz minglab bo'lsa, KS test trivial misspecification sabab reject qiladi. N=5×105N = 5 \times 10^5 dagi juda kichik p-value o'zicha deyarli hech narsani anglatmaydi; informativ output Δτ\Delta\tau ning Exp(1)\text{Exp}(1) ga QQ plot'i va scale-free effect size bo'lgan KS statistic'ning o'zidir. Ikkalasini ham halol report qiling — agar exponential kernel crypto tape'da reject qilinsa, uni ko'mish emas, publish qilish kerak, robust edge'lardagi halol salbiy natija ruhida.

n haqiqatan ham zaiflik bilan o'zgaradimi?

nn real-time fragility indicator degan da'vo doim citation qilinadi, kamdan-kam test qilinadi. Test oddiy: tinch davr va ma'lum crypto cascade date bo'ylab rolling window'larda nn ni estimate qiling va u event'dan oldin yoki faqat event vaqtida oshishini ko'ring. Faqat crash bilan bir vaqtda spike qiladigan quantity warning emas, description'dir.

Barqarorlik va mustahkamlik

Barqaror klasterlangan event tizimi

Fit qilingan nn ahamiyatsiz bo'lishi kerak bo'lgan narsalarni o'zgartirganda qanchalik siljishini bilmaguningizcha o'lchov emas. Zarar miqdori bo'yicha taxminiy tartibda to'rtta aniq trap mavjud.

Timestamp resolution self-excitation hosil qiladi. Binance aggTrade timestamp'lari millisecond-resolution'da. Aslida microsecond farq qilgan trade'lar bir xil millisecond stamp'ga collapse bo'ladi va Hawkes likelihood coincident event'larni maksimal excitation sifatida o'qiydi — ϕ(0)\phi(0) aynan zero lag'da baholanadi. Bu nn ni yuqoriga bias qiladi va bias activity bilan o'sadi; demak, raqamga eng ko'p ishonmoqchi bo'lgan burst'larda eng yomon bo'ladi. Buni quantity qiling: qo'shnisi bilan bir xil timestamp'ga ega event fraction'ini hisoblang, keyin bu event'larni millisecond bin ichida uniform jitter qilib qayta fit qiling va nn qanchaga o'zgarganini report qiling. Jittering nn ni confidence interval'dan ko'proq o'zgartirsa, asosiy raqam market'ni emas, clock'ni o'lchayapti.

Exchange batching. Exchange'lar event'larni sodir bo'lishi bilan emas, matching va dissemination pipeline flush qilganda chiqaradi. Binance liquidation stream'dagi one-per-second throttle bunga documented precedent — clustered arrival'ga o'xshagan stream qisman publisher artifact'idir. Trade feed'dagi har qanday batching inter-arrival distribution'ga periodicity bosadi, Hawkes kernel esa uni α\alpha ichiga mamnuniyat bilan singdiradi. To'g'ridan-to'g'ri tekshiring: inter-arrival time'larni histogram qiling va biror fitdan oldin batching period'ida spike'larni izlang.

Faraz qilingan decay'ga sensitivity. n=α/βn = \alpha/\beta β\beta ga bog'liq, β\beta esa odatda joint estimate qilinmaydi, fixed yoki grid-searched bo'ladi. nn ni point sifatida emas, plausible range bo'ylab β\beta funksiyasi sifatida report qiling. Curve flat bo'lsa raqam haqiqiy; nn β\beta ni yaqindan kuzatsa, javobni o'zingiz tanlagansiz.

Estimation window. Bir soat, kun va hafta bo'yicha estimate qilingan nn farq qiladi: qisman process haqiqatan non-stationary, qisman uzun window regime'larni aralashtiradi va between-regime variation'ni within-regime clustering bilan chalkashtirib, apparent excitation'ni oshiradi. Window-length sweep'ni report qiling. O'sayotgan nn ni to'g'ri o'qish — boshqa vaqtlar uchun o'lchangan ayni window length bilan solishtirish; boshqa window'dagi raqam bilan emas.

Bu yerda namuna GPU precision trap da o'rnatilgan: toza ishlaydigan va plausible raqam qaytaradigan pipeline to'g'ri raqam evidence'i emas; yagona himoya ahamiyatsiz bo'lishi kerak bo'lgan input'larni perturb qilib, output siljimasligini tasdiqlashdir.

Bu sizga nima beradi va nimani bermaydi

Bozor murakkabligi ichidagi foydali intensity structure

Microstructure theory bilan uchta bog'lanish; blog ularning har birini boshqa joyda batafsil qamrab olgani uchun qisqa.

Price formation. Kyle (1985) da market maker informed va noise trading aralashgan net order flow asosida price qiladi; impact coefficient λ\lambda va depth 1/λ1/\lambda, jumladan Kyle linearity'siga qarshi evidence bilan, slippage cost models da berilgan. Hawkes talqini μ\mu ni haqiqiy yangi information'ga, self-excited event'larni mechanical reaction'ga map qiladi va nn ni flow'ning noise-driven ulushi uchun o'lchanadigan proxy'ga aylantiradi.

Volatility clustering. Clustering, persistence, stationarity condition α+β<1\alpha + \beta < 1 va long-run variance ω/(1αβ)\omega/(1-\alpha-\beta) — strukturaviy jihatdan n<1n < 1 va μ/(1n)\mu/(1-n) ning exact analogi — crypto uchun GARCH volatility forecasting da qamrab olingan. Haqiqiy yangi da'vo Bacry, Delattre, Hoffmann va Muzy (2013) dan: near-critical Hawkes process hech qanday explicit volatility model'siz volatility autocorrelation'i power law sifatida decay qiladigan return series'ni hosil qiladi. Volatility clustering faraz qilinmaydi, self-exciting order flow'ning emergent xususiyati sifatida yuzaga chiqadi.

Epps effect. Bacry va Muzy bivariate Hawkes model yuqori sampling frequency'da o'lchangan correlation decay'ini faqat ikki process orasidagi excitation'ning finite propagation time'i orqali takrorlashini ko'rsatdi — qo'shimcha mexanism kerak emas.

Execution'da self-excitation'dan keladigan prescription — slice'dan keyin sekinlashish, tinch davrda tezlashish — TWAP, VWAP va POV execution algorithms dagi POV feedback-loop bo'limining yadrosidir; naive equal slicing critique'i esa Almgren-Chriss da. Hawkes fit advice emas, son qo'shadi: fit qilingan kernel half-life ln2/β\ln 2 / \beta o'z slice'ingizdan kelgan excitation qancha vaqtda decay qilishini aytadi va "biroz kutish"ni aniq pause length'ga aylantiradi.

Cheklovlar

Regime o'zgarishlari va event-model cheklovlari

Inhibition yo'q. Classical model event'lar intensity'ni faqat oshirishiga imkon beradi. Bozorlarda teskarisi ham bor: pressure'ni yutayotgan katta limit order aggressive trading'ni to'xtatishi mumkin. Inhibition'li Hawkes process'lar negative kernel value'lariga ruxsat beradi, ammo λ(t)0\lambda^*(t) \geq 0 ni enforce qilish kerak. Bu ma'lum fit uchun muhimmi-yo'qmi non-parametric kernel estimate'da ko'rinadi — piecewise-constant ϕ^\hat\phi biror lag'da noldan pastga tushsa, constrained model data bilan kurashmoqda.

Non-stationarity. Standard model stationarity'ni faraz qiladi, crypto esa 24/7 bo'lsa ham uniform emas: liquidity, participant mix va event rate kun davomida hamda funding timestamp'lari atrofida o'zgaradi. Time-varying baseline μ(t)\mu(t) buni ko'proq parametrlar evaziga hal qiladi; yuqoridagi estimation-window sensitivity sizga bunga ehtiyoj bor-yo'qligini ko'rsatadi.

Xulosa

Klasterlangan intensity'ga tartiblanayotgan order flow

Hawkes process bir sababga ko'ra machinery'ga arziydi: order flow clustering'ini bitta talqin qilinadigan branching ratio nn soniga collapse qiladi; uni faqat timestamp'lardan, order-book reconstruction'siz va leverage yoki positioning farazlarisiz hisoblash mumkin. Bu uni bozor hozir qanchalik endogenous ekanining eng arzon mavjud estimate'iga aylantiradi — liquidation cascades ayni savolga g=ρ/Δg = \rho/\Delta orqali qimmat javob beradi.

Machinery oddiy: exponential kernel'lar RiR_i recursion orqali O(N)O(N) likelihood beradi, EM qaysi event qaysi event'ga sabab bo'lganini ko'rsatuvchi talqin qilinadigan posterior beradi, time rescaling esa plausibility argument emas, haqiqiy goodness-of-fit testini beradi. Output'ga ishonish esa oddiy emas. Millisecond timestamp rounding aynan burst paytida nn ni yuqoriga bias qiladi, exchange batching kernel singdiradigan structure'ni bosadi va nn ham assumed decay, ham estimation window bilan o'zgaradi. Shu to'rtta sensitivity'siz report qilingan branching ratio son, o'lchov emas.


Manbalar va qo'shimcha o'qish

blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

Bozordan bir qadam oldinda bo'ling

Sun'iy intellekt savdo tahlillari, bozor tahlili va platforma yangiliklari uchun bizning xabarnomaga obuna bo'ling.

Biz sizning maxfiyligingizni hurmat qilamiz. Istalgan vaqtda obunadan chiqishingiz mumkin.