The Other Way a Regression Lies: Endogeneity, 2SLS, and the Gamma Calibration Problem
هناك طريقتان مختلفتان بنيوياً يمكن أن تخدعك بهما الانحدارات، ولم تتناول هذه المدونة حتى الآن سوى واحدة منهما.
الأولى هي تحيز الاختيار في البحث: أجريت عشرة آلاف اختبار رجعي، واحتفظت بالأفضل، والرقم الذي تنظر إليه هو أقصى قيمة لتوزيع الضوضاء وليس أثراً حقيقياً. هذا هو موضوع نسبة شارب المصححة وذروته النتيجة السلبية الصادقة. والإصلاح هو تسعير البحث.
الثانية هي التحيز في المعامل نفسه، في انحدار واحد لم تبحث بين بدائل له أصلاً. إذا كان المتغير التفسيري مرتبطاً بحد الخطأ، فإن OLS متحيز وغير متسق — وعلى خلاف ضوضاء المعاينة، لا ينكمش هذا التحيز مع زيادة حجم العينة. المزيد من البيانات يجعل الرقم الخاطئ أكثر إحكاماً. لا يفيد معه أي قدر من bootstrap أو walk-forward أو التصحيح، لأن أياً من هذه الأساليب لا يشكك في التعريف السببي، بل في الاختيار فقط.
يتناول هذا المقال الإخفاق الثاني، وهو ليس مصدر قلق نظري هنا. فمقال معايرة Almgren-Chriss يلائم الأثر الدائم عبر انحدار تغيرات السعر الوسطي لمدة 5 دقائق على تدفق المتداولين الصافي، ويحصل على يبلغ بضعة بالمئة وعلى معامل يتغير بمقدار 2-5x بين الأيام، ويسمي الداخلية السبب البنيوي الأول: "يستجيب التدفق للسعر بقدر ما يستجيب السعر للتدفق. يشتري متداولو الزخم لأن السعر ارتفع؛ لذلك يلتقط OLS الساذج للعوائد على التدفق رد فعلهم وينسبه إلى الأثر." كما يسمي الإصلاح النظيف — عمليات التنفيذ الخاصة بك، وهي خارجية بحكم البناء.
هذه مشكلة متغيرات أداتية لها أداة مسماة وبيانات موجودة لديك بالفعل. فيما يلي المقدّر والتشخيصات والتجربة.
الداخلية في فقرة واحدة

يقدّر OLS المعامل السببي في فقط عندما يتحقق الشرط . هناك ثلاثة أشياء تكسره. تحيز المتغير المحذوف: إذا كان يقود كلاً من و ولم يكن ملحوظاً، فإنه يوجد في الخطأ، ، ويؤدي إلى — ففي البنية الدقيقة للسوق يؤدي وصول المعلومات غير المرصود إلى تحريك الحجم والتقلب معاً. خطأ القياس: مع وكيل صاخب ، يكون ، وهو دائماً يتضاءل باتجاه الصفر — فتدفق aggTrades الصافي وكيل لتدفق الأوامر الحقيقي ذي الإشارة عبر سوق مجزأة، والجزء الذي لا تراه أبداً هو خطأ قياس. التزامن: سبق عرضه بصيغة أشد وأكثر تحديداً في معايرة أثر Almgren-Chriss، وهي المشكلة المحفزة لكل ما يلي.
حل IV

يجب أن تستوفي الأداة شرطين:
- الملاءمة: . يمكن اختبارها، ويجب عليك اختبارها.
- الاستبعاد: — تؤثر في من خلال فقط. لا يمكن اختبارها. أبداً. إنها حجة اقتصادية وليست إحصاءً.
عندما تكون هناك أداة واحدة ومتغير تفسيري داخلي واحد، يكون المقدّر نسبة أثرين في الصيغة المختزلة (مقدّر والد):
مع وجود متغيرات ضابطة وأدوات متعددة تستخدم 2SLS. المرحلة الأولى: ارجع المتغير الداخلي على الأدوات والمتغيرات الضابطة، ، واحتفظ بالقيم الملائمة — فهي، بحكم البناء، لا تحتوي إلا على تباين تقوده الأداة وخارجي. المرحلة الثانية: شغّل . وبصيغة المصفوفات، مع :
الفخ الذي يصطاد كل من يكتب هذا يدوياً: إذا نفذت حرفياً استدعاءي lstsq، فستكون الأخطاء المعيارية للمرحلة الثانية خاطئة. إن متغير تفسيري مولّد، ويجب حساب تباين البواقي من الأصلي، لا من الملائم. الأخطاء المعيارية الساذجة لخطوتين أصغر من اللازم، ولذلك تكون إحصاءات أكبر من اللازم وسترفض الفرضية أكثر مما ينبغي. استخدم تطبيق 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 مقابل غاما 2SLS

