← Makalelere geri dön
August 10, 2026
5 dakikalık okuma

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

Bir regresyonun size yalan söylemesinin yapısal olarak farklı iki yolu vardır ve bu blog şu ana kadar bunlardan yalnızca birine saldırdı.

Bunlardan ilki, arama:daki seçim yanlılığıdır, on bin geriye dönük test çalıştırdınız, en iyiyi korudunuz ve baktığınız sayı, bir etkiden ziyade gürültü dağılımının maksimumudur. Bu, sönük Sharpe oranının ve onun temel taşının dürüst negatif konusu budur. Çözüm, aramayı fiyatlandırmaktır.

İkincisi, katsayının kendisinde, hiç aramadığınız tek bir regresyona ilişkin önyargıdır. Regresör hata terimiyle ilişkilendirilirse, OLS önyargılı ve tutarsızdır ve örnekleme gürültüsünün aksine bu, örneklem boyutuyla küçülmez. Daha fazla veri yanlış sayıyı daha sıkı hale getirir. Hiçbir önyükleme, ileri yürüme veya indirme buna değmez, çünkü bu yöntemlerin hiçbiri tanımlamayı sorgulamaz, yalnızca seçimi sorgular.

Bu makale ikinci başarısızlıkla ilgilidir ve burada soyut bir endişe söz konusu değildir. Almgren-Chriss kalibrasyon makalesi kalıcı etkiye uyuyor γ\gamma Net alıcı akışındaki 5 dakikalık orta fiyat değişikliklerini gerileyerek, R2R^2 yüzde birkaç ve günler arasında 2-5 kat hareket eden bir katsayı ve içselliği ilk yapısal neden olarak adlandırıyor: "Fiyatın akışa tepki verdiği kadar akış da fiyata tepki veriyor. Momentum yatırımcıları fiyat yükseldiği için satın alıyor; akış getirilerine ilişkin saf bir OLS onların tepkisini alıyor ve bunu etkiye bağlıyor." Aynı zamanda temiz düzeltmeyi de adlandırır - kendi dolgularınız, yapı gereği dış kaynaklı.

Bu, halihazırda kurum içinde olan adlandırılmış bir araç ve verilerle ilgili bir araçsal değişkenler sorunudur. Aşağıda tahmin aracı, teşhis ve deney yer almaktadır.

Bir paragrafta içsellik

İç içe geçmiş kuvvetler içsellik yaratır

OLS nedenselliği tahmin ediyor β1\beta_1 içinde Yi=β0+β1Xi+εiY_i = \beta_0 + \beta_1 X_i + \varepsilon_i sadece altında E[εiXi]=0\mathbb{E}[\varepsilon_i \mid X_i] = 0. Üç şey onu bozar. İhmal edilen değişken sapması: eğer WW ikisini de sürüyor XX Ve YY ve fark edilmez, hata içinde yaşar, εi=γWi+ui\varepsilon_i = \gamma W_i + u_i, Ve Cov(Xi,Wi)0\text{Cov}(X_i, W_i) \neq 0 kuvvetler Cov(Xi,εi)0\text{Cov}(X_i, \varepsilon_i) \neq 0 — mikro yapıda, gözlemlenmeyen bilgilerin gelişi, hacmi ve volatiliteyi birlikte tetikler. Ölçüm hatası: Gürültülü bir proxy ile Xi=Xi+νiX_i = X_i^* + \nu_i, 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), her zaman sıfıra doğru zayıflatılmış - netleştirilmiş aggTrades akışı, parçalanmış bir pazardaki gerçek imzalı sipariş akışının bir temsilidir ve asla göremediğiniz kısım, ölçüm hatasıdır. Eşzamanlılık: Almgren-Chriss darbe kalibrasyonunda daha keskin ve daha somut biçimde belirtilmiştir; bu, aşağıdaki her şey için motive edici sorundur.

IV çözümü

Nedensel bir piyasa etkisini izole eden araç

Bir enstrüman ZZ iki koşulu karşılaması gerekir:

  1. Uygunluk: Cov(Zi,Xi)0\text{Cov}(Z_i, X_i) \neq 0. Test edilebilir ve test etmelisiniz.
  2. Hariç Tutma: Cov(Zi,εi)=0\text{Cov}(Z_i, \varepsilon_i) = 0ZZ etkiler YY sadece aracılığıyla XX. Test edilemez. Durmadan. Bu bir istatistik değil, ekonomik bir argümandır.

Bir araç ve bir endojen regresör için tahminci, iki indirgenmiş form etkisinin (Wald tahmincisi) oranıdır:

β^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}}}

