The Other Way a Regression Lies: Endogeneity, 2SLS, and the Gamma Calibration Problem
Регрессиянын сизди алдоосунун түзүмдүк жактан айырмаланган эки жолу бар, бирок бул блог азырынча алардын бирөөнө гана каршы чыккан.
Биринчиси — издөөдө тандоо бурмаланышы: он миң бэктест жүргүзүп, эң жакшысын калтырдыңыз, ал эми карап жаткан сан эффект эмес, ызы-чуу бөлүштүрүлүшүнүн максимумы болуп калды. Бул дефляцияланган Sharpe коэффициенти жана анын жыйынтыктоочу чынчыл терс натыйжа материалынын темасы. Чечим — издөөнүн баасын эсепке алуу.
Экинчиси — эч качан издеп тандабаган бир регрессиядагы коэффициенттин өзүнүн бурмаланышы. Эгер регрессор ката мүчөсү менен корреляцияланса, OLS бурмаланган жана ыраатсыз болот — ал эми тандоо ызы-чуусунан айырмаланып, бул үлгү көлөмү өскөндө азайбайт. Көбүрөөк маалымат туура эмес санды дагы так кылат. Бутстрэптин, убакыт боюнча жылма текшерүүнүн же дефляциянын эч бир көлөмү муну оңдой албайт, анткени бул ыкмалардын бири да идентификацияны эмес, тандоону гана текшерет.
Бул макала экинчи бузулууга арналган жана бул жерде ал абстракттуу көйгөй эмес. Almgren-Chriss калибрлөө макаласы туруктуу таасирди таза тейкер агымы боюнча 5 мүнөттүк орточо баа өзгөрүүлөрүн регрессиялоо менен баалайт; бир нече пайыз болуп, коэффициент күндөр арасында 2–5 эсеге өзгөрөт. Ал эндогендуулукту биринчи түзүмдүк себеп катары атайт: "Агым баага баа агымга жооп бергендей эле жооп берет. Импульс трейдерлери баа өскөн үчүн сатып алышат; кирешени агымга болгон наивдүү OLS-регрессиясы алардын реакциясын кармап, аны таасирге таандык кылат." Ошол эле жерде таза оңдоо жолу да айтылат — түзүлүшү боюнча экзоген болгон өз аткарууларыңыз.
Бул конкреттүү инструменти жана системада мурунтан бар маалыматтары бар инструменталдык өзгөрмөлөрдүн маселеси. Төмөндө баалоочу, диагностика жана эксперимент берилет.
Эндогендуулук бир абзацта

OLS себептик -ди моделинде шартында гана баалайт. Үч нерсе муну бузат. Түшүрүлүп калган өзгөрмөнүн бурмаланышы: эгер менен -ге тең таасир этсе, бирок байкалбаса, ал катага кирет, , ал эми болушуна мажбурлайт — микротүзүмдө байкалбаган маалыматтын келиши көлөм менен волатилдүүлүктү бир убакта козгойт. Өлчөө катасы: ызы-чуулуу прокси менен дайыма нөлгө карай басаңдайт — топтолгон aggTrades агымы фрагменттелген рыноктогу чыныгы белгиленген ордер агымына прокси болуп саналат, ал эми сиз көрбөгөн бөлүк — өлчөө катасы. Бир убактуулук: төмөндөгүлөрдүн баарына түрткү берген маселе болгон Almgren-Chriss таасирин калибрлөө материалында мурда эле так жана конкреттүү айтылган.
Инструменталдык өзгөрмөлөрдүн чечими

