preview
Неопределенность как модель (Часть 2): Зависимости случайных величин — от корреляции до копул

Неопределенность как модель (Часть 2): Зависимости случайных величин — от корреляции до копул

MetaTrader 5Статистика и анализ |
68 0
Aleksey Nikolayev
Aleksey Nikolayev

Оглавление

  1. Предисловие
  2. Введение
  3. Определение для многомерного случая
    1. Многомерная функция распределения
    2. Многомерная плотность распределения
    3. Аналогия для интуиции
  4. Простые примеры
  5. Независимость и зависимость
    1. Определение
    2. Маржинальное распределение
    3. Условное распределение
    4. Независимость как отсутствие контекста
    5. Условное математическое ожидание и уравнение регрессии
    6. Независимость как бессмысленность прогноза
    7. Регрессия vs Функциональная связь
  6. Линейная теория
    1. Ковариация
    2. Корреляция
    3. Ловушка линейности: о чем молчит ковариация?
    4. Линейная теория и многомерное нормальное распределение
    5. Линейная теория в действии: мощь и её границы
  7. Копулы
  8. Теория Шеннона
  9. Заключение
  10. Приложение
  11. Список приложенных файлов



Предисловие

В предыдущей части мы рассматривали одиночные случайные величины. Однако для описания реальных рыночных процессов одной величины почти всегда недостаточно. В современном трейдинге практически любая задача — от формирования портфеля и хеджирования до поиска арбитражных стратегий — сводится к оценке совместного поведения множества факторов и активов. Поэтому необходим более развитый аппарат, который переводит анализ с уровня исследования единственной характеристики на уровень моделирования цельных рыночных структур.

Этот фундамент позволяет глубже взглянуть и на многие другие вещи, не имеющие прямого отношения к трейдингу. Например, работа больших языковых моделей (LLM) строится на тех же принципах. Если в основе их обучения лежит принцип максимума правдоподобия, то сам механизм генерации текста — это не что иное, как последовательное вычисление условных вероятностей в пространствах колоссальной размерности.


Введение

Одномерная случайная величина — функция, отображающая исходы ω из пространства Ω в точки x на числовой прямой . Теперь мы переходим к ситуации, когда в нашем вероятностном пространстве Ω одновременно сосуществует целое семейство величин: X1, X2, ..., Xn.

Этот переход можно сравнить с эволюцией от анализа отдельных точек на прямой к работе с многомерными векторами.

Здесь кроется главная ловушка для начинающих статистиков: распределение набора случайных величин в общем случае нельзя описать простым набором их индивидуальных функций. Зная, как ведут себя актив A и актив B по отдельности, мы всё еще ничего не знаем о том, как они ведут себя вместе. Чтобы заполнить этот пробел, нам необходим аппарат многомерных функций распределения.


Основные определения

Многомерная функция распределения

По-прежнему большая буква X обозначает случайную величину как функцию, определённую на элементарных событиях в вероятностном  пространстве Ω и принимающую числовые значения на . Маленькая буква x обозначает конкретные числовые значения, принимаемые X.

Многомерная функция распределения для набора величин X1, X2, ... , Xn — это вероятность того, что все условия Xi ≤ xᵢ выполнятся одновременно:

F(x₁, x₂, ... , xₙ) = P(X1 ≤ x₁, X2 ≤ x₂, ... , Xn ≤ x)

В литературе можно встретить два термина, которые по сути описывают одно и то же: многомерная функция распределения и функция совместного распределения. Разница между ними скорее стилистическая и зависит от структуры данных. Если мы работаем со структурами вроде векторов или матриц (например, положение частицы в 3D-пространстве), то чаще говорят о многомерном распределении векторов (матриц). Если же мы анализируем взаимосвязь нескольких разных параметров (например, инфляция и процентная ставка), то уместнее термин совместное распределение. С точки зрения математики — это один и тот же многомерный объект, но для моделирования рынков этот нюанс важен: он помогает понять, рассматриваем ли мы систему как единое целое или ищем скрытые зависимости между разными сущностями.

Если в одномерном случае мы интуитивно представляли вероятность как массу, размазанную вдоль бесконечной нити (оси X), то в многомерном варианте наша "единичная масса" распределяется по плоскости (для двух величин) или в объеме (для трех и более).

Многомерные функции распределения, как и их одномерные собратья, редко бывают однородными. Математически, любое применимое на практике распределение можно разложить на две фундаментальные составляющие: абсолютно непрерывную и сингулярную. Здесь кроется важный терминологический нюанс, который часто сбивает с толку:

  • Абсолютно непрерывная компонента — это когда вероятность плавно "разлита" по объему (площади) пространства. У таких распределений всегда существует плотность (PDF).
  • Сингулярная компонента — это всё то, что сосредоточено на множествах с нулевым объемом. Сюда относится как привычная нам дискретность (вероятность в точках), так и более экзотическая непрерывная сингулярность.

Примечание. В дальнейшем мы часто будем ограничивать для наглядности наше рассмотрение двумерным случаем. Нагромождение индексов не вполне привычно нематематикам, поэтому вместо иксов с индексами для двумерного случая будем использовать x и y для числовых значений и X и Y для случайных величин.

Визуализация сингулярности на плоскости: представьте двумерное пространство (плоскость XY).

  • Если вся 100-процентная масса вероятности собрана в отдельных точках — перед нами дискретный случай (сингулярность нулевого измерения).
  • Если вероятность распределена вдоль линии (кривой) — это непрерывная сингулярность. Сама линия не имеет площади, но на ней "живёт" вся вероятность.

Почему это важно для трейдера? Сингулярность — это всегда сигнал о жесткой структуре или ограничении. Если наши данные (например, цены двух активов) выстраиваются строго вдоль одной линии, значит, между ними существует жёсткая функциональная зависимость (Y=f(X)).

Многомерная плотность распределения

