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

The Other Way a Regression Lies: Endogeneity, 2SLS, and the Gamma Calibration Problem

The Other Way a Regression Lies: Endogeneity, 2SLS, and the Gamma Calibration Problem
#causal-inference
#instrumental-variables
#2SLS
#econometrics
#endogeneity

Regressiya sizni tizimli ravishda aldashi mumkin bo'lgan ikkita turli usul bor, bu blog esa hozirgacha ulardan faqat bittasiga qarshi kurashdi.

Birinchisi, qidiruvdagi tanlash xatosi: siz o'n mingta backtest o'tkazdingiz, eng yaxshisini qoldirdingiz va qarayotgan raqamingiz effekt emas, balki shovqin taqsimotining maksimumidir. Bu deflyatsiyalangan Sharpe nisbati va uning yakuniy halol salbiy natija maqolasi mavzusidir. Tuzatish qidiruv narxini hisobga olishdan iborat.

Ikkinchisi — hech qachon qidirilmagan bitta regressiyadagi koeffitsientning o'zidagi xato. Agar regressor xato hadi bilan korrelyatsiyalangan bo'lsa, OLS xolis emas va izchil emas — tanlanma shovqinidan farqli ravishda, bu muammo tanlanma hajmi oshishi bilan kamaymaydi. Ko'proq ma'lumot noto'g'ri raqamni yanada ishonchli qiladi. Bootstrap, walk-forward yoki deflyatsiyaning hech biri bunga ta'sir qilmaydi, chunki ularning hech biri identifikatsiyani emas, faqat tanlashni tekshiradi.

Ushbu maqola ikkinchi xato haqida va bu yerda u mavhum xavotir emas. Almgren-Chriss kalibrlash maqolasi doimiy ta'sir γ\gamma ni sof taker oqimi bo'yicha 5 daqiqalik mid-price o'zgarishlarini regressiya qilish orqali baholaydi, bir necha foizlik R2R^2 va kunlar orasida 2-5 marta o'zgaradigan koeffitsient oladi hamda endogenlikni birinchi tizimli sabab sifatida ko'rsatadi: "Oqim narxga, narx esa oqimga javob beradi. Momentum treyderlari narx ko'tarilgani uchun xarid qiladi; daromadlarni oqimga sodda OLS qilish ularning reaksiyasini olib, uni ta'sir deb ko'rsatadi." Maqolada toza tuzatish ham ko'rsatilgan — tabiatan ekzogen bo'lgan o'z fillaringiz.

Bu nomi va ma'lumotlari allaqachon mavjud bo'lgan instrumental o'zgaruvchilar muammosi. Quyida baholovchi, diagnostika va tajriba keltiriladi.

Bir paragrafda endogenlik

Chirmashgan kuchlar endogenlikni yaratadi

OLS sababiy β1\beta_1 ni Yi=β0+β1Xi+εiY_i = \beta_0 + \beta_1 X_i + \varepsilon_i modelida faqat E[εiXi]=0\mathbb{E}[\varepsilon_i \mid X_i] = 0 sharti ostida baholaydi. Bu shartni uch narsa buzadi. Qoldirib ketilgan o'zgaruvchi xatosi: agar WW ham XX, ham YY ga ta'sir qilsa va kuzatilmasa, u xatoda yashaydi: εi=γWi+ui\varepsilon_i = \gamma W_i + u_i. Cov(Xi,Wi)0\text{Cov}(X_i, W_i) \neq 0 bo'lsa, Cov(Xi,εi)0\text{Cov}(X_i, \varepsilon_i) \neq 0 bo'lishiga majbur qiladi — mikrostrukturada kuzatilmagan axborot kelishi hajm va volatillikni birgalikda harakatlantiradi. O'lchash xatosi: shovqinli proksi Xi=Xi+νiX_i = X_i^* + \nu_i bo'lsa, plim β^1OLS=β1σX2/(σX2+σν2)\text{plim } \hat{\beta}_1^{\text{OLS}} = \beta_1 \cdot \sigma_{X^*}^2 / (\sigma_{X^*}^2 + \sigma_\nu^2) bo'ladi va doim nol tomon susayadi — netted aggTrades oqimi parchalangan bozordagi haqiqiy imzolangan order flow uchun proksidir, siz ko'rmaydigan qism esa o'lchash xatosidir. Bir vaqtalilik: u Almgren-Chriss ta'sirini kalibrlash maqolasida aniqroq va amaliyroq ko'rsatilgan hamda quyidagi barcha ishlarning motivatsion muammosidir.

IV yechim

Sababiy bozor ta'sirini ajratib beradigan instrument