Kontroller ve çoklu cihazlarla 2SLS'yi kullanırsınız. Aşama 1: Araçlar ve kontroller üzerindeki endojen değişkeni regrese edin, Xi=π0+πZZi+πCCi+viX_i = \pi_0 + \boldsymbol{\pi}_Z' \mathbf{Z}_i + \boldsymbol{\pi}_C' \mathbf{C}_i + v_ive takılan değerleri koruyun X^i\hat{X}_i - Yapı itibariyle yalnızca alete dayalı, dışsal varyasyon içerirler. Aşama 2: koşu Yi=β0+β1X^i+βCCi+εiY_i = \beta_0 + \beta_1 \hat{X}_i + \boldsymbol{\beta}_C' \mathbf{C}_i + \varepsilon_i. Matris formunda, PZ=Z(ZZ)1Z\mathbf{P}_Z = \mathbf{Z}(\mathbf{Z}'\mathbf{Z})^{-1}\mathbf{Z}':

β^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}.

Bunu elle yuvarlayan herkesi yakalayan tuzak: Kelimenin tam anlamıyla iki tane koşarsanız lstsq çağrılarınız, 2. aşama standart hatalarınız yanlış. X^i\hat{X}_i oluşturulmuş bir regresördür ve kalan varyansın orijinalden hesaplanması gerekir XX, takılı olan değil. Saf iki adımlı standart hatalar çok küçüktür, bu nedenle tt-istatistikler çok büyük ve aşırı reddedeceksiniz. Gerçek bir IV uygulaması kullanın:

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

Deney: OLS gama ve 2SLS gama

İki tahmin yolunun karşılaştırılması

Test edilen regresyon, Almgren-Chriss makalesindeki kalıcı etki uyumudur:

Δ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}} yukarıdaki eşzamanlılık argümanına göre içseldir. Araç, penceredeki kendi dolumlarınızdır: Yapıcı doluluklarınız, piyasanın fiyat yolu tarafından değil, kendi fiyat teklifi planınız ve stok politikanız tarafından tetiklenir, dolayısıyla bunlar, hatanın momentum-tepki bileşeniyle makul bir şekilde ilişkisiz olan bir sipariş akışı varyasyonunun kaynağıdır. Hariç tutma kısıtlaması (doldurmalarınızın yalnızca net akışa katkıları yoluyla ortayı hareket ettirmesi) tartışılması gereken bir varsayımdır ve alıntılarınızın kendisi sinyal odaklı olduğunda en zayıf olanıdır. Teklifleriniz kısa vadeli fiyat tahminini şart koşuyorsa, enstrüman kirlenmiştir ve bu tasarım başarısız olmuştur. Saf bir envanter yönetimi veya yayılma yakalama politikasından gelen dolgular temiz bir durumdur.

Doldurma verileri, uygulama açığı ve DIY TCA bölümünde açıklanan TCA kaydından gelir; bu, kendi dolgularınızdan kayma eğrileri için uydurma örneğini sağlayan aynı günlüktür. Kontroller: gecikmeli ΔS\Delta S ve pencerede volatilite fark etti.

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"])

Bunun yapmaya değer olup olmadığına dört rakam karar veriyor: OLS γ\gamma2SLS γ\gamma, ilk aşama FFve iki katsayı arasındaki boşluk - ki bu, OLS tahmininin etkiden ziyade momentum tepkisi olan payıdır.

İlk aşama ise FF 10'un altına geri döner, sonuç budur: kendi dolumlarınız, 5 dakikalık çözünürlükte net akışın çok küçük bir kısmıdır ve tanımlanamayacak kadar küçüktür. γ\gammave dürüst yazı, dürüst olumsuz tarzında bir olumsuzdur. Zayıf enstrüman negatifi gerçek bir bulgudur; size gama uyumundaki içselliğin bu örnek boyutunda ve ufukta sabitlenemeyeceğini ve ticaret öncesi maliyet tahminlerinin OLS üzerine inşa edildiğini söyler. γ\gamma kaldırılamaz bir yukarı yönlü eğilim taşır.

Teşhis

Doğrulama nedensel bir yol etrafında dönüyor