Для абсолютно непрерывных многомерных распределений вводится понятие совместной плотности вероятности (Joint PDF). Если функция распределения F(x, y) — это "накопительный итог" массы в многомерном секторе, то плотность p(x, y) — это скорость, с которой эта масса прибывает в каждой конкретной точке пространства.

Математическое определение: многомерная плотность получается путем последовательного взятия частных производных от функции распределения по каждой из переменных. Для двумерного случая (x и y) это выглядит так:

двумерная плотность

Аналогия для интуиции

Как это понимать интуитивно? Если в одномерном случае плотность была производной (скоростью роста), то в двумерном — это своего рода "высота поверхности" или интенсивность заполнения площади.
Представим себе рельеф местности, и тогда:

  • F(x, y) — это объем грунта в прямоугольнике от "минус бесконечности" до точки (x, y).
  • p(x, y) — это высота ландшафта в данной конкретной точке.

Там, где плотность высока, мы видим "пики" или "холмы" вероятности. Для наглядности, в трейдинге такие холмы на графике "цена–объем" или "цена–волатильность" наглядно показывают кластеры, где рынок наиболее стабилен или где чаще всего происходят сделки.

Важный нюанс: также, как и в одномерном случае, вероятность в конкретной точке (x, y) для непрерывного распределения всегда равна нулю. Смысл имеет только объем под поверхностью плотности над определенной областью (например, над кругом или квадратом на плоскости). Этот объем и будет вероятностью того, что пара случайных величин одновременно примет значения из этой области.

Обладая полной картой многомерного распределения, мы можем легко получить из него распределения меньшей размерности — вплоть до отдельных одномерных цепочек. В теории вероятностей этот процесс называется поиском маржинальных распределений.

Представьте наше многомерное "облако вероятности" в пространстве. Чтобы узнать, как ведет себя только одна величина (например, цена), игнорируя остальные (объем, время) — мы просто "схлопываем" облако на одну из осей. Математически это делается путем интегрирования (суммирования) совместной плотности по всем "лишним" переменным.

Однако здесь нас подстерегает критически важный логический барьер: движение в обратном направлении в общем случае невозможно.

Принцип тени: если мы видим тень предмета на стене, то можем примерно представить его общие контуры, но мы никогда не сможем однозначно восстановить точную форму этого трехмерного объекта.

Почему это важно для анализа данных? Знания того, как часто цена бывает в диапазоне A, и того, как часто объем бывает в диапазоне B, недостаточно, чтобы понять, как они взаимодействуют. Между ними может быть жесткая прямая связь, обратная зависимость или полное отсутствие корреляции — на уровне "теней" (одномерных распределений) всё это будет выглядеть абсолютно одинаково.

Именно поэтому в анализе данных мы уходим от изучения отдельных индикаторов к изучению их совместного поведения.



Независимость и зависимость

Определение

Опираясь на классическое определение независимости событий (рассматривалось в статье об элементарной теории вероятностей), мы переходим к независимости случайных величин. Это то редкое и счастливое состояние системы, когда её компоненты никак не влияют друг на друга.

Определение: две (или более) случайные величины называются независимыми, если их совместная функция распределения распадается на произведение индивидуальных (маржинальных) функций:

F(x, y) = Fx(x)*Fy(y)

Если это равенство нарушается хотя бы в небольшой области на плоскости, то величины зависимы по определению. Для непрерывного случая это правило переносится на плотности. Совместная плотность независимых величин — это просто произведение их плотностей:

p(x, y) = px(x)*py(y)

Маржинальные распределения

Чуть выше мы обсуждали маржинальные распределения как "проекции" многомерного облака. Теперь посмотрим, как этот процесс выглядит на языке формул. Для простоты ограничимся случаем двух случайных величин — X и Y с их совместной функцией распределения Fxy(x, y).

Чтобы получить индивидуальную (одномерную) функцию распределения для X, нам нужно "устремить Y к горизонту". Математически это выглядит как взятие предела при y->+Inf:

маржинальная FX(x)

В чем логика? Когда мы спрашиваем: "Какова вероятность того, что X ≤ x при любом значении Y?", мы фактически снимаем ограничение по второй оси. То же самое зеркально работает и для величины Y:

маржинальная FY(y)

Если же наше совместное распределение обладает плотностью pxy(x, y), то переход к одномерному миру становится еще нагляднее. Чтобы найти плотность px(x), мы должны "просуммировать" (интегрировать) совместную плотность по всей оси Y:

маржинальная pX(x)

Интуитивная модель: представьте, что совместная плотность — это рельефный ландшафт. Чтобы получить маржинальную плотность px(x), мы словно смотрим на этот ландшафт сбоку и "спрессовываем" все горы и низины в один плоский профиль вдоль выбранной оси.

Условные распределения

Маржинальное распределение часто ещё называют безусловным. Оно описывает поведение величины "в вакууме", когда нам ничего не известно о других факторах. Но как только мы фиксируем значение одной переменной (например, узнаем текущий объем торгов y), распределение второй переменной (цены x) мгновенно меняется. Это и есть условное распределение.

Проще всего это понятие раскрывается через плотность вероятности. Если у нас есть совместная плотность pxy(x, y), то условная плотность распределения величины X при условии, что Y=y, вычисляется по формуле:

условная плотность

Обратите внимание: Знаменатель этой дроби — не что иное, как маржинальная (безусловная) плотность py(y), которую мы научились находить на предыдущем шаге.

Что это означает на уровне интуиции? Представьте наш "рельеф вероятности" (совместную плотность). Условное распределение — это вертикальный срез этого рельефа вдоль линии Y=y. Мы берем "нож" и разрезаем наш ландшафт в той точке, где зафиксировано значение y. Полученный профиль среза и есть форма условной плотности. Деление на интеграл (знаменатель) нужно лишь для того, чтобы "нормировать" этот срез — сделать так, чтобы площадь под получившейся кривой снова стала равной единице.