инструменти эки шартты аткарышы керек:
- Релеванттуулук: . Бул текшерүүгө болот жана аны сөзсүз текшеришиңиз керек.
- Чыгарып салуу шарты: — -ге аркылуу гана таасир этет. Текшерүүгө болбойт. Эч качан. Бул статистика эмес, экономикалык аргумент.
Бир инструмент жана бир эндогендик регрессор үчүн баалоочу кыскартылган формадагы эки эффекттин катышы болуп саналат (Wald баалоочусу):
Контролдор жана бир нече инструменттер болгондо 2SLS колдонулат. 1-этап: эндогендик өзгөрмөнү инструменттерге жана контролдорго регрессиялап, теңдемесин баалаңыз жана ылайыкташкан маанилерди сактаңыз — түзүлүшү боюнча алар инструменттер жараткан экзогендик вариацияны гана камтыйт. 2-этап: регрессиясын жүргүзүңүз. Матрицалык формада, болгондо:
Муну кол менен жасагандардын баарын кармаган тузак: эки lstsq чакыруусун түз эле иштетсеңиз, 2-этаптын стандарттык каталары туура эмес болот. — жаратылган регрессор, ал эми калдыктардын дисперсиясы ылайыкташкан боюнча эмес, баштапкы боюнча эсептелиши керек. Наивдүү эки кадамдуу стандарттык каталар өтө кичине болгондуктан, -статистикаларыңыз өтө чоң болуп, нөлдүк гипотезаны ашыкча четке кагасыз. Чыныгы IV ишке ашыруусун колдонуңуз:
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
Эксперимент: OLS gamma менен 2SLS gamma салыштырмасы

Текшерилип жаткан регрессия — Almgren-Chriss макаласындагы туруктуу таасирди баалоо:
жогорудагы бир убактуулук аргументинен улам эндогендик. Инструмент — терезедеги өз аткарууларыңыз: мейкер катары аткарылган буйруктарыңыз рыноктун баа жолунан эмес, өз котировка графигиңизден жана инвентарды башкаруу саясатыңыздан улам ишке ашат. Ошондуктан алар катадагы импульстук реакция компонентине ыктымал корреляцияланбаган ордер агымынын вариация булагы болуп саналат. Чыгарып салуу шарты — аткарууларыңыз орточо бааны таза агымга кошкон салымы аркылуу гана жылдырат деген божомол; аны талкуулоо керек жана ал котировкаларыңыздын өзү сигналга негизделгенде эң алсыз болот. Эгер котировкаларыңыз кыска горизонттогу баа прогнозуна шартталса, инструмент булганып, бул дизайн иштебей калат. Таза инвентарды башкаруу же спрэд кармоо саясатынын аткаруулары — таза учур.
Аткаруу маалыматтары implementation shortfall жана DIY TCA материалында сүрөттөлгөн TCA жазуусунан алынат — ошол эле журнал өз аткарууларыңыздан тайып кетүү ийри сызыктары үчүн ылайыкташтыруу үлгүсүн берет. Контролдор: терезедеги лаг менен алынган жана ишке ашкан волатилдүүлүк.
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"])
Бул иштин маанилүү болгон-болбогонун төрт сан чечет: OLS , 2SLS , биринчи этаптагы жана эки коэффициенттин айырмасы — OLS баалоосунун таасир эмес, импульстук реакция болгон үлүшү.
Эгер биринчи этаптагы 10дон төмөн чыкса, натыйжа ушул: 5 мүнөттүк чечилиштеги өз аткарууларыңыз таза агымдын өтө аз бөлүгүн түзүп, -ни идентификациялоого жетишсиз. Чынчыл баяндама чынчыл терс натыйжа стилиндеги терс жыйынтык болот. Алсыз инструмент боюнча терс натыйжа — чыныгы табылга: ал мындай үлгү көлөмүндө жана горизонтто gamma баалоосундагы эндогендуулукту оңдоо мүмкүн эмес экенин, ал эми OLS -ге негизделген соодага чейинки чыгым баалары жоюлбай турган жогору карай бурмалоону алып жүрөрүн көрсөтөт.
Диагностика

