Неопределённость как модель (Часть 7): Стохастические регрессоры
Оглавление
- Введение
- Стохастические регрессоры
- Случайные регрессоры: три главные угрозы
- Причины эндогенности
- Пропущенные переменные
- Неправильная спецификация
- Одновременная (двунаправленная) причинность
- Ошибки измерения переменных
- Алгоритм работы с эндогенностью
- Двухэтапный МНК для парной регрессии
- Практический пример
- Спецификация модели
- EDA-диагностика
- CDA-диагностика
- Двухэтапный МНК
- Обычный МНК
- Итоговые выводы по модели
- Заключение
- Приложенные файлы
1. Введение
Практически полезные для трейдинга модели немыслимы без стохастических регрессоров: цен, индикаторов или макроэкономических новостей. Однако использование таких предикторов приводит к неизбежным проблемам, наиболее опасной из которых является эндогенность — нарушение независимости между факторами и ошибкой модели. Пренебрежение этой проблемой критически опасно. Ложные корреляции между признаками и скрытым рыночным шумом создают на бэктесте иллюзию "грааля", а в реальной торговле приводят к просадке депозита.
Простой переход к сложным алгоритмам машинного обучения не решает эту проблему. Без понимания структуры связей между признаками, целевой переменной и ошибкой нелинейные модели сильнее переобучаются на "токсичном" шуме. Даже современные продвинутые ИИ-системы, включая большие языковые модели (LLM), регулярно сталкиваются с проявлениями эндогенности в обучающих выборках. На борьбу с ними ИТ-гиганты тратят колоссальные интеллектуальные и материальные ресурсы.
Изучение классического линейного варианта эндогенности и метода 2SLS — это наиболее простой способ вникнуть в суть проблемы и защитить свои торговые стратегии от скрытых рыночных капканов. В этой статье мы сначала рассмотрим причины эндогенности, затем научимся её обнаруживать с помощью DWH-теста и, наконец, исправлять при помощи двухэтапного МНК на практическом примере.
2. Стохастические регрессоры
В этой статье мы переходим от рассмотрения детерминированных (неслучайных) объясняющих переменных к стохастическим (случайным). Этот шаг необходим для адекватного моделирования финансовых рынков, где практически все наблюдаемые показатели являются случайными процессами. Однако признание регрессоров случайными величинами существенно усложняет математический аппарат и порождает ряд серьёзных проблем, которые мы обязаны учитывать. Спецификация линейной модели множественной регрессии внешне остаётся прежней:
Yt = B1 * X1,t + ... + Bk * Xk,t + C * Et, где
- Yt — зависимая переменная (исследуемый процесс) в моменты времени t = 1, ..., n.
- Xi,t — независимая переменная (регрессор) под номером i в моменты времени t.
- B1, ..., Bk, C — параметры модели (константы), подлежащие оценке.
- Et — стандартный гауссовский шум с параметрами N(0, 1) в моменты времени t.
При переходе к стохастическим регрессорам классический список условий расширяется. К указанным выше базовым допущениям детерминированного случая добавляются два критически важных требования:
- Строгая экзогенность регрессоров. Условное математическое ожидание случайной ошибки при любых заданных значениях регрессоров должно быть строго равно нулю: M(E | X1, X2, ..., Xk) = 0. Это гарантирует абсолютную чистоту объясняющих переменных от скрытых шумов модели.
- Совместное гауссово распределение. На данном этапе мы предполагаем, что совокупность всех регрессоров и случайной ошибки подчиняется многомерному нормальному (гауссову) распределению. Это допущение необходимо, чтобы сохранить простоту математического аппарата и использовать привычные t-статистики для проверки значимости индикаторов. В последующих материалах условие гауссовости будет ослаблено. Вместо него будет использоваться более реалистичное требование конечности моментов регрессоров. Такой шаг позволит нам перейти к асимптотическому подходу (анализу на больших выборках), который намного точнее описывает специфику реальных финансовых данных с их "тяжёлыми хвостами" и ценовыми выбросами.
3. Случайные регрессоры: три главные угрозы
Главное отличие от детерминированности заключается в том, что теперь некоторые объясняющие переменные являются случайными величинами со своими вероятностными распределениями. Это нововведение мгновенно ставит под угрозу выполнение классических условий применимости МНК (теорема Гаусса—Маркова). Нарушение этих условий делает стандартный метод неоптимальным или вовсе не применимым. Рассмотрим основные эффекты, возникающие при переходе к стохастическим регрессорам:
- Эндогенность. Это ситуация, при которой нарушается условие независимости, то есть возникает корреляция между регрессором Xi и случайной ошибкой модели: Cov(Xi, E) ≠ 0. Это наиболее критическая проблема. При наличии эндогенности МНК-оценки коэффициентов теряют свойство несмещённости и, что ещё опаснее, состоятельности. Это означает, что даже бесконечное увеличение объёма исторической выборки не приблизит расчётные коэффициенты к их истинным рыночным значениям. Практическая ценность такой модели отрицательна: торговая система на её основе будет стабильно генерировать ложные сигналы. Борьба с эндогенностью — главная тема этой статьи.
- Гетероскедастичность остатков. Это нарушение условия гомоскедастичности, при котором условная дисперсия случайной ошибки E перестаёт быть постоянной для всех наблюдений: Var(E|X) ≠ const. При гетероскедастичности МНК-оценки коэффициентов все ещё остаются несмещёнными и состоятельными, но теряют свойство эффективности (минимальной дисперсии). Главная опасность для трейдера здесь — искажение стандартных ошибок коэффициентов. Из-за этого стандартные t-статистики становятся некорректными, что приводит к неверной оценке статистической значимости индикаторов. Мы можем принять случайный шум за сильный рыночный фактор (ошибка первого рода) или пропустить реальную закономерность (ошибка второго рода). Эту тему мы разберём в одной из следующих статей.
- Автокорреляция остатков. Это наличие корреляционной связи между значениями случайных ошибок в разные моменты времени: Cov(Et₁, Et₂) ≠ 0. В анализе временных рядов данная проблема часто указывает на пропущенные лаговые значения переменных. Для учёта этого эффекта применяются динамические модели, включающие прошлые значения регрессоров, а также авторегрессионные модели (AR), где в качестве объясняющих переменных выступают прошлые значения самой зависимой переменной Yt-j. Данный класс моделей мы тоже оставим для следующих статей.
4. Причины эндогенности
Главная методологическая сложность эндогенности — отсутствие универсальных математических алгоритмов для её автоматического обнаружения и устранения. Эконометрический инструментарий здесь бессилен без привлечения экспертных знаний о предметной области — в нашем случае, без понимания микроструктуры финансовых рынков и логики взаимодействия умных денег. Компьютер не может сам догадаться, какие скрытые факторы управляют ценой. Выделяют четыре классические причины, из-за которых регрессор становится эндогенным (то есть начинает коррелировать со случайной ошибкой E):
- Пропущенные существенные переменные. Если некий важный рыночный фактор Z напрямую влияет на целевую переменную Y, но мы не включили его в уравнение регрессии, то этот фактор автоматически растворяется внутри случайной ошибки E. Если при этом пропущенный фактор Z коррелирует хотя бы с одним из учтённых в модели регрессоров X, то между этим регрессором X и ошибкой E мгновенно возникает корреляция. На практике это происходит постоянно: например, при попытке моделировать доходность акций только на основе их самих, игнорируя глобальный рыночный тренд (например, индекс S&P500).
- Неправильная функциональная спецификация. Если истинная связь между переменными является нелинейной (например, квадратичной или экспоненциальной), а мы пытаемся описать её строго линейной функцией, то вся не отражённая нелинейная компонента уходит в остатки E. Поскольку эта компонента порождена самим регрессором X, остатки E будут жёстко и нелинейно коррелировать с ним. Типичный пример в трейдинге — игнорирование затухания эффекта: влияние крупного рыночного ордера на цену часто имеет корневую или логарифмическую зависимость, а не линейную.
- Одновременная причинность или взаимное влияние. Это ситуация циклической зависимости, когда не только регрессор X влияет на зависимую переменную Y, но и Y одновременно оказывает обратное влияние на X. В рамках МНК-моделирования это мгновенно нарушает направленность причинно-следственных связей. Классический пример из трейдинга — взаимосвязь рыночной волатильности и торгового объёма: всплеск объёма вызывает рост волатильности, но и экстремальная волатильность заставляет алгоритмы и трейдеров активнее открывать/закрывать позиции, наращивая объёмы.
- Ошибки измерения переменных. Если регрессор X измеряется с погрешностью, то в модель фактически подставляется сумма истинного значения и случайного шума измерения. Этот шум измерения автоматически становится частью общей ошибки модели E, из-за чего регрессор X начинает коррелировать с E. Для трейдеров это актуально при работе с макроэкономическими индикаторами (ВВП, инфляция, уровень безработицы), первоначальные значения которых рассчитываются ведомствами приближённо и затем регулярно пересматриваются в последующих релизах.
Для каждой из четырёх перечисленных причин эндогенности существуют свои методы нейтрализации. Разберём их по очереди.
4.1. Пропущенные переменные
Стратегия действий здесь полностью зависит от того, имеем ли мы физический доступ к историческим данным этих скрытых факторов.
Сценарий А. Пропущенные переменные доступны для наблюдения. Если у нас есть доступ к временным рядам упущенного фактора, решение выглядит очевидным: необходимо расширить спецификацию модели, добавив в неё этот регрессор. Однако здесь возникает дилемма смещения и эффективности. Включение избыточных (на самом деле незначимых) переменных не приводит к смещению оценок, но искусственно раздувает их стандартные ошибки, снижая точность (эффективность) модели. Тем не менее в эконометрике обычно действует такое правило: ущерб от пропуска существенной переменной (смещение и несостоятельность оценок) всегда несопоставимо выше, чем ущерб от включения избыточной переменной (некоторое падение эффективности). Чтобы определить, действительно ли добавленная переменная является существенной, используют несколько критериев:
- Теоретическое обоснование или рыночная логика. Включение переменной должно опираться на здравый смысл или законы рыночной микроструктуры, а не на случайную корреляцию (избегаем ложной регрессии).
- Статистическая значимость. Коэффициент при новой переменной должен быть статистически значим (по t-критерию Стьюдента) на стандартных уровнях (1%, 5% или 10%).
- Стабильность остальных коэффициентов. Оценки коэффициентов при исходных регрессорах существенно меняются после добавления новой переменной. Как правило, сильнее всего меняются коэффициенты при тех факторах, которые сильно коррелировали с пропущенным. Это явный маркер: ранее эти коэффициенты вбирали в себя чужое влияние и страдали от смещения, а теперь, когда скрытый фактор добавлен, смещение исчезло, и оценки "вернулись" к своим истинным значениям.
- Рост скорректированного коэффициента детерминации. В отличие от обычного R², который растёт всегда при добавлении любого мусора, скорректированный R² штрафует модель за увеличение числа параметров. Если скорректированный R² заметно вырос, значит, новая переменная приносит реальную объясняющую силу, перевешивающую штраф.
Сценарий Б. Пропущенные переменные недоступны для наблюдения. Часто на финансовых рынках истинные факторы эндогенности невозможно включить в модель напрямую по двум причинам:
- Принципиально ненаблюдаемые (скрытые) параметры. Сюда относятся психологические триггеры толпы, скрытые намерения маркет-мейкеров или алгоритмический спуфинг (краткосрочные заявки-пустышки в стакане, которые отменяются до исполнения). Их в принципе невозможно оцифровать в виде непрерывного временного ряда.
- Асимметрия информации (факторы доступны, но не нам). Например, чистый агрегированный межбанковский объём (доступен только Tier-1 банкам уровня JPMorgan или Citibank), либо точные объёмы торгов внутри институциональных даркпулов (Dark Pools).
Поскольку напрямую измерить эти факторы нельзя, они остаются внутри случайной ошибки E, продолжая искажать МНК-оценки. Единственным математическим решением в такой ситуации является метод инструментальных переменных (Instrumental Variables, IV). Его суть заключается в поиске стороннего регрессора-прокси, который тесно связан с нашим эндогенным фактором, но абсолютно чист от влияния скрытой ошибки модели. Подробнее этот фундаментальный метод мы разберём далее.
4.2. Неправильная спецификация
Если алгоритм МНК фиксирует эндогенность из-за нелинейности, единственным решением является поиск и внедрение корректной спецификации уравнения. В эконометрике для этого используют комбинацию визуального, теоретического и строгого статистического подходов:
- Графический анализ исходных данных и остатков. Визуализация — самый быстрый способ заметить нелинейность. Диаграммы рассеяния для пар переменных Y и Xi помогают увидеть форму связи (парабола, гипербола, логарифм) ещё до построения модели. Если построить график зависимости остатков E от предсказанных значений Y или от конкретного регрессора Xi, точки должны распределяться хаотично в виде горизонтальной полосы (облака). Если же точки выстраиваются в дугу, параболу или иную чёткую геометрическую фигуру, это явный маркер пропущенной нелинейности. Модель требует введения полиномов или логарифмирования переменных.
- Экономическая теория и микроструктура рынка. Финансовые рынки редко линейны. Трейдер должен опираться на содержательную логику процессов. Например, это может быть эффект насыщения. Влияние сильных новостей или крупных вливаний объёма часто затухает по мере роста их абсолютных значений. Такая логика требует перехода к логарифмической или степенной форме. Другой пример — смена режимов. Взаимосвязь между индикаторами в периоды флэта и тренда принципиально отличается. Это диктует необходимость использования фиктивных переменных или переключения режимов.
- Формальные статистические критерии (Тест RESET Рамсея). Проверка "на глаз" всегда субъективна, поэтому её подкрепляют строгим математическим тестом Рамсея на ошибку спецификации.
4.3. Одновременная (двунаправленная) причинность
Проблема одновременной причинно-следственной связи и сопутствующие ей трудности при оценивании встречаются в алгоритмической торговле постоянно. Классический пример — взаимосвязь объёмов торгов и рыночной волатильности. Повышение объёмов приводит к росту волатильности цены из-за повышенного давления на стакан. Однако и само увеличение волатильности мгновенно разгоняет объёмы из-за панических сделок, массового срабатывания стоп-лоссов и автоматической активации высокочастотных (HFT) роботов. Если запустить стандартный МНК на таких данных, мы гарантированно получим смещённые и несостоятельные оценки коэффициентов. Линейная модель просто не способна разделить эти встречные потоки влияния и путает причину со следствием. На реальном торговом счёте сигналы такой модели будут ложными. Для преодоления этой проблемы в эконометрике существует несколько подходов:
- Использование инструментальных переменных и двухэтапного метода наименьших квадратов (2SLS). Вместо классического МНК применяется система, где на первом этапе мы находим сторонний инструмент (индикатор), который коррелирует только с одной из переменных (например, с объёмами), но полностью чист от обратного влияния волатильности. Это позволяет временно изолировать "чистый" направленный импульс влияния одного фактора на другой. Подробнее алгоритм 2SLS мы разберём далее в этой статье.
- Переход к динамическим системам уравнений (векторная авторегрессия, VAR). Вместо поиска сложных внешних инструментов мы можем честно признать, что обе переменные абсолютно эндогенны и влияют друг на друга. Чтобы разорвать этот замкнутый круг одновременности, мы делаем поправку на время и вводим временные лаги. Прошлое влияет на настоящее, но настоящее не может влиять на прошлое. Этому подходу мы посвятим одну из следующих статей, где детально разберём модели векторной авторегрессии (Vector Autoregression, VAR). Это хороший инструмент для анализа взаимосвязанных рыночных рядов.
- Системы одновременных уравнений (Structural Equation Models / Simultaneous Equations Models, SEM). Это наиболее математически строгий способ "лобового" решения проблемы одновременности. Вместо того чтобы пытаться обойти двунаправленную связь с помощью временных лагов, мы описываем структуру рынка "как есть" — через систему взаимосвязанных уравнений. В такой системе одни и те же переменные (например, волатильность и объём) одновременно являются и зависимыми эндогенными переменными, и объясняющими регрессорами в один и тот же момент времени t. Математическая суть: обычный МНК здесь неприменим, так как он полностью игнорирует перекрёстные связи. Проблема решается путём совместного оценивания всей системы. Для этого используются специальные системные методы — трёхэтапный метод наименьших квадратов (3SLS) или метод максимального правдоподобия с полной информацией (Full Information Maximum Likelihood, FIML). Эти алгоритмы оценивают все параметры одновременно, учитывая взаимные корреляции между случайными шоками (остатками) различных уравнений. Построение и, главное, идентификация систем одновременных уравнений — это высший пилотаж в квантовом анализе. Чтобы систему в принципе можно было разрешить относительно параметров, спецификация должна строго удовлетворять сложнейшим математическим критериям — так называемым условиям порядка и ранга. Подобный сложный подход выходит за рамки нашей вводной серии статей, однако квалифицированный алготрейдер обязан знать о существовании SEM как об одном из способов моделирования рыночной микроструктуры.
4.4. Ошибки измерения переменных
Математическая специфика ошибок измерения в регрессорах имеет фундаментальное свойство: они порождают так называемое смещение затухания (Attenuation Bias). Ошибка измерения всегда "прижимает" расчётный МНК-коэффициент ближе к нулю, искусственно занижая реальную силу влияния рыночного фактора. В трейдинге на рынке Форекс с этим феноменом сталкиваются регулярно:
- Использование прокси-переменных вместо скрытых данных. Яркий пример — тиковый объём, который доступен для активов на рынке Forex. Он является лишь аппроксимацией и содержит неустранимую ошибку измерения относительно реального агрегированного биржевого или межбанковского объёма.
- Пересмотр макроэкономических релизов. Ключевые индикаторы (Non-Farm Payrolls, ВВП, индексы инфляции) выходят с первичными погрешностями, а спустя месяц или квартал ведомства публикуют их уточнённые (пересмотренные) значения. В момент торговли робот видит "зашумлённые" данные.
Из-за жёстко заданной математической направленности этого смещения (всегда к нулю) у нас есть два пути решения проблемы:
- Допустимость осознанного игнорирования (качественный анализ). Если наша цель — провести качественный исследовательский анализ рынка и просто выяснить, влияет ли данный индикатор на цену в принципе, ошибку измерения можно временно простить. Логика здесь проста: если даже в условиях искусственного затухания и смещения коэффициента к нулю регрессор остался статистически значимым, то его истинное рыночное влияние в реальности ещё сильнее. Критическое предупреждение для алготрейдеров: игнорировать ошибку опасно, если мы строим прогностическую модель для непосредственной генерации торговых сигналов роботом. Заниженный коэффициент исказит масштаб (амплитуду) прогнозов. В результате торговый советник будет некорректно рассчитывать уровни для выставления отложенных ордеров, некорректно определять потенциал движения рынка и совершать систематические ошибки при расчёте целей для тейк-профитов и стоп-лоссов.
- Применение метода инструментальных переменных. Если нам необходим строгий математический подход, точные несмещённые коэффициенты и выверенный масштаб прогностических значений для нашего торгового алгоритма, использование инструментальных переменных является единственным корректным способом очистить регрессор от шума измерений.
5. Алгоритм работы с эндогенностью
Как было отмечено выше, проблема эндогенности не решается чисто математическими методами. Здесь критически важен учёт специфики предметной области — в нашем случае, понимание микроструктуры рынка и механизмов ценообразования.
Другая сложность заключается в том, что этапы анализа не разделены жёстко друг от друга и вычисления часто повторяются. Эту особенность эконометрики мы уже упоминали: её разделы связаны в единый тугой узел, что сильно усложняет последовательное изложение. Тем не менее попробуем выстроить примерный алгоритмический конвейер действий.
Из сделанного нами выше описания конкретных причин эндогенности следует, что методика, основанная на инструментальных переменных (IV, Instrumental Variables) является наиболее универсальной при решении данной проблемы. Дальнейшее изложение касается именно этого подхода.
Шаг 1. Спецификация (составление) модели. Уже на старте из всего массива регрессоров необходимо выделить "группу подозреваемых" на эндогенность. Одновременно подбирается набор внешних переменных, которые не входят в исходную модель, но могут сыграть роль инструментальных переменных (инструментов). Чтобы прояснить суть инструментов, зафиксируем несколько базовых правил:
- Правило порядка (размерность): количество инструментов должно быть не меньше количества эндогенных переменных.
- Условие экзогенности (ортогональность): инструменты не должны коррелировать со случайными ошибками модели в генеральной совокупности. Проверить это свойство только по имеющейся выборке невозможно. Это яркий пример того, почему аналитику необходимы глубокие знания контекста и логики рынка.
- Условие релевантности (сила инструментов): эндогенные факторы должны сильно коррелировать с инструментами после очистки от влияния всех остальных экзогенных переменных. Если эта связь слабая, инструменты называют "слабыми", и они непригодны для дальнейшего использования.
- Запрет на прямую замену: инструменты — это не замена эндогенных регрессоров. Нельзя просто выбросить "плохой" фактор и вставить вместо него инструмент. Во-первых, это полностью исказит физический смысл модели (мы начнем измерять влияние самого инструмента, а не исходного фактора). Во-вторых, исключение важного фактора приведёт к классической ошибке пропуска существенной переменной (Omitted Variable Bias), что сместит оценки даже изначально "хороших" экзогенных коэффициентов.
- Механика фильтрации: главная идея работы с инструментами — разделение эндогенного регрессора на две составляющие: "полезную" (сигнальную) и "вредную" (шумовую). Полезная часть несёт нужную информацию, а вредная — искажает коэффициенты. Инструменты позволяют изолировать полезную компоненту, чтобы оценить реальную значимость фактора и построить несмещённый прогноз для реальной торговли. Этот концепт фильтрации лежит в основе как тестирования данных (например, тест DWH), так и непосредственного "лечения" модели (двухэтапный МНК).
Шаг 2. EDA-диагностика эндогенности. Экспертные догадки всегда полезно подкрепить первичным разведочным анализом данных. Сложность в том, что стандартная МНК-регрессия здесь бессильна: из-за математических свойств алгоритма выборочные остатки всегда будут ортогональны регрессорам, маскируя проблему. Здесь как раз и проявляется упомянутая ранее "связанность" эконометрики в единый узел — нам приходится забегать вперед. Вместо классического анализа остатков итоговой модели мы используем два альтернативных подхода:
- Анализ промежуточных остатков (метод проекции). Мы строим вспомогательную регрессию, где наш “подозрительный” фактор выступает зависимой переменной, а регрессорами служат как выбранные инструменты, так и все остальные (изначально “хорошие”) экзогенные факторы модели. Остатки этой модели — это та самая "вредная", шумовая часть фактора, которую инструменты не смогли объяснить. Если вывести эти промежуточные остатки на диаграмму рассеяния против исходной целевой переменной, то при наличии эндогенности мы увидим чёткую структуру или тренд. Такая связь — прямой визуальный сигнал того, что скрытый шум из регрессора проникает в целевой показатель.
- Анализ лаговых взаимосвязей (поиск обратной связи). Если предполагаемый источник проблемы — двунаправленная причинность, полезно изучить корреляцию между текущим значением регрессора и прошлыми значениями (лагами) зависимой переменной (между Xt и Yt-1, Yt-2). Обычная матрица корреляций "в моменте" (между Xt и Yt) эту проблему не подсветит, так как сильная одновременная связь для них естественна. Наличие же значимой корреляции с лагами прямо указывает на "круговую поруку" в данных.
Шаг 3. CDA для точного подтверждения эндогенности. Для строгого математического подтверждения или опровержения наших догадок используется подтверждающий анализ данных. Главным инструментом здесь выступает классический тест Дарбина—Ву—Хаусмана (DWH, Durbin—Wu—Hausman test). Существуют разные математические формы этого теста, но для алготрейдинга удобнее всего использовать его регрессионную версию. Она изящно сводится к стандартному F-тесту, который сравнивает качество "короткой" и "длинной" регрессий. Логика теста также построена на идее фильтрации данных с помощью инструментов:
- Построение проекций. Для каждого подозрительного регрессора оценивается вспомогательная модель, где регрессорами служат абсолютно все выбранные инструменты и все "хорошие" экзогенные факторы. Из этих моделей мы забираем и сохраняем векторы остатков.
- Спецификация короткой регрессии. В качестве базовой ("короткой") модели мы берем нашу исходную регрессию целевой переменной. Напомним, что в неё входят как чистые экзогенные факторы, так и все подозреваемые в эндогенности регрессоры.
- Спецификация длинной регрессии. Мы строим "длинную" регрессию — берём короткую модель и добавляем в неё новые факторы. Ими как раз и выступают сохранённые на первом шаге остатки вспомогательных регрессий.
- Проведение F-теста. С помощью стандартного F-теста мы оцениваем совместную статистическую значимость только что добавленных факторов-остатков. Если они оказываются значимыми на заданном уровне (например, p-value < 0,05), это математически доказывает: в исходных факторах присутствует эндогенный шум. Нулевая гипотеза об экзогенности отвергается, и факт эндогенности считается официально доказанным.
Шаг 4. Двухэтапный МНК (2МНК, 2SLS, TSLS). Предположим, в нашей исходной модели q регрессоров являются экзогенными, а r — эндогенными. Также мы подобрали m инструментов (Z1, ..., Zm), которые линейно независимы между собой и экзогенны. Для идентификации модели должно выполняться правило порядка: m ≥ r (инструментов не меньше, чем "подозреваемых" факторов). Релевантность ("сила") инструментов устанавливается непосредственно внутри конвейера 2МНК. Алгоритм выглядит следующим образом:
- Первый этап 2МНК (фильтрация и проверка силы инструментов). Для каждого эндогенного регрессора строится вспомогательная регрессия на все инструменты и все экзогенные факторы исходной модели. Мы оцениваем релевантность инструментов с помощью F-теста, проверяя совместную значимость исключительно группы Z. Обычного условия p-value < 0,05 здесь недостаточно: по классическому правилу значение F-статистики должно быть строго больше 10, а по современным жёстким стандартам — гораздо выше (больше 105). В противном случае инструменты признаются слабыми. Из этих регрессий мы забираем очищенные прогнозные значения факторов для следующего шага.
- Второй этап 2МНК (состоятельные оценки коэффициентов). Мы оцениваем исходную регрессию целевой переменной, но заменяем фактические значения эндогенных факторов их прогнозами, полученными на первом этапе. Полученные таким образом оценки коэффициентов являются состоятельными — при росте объёма исторических данных они гарантированно сходятся к истинным значениям.
- Коррекция стандартных ошибок. Мы находим стандартные ошибки для всех оценок коэффициентов, рассчитываем t-статистики и определяем финальную значимость регрессоров. Важный нюанс: формула расчёта стандартных ошибок здесь существенно отличается от обычного МНК. Использовать стандартный вывод обычной регрессии на втором этапе нельзя (ошибки будут занижены).
- Практическое применение. Если все анализируемые регрессоры оказались значимыми, модель переходит в продакшн. При генерации точечного прогноза мы подставляем в модель очищенные коэффициенты и реальные текущие значения факторов. Однако если нам требуются прогнозные интервалы (например, для расчёта динамических стоп-лоссов), то их ширина должна рассчитываться с учётом повышенной дисперсии остатков 2МНК, иначе модель будет систематически недооценивать рыночный риск.
6. Двухэтапный МНК для парной регрессии
Чтобы понять внутреннюю механику метода, рассмотрим классическую модель парной линейной регрессии: Y = A + B * X + E. Предположим, что регрессор X эндогенен. Это значит, что между ним и случайной ошибкой E существует ненулевая корреляция: Cov(X, E) ≠ 0. В таких условиях стандартный МНК гарантированно выдаст смещённую и несостоятельную оценку коэффициента B. Алгоритм просто припишет часть влияния скрытого шума фактору X. Чтобы спасти модель, нам необходимо найти стороннюю переменную — инструмент Z, которая удовлетворяет двум фундаментальным свойствам:
- Релевантность: переменная Z должна быть статистически связана с нашим эндогенным регрессором X. Математически: Cov(X, Z) ≠ 0.
- Экзогенность: переменная Z должна быть абсолютно чиста от влияния скрытых шумов модели. Она может влиять на целевую переменную Y исключительно опосредованно — через регрессор X, но сама не должна коррелировать со случайной ошибкой: Cov(Z, E) = 0.
Шаги 2МНК для получения состоятельной оценки коэффициента B будут выглядеть так:
- Этап фильтрации (первый этап 2МНК): строим регрессию X на инструмент Z: X = G + H * Z + U, где G и H — коэффициенты, а U — случайная ошибка. Оценив её обычным МНК, мы получаем очищенные прогнозные значения для фактора X: Xpr = G + H * Z
- Этап финальной оценки (второй этап 2МНК): строим регрессию Y на полученные прогнозные значения: Y = A0 + B0 * Xpr + E0. Снова применяем обычный МНК. Полученная оценка b₀ для коэффициента B0 как раз и будет являться состоятельной оценкой для истинного коэффициента B из нашей исходной регрессии.
- Расчёт t-статистики и коррекция ошибок: чтобы оценить значимость полученного коэффициента, нам нужно вычислить его стандартную ошибку. Здесь кроются два важнейших математических правила:
- Зависимость от силы инструмента: в парной регрессии теоретическая стандартная ошибка оценки b₀ обратно пропорциональна модулю корреляции между исходным регрессором X и инструментом Z. Именно поэтому так важна релевантность: если инструмент слабый (корреляция близка к нулю), стандартная ошибка устремится в бесконечность, делая оценку статистически незначимой.
- Правило расчёта остатков: при расчёте дисперсии случайной ошибки нельзя использовать остатки из регрессии второго шага (где подставлен Xpr). Ошибку необходимо оценивать по формуле: e = Y - a₀ - b₀ * X. То есть мы берем очищенные коэффициенты a₀ и b₀, полученные на втором этапе, но умножаем их на исходный, реальный регрессор X.
7. Практический пример
В качестве иллюстрации рассмотрим модель, изучающую структуру волатильности цены актива на коротком внутридневном таймфрейме (5-минутные бары). Главная задача этого примера — продемонстрировать работу нашего алгоритмического конвейера по выявлению и купированию эндогенности. Тем не менее выделим три направления его потенциальной практической пользы для алготрейдера:
- Анализ рыночного воздействия. Модель в её текущем виде неприменима для классического прогнозирования "на шаг вперёд" в ритейл-трейдинге, поскольку она требует значение объёма на том же баре, для которого рассчитывается волатильность. Однако она может быть полезна для сценарного моделирования: можно рассчитать, насколько сильно вливание объёма разгонит волатильность в следующую пятиминутку.
- Тестирование спецификации при расширении модели. Наш пример служит идеальным фундаментом для построения более сложных систем. Например, перед тем как добавить в модель альтернативные данные (например, флаги выхода макроэкономических новостей), необходимо изолировать влияние естественных колебаний объёма. При добавлении новостных факторов мы сможем использовать эту очищенную базовую модель для сравнения и строгой оценки чистого прироста альфы от новой информации.
- Масштабирование на малоликвидные рынки. Описанная логика легко переносится на неликвидные активы (акции второго эшелона или крипто-токены), где наши собственные торговые операции способны существенно сдвигать рыночный объём. Для адаптации достаточно заменить тиковый объём реальным биржевым объёмом, что математически абсолютно ничего не меняет.
7.1. Спецификация модели
Целевой переменной, отвечающей за волатильность, выступит логарифм отношения максимальной цены бара к минимальной: log(High/Low). Мы будем исследовать зависимость этого показателя от времени суток и объёма торгов. В модели используются следующие регрессоры:
- Фактор времени суток. Внутридневная активность циклична, поэтому для описания её нелинейной структуры мы применим усечённое разложение в ряд Фурье. Помимо константы (интерсепта), в модель включаются две первые гармоники с суточным и полусуточным периодами (синусы и косинусы). Это строго экзогенные регрессоры, поскольку они являются детерминированными функциями времени.
- Объём торгов. В качестве меры активности мы берем тиковый объём текущего бара (так как на рынке Форекс данные по реальным торговым объёмам отсутствуют). Этот регрессор — очевидный кандидат на эндогенность из-за двунаправленной причинной связи (одновременности). Рост объёмов подталкивает волатильность, но и сама взлетевшая волатильность мгновенно активизирует алгоритмы, лавинообразно увеличивая объёмы торгов в тот же самый момент времени.
- Инструментальная переменная. Чтобы очистить текущий объём от встречного шума, в качестве инструмента мы используем его собственный исторический лаг — тиковый объём на предыдущем баре.
Далее, при выводе данных по регрессорам они будут обозначаться индексами, поэтому приведём табличку с описанием регрессоров по индексам:
| Индекс | Описание регрессора |
|---|---|
| 0 | Константа |
| 1 | Косинус от времени бара с суточным периодом |
| 2 | Синус от времени бара с суточным периодом |
| 3 | Косинус от времени бара с полусуточным периодом |
| 4 | Синус от времени бара с полусуточным периодом |
| 5 | Тиковый объём бара |
7.2. EDA-диагностика (скрипт endo_eda.mq5)
Мы рассчитываем вспомогательную регрессию для текущего объёма, где в роли предикторов выступают его собственный лаг, константа и тригонометрические гармоники времени суток. Остатки этой модели представляют собой изолированный, не объяснённый инструментами шум. Этот скрытый шум демонстрирует мощную линейную связь с нашей целевой переменной (волатильностью). Взаимосвязь наглядно прослеживается как на диаграмме рассеяния, так и по расчётному коэффициенту корреляции Пирсона.
Для финансовых рынков значение коэффициента корреляции на уровне 0.510 — это весьма значимая "улика". Она показывает, что эндогенный шум буквально прошивает исходную модель насквозь, и обычный МНК гарантированно выдаст токсичные, завышенные оценки. Полученный результат подкрепляет наши подозрения, однако для финального вердикта нам необходим следующий этап — строгая CDA-диагностика.
На диаграмме рассеяния отчётливо выделяются несколько экстремальных выбросов. При проведении реального прикладного исследования мы были бы обязаны детально изучить их влияние на устойчивость модели, начав с расчёта расстояния Кука (Cook's distance). Однако полноценный разведочный анализ этой аномалии перегрузил бы и без того объёмную статью, уводя изложение в сторону классической робастной статистики. Мы ограничимся важным методологическим замечанием: данный пример наглядно иллюстрирует, что при работе с живыми рыночными данными разные типы отклонений от идеальной модели возникают одновременно и тесно переплетаются между собой, усложняя задачу квант-разработчику. На текущем этапе мы предполагаем, что эти выбросы не окажут критического влияния на выводы анализа. Результат работы скрипта в терминале:
Correlation between target and errors: 0.510

7.3. CDA-диагностика (скрипт endo_cda.mq5)
Для вынесения окончательного вердикта мы запускаем тест Дарбина—Ву—Хаусмана (DWH). Алгоритм проверяет статистическую значимость остатков вспомогательной регрессии, включённых в качестве дополнительного фактора в исходную модель волатильности.
Тест фиксирует экстремально высокую значимость добавленного шумового вектора — расчётное значение p-value практически равно нулю. Это позволяет нам со стопроцентной уверенностью отвергнуть нулевую гипотезу (H0) об экзогенности данных. Факт эндогенности объёма официально доказан, а обычный МНК признан непригодным для дальнейшей работы. Результат вывода скрипта в журнал терминала:
DWH Test | F-stat: 645.9202 | p-value: 0.000000 DWH Test Result: Reject H0. Endogeneity is significant. Use 2SLS.
7.4. Двухэтапный МНК (скрипт endo_tsls.mq5)
Все вычисления упакованы в одну функцию TSLS(). Отчасти это привело к её громоздкости, однако код следует рассматривать не как финальный монолит, а как структурированный "строительный материал". На его основе мы легко сможем собрать любое нужное для практики решение, просто убрав ненужные вычисления. Основные этапы работы алгоритма:
Шаг 1. Проверка инструментов на "силу". Алгоритм оценивает, достаточно ли лаг объёма детерминирует его текущее значение. У нас он успешно проходит эту валидацию (в коде заложен жёсткий фильтр: если бы F-статистика оказалась ниже критического порога, вычисления завершились бы с предупреждением о слабости инструмента).
Шаг 2. Расчёт коэффициентов и статистик. Статистически значимыми (с p-value близким к нулю) оказались текущий объём и косинусы. Коэффициент при константе строго равен нулю и незначим по чисто математической причине: предварительная Z-стандартизация сдвинула среднее значение всех регрессоров к нулю, что всегда обнуляет интерсепт. Коэффициенты при синусах ожидаемо оказались незначимыми, поскольку их фаза колебаний не совпадает с реальной U-образной формой внутридневной активности EURUSD. Результат вывода оценённых параметров в журнал терминала:
[estimate] [std_error] [t_stat] [p_value] [conf_low] [conf_high] [0] -0.00000 0.00646 -0.00000 0.50000 -0.01266 0.01266 [1] 0.00398 0.00771 0.51629 0.30283 -0.01114 0.01910 [2] -0.02398 0.00702 -3.41831 0.00032 -0.03774 -0.01023 [3] 0.00209 0.00650 0.32156 0.37390 -0.01065 0.01483 [4] 0.04958 0.00664 7.47263 +0.00000 0.03658 0.06259 [5] 0.67997 0.00946 71.89109 0.00000 0.66143 0.69851
Шаг 3. Расчёт точечного и интервальных прогнозов. Для простоты и наглядности интерпретации мы строим прогноз для последней строки из исторического набора данных (в реальном применении, конечно, прогноз строится на новых данных). Физически последняя строка соответствует финальному бару перед полуночью. Поскольку данные стандартизированы, наш точечный прогноз показывает отклонение текущей волатильности от её среднего уровня, выраженное в величинах СКО. Этот сдвиг получился отрицательным (-0.429), что абсолютно логично: к полуночи активность на рынке EURUSD затухает. Результат вывода прогнозных метрик для 2МНК:
point forecast: -0.429 confidence interval, low bound: -0.458, high bound: -0.400 forecast interval, low bound: -1.695, high bound: 0.837
В рамках нашего учебного исследования важен не прогноз сам по себе, а то насколько сильно он разойдётся с результатами стандартного МНК, при котором эндогенность игнорируется. Сделаем это сравнение финальным пунктом нашего конвейера.
7.5. Обычный МНК (скрипт endo_ols.mq5)
Теперь рассчитаем те же самые статистики коэффициентов и прогнозные метрики с помощью обычного МНК (OLS), чтобы наглядно увидеть, к каким искажениям приводит игнорирование эндогенности. Основные изменения в поведении модели:
Эффект 1. Искажение силы факторов и нарушение "физики" процесса. Как и предсказывала эконометрическая теория, в обычном МНК влияние объёма торгов оказалось сильно завышенным (коэффициент вырос с 0.679 до 0.810). Алгоритм перепутал причину со следствием и впитал встречный рыночный шум. Но ещё интереснее то, что под влиянием эндогенности полностью сломалась логика времени суток: суточный косинус потерял свою значимость, а вместо него модель ошибочно признала значимым синус. МНК просто сломал фазу внутридневной активности, подгоняя математику под "грязные" данные. Результат вывода оценённых параметров модели в журнал терминала:
[estimate] [std_error] [t_stat] [p_value] [conf_low] [conf_high] [0] -0.00000 0.00637 -0.00000 0.50000 -0.01248 0.01248 [1] 0.06202 0.00723 8.57703 0.00000 0.04785 0.07620 [2] 0.01373 0.00675 2.03534 0.02092 0.00051 0.02695 [3] -0.00784 0.00639 -1.22556 0.11020 -0.02037 0.00470 [4] 0.07052 0.00649 10.87151 0.00000 0.05781 0.08324 [5] 0.81011 0.00768 105.42249 0.00000 0.79505 0.82517
Эффект 2. Смещение точечного прогноза. Наиболее критическая для трейдера разница видна в точечном прогнозе. Обычный МНК предсказывает падение волатильности от среднего уровня почти в два раза сильнее (-0.736 против -0.429 у 2МНК). Ложный оптимизм МНК заставляет модель генерировать экстремальные и оторванные от реальности прогнозы. Результат вывода прогнозных метрик для обычного МНК:
point forecast: -0.736 confidence interval, low bound: -0.765, high bound: -0.707 forecast interval, low bound: -1.984, high bound: 0.512
7.6. Итоговые выводы по модели
Чётко показана эндогенность тикового объёма, которая приводит к искажениям модели. Расчёты, проведённые с обычным МНК были бы не только бесполезны, но скорее даже вредны.
Соотношение длин прогнозного и доверительного интервалов в 2МНК (как и в обычном МНК) огромное (более чем в сорок раз). Это честный математический индикатор того, что наши текущие регрессоры пока не обладают достаточной информационной плотностью, и большая часть рыночного процесса для модели всё ещё является хаотичным шумом. Для профессионального развития этой торговой системы у алготрейдера есть два очевидных пути:
- Уточнение вида временной зависимости для волатильности. Использование всего двух гармоник ряда Фурье — слишком наивный подход. Профиль сессий требует более продуманного представления.
- Добавление альтернативных данных. В модель просятся новые регрессоры (например, новостные индикаторы, плотность стакана или показатели спреда). Однако, добавляя их, критически важно снова не угодить в скрытые ловушки эндогенности.
8. Заключение
В этой статье мы обозначили ключевые проблемы, возникающие при использовании стохастических регрессоров, и детально изучили теоретические и практические аспекты главной из них — эндогенности. Понимание физики данных и использование алгоритмического конвейера 2МНК прямо в коде MQL5 даёт разработчику торговых алгоритмов фундаментальное преимущество — возможность получать более устойчивые оценки параметров модели и снижать риск ложных выводов при анализе рыночных данных.
При разработке новых торговых моделей имеет смысл рассматривать проверку потенциальной эндогенности регрессоров как один из первых этапов исследования. Лишь убедившись, что ключевые предположения модели не нарушены, имеет смысл переходить к её дальнейшему усложнению, оптимизации и поиску новых источников альфы.
Двухэтапный МНК выглядит усложнением классического подхода, но по сути это последовательное применение МНК к отфильтрованным данным. Однако эндогенность — далеко не единственный вызов для алготрейдера. В следующей статье мы разберём другие критические аномалии остатков регрессии: гетероскедастичность и автокорреляцию ошибок во времени. Эти проблемы уже невозможно вылечить в рамках стандартного МНК.
9. Приложенные файлы
Также все файлы выложены в хранилище Algo Forge
| # | Тип файла | Название | Описание |
|---|---|---|---|
| 1 | Заголовочный файл | EconometricsA.mqh | Файл со всеми необходимыми функциями (для массивов) для расчёта параметров простой регрессии, построения графиков и проведения статистических тестов. |
| 2 | Заголовочный файл | EconometricsM.mqh | Файл со всеми необходимыми функциями (для векторов и матриц) для расчёта параметров множественной регрессии, построения графиков и проведения статистических тестов. |
| 3 | Заголовочный файл | Endo.mqh | Файл с общей частью для всех скриптов (загрузка и подготовка данных). |
| 4 | MQL5 скрипт | endo_eda.mq5 | EDA-диагностика модели |
| 5 | MQL5 скрипт | endo_cda.mq5 | CDA-диагностика модели |
| 6 | MQL5 скрипт | endo_tsls.mq5 | Двухэтапный МНК |
| 7 | MQL5 скрипт | endo_ols.mq5 | Обычный МНК для сравнения |
| 8 | ZIP архив | MQL5.zip | Архив со всеми файлами. |
Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.
Данная статья написана пользователем сайта и отражает его личную точку зрения. Компания MetaQuotes Ltd не несет ответственности за достоверность представленной информации, а также за возможные последствия использования описанных решений, стратегий или рекомендаций.
Нейросети в трейдинге: Когнитивная инерция в анализе финансовых рынков (Окончание)
Алгоритм бактериальной эволюции — Bacterial Evolutionary Algorithm (BEA)
MQL5 Bootstrap (I): Набор переиспользуемых функций для работы с позициями и ордерами
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
1) Попросите ваш ИИ оставаться в рамках темы и не придумывать какие-то "состояния рынка". У статьи узкая техническая тема - эндогенность (с конкретным примером эндогенности из-за взаимозависимости).
2) В примере мы избавляемся от той части эндогенности, которая появляется из-за двунаправленной причинности - взаимной детерминации объёма и волатильности. Объём с лагом полностью разрывает эту петлю, поскольку нынешняя волатильность не детерминирует прошлый объём в принципе.
3) При некоторой фантазии (из-за упомянутых "состояний") можно предположить, что ваш ИИ ожидал, что мы будем заодно избавляться от эндогенности из-за пропущенных переменных. Но это не так, поскольку привело бы к статье необозримого объёма.
Это развитие идеи непонятно откуда взявшихся "состояний" из первого пункта.
И да, в нелинейных обобщениях эндогенности "очистка" - это совсем не проекция. А в рамках данной статьи это выглядит лишь как терминологическая придирка.
Упоминание ИИ — не возражение, а аварийный выход из спора.
Было указано на конкретные галлюцинации в ответах ИИ.
Чего ещё ждать от бестолковых трансляторов учебников: пока формулы переписываются по методичке, всё выглядит научно; как только возникает вопрос к предпосылкам, вместо ответа начинается экспертиза чужого авторства.
Надо полагать полны толка трансляторы ответов от ИИ, добавивших галлюцинации к тем же учебникам.
У DWH нет параметра "кто сформулировал возражение". Есть условия применимости. И именно на них ответа не последовало.
У DWH есть входные параметры, куда входит набор инструментальных переменных. Если среди них нет связанных с "состоянием рынка" или "новостями", то он никак не поможет с обнаружением эндогенности по причине пропуска этих данных в модели.
В остальном тексте нет ничего по существу темы статьи что не было бы уже прокомментировано.