В трейдинге это работает постоянно: "какова вероятность падения цены (X), если волатильность (Y) уже превысила средние значения?". Безусловная вероятность падения может быть 50%, но условная (при высокой волатильности) может подскочить до 70%. Именно такие сдвиги вероятностей и ищут количественные аналитики, строя свои вероятностные модели.

Независимость как отсутствие контекста

Теперь мы можем взглянуть на понятие независимости с новой стороны. Если случайные величины X и Y независимы, то знание значения одной из них абсолютно никак не корректирует наши ожидания относительно другой.
В этом случае их условные распределения в точности совпадают с безусловными (маржинальными):

равенство плотностей

Что это означает на практике? Представьте, что мы пытаемся предсказать доходность акции (X), зная количество выпавших осадков в Амазонии (Y). Если эти величины независимы (что логично для большинства тикеров), то:

  1. Наша "безусловная" оценка доходности (маржинальное распределение) даст определенный прогноз.
  2. Наша "условная" оценка (с учетом того, что в Амазонии сегодня ливень) даст тот же самый результат.

Математически это объясняется очень просто: в формуле условной плотности совместная плотность переходит в произведение одномерных плотностей pxy=px*py, и "лишняя" плотность в числителе и знаменателе формулы для условной плотности просто сокращается.

Вывод для аналитика: независимость — это ситуация, когда информация об одном факторе имеет нулевую ценность для предсказания другого. Именно поиск тех условий (Y), при которых условное распределение (X) начинает заметно "сдвигаться" относительно безусловного, и составляет суть поиска рыночных закономерностей.

Условное математическое ожидание и уравнение регрессии

Условные распределения открывают путь к вычислению условных средних. Это ровно те же характеристики, что мы обсуждали для одномерного случая (математическое ожидание, дисперсия, моменты), но теперь они учитывают "контекст" другой переменной.

Самый важный игрок здесь — условное математическое ожидание. От обычного математического ожидания оно отличается лишь тем, что перестает быть константой и становится функцией от значения другой величины:

My(x)=E[Y|X=x].

Математически — это зависимость среднего значения Y от того, какое значение приняла величина X. В науке у этой зависимости есть общепринятое название — уравнение регрессии. Нужно сказать пару слов про общепринятые обозначения. Через E[A] принято обозначать математическое ожидание случайной величины A. Обозначение E[A|B] принято для условного математического ожидания A при условии B.

Интуитивный смысл: если обычное математическое ожидание — это "средняя температура по больнице", то условное математическое ожидание — это средняя температура в конкретной палате, где лежат пациенты с определенным диагнозом.

Почему это очень важно?

  • Теория прогнозирования: как правило, прогноз — это попытка вычислить условное математическое ожидание будущей цены (Y) при известных текущих факторах (X1, X2, ...).
  • Машинное обучение (ML): если заглянуть под капот современных нейросетей или градиентного бустинга, мы обнаружим, что их главная задача — как можно точнее аппроксимировать это самое условное математическое ожидание.
  • Условная волатильность: аналогично вычисляется и условная дисперсия — основа моделей семейства GARCH, которые предсказывают не саму цену, а риск (разброс) в зависимости от текущего состояния рынка.

Таким образом, простая формула условного среднего вырастает в колоссальную область знаний, позволяющую строить предсказательные модели любой сложности — от линейной регрессии до глубоких языковых моделей (LLM).

Независимость как бессмысленность прогноза

В мире независимых случайных величин концепция прогнозирования упрощается до примитива. Если X и Y независимы, то условное математическое ожидание становится равным безусловному:

E[Y|X=x] = E[Y]

Это означает, что уравнение регрессии превращается в скучную константу — горизонтальную прямую на графике. Что это говорит нам на практике? Перед нами ещё одна формулировка бесполезности независимых данных: если величины независимы, то знание значения X не дает ровным счетом ничего для уточнения прогноза Y.

  • Для трейдера: если доходность актива (Y) независима от показаний нашего индикатора (X), то наше "умное" условное математическое ожидание (прогноз) всегда будет равно среднему историческому значению. Такой индикатор не сужает диапазон неопределенности и не сдвигает математическое ожидание в нашу пользу.
  • Для Data Science: это ситуация нулевого обучения. Сколько бы данных о X мы ни скармливали модели, она не сможет выдать прогноз точнее, чем простое среднее арифметическое целевой переменной.

Таким образом, вся индустрия количественного анализа — это бесконечная охота за ситуациями, где E[Y|X=x] ≠ E[X]. Только в этой разнице и живет потенциальная прибыль.

Регрессия vs Функциональная связь

Важно не путать наличие зависимости (когда уравнение регрессии отлично от константы) с жесткой (функциональной) связью.

Когда мы говорим, что одна величина зависит от другой, мы обычно имеем в виду, что знание X помогает нам лучше угадать Y. Но в подавляющем большинстве случаев Y всё равно сохраняет долю своей случайной природы.

Жесткая (функциональная) связь — это экстремальный случай, когда Y однозначно и без остатка вычисляется через X (например, Y=2*X+5). С интуитивной точки зрения (геометрия масс, о которой мы говорили ранее), это возможно только в одном сценарии: сингулярное распределение. Вся вероятностная масса на плоскости XY при этом "схлопывается" из облака в бесконечно тонкую линию.

Критерий "жесткости": в случае функциональной связи условная дисперсия одной величины относительно другой становится равной нулю. Var(Y|X=x)=0

Что это означает на практике?

  1. В регрессии общего вида: у нас есть "облако" точек. Уравнение регрессии проводит линию через центр этого облака. Но вокруг линии остается "шум" (условная дисперсия), и наш прогноз носит вероятностный характер.
  2. В функциональной связи: "облака" больше нет. Есть только сама линия. Зная X, мы знаем Y со стопроцентной точностью. Неопределенность исчезает полностью.