Birinci aşama F (zayıf enstrümanlar). Staiger-Stock'un temel kuralı: F>10F > 10. Bir endojen regresör için Stock-Yogo kritik değerleri daha katıdır — %10 maksimum IV boyutu için, F>16.38F > 16.38 tek enstrümanla 19.93, iki enstrümanla 22.30; üç enstrümanla 22.30; %15 boyut için 8,96 / 11,59 / 12,83; %20 için 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'e bile ihtiyaç duyulur). OLS tutarlıysa aynı zamanda daha verimlidir, bu nedenle geçiş yapmadan önce test edin. Rezidüel büyütme formu pratik olanıdır: 1. aşamayı çalıştırın, devam edin v^i=XiX^i\hat{v}_i = X_i - \hat{X}_i, ardından OLS yapısal regresyonunu şununla çalıştırın: v^i\hat{v}_i regresör olarak eklenmiştir. Önemli bir katsayı v^i\hat{v}_i içselliğin kanıtıdır.

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 (aşırı özdeşleşme). İle q>pq > p Ortak geçerliliği test edebileceğiniz araçlar: J=nRε^Z2χ2(qp)J = n \cdot R^2_{\hat{\varepsilon} \sim \mathbf{Z}} \sim \chi^2(q - p), nerede R2R^2 tüm cihazlarda ve dışsal kontrollerde 2SLS artıklarının regresyonundan gelir. Uyarı istatistikten daha önemlidir: Sargan yalnızca farklı şekillerde geçersiz olan araçları tespit eder. Her araç aynı ihmal edilen değişkenle ilişkilendirilirse, test temiz bir şekilde geçer ve size hiçbir şey söylemez.

Kripto mikro yapısında bulunan araçlar

Kripto piyasası ağında bağımsız şok

Geçerli bir araç bulmak tüm zorluktur ve özsermaye-kurumsal finans destekleri (analist kapsamı, vergi kalkanları, beklenmedik nakit akışı) burada etkisizdir. Aslında iki sınıf geçerlidir:

Endojen değişken Enstrüman Gerekçe
Net alıcı akışı Kendi dolgularınız Piyasanın fiyat yoluna göre değil, fiyat teklifi ve envanter politikanıza göre yönlendirilir - teklifleriniz sinyal koşullu değilse *yapısı gereği dışsaldır
Toplam akış / hacim Borsa mekaniği akışları: endeksin yeniden dengelenmesi, fonlama-uzlaştırma pencereleri, planlı tasfiye aşamaları Zamanlama, bilginin gelişine göre değil, değişim kurallarına göre belirlenir

Tuzaklar

Gizli yollar bir enstrümanı zayıflatır

Zayıf cihazlar yüksek sesle arızalanmaz. Zayıf bir ilk aşamada, 2SLS kabaca sonlu numunelerde OLS'ye doğru eğilimlidir.

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

Şu tarihte: F=5F = 5 "Nedensel" bir tahmin bildirirken OLS yanlılığının %25'ini korursunuz. Çözümler, daha iyi sonlu örnek davranışına sahip olan LIML veya cihazın gücünden bağımsız olarak geçerli olan Anderson-Rubin testidir.

Birçok enstrüman önyargılıdır. Bias2SLS(q/n)BiasOLS\text{Bias}_{2\text{SLS}} \approx (q/n) \cdot \text{Bias}_{\text{OLS}}. Her şeyin gecikmesini içine atıyorum Z\mathbf{Z} ilk aşamayı güçlendirmek için FF tahmini doğrudan OLS'ye iletir. Eğer q/nq/n ihmal edilebilir değilse LIML, jackknife IV (JIVE) veya düzenli bir ilk aşama kullanın.

Hariç tutma kısıtlaması test edilemez. Sargan tarafından değil, hiçbir şey tarafından değil. Alan mantığıyla savunulur ve bu savunmanın dürüst biçimi bir duyarlılık analizidir: Sonucun bozulması için ne kadar büyük bir ihlale ihtiyaç vardır?

Çıkarımlar

Gürültülü verilerdeki güvenilir nedensel yol

  • Deflasyon aramadaki önyargıyı düzeltir. Katsayıdaki yanlılık için hiçbir şey yapmaz. Bunlar farklı başarısızlıklardır ve farklı araçlara ihtiyaç duyarlar.
  • İçsellik önyargısı örneklem büyüklüğüyle ortadan kalkmaz. Sıkı, iyi ön yüklemeli, ileri doğrulanmış bir katsayı hala sistematik olarak yanlış olabilir.
  • Almgren-Chriss kalibrasyonundaki gama regresyonu, adlandırılmış bir enstrümana (kendi doldurmaları) ve TCA boru hattı tarafından halihazırda günlüğe kaydedilen verilere sahip, canlı, şirket içi bir örnektir.
  • İlk aşamayı bildirin FF 2SLS katsayısından önce. 10'un altında olan katsayı kanıt değildir ve bunu söylemek yayınlanabilir sonuçtur.
Sorumluluk Reddi: Bu makalede sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır ve finansal, yatırım veya ticaret tavsiyesi niteliği taşımaz. Kripto para ticareti önemli bir kayıp riski içerir.

Yazarlar

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

Piyasanın Önünde Olun

Özel yapay zeka ticaret içgörüleri, piyasa analizi ve platform güncellemeleri için bültenimize abone olun.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.