Instrument ZZ ikki shartni qanoatlantirishi kerak:

  1. Relevanlik: Cov(Zi,Xi)0\text{Cov}(Z_i, X_i) \neq 0. Buni tekshirish mumkin va tekshirishingiz shart.
  2. Istisno sharti: Cov(Zi,εi)=0\text{Cov}(Z_i, \varepsilon_i) = 0ZZ YY ga faqat XX orqali ta'sir qiladi. Buni hech qachon tekshirib bo'lmaydi. Bu statistik emas, iqtisodiy argument.

Bitta instrument va bitta endogen regressor uchun baholovchi ikkita reduced-form ta'sirining nisbati, ya'ni Wald baholovchisidir:

β^1IV=Cov(Zi,Yi)Cov(Zi,Xi)=π^reduced formπ^first stage\hat{\beta}_1^{\text{IV}} = \frac{\text{Cov}(Z_i, Y_i)}{\text{Cov}(Z_i, X_i)} = \frac{\hat{\pi}_{\text{reduced form}}}{\hat{\pi}_{\text{first stage}}}

Nazoratlar va bir nechta instrumentlar bo'lsa, 2SLS ishlatiladi. 1-bosqich: endogen o'zgaruvchini instrumentlar va nazoratlar bo'yicha regressiya qiling, Xi=π0+πZZi+πCCi+viX_i = \pi_0 + \boldsymbol{\pi}_Z' \mathbf{Z}_i + \boldsymbol{\pi}_C' \mathbf{C}_i + v_i, va fitted qiymatlar X^i\hat{X}_i ni saqlang — ular tuzilishi bo'yicha faqat instrumentlar keltirib chiqargan ekzogen variatsiyani o'z ichiga oladi. 2-bosqich: Yi=β0+β1X^i+βCCi+εiY_i = \beta_0 + \beta_1 \hat{X}_i + \boldsymbol{\beta}_C' \mathbf{C}_i + \varepsilon_i ni hisoblang. Matritsa ko'rinishida, PZ=Z(ZZ)1Z\mathbf{P}_Z = \mathbf{Z}(\mathbf{Z}'\mathbf{Z})^{-1}\mathbf{Z}' bo'lsa:

β^2SLS=(XPZX)1XPZy,Var(β^2SLS)=σ^2(XPZX)1.\hat{\boldsymbol{\beta}}_{2\text{SLS}} = \left(\mathbf{X}' \mathbf{P}_Z \mathbf{X}\right)^{-1} \mathbf{X}' \mathbf{P}_Z \mathbf{y}, \qquad \text{Var}(\hat{\boldsymbol{\beta}}_{2\text{SLS}}) = \hat{\sigma}^2 \left(\mathbf{X}' \mathbf{P}_Z \mathbf{X}\right)^{-1}.

Buni qo'lda yozadiganlarning barchasi tushadigan tuzoq: agar siz tom ma'noda ikkita lstsq chaqirig'ini bajarsangiz, 2-bosqich standart xatolari noto'g'ri bo'ladi. X^i\hat{X}_ihosil qilingan regressor, qoldiq dispersiyasi asl XX dan hisoblanishi kerak, fitted qiymatdan emas. Sodda ikki bosqichli standart xatolar juda kichik chiqadi, shuning uchun tt statistikalar juda katta bo'ladi va siz ortiqcha rad etasiz. Haqiqiy IV implementatsiyasidan foydalaning:

from linearmodels.iv import IV2SLS
import pandas as pd

def iv_regression(df, dep_var, endog_var, instruments, controls=None):
    """2SLS with correct generated-regressor standard errors."""
    y = df[dep_var]
    endog = df[[endog_var]]
    instr = df[instruments]

    const = pd.Series(1, index=df.index, name="const")
    exog = pd.concat([const, df[controls]], axis=1) if controls else const

    res = IV2SLS(dependent=y, exog=exog, endog=endog,
                 instruments=instr).fit(cov_type="robust")
    print(res.summary)
    return res

Tajriba: OLS gamma va 2SLS gamma

Ikki baholash yo'lini taqqoslash

Sinovdagi regressiya Almgren-Chriss maqolasidagi doimiy ta'sir bahosidir:

ΔS5m=γQnet+noise,Qnet=taker buystaker sells.\Delta S_{5m} = \gamma\, Q_{\text{net}} + \text{noise}, \qquad Q_{\text{net}} = \text{taker buys} - \text{taker sells}.

QnetQ_{\text{net}} yuqoridagi simultanlik argumenti sababli endogendir. Instrument — oynadagi o'z fillaringiz: maker fillaringiz bozor narxi yo'li bilan emas, o'zingizning kotirovka jadvalingiz va inventar siyosatingiz orqali yuzaga keladi. Shu sababli ular xatoning momentum-reaksiya komponenti bilan bog'liq bo'lmagan order-flow variatsiyasi manbai bo'lishi mumkin. Istisno sharti — fillaringiz mid-price ga faqat net flow ga qo'shgan hissasi orqali ta'sir qiladi — bahs qilinishi kerak bo'lgan taxmin bo'lib, kotirovkalaringizning o'zi signalga asoslangan bo'lsa aynan shu yer eng zaif nuqtadir. Agar kotirovkalaringiz qisqa muddatli narx prognoziga shartli bo'lsa, instrument ifloslangan va bu dizayn ishlamaydi. Sof inventar boshqaruvi yoki spread capture siyosatidan kelgan fillar toza holatdir.

Fill ma'lumotlari implementation shortfall va DIY TCA da tasvirlangan TCA yozuvidan olinadi — o'z fillaringizdan slippage egri chiziqlari uchun fitting sample ni ta'minlaydigan o'sha logdan. Nazoratlar: kechiktirilgan ΔS\Delta S va oynadagi realized volatility.

ols  = IV2SLS(dependent=df.dS, exog=df[["const", "dS_lag", "rv"]],
              endog=None, instruments=None).fit(cov_type="robust")
tsls = iv_regression(df, "dS", "q_net", ["q_own"], ["dS_lag", "rv"])

Bu ishga arziydimi yoki yo'qligini to'rtta raqam hal qiladi: OLS γ\gamma, 2SLS γ\gamma, birinchi bosqich FF va ikki koeffitsient orasidagi farq — bu OLS bahosining qanchasi ta'sir emas, balki momentum reaksiyasi bo'lganini ko'rsatadi.

Agar birinchi bosqichdagi FF 10 dan kichik chiqsa, natija shudir: 5 daqiqalik rezolyutsiyada o'z fillaringiz net flow ning γ\gamma sini aniqlash uchun juda kichik ulushi, halol xulosa esa halol salbiy natija uslubidagi salbiy natijadir. Zaif instrument haqidagi salbiy natija haqiqiy topilma: u gamma fittingidagi endogenlikni ushbu tanlanma hajmi va gorizontda tuzatib bo'lmasligini, OLS γ\gamma ga qurilgan pre-trade xarajat baholarida esa olib tashlab bo'lmaydigan yuqoriga og'ish borligini ko'rsatadi.

Diagnostika

Sababiy yo'l atrofidagi tekshiruv halqalari

Birinchi bosqich F-statistikasi (zaif instrumentlar). Staiger-Stock qoidasiga ko'ra F>10F > 10. Bitta endogen regressor uchun Stock-Yogo kritik qiymatlari qattiqroq: maksimal IV o'lchami 10% bo'lganda, bitta instrument bilan F>16.38F > 16.38, ikkita bilan 19.93, uchta bilan 22.30; 15% o'lcham uchun 8.96 / 11.59 / 12.83; 20% uchun 6.66 / 8.75 / 9.54.

F=(Runrestricted2Rrestricted2)/q(1Runrestricted2)/(nk)F = \frac{(R_{\text{unrestricted}}^2 - R_{\text{restricted}}^2) / q}{(1 - R_{\text{unrestricted}}^2) / (n - k)}

Durbin-Wu-Hausman (IV umuman kerakmi). Agar OLS izchil bo'lsa, u samaraliroq ham bo'ladi, shuning uchun almashtirishdan oldin tekshiring. Qoldiqni qo'shish shakli amaliy variant: 1-bosqichni bajaring, v^i=XiX^i\hat{v}_i = X_i - \hat{X}_i ni saqlang, keyin v^i\hat{v}_i regressorga qo'shilgan OLS strukturaviy regressiyasini bajaring. v^i\hat{v}_i dagi muhim koeffitsient endogenlikka dalildir.

def durbin_wu_hausman(df, dep, endog, instruments, controls):
    """Augmented-regression form of the DWH endogeneity test."""
    import statsmodels.api as sm
    X1 = sm.add_constant(df[instruments + controls])
    v_hat = df[endog] - sm.OLS(df[endog], X1).fit().fittedvalues
    X2 = sm.add_constant(df[[endog] + controls].assign(v_hat=v_hat))
    res = sm.OLS(df[dep], X2).fit(cov_type="HC1")
    return res.tvalues["v_hat"], res.pvalues["v_hat"]

Sargan-Hansen (ortiqcha identifikatsiya). q>pq > p ta instrument bo'lsa, ularning birgalikdagi haqiqiyligini tekshirish mumkin: J=nRε^Z2χ2(qp)J = n \cdot R^2_{\hat{\varepsilon} \sim \mathbf{Z}} \sim \chi^2(q - p), bunda R2R^2 2SLS qoldiqlarini barcha instrumentlar va ekzogen nazoratlar bo'yicha regressiya qilishdan olinadi. Ogohlantirish statistikadan muhimroq: Sargan faqat turli yo'llar bilan yaroqsiz bo'lgan instrumentlarni aniqlaydi. Agar har bir instrument bitta qoldirib ketilgan o'zgaruvchi bilan korrelyatsiyalangan bo'lsa, test toza o'tadi va sizga hech narsa aytmaydi.

Kripto mikrostrukturada mavjud instrumentlar

Kripto bozori tarmog'idagi mustaqil zarba

Yaroqli instrument topish — butun qiyinchilik. Aksiyalar korporativ moliyasidagi odatiy instrumentlar (analitiklar qamrovi, soliq qalqonlari, kutilmagan pul oqimi) bu yerda ishlamaydi. Amalda ikki sinf qo'llanadi:

Endogen o'zgaruvchi Instrument Asos
Sof taker oqimi O'z fillaringiz Kotirovka va inventar siyosatingiz belgilaydi, bozor narxi yo'li emas — agar kotirovkalaringiz signalga shartli bo'lmasa, tabiatan ekzogen
Agregat oqim / hajm Birja mexanik oqimlari: indeksni qayta balanslash, funding settlement oynalari, rejalashtirilgan likvidatsiya kaskadlari Vaqt axborot kelishi bilan emas, birja qoidalari bilan belgilanadi

Tuzoq va xatolar

Yashirin yo'llar instrumentni zaiflashtiradi

Zaif instrumentlar baland ovoz bilan ishdan chiqmaydi. Birinchi bosqich zaif bo'lsa, 2SLS cheklangan tanlanmada OLS tomon og'adi, taxminan:

Bias2SLSBiasOLS1F1.\frac{\text{Bias}_{2\text{SLS}}}{\text{Bias}_{\text{OLS}}} \approx \frac{1}{F - 1}.

F=5F = 5 bo'lganda, siz "sababiy" bahoni e'lon qilib, OLS og'ishining 25% ini saqlab qolasiz. Yechimlar — chekli tanlanmada yaxshiroq xususiyatga ega LIML yoki instrument kuchidan qat'i nazar yaroqli Anderson-Rubin testi.

Ko'p instrumentlar og'ish keltiradi. Bias2SLS(q/n)BiasOLS\text{Bias}_{2\text{SLS}} \approx (q/n) \cdot \text{Bias}_{\text{OLS}}. Birinchi bosqichni kuchaytirish uchun Z\mathbf{Z} ga barcha o'zgaruvchilarning laglarini qo'shish bahoni to'g'ridan-to'g'ri OLS tomon qaytaradi va FF ni oshiradi. Agar q/nq/n ahamiyatsiz bo'lmasa, LIML, jackknife IV (JIVE) yoki regularizatsiyalangan birinchi bosqichdan foydalaning.

Istisno shartini tekshirib bo'lmaydi. Sargan bilan ham, boshqa hech narsa bilan ham. U soha haqidagi mulohaza bilan himoya qilinadi, bu himoyaning halol shakli esa sezgirlik tahlilidir: xulosani ag'darish uchun buzilish qanchalik katta bo'lishi kerak?

Asosiy xulosalar

Shovqinli ma'lumotlar orqali ishonchli sababiy yo'l

  • Deflyatsiya qidiruvdagi og'ishni tuzatadi. U koeffitsientdagi og'ishga hech narsa qilmaydi. Bu turli xatolar va turli vositalarni talab qiladi.
  • Endogenlik og'ishi tanlanma hajmi oshishi bilan yo'qolmaydi. Qattiq, yaxshi bootstrap qilingan va walk-forward bilan tekshirilgan koeffitsient ham tizimli ravishda noto'g'ri bo'lishi mumkin.
  • Almgren-Chriss kalibrlashidagi gamma regressiyasi ichki, amaliy misoldir: instrument nomlangan (o'z fillaringiz) va ma'lumotlar TCA pipeline tomonidan allaqachon qayd etilgan.
  • 2SLS koeffitsientidan oldin birinchi bosqich FF ni hisobot qiling. 10 dan past bo'lsa, koeffitsient dalil emas; buni aytishning o'zi nashr qilinadigan natijadir.
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.