В трейдинге истинная функциональная связь — большая редкость. Она встречается разве что в арбитраже (связь фьючерса и спота в момент экспирации) или в синтетических инструментах. Во всех остальных случаях мы имеем дело с "мягкой" зависимостью, где уравнение регрессии оставляет рынку право на случайный манёвр.


Простые примеры

Ниже представлены три простых примера двумерных распределений. Каждый пример сопровождён рисунком, изображающим его двумерный носитель (множество на котором сосредоточена вся вероятность). Изобразить на рисунке только носитель вполне достаточно в данных случаях, поскольку плотность предполагается "равномерно размазанной" по нему.

Равномерное на квадрате. Плотность равномерно распределена на квадрате со сторонами, параллельными осям. Маржинальные распределения совпадают с условными и представляют собой одномерное равномерное распределение на отрезке [0,1]. Произведение плотностей маржинальных распределений равно самому двумерному распределению, поэтому случайные величины X и Y независимы.

Равномерное распределение

Равномерное на повёрнутом квадрате. Здесь уже условные распределения Y существенно зависят от x — это будут равномерные распределения на разных отрезках. Чтобы это понять, достаточно провести разные вертикальные линии через квадрат — они будут отсекать разные отрезки от него. Маржинальные распределения вообще не будут равномерными. Поэтому величины X и Y зависимы. При этом интересно, что уравнения регрессии окажутся константами, как и при независимости. В данном примере зависимость случайных величин проявляет себя в зависимости условной дисперсии одной величины от значения другой.

Равномерное на повёрнутом квадрате

Сингулярное на отрезке прямой y=x. Здесь очевидная функциональная зависимость Y=X. Маржинальные распределения — равномерные, а условные — вырожденные. Уравнение регрессии конечно же совпадает с функциональной зависимостью y=x.

Сингулярное

Также в приложении приведены примеры mql5-скриптов, строящих трёхмерные графики плотностей для двумерного нормального распределения и для нескольких копул (про них чуть ниже). Ещё в приложении приведены mql5-скрипты для расчёта параметров маржинальных и условных распределений с выводом двумерных графиков их плотностей.


Линейная теория

Ковариация: мера совместного движения

Первое, что мы определяем — это набор (вектор) математических ожиданий m, m, ..., mₙ. Это просто набор средних значений для каждой величины в отдельности.

m=E[X]

Далее, определяем дисперсии для каждой случайной величины:

varᵢ=E[(Xᵢ-mᵢ)^2]

Но теперь помимо индивидуальных дисперсий (вариаций), для каждой пары величин Xi и Xj (где i ≠ j) мы можем рассчитать ковариацию. Она определяется как среднее от произведения их отклонений от своих математических ожиданий:

ковариация

Что это означает на практике? Ковариация показывает направление и силу совместной изменчивости:

  • Положительная ковариация: Если обе величины склонны отклоняться от своих средних в одну и ту же сторону (вместе растут или вместе падают), их произведение (xᵢ-mᵢ)*(xⱼ-mⱼ) чаще будет положительным.
  • Отрицательная ковариация: Если одна величина растет, когда другая падает, произведение будет отрицательным.
  • Нулевая ковариация: Если движения величин хаотичны относительно друг друга, их отклонения будут взаимно гаситься при усреднении.

Интуитивно: ковариация — это "детектор синхронности". Например, в трейдинге это основа портфельной теории: если мы покупаем два актива с высокой положительной ковариацией, мы не диверсифицируем риск, а удваиваем его, так как они, скорее всего, упадут одновременно.

Все возможные ковариации и дисперсии набора величин обычно упаковываются в одну квадратную таблицу — ковариационную матрицу. Это "генетический код" нашей системы данных: по диагонали в ней стоят дисперсии, а вне диагонали — ковариации (связи между ними).

Коэффициент корреляции: универсальный масштаб

Ковариация — отличный инструмент, но у неё есть существенный практический изъян: её значение зависит от единиц измерения. Если мы считаем связь цены золота в долларах и объема в миллионах контрактов, ковариация выдаст нам огромное число, которое само по себе ни о чем не говорит.

Чтобы исправить это, используют коэффициент корреляции (Пирсона), который по сути является нормированной ковариацией. Математическое определение: мы берем ковариацию и делим её на корень из произведения дисперсий (то есть на произведение стандартных отклонений).

корреляция

В чем его уникальное удобство? Благодаря такой нормировке, коэффициент корреляции всегда "заперт" в строгом диапазоне от -1 до 1. Это превращает его в идеальную линейку для измерения связей:

  • +1: Идеальная прямая связь. Величины маршируют нога в ногу (функциональная зависимость).
  • От 0 до +1: Положительная связь. Чем ближе значение к единице, тем "плотнее" точки ложатся на прямую линию. Рост одной величины в среднем сопровождается ростом другой.
  • 0: Линейная связь отсутствует. Величины "не замечают" друг друга (в рамках первого порядка).
  • От -1 до 0: Отрицательная связь. Величины движутся в разных направлениях: рост одной означает тенденцию к снижению другой.
  • -1: Идеальная обратная связь. Одна величина — зеркальное отражение другой.

Интуитивный смысл: коэффициент корреляции говорит нам не о том, "как много" величины прибавляют вместе, а о том, насколько тесно они прижаты к линии регрессии. Чем ближе значение к единице (по модулю), тем меньше "шума" вокруг их совместного движения и тем надежнее ваш линейный прогноз. В рамках первичного ("на глаз") анализа в статистике принято ориентироваться на примерно следующие пороговые значения корреляции (указаны абсолютные значения):

  • 0.1 – 0.3: Слабая связь.
  • 0.5 – 0.7: Заметная или сильная связь.
  • 0.9+: Очень высокая (почти функциональная) зависимость.

В трейдинге корреляция — это важный язык описания рыночной структуры. Мы строим корреляционные матрицы, чтобы понимать, какие активы двигаются парами, а какие — в противофазе.