Биринчи этаптагы F (алсыз инструменттер). Staiger-Stock эрежеси: . Бир эндогендик регрессор үчүн Stock-Yogo критикалык маанилери катуураак: IV өлчөмүнүн максималдуу 10% деңгээлинде бир инструмент менен , экөө менен 19.93, үчөө менен 22.30; 15% өлчөмдө 8.96 / 11.59 / 12.83; 20% үчүн 6.66 / 8.75 / 9.54.
Durbin-Wu-Hausman (IV чындап керекпи?). Эгер OLS ырааттуу болсо, ал натыйжалуураак да болот, ошондуктан өтүүдөн мурун текшериңиз. Калдыкты кошуу формасы практикалык: 1-этапты аткарып, сактаңыз, андан соң регрессор катары кошулган OLS түзүмдүк регрессиясын жүргүзүңүз. алдындагы маанилүү коэффициент эндогендуулуктун далили.
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 (ашыкча идентификация). инструменттер болгондо биргелешкен жарактуулукту текшерсе болот: , мында 2SLS калдыктарын бардык инструменттерге жана экзогендик контролдорго регрессиялоодон алынат. Эскертүү статистикадан маанилүүрөөк: Sargan ар башка жолдор менен жараксыз болгон инструменттерди гана табат. Ар бир инструмент бир эле түшүрүлүп калган өзгөрмө менен корреляцияланса, тест таза өтүп, сизге эч нерсе айтпайт.
Криптомикротүзүмдө бар инструменттер

Жарактуу инструмент табуу — негизги кыйынчылык; акциялар жана корпоративдик каржылоодогу кадимки инструменттер (аналитиктердин камтуусу, салык калкандары, күтүлбөгөн акча агымы) бул жерде иштебейт. Чындыгында колдонулуучу эки класс бар:
| Эндогендик өзгөрмө | Инструмент | Негиздеме |
|---|---|---|
| Таза тейкер агымы | Өз аткарууларыңыз | Рыноктун баа жолунан эмес, котировкалооңуз жана инвентар саясатыңыздан түзүлөт — эгер котировкаларыңыз сигналга шартталбаса, түзүлүшү боюнча экзогендик |
| Жыйынды агым / көлөм | Биржанын механикалык агымдары: индексти кайра тең салмактоо, funding эсептешүү терезелери, пландалган жоюу каскаддары | Убакыт маалыматтын келишине эмес, биржа эрежелерине жараша белгиленет |
Тузактар

Алсыз инструменттер катуу сигнал бербей иштен чыгат. Биринчи этап алсыз болгондо, 2SLS чектелген үлгүдө OLS тарапка бурмаланат, болжол менен
болгондо OLS бурмалоосунун 25% сакталат, ошол эле учурда "себептик" баалоо деп билдиресиз. Чечимдер: чектелген үлгүдө жакшыраак иштеген LIML же инструменттин күчүнө карабастан жарактуу болгон Anderson-Rubin тести.
Көп инструменттен болгон бурмалоо. . Биринчи этаптагы -ти көбөйтүү үчүн бардык өзгөрмөлөрдүн лагдарын -ке сала берүү баалоону кайра OLS тарапка түз алып барат. Эгер маанилүү болсо, LIML, jackknife IV (JIVE) же регуляризацияланган биринчи этапты колдонуңуз.
Чыгарып салуу шартын текшерүүгө болбойт. Sargan аркылуу да, башка эч нерсе менен да. Ал предметтик аймактагы жүйөлөр менен корголот, ал эми мындай коргоонун чынчыл формасы — сезгичтик анализи: жыйынтыкты жокко чыгаруу үчүн бузулуу канчалык чоң болушу керек?
Негизги тыянактар

- Дефляция издөөдөн болгон бурмалоону оңдойт. Ал коэффициенттеги бурмалоого эч таасир этпейт. Бул ар башка ката, демек ар башка инструменттер керек.
- Эндогендуулук бурмалоосу үлгү көлөмү өскөндө жоголбойт. Так, бутстрэп менен жакшы текшерилген жана убакыт боюнча жылма валидациядан өткөн коэффициент да системалуу түрдө туура эмес болушу мүмкүн.
- Almgren-Chriss калибрлөөсүндөгү gamma регрессиясы — өз аткаруулары аттуу инструменти жана TCA конвейеринде мурунтан жазылган маалыматтары бар, ичиндеги реалдуу мисал.
- 2SLS коэффициентине чейин биринчи этаптагы -ти кабарлаңыз. 10дон төмөн болсо, коэффициент далил эмес; муну ачык айтуу — жарыялоого татыктуу натыйжа.
Authors
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.