الانحدار قيد الاختبار هو ملاءمة الأثر الدائم من مقال Almgren-Chriss:
إن داخلي وفق حجة التزامن أعلاه. والأداة هي عمليات التنفيذ الخاصة بك في النافذة: عمليات تنفيذك كصانع سوق تُفعّلها جدولة عروضك وسياسة مخزونك، لا مسار سعر السوق، ولذلك فهي مصدر لتباين تدفق الأوامر يحتمل أن يكون غير مرتبط بمكوّن رد فعل الزخم في الخطأ. وقيد الاستبعاد — أن عمليات التنفيذ الخاصة بك تحرك السعر الوسطي فقط عبر مساهمتها في التدفق الصافي — هو الافتراض الذي ينبغي مناقشته، ويكون أضعف ما يكون تحديداً عندما تكون عروضك نفسها مدفوعة بإشارة. إذا كانت عروضك مشروطة بتنبؤ سعري قصير الأجل، تتلوث الأداة ويفشل هذا التصميم. أما عمليات التنفيذ الناتجة عن سياسة خالصة لإدارة المخزون أو اقتناص الفارق فهي الحالة النظيفة.
تأتي بيانات التنفيذ من سجل 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 دقائق بحيث لا يمكن تحديد ، والكتابة الصادقة هي نتيجة سلبية على غرار النتيجة السلبية الصادقة. والنتيجة السلبية لأداة ضعيفة اكتشاف حقيقي — فهي تخبرك بأن داخلية ملاءمة غاما لا يمكن إصلاحها عند حجم العينة وهذا الأفق، وأن تقديرات تكاليف ما قبل التداول المبنية على غاما OLS تحمل تحيزاً تصاعدياً لا يمكن إزالته.
التشخيصات

للمرحلة الأولى (الأدوات الضعيفة). قاعدة 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 متسقاً فهو أيضاً أكثر كفاءة، لذا اختبر قبل التبديل. صيغة إضافة البواقي هي العملية: شغّل المرحلة الأولى، واحتفظ بـ ، ثم شغّل الانحدار البنيوي لـ 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 إلا الأدوات غير الصالحة بطرق مختلفة. فإذا كانت كل أداة مرتبطة بالمتغير المحذوف نفسه، ينجح الاختبار بوضوح ولا يخبرك بشيء.
أدوات موجودة في البنية الدقيقة للعملات المشفرة

العثور على أداة صالحة هو الصعوبة كلها، أما الأدوات المعتادة في تمويل الشركات والأسهم (تغطية المحللين، والدروع الضريبية، والتدفقات النقدية المفاجئة) فهي خاملة هنا. هناك فئتان تنطبقان فعلاً:
| المتغير الداخلي | الأداة | المبرر |
|---|---|---|
| تدفق المتداولين الصافي | عمليات التنفيذ الخاصة بك | تقوده جدولة عروضك وسياسة مخزونك، لا مسار سعر السوق — خارجي بحكم البناء إذا لم تكن عروضك مشروطة بإشارة |
| التدفق / الحجم الإجمالي | تدفقات ميكانيكية من المنصة: إعادة موازنة المؤشر، ونوافذ تسوية التمويل، وتسلسلات التصفية المجدولة | يحدد التوقيت قواعد المنصة، لا وصول المعلومات |
المزالق

الأدوات الضعيفة لا تفشل بصوت مرتفع. مع مرحلة أولى ضعيفة، يكون 2SLS متحيزاً نحو OLS في العينات المحدودة، تقريباً
عند تحتفظ بـ 25% من تحيز OLS بينما تبلغ عن تقدير "سببي". تشمل الحلول LIML، الذي يتمتع بسلوك أفضل في العينات المحدودة، أو اختبار Anderson-Rubin، وهو صالح بغض النظر عن قوة الأداة.
تحيز كثرة الأدوات. . إن إضافة فترات التأخر لكل شيء إلى لرفع للمرحلة الأولى يعيد التقدير مباشرة إلى OLS. إذا لم تكن مهملة، فاستخدم LIML أو IV بطريقة jackknife (JIVE) أو مرحلة أولى منتظمة.
لا يمكن اختبار قيد الاستبعاد. لا بواسطة Sargan ولا بأي شيء آخر. يتم الدفاع عنه بمنطق المجال، والشكل الصادق لهذا الدفاع هو تحليل حساسية: ما حجم الانتهاك اللازم لقلب الاستنتاج؟
الخلاصات

- يصحح التصحيح تحيز البحث. ولا يفعل شيئاً لتحيز المعامل. إنهما إخفاقان مختلفان ويحتاجان إلى أدوات مختلفة.
- لا يختفي تحيز الداخلية مع زيادة حجم العينة. يمكن لمعامل محكم ومختبر جيداً بالـ bootstrap ومتحقق منه بطريقة walk-forward أن يظل خاطئاً منهجياً.
- انحدار غاما في معايرة Almgren-Chriss هو حالة حية داخلية، لها أداة مسماة (عمليات التنفيذ الخاصة بك) وبيانات مسجلة بالفعل في خط أنابيب 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.