Ловушка линейности: о чем молчит ковариация?

Главная причина, по которой ковариация (корреляция) стала "золотым стандартом" в статистике, заключается в ее связи с независимостью. Если две случайные величины X и Y независимы, то их ковариация гарантированно равна нулю.

Однако здесь начинающих аналитиков подстерегает коварное "но". Обратное утверждение в общем случае неверно. Нулевая ковариация — это еще не сертификат независимости. Она лишь сообщает нам, что между величинами отсутствует линейная зависимость.

  • Если уравнение регрессии (связь между переменными) имеет вид прямой линии, то ковариация идеально опишет силу этой связи.
  • Но если зависимость более сложная (например, квадратичная или циклическая), ковариация может "ослепнуть" и показать нуль, хотя величины на самом деле жестко связаны между собой.

Интуитивный пример: представьте, что доходность актива Y симметрично зависит от волатильности X (при очень низкой и очень высокой волатильности доходность падает, а в середине — растет). На графике на плоскости XY это будет выглядеть как дуга. Ковариация в этом случае покажет 0, бодро рапортуя об "отсутствии связи", хотя на самом деле связь налицо — просто она нелинейная.

Линейная теория и многомерное нормальное распределение

Только что мы сказали, что нулевая ковариация — это еще не гарантия независимости. Однако существует одно важнейшее исключение, на котором держится добрая половина современной финансовой теории: многомерное гауссовское (нормальное) распределение.

Если одномерное нормальное распределение задается математическим ожиданием и дисперсией, то многомерное определяется двумя их аналогами:

  1. Вектор математических ожиданий — это многомерный "центр тяжести" нашего облака точек (координаты вершины колокола в пространстве).
  2. Ковариационная матрица — это обобщение дисперсии. Она не просто показывает разброс каждой переменной, но и диктует геометрию облака: насколько оно вытянуто и под каким углом наклонено.

В "гауссовском мире" случайные величины ведут себя предельно дисциплинированно. Главная особенность этого распределения в том, что все уравнения регрессии в нем всегда линейны. Здесь нет места хитрым изгибам, дугам или сложным нелинейным зависимостям — только прямые линии.

Пусть случайные величины X и Y имеют совместное двумерное нормальное распределение с математическими ожиданиями mx и my, среднеквадратическими отклонениями sx и sy и коэффициентом корреляции (Пирсона) r. Тогда условное математическое ожидание E[Y|X=x] выражается в виде следующего уравнения регрессии:

E[Y|X=x] = my+r(x-mx)sy/sx

Из этого вытекает фундаментальное следствие: если совместное распределение набора величин является многомерным гауссовским, то нулевая корреляция в точности означает независимость. Почему линейный подход — это "святой грааль" для моделирования?

  1. Математическая прозрачность: в нормальном распределении структура связей полностью и без остатка описывается ковариационной матрицей. Нам не нужно искать скрытые нелинейные эффекты — их там просто нет по определению.
  2. Упрощение прогноза: если активы в нашем портфеле распределены по Гауссу и их ковариация равна нулю, мы можем быть на 100% уверены: они никак не влияют друг на друга. Прогноз одного актива не даст нам ровно никакой информации о другом.

Линейная теория в действии: мощь и её границы

Линейный подход, основанный на ковариациях и корреляциях, породил целую вселенную прикладных методов, которые сегодня считаются "золотым стандартом" аналитики. Перечислим некоторые из них, формулируя в терминах случайных величин:

  • Портфельная теория Марковица. Задан набор случайных величин (доходности) с известными средними, дисперсиями и ковариациями. Ищется новая величина (портфель), как линейная комбинация исходных. Причём эта новая величина должна давать минимально возможную дисперсию при каждом фиксированном значении её среднего.
  • Метод главных компонент (PCA). Для заданного набора случайных величин строится новый набор из линейных комбинаций исходных. При этом от нового набора требуется, чтобы его матрица ковариаций была диагональной и чтобы элементы на диагонали  были отсортированы по убыванию.
  • Линейные регрессионные модели: Это фундаментальный метод моделирования, в котором целевая переменная (например, будущая цена актива) представляется как линейная комбинация объясняющих факторов (признаков, или features в терминологии машинного обучения).

В чем подвох для трейдинга? Большинство из этих моделей постулируют, что рынок распределен нормально. В этом случае ковариация становится абсолютной мерой зависимости. Проблема в том, что реальные рыночные данные часто имеют "тяжелые хвосты" и нелинейные связи, выходящие за рамки Гаусса. Но понимание этого  "идеального случая" необходимо: это та точка отсчета, от которой мы измеряем любые рыночные аномалии. Если ковариация нулевая, а зависимость всё же обнаруживается — значит, мы покинули уютный мир Гаусса и столкнулись с реальной сложностью рынка.

Копулы: чистая архитектура зависимостей

В предыдущих главах мы видели, что совместное распределение — это сложный микс из индивидуальных свойств величин и их взаимных связей. Копулы (от лат. copula — связка, соединение) позволяют произвести "хирургическое разделение": оставить за бортом особенности каждой отдельной переменной и сосредоточиться исключительно на структуре их связи.

Как это работает? По определению, копула — это многомерное распределение, у которого все одномерные "тени" (маржинальные распределения) являются равномерными на отрезке [0; 1]. Чтобы привести любое многомерное непрерывное распределение к такому виду, мы выполняем изящный математический трюк. Мы заменяем значения каждой величины Xi на значения её собственной функции распределения: Yi=F(Xi). Это похоже на нормализацию признаков в машинном обучении. В итоге мы получаем переменные, которые "живут" строго от 0 до 1, а их индивидуальные различия (хвосты, асимметрия, эксцесс) взаимно аннулируются.

Главное качество этих моделей — это универсальность. В отличие от линейных методов, копулы позволяют работать с любыми, даже самыми экзотическими распределениями и зависимостями. Мы можем смешать "толстые хвосты" одного актива с "узким пиком" другого — копула опишет их связь без искажений.

Формула копулы C(y1, y2, ...., yn) напрямую диктуется типом зависимости:

  • Независимость: Если величины никак не связаны, копула превращается в простое произведение: C=y1*y2*...*yn.
  • Сложные связи: Для разных сценариев связи (например, когда активы при падении связаны вместе сильнее, чем при росте) существуют специальные семейства копул (Архимедовы, Гауссовы, Стьюдента и др.).

Интуитивная модель: копула — это некий "клей", который соединяет отдельные маржинальные распределения в единое целое. Изучая копулу, аналитик видит саму геометрию этого клея: где он схватывает намертво (жесткая связь), а где позволяет частям свободно двигаться. Если ковариационная матрица — это простая линейка, то копула — это полноценный 3D-сканер связей.

В современном анализе рынков копулы применяют, например, при моделировании системных рисков. Они помогают понять, почему в моменты крахов активы, которые казались независимыми, внезапно начинают вести себя как единый монолит.

Говоря о копулах, нельзя не упомянуть их роль в ипотечном кризисе 2008 года. В историю вошло понятие "Формула, убившая Уолл-Стрит" (The Formula That Killed Wall Street) — речь о повсеместном и неадекватном использовании моделей на основе Гауссовой копулы. Эти модели систематически занижали риски одновременного дефолта множества заемщиков, что стало одним из катализаторов глобального краха.

Важно понимать: причина была не в самой математической теории, а в её слепом применении к процессам, которые не соответствовали ей. Для самой дисциплины этот кризис послужил мощным стимулом к развитию. Сегодня это высокотехнологичная область статистики, предлагающая такие продвинутые инструменты, как "виноградные копулы" (Vine Copulas), позволяющие гибко моделировать сложные иерархические зависимости в портфелях из сотен активов.

В приложении к статье в качестве примера приведены графики (и рисующие их mql5-скрипты) двух двумерных копул — Гаусса и Клейтона.


Теория Шеннона: энтропия и взаимная информация

Традиционно эти понятия живут в учебниках по связи и передаче данных. Однако для нас они представляют интерес как универсальная мера зависимости между дискретными случайными величинами.

Энтропия Шеннона: мера хаоса. Прежде чем измерить связь, нужно измерить "количество неопределенности" в самой величине. Для этого используется энтропия Шеннона H(X). Для дискретной величины X, принимающей значения с вероятностями pi, энтропия вычисляется как:

энтропия

Теперь мы можем определить взаимную информацию I(X, Y). По определению:

I(X, Y) = H(X) + H(Y) - H(X, Y),

где H(X, Y) — это энтропия их совместного распределения (общий хаос системы). Главные свойства этого показателя:

  • Нуль при независимости: если X и Y независимы, то I(X, Y)=0. Они не делятся друг с другом никакой информацией.
  • Всегда положительна при зависимости: если есть хоть малейшая связь, взаимная информация будет больше нуля.
  • Универсальность: взаимная информация "видит" то, что корреляция пропускает. Если одна величина запутана с другой сложным образом, корреляция может показать нуль, а взаимная информация чётко зафиксирует наличие связи.

При определении энтропии допустим выбор логарифма с произвольным основанием b>1. При b=2 (двоичный логарифм) значения энтропии и взаимной информации выражаются в битах. В данной метрике энтропия H(X) интерпретируется как мера априорной неопределённости случайной величины или, эквивалентно, как среднее количество информации, получаемое при реализации конкретного исхода.

Для детерминированной величины (P=1 для одного из состояний) энтропия тождественно равна нулю, так как исход не несет новой информации. Максимум энтропии достигается на равномерном распределении, характеризующем состояние наибольшей неопределенности системы. В рамках данной информационной концепции взаимная информация I(X, Y) количественно описывает снижение неопределенности одной случайной величины при условии реализации (наблюдения) значения другой.

Наряду с абсолютными значениями в анализе применяется нормированная взаимная информация U(Y|X)=I(X, Y)/H(Y), также известная как коэффициент неопределенности (Uncertainty Coefficient). Данный безразмерный показатель характеризует долю неопределенности целевой переменной Y, убираемую при получении значения признака X, причём он принимает значения в диапазоне от 0 до 1. Значение U(Y|X)=0 свидетельствует о статистической независимости величин, тогда как U(Y|X)=1 указывает на полную детерминированность Y значением X.

Отчасти U(Y|X) похож на коэффициент корреляции, но имеет всегда неотрицательное значение и применим для определения нелинейной зависимости. Использование этого коэффициента наиболее эффективно при сравнении предикативной способности признаков различной природы, так как он позволяет оценить относительный вклад каждого фактора в снижение энтропии целевого значения.

Применение информационных мер к непрерывным случайным величинам требует концептуального уточнения, так как стандартная формула для дискретных распределений в данном случае неприменима. Основными подходами являются:

  1. Дискретизация (биннинг). Непрерывная область значений разбивается на конечные интервалы (бины), что сводит задачу к анализу дискретных величин. Этот метод прост в реализации, однако его результат критически зависит от выбора ширины интервала: слишком мелкая сетка ведет к зашумлённости оценок, а слишком крупная — к потере информативных связей.
  2. Дифференциальная энтропия. Вместо сумм используются интегралы по плотности распределения. Важно учитывать, что дифференциальная энтропия не является прямым аналогом дискретной: она может принимать отрицательные значения и не обладает свойством инвариантности к преобразованиям координат.

В отличие от копул, которыми крупные институциональные игроки пользуются для вдумчивой ребалансировки долгосрочных портфелей, инструменты теории информации нашли свое место на передовой HFT (High-Frequency Trading). В мире, где происходят скоротечные схватки молниеносных алгоритмов, классическая корреляция слишком медленна и слепа. Здесь взаимная информация используется для мгновенного детектирования нелинейных микроструктурных зависимостей, которые существуют лишь доли секунды.

Современный арсенал высокочастотного трейдинга включает в себя такие продвинутые концепции, как передаточная энтропия (Transfer Entropy), позволяющая оценить не просто наличие связи, а направленный поток информации от одного актива к другому (кто является "ведущим", а кто "ведомым"). Для практического расчета этих величин на зашумленных рыночных данных применяются эффективные непараметрические подходы, такие как алгоритм КСГ (KSG estimator — по фамилиям авторов Kraskov, Stögbauer, Grassberger). Эти методы позволяют алгоритмам "чувствовать" пульс рынка и принимать решения в условиях, когда более традиционные статистические модели ещё не успели зафиксировать изменение ситуации.

В приложении к статье приведён mql5-скрипт, который считает и выводит все энтропии (H(X), H(Y), H(X, Y)) и их взаимную информацию (абсолютную I(X, Y) и относительную U(Y|X)) для совместного распределения двух дискретных величин, принимающих по два значения.


Заключение

Мы разобрали, как случайные величины образуют единые структуры в многомерном пространстве, а их связи обретают геометрическую форму. Но в трейдинге мы никогда не знаем их истинные параметры заранее — у нас есть только история котировок, то есть ограниченная выборка. Как по этой выборке восстановить реальную картину и насколько можно верить полученным цифрам? Ответ помогают найти фундаментальные законы теории вероятностей — Закон больших чисел и Центральная предельная теорема. В следующей части мы перейдем от теории вероятностей к математической статистике, где будем оценивать параметры и проверять гипотезы, продолжая опираться на возможности платформы MetaTrader 5 и языка MQL5.


Приложение: практическая реализация в коде

Приложение 1

Скрипт gauss_3D.mq5 визуализирует трёхмерный график двумерной плотности (PDF) для нормального распределения с заданными параметрами. На графике также изображена линия регрессии Y на X. Уравнение регрессии выводится и в аналитическом виде. Голубой цвет — плотность, красный — оси координат, зелёный — линия регрессии Y на X.

2D плотность и линия регрессии

Для двумерного нормального распределения с параметрами:
Математическое ожидание X: 0.000
Математическое ожидание Y: 0.000
Среднеквадратическое отклонение X: 1.500
Среднеквадратическое отклонение Y: 1.500
Коэффициент корреляции между X и Y: 0.800
Уравнение регрессии: E[Y|X=x] = 0.000 + 0.800 * x

Приложение 2

Скрипт marginal.mq5 рассчитывает параметры и визуализирует графики плотностей (PDF) маржинальных распределений для двумерного нормального распределения с заданными параметрами. Эти распределения тоже являются нормальными (только одномерными).

Интересно отметить, что параметры маржинальных распределений X и Y не зависят от коэффициента корреляции между этими случайными величинами. Это ещё одно подтверждение того, что одномерные распределения случайных величин не отражают их взаимосвязь.

Маржинальные распределения

Для двумерного нормального распределения с параметрами:
Математическое ожидание X: 0.500
Математическое ожидание Y: -1.000
Среднеквадратическое отклонение X: 2.700
Среднеквадратическое отклонение Y: 1.500
Коэффициент корреляции между X и Y: 0.800
Маржинальное распределение X имеет параметры:
Математическое ожидание: 0.500
Среднеквадратическое отклонение: 2.700
Маржинальное распределение Y имеет параметры:
Математическое ожидание: -1.000
Среднеквадратическое отклонение: 1.500

Приложение 3

Скрипт conditional.mq5 рассчитывает параметры и визуализирует графики плотностей (PDF) условных распределений Y|X=x₁ и Y|X=x₂ при заданных x₁ и x₂  для двумерного нормального распределения с заданными параметрами. Эти распределения тоже являются нормальными (только одномерными).

В отличие от маржинальных, условные распределения зависят от коэффициента корреляции — чем он больше, тем меньше дисперсия условного распределения. В предельном случае равенства коэффициента корреляции единице условная дисперсия обращается в нуль и условное распределение становится вырожденным — зависимость Y от X становится жёсткой функциональной.

При фиксированном (ненулевом) коэффициенте корреляции условное распределение Y зависит от значения X, но эта зависимость касается только математического ожидания. Дисперсия остаётся одной и той же. В статистике это свойство постоянства условной дисперсии принято называть гомоскедастичностью (а непостоянство — гетероскедастичностью). Модели с линейной регрессией хорошо подходят (особенно если для расчёта их коэффициентов используется классический метод наименьших квадратов) для моделирования в случае гомоскедастичности, но реальные данные почти всегда гетероскедастичны.

Условные распределения

Для двумерного нормального распределения с параметрами:
Математическое ожидание X: 0.000
Математическое ожидание Y: 1.000
Среднеквадратическое отклонение X: 1.000
Среднеквадратическое отклонение Y: 2.000
Коэффициент корреляции между X и Y: 0.800
Условное распределение Y при x=0.000 имеет параметры:
Математическое ожидание: 1.000
Среднеквадратическое отклонение: 0.720
Условное распределение Y при x=2.000 имеет параметры:
Математическое ожидание: 4.200
Среднеквадратическое отклонение: 0.720

Приложение 4

Скрипт copula_gauss.mq5 визуализирует плотность вероятности гауссовой копулы. Использование обозначений U и V вместо традиционных X и Y обусловлено спецификой теории копул: символами x и y обозначаются исходные величины, тогда как u и v — их значения, преобразованные через соответствующие маржинальные функции распределения (CDF).

Ракурс 3D-проекции выбран таким образом, что левая точка графика соответствует началу координат (0, 0), отражающему левые хвосты распределений (минус бесконечность для исходных величин). Противоположная точка соответствует области (1, 1) или правым хвостам (плюс бесконечность). Высота графика прямо пропорциональна силе зависимости в данной области. Гауссова копула характеризуется симметричными всплесками в обоих углах, что указывает на одинаковую структуру зависимости как при совместном падении, так и при совместном росте активов.

Копула Гаусса

Приложение 5

Скрипт copula_clayton.mq5 визуализирует плотность вероятности копулы Клейтона (в той же проекции, что и в предыдущем приложении). Ключевой особенностью данного распределения является выраженная асимметрия: в области начала координат (0, 0) наблюдается значительный пик плотности, тогда как в точке (1, 1) подобный всплеск отсутствует.

Такая геометрия графика свидетельствует о наличии сильной зависимости в нижнем хвосте (lower tail dependence), при которой вероятность совместного экстремального падения активов существенно выше вероятности их совместного роста. Подобную асимметричную структуру невозможно описать с помощью стандартного линейного коэффициента корреляции Пирсона, что делает копулу Клейтона незаменимым инструментом для моделирования системных рисков и рыночных крахов.

Копула Клейтона

Приложение 6

Скрипт shannon.mq5 подсчитывает и выводит все энтропии (H(X), H(Y), H(X, Y)) и взаимную информацию (абсолютную I(X, Y) и относительную U(Y|X)) для двух дискретных величин X и Y, принимающих по два значения (x1 и x2 для Xy1 и y2 для Y). Конкретные числовые значения случайных величин для расчётов не важны, поэтому буквенных обозначений вполне достаточно.

Заданные вероятности совместного распределения:
для (x1, y1): 0.30, для (x1, y2): 0.10, для (x2, y1): 0.20, для (x2, y2): 0.40
Рассчитанные характеристики:
Энтропия X, H(X): 0.97
Энтропия Y, H(Y): 1.00
Совместная энтропия X и Y, H(X, Y): 1.85
Взаимная информация X и Y, I(X, Y): 0.12
Коэффициент неопределённости, U(Y|X): 0.12


Приложенные файлы

имя описание 
1gauss_3D.mq5Скрипт визуализирует трёхмерный график двумерной плотности (PDF) для нормального распределения с заданными параметрами. Так же он показывает линию регрессии и выводит вид уравнения регрессии.
2marginal.mq5Скрипт рассчитывает параметры и визуализирует графики плотностей (PDF) маржинальных распределений для двумерного нормального распределения.
3conditional.mq5Скрипт  рассчитывает параметры и визуализирует графики плотностей (PDF) условных распределений для двумерного нормального распределения.
4copula_gauss.mq5
Скрипт визуализирует плотность вероятности гауссовой копулы.
5copula_clayton.mq5
Скрипт визуализирует плотность вероятности копулы Клейтона.
 6shannon.mq5
Скрипт подсчитывает и выводит энтропию и взаимную информацию для совместного распределения двух дискретных величин, принимающих по два значения.
Прикрепленные файлы |
gauss_3D.mq5 (5.44 KB)
marginal.mq5 (3.93 KB)
conditional.mq5 (4.44 KB)
copula_gauss.mq5 (3.35 KB)
shannon.mq5 (2.41 KB)
Преодоление ограничений машинного обучения (Часть 8): Непараметрический выбор стратегии Преодоление ограничений машинного обучения (Часть 8): Непараметрический выбор стратегии
В этой статье показано, как настроить модель "черного ящика" для автоматического выявления сильных торговых стратегий, используя подход, основанный на данных. Используя взаимную информацию для определения приоритетов наиболее удобных для изучения сигналов, мы можем создавать более интеллектуальные и адаптивные модели, превосходящие традиционные методы. Читатели также научатся избегать распространенные подводные камни, такие как чрезмерное доверие к показателям поверхностного уровня, а вместо этого разрабатывать стратегии, основанные на значимой статистической информации.
Возможности Мастера MQL5, которые вам нужно знать (Часть 73): Использование паттернов Ишимоку и ADX-Wilder Возможности Мастера MQL5, которые вам нужно знать (Часть 73): Использование паттернов Ишимоку и ADX-Wilder
Индикатор Ишимоку (Ichimoku-Kinko-Hyo) и осциллятор ADX-Wilder — это взаимодополняющая пара, которую можно использовать в составе MQL5-советника. Индикатор Ишимоку многогранен, однако в данной статье мы будем использовать его в первую очередь для определения уровней поддержки и сопротивления. Мы также применим ADX для определения тренда. Как обычно, мы используем Мастер MQL5 для построения паттернов и тестирования потенциала, который может иметь эта пара индикаторов.
Архитектура системы машинного обучения в MetaTrader 5 (Часть 2): Маркировка финансовых данных для машинного обучения Архитектура системы машинного обучения в MetaTrader 5 (Часть 2): Маркировка финансовых данных для машинного обучения
Во второй части серии «MetaTrader 5 и машинное обучение: практическое руководство» вы узнаете, почему простые метки могут сбивать ваши модели с толку — и как применять продвинутые техники, такие как метод тройных барьеров и сканирование тренда, для создания надежных и учитывающих риски целевых показателей. Наполненное практическими примерами на Python, оптимизирующими эти вычислительно сложные методы, это практическое руководство показывает, как преобразовать зашумленные рыночные данные в достоверные метки, отражающие реальные условия торговли.
Преодоление ограничений машинного обучения (Часть 7): Автоматический выбор стратегии Преодоление ограничений машинного обучения (Часть 7): Автоматический выбор стратегии
В этой статье показано, как автоматически определять потенциально прибыльные торговые стратегии с помощью MetaTrader 5. Решения "белого ящика", основанные на неконтролируемой матричной факторизации, быстрее настраиваются, лучше поддаются интерпретации и предоставляют четкие рекомендации относительно того, какие стратегии следует сохранить. Решения "черного ящика", хотя и требуют больше времени, лучше подходят для сложных рыночных условий, которые подходы "белого ящика" могут не учитывать. Присоединяйтесь к нашему обсуждению того, как наши торговые стратегии могут помочь нам тщательно подбирать прибыльные стратегии при любых обстоятельствах.