Неопределенность как модель (Часть 3): Математическая статистика — как извлекать знания из данных
Оглавление
- Предисловие
- Введение
- Фундаментальные предельные законы
- Модель i.i.d.
- Закон больших чисел (ЗБЧ)
- Центральная предельная теорема (ЦПТ)
- Базовые понятия и подходы математической статистики
- Генеральная совокупность
- Выборка
- Эмпирическая функция распределения
- Описательная статистика (EDA)
- Подтверждающий анализ (CDA)
- Параметрические методы
- Непараметрические методы
- Оценка числовых характеристик
- Проверка статистических гипотез
- Заключение
- Приложение
- Список приложенных файлов
Предисловие
В предыдущей части мы изучили аппарат многомерных случайных величин, позволяющий описывать сложные взаимосвязи между активами. Однако теоретическое знание законов распределения — это лишь идеализированная модель. На практике трейдер всегда имеет дело не с самими распределениями, а с их "отпечатками" в виде исторических данных. Переход от анализа абстрактных векторов к работе с реальными выборками знаменует собой шаг из чистой теории вероятностей в область математической статистики. Именно здесь предельные законы, такие как ЗБЧ и ЦПТ, становятся мостом, позволяющим по ограниченному набору данных судить о глобальных свойствах рыночных процессов.
В качестве примера применения математической статистики упомянем модели, лежащие в основе нынешнего бума ИИ — большие языковые модели (LLM). Процесс их обучения — это классическая задача точечной оценки параметров (весов), число которых достигает сотен миллиардов. Поиск этих значений реализуется через метод максимального правдоподобия, что делает даже самые продвинутые нейросети прямым продолжением традиционных статистических подходов на беспрецедентном масштабе данных.
Введение
Мы пишем торговые скрипты и регулярно сталкиваемся с одной и той же практической проблемой: у нас есть история котировок, но непонятно, что в ней — устойчивое свойство рынка, а что — случайная флуктуация конкретной выборки. Из‑за этого легко принять шум за сигнал: "среднее положительное", "есть корреляция", "распределение близко к нормальному" — и получить провал в реальной торговле.
Цель этой статьи — дать рабочий статистический каркас для анализа исторических данных: как корректно мыслить выборкой (и как моделью, и как конкретными числами), какие предельные законы (ЗБЧ, ЦПТ) обосновывают выводы при конечном N, и какие практические процедуры быстро применить в коде, чтобы проверить распределение, оценить параметры и отделить статистически значимые эффекты от иллюзий. При этом модель i.i.d. вводится не как догма, а как проверяемая гипотеза — ключевой предмет EDA и CDA. В статье показаны рабочие шаги и примеры MQL5‑скриптов, которые сразу можно включить в наш конвейер тестирования.
Фундаментальные предельные законы
Завершим наш краткий экскурс в теорию вероятностей двумя основными её результатами: Законом больших чисел (ЗБЧ) и Центральной предельной теоремой (ЦПТ). Но прежде чем переходить к ним, нам нужно определить рабочую среду — модель, в которой эти законы оживают.
Модель i.i.d.: независимые и одинаково распределённые
Самая важная и часто используемая модель в науке о данных — это последовательность независимых и одинаково распределённых случайных величин (в англоязычной литературе — i.i.d., independent and identically distributed). В теории случайных процессов эта модель служит фундаментом для понятия "белого шума". Формально работа с бесконечными наборами величин относится к теории случайных процессов, но традиционно она остается в сердце теории вероятностей. Что это означает математически?
- Независимость: совместная плотность распределения набора из n величин распадается на простое произведение их индивидуальных плотностей: pjoint(x₁, x₂, ..., xₙ) = p₁(x₁)*p₂(x₂)*...*pₙ(xₙ)
- Одинаковое распределение: предполагаем, что все величины "играют по одним правилам". У них одинаковые плотности распределения, поэтому вместо набора разных плотностей p₁(x₁), p₂(x₂), ..., pn(xₙ) используем одну, обозначенную через p(): pjoint(x₁, x₂, ..., xₙ) = p(x₁)*p(x₂)*...*p(xₙ).
Важный нюанс: хотя все величины в последовательности распределены одинаково, они представляют собой различные объекты. Можно представить это как серию бросков одной и той же идеально сбалансированной монеты: правила игры (распределение) для каждого броска идентичны, но результат каждого конкретного броска — это отдельное, независимое событие.
Закон больших чисел (ЗБЧ): от случайности к предсказуемости
Закон больших чисел — это именно то правило, которое позволяет казино всегда оставаться в плюсе, а страховым компаниям — не разоряться, несмотря на непредсказуемость каждого отдельного клиента. Или, наоборот, разоряться, если условия применимости ЗБЧ нарушаются в невыгодную для них сторону.
Пусть у нас есть последовательность из N независимых и одинаково распределённых величин Xi, каждая из которых имеет математическое ожидание M. Мы создаём новую случайную величину — их среднее арифметическое: Xmean = (X1 + X2 + ... + XN) / N. Суть закона: ЗБЧ утверждает, что при стремлении N к бесконечности это среднее значение перестает быть случайным. Оно "стягивается" к вырожденной случайной величине, которая с вероятностью 100 % принимает значение M.
Иными словами: индивидуальный шум каждой отдельной величины при суммировании взаимно гасится, оставляя нам чистую, сухую константу — математическое ожидание. Пример: От вероятности к частоте. Самое известное следствие ЗБЧ — это доказательство того, что частота события стремится к его вероятности:
- Возьмем серию из N испытаний (например, бросков монеты или входов в сделку).
- Пусть Xi=1, если событие произошло (профит или орёл), и Xi=0, если нет.
- Вероятность успеха равна p, а неудачи — 1-p. Тогда математическое ожидание каждого Xi: M=1*p+0*(1-p)=p.
- Среднее арифметическое в данном случае — это не что иное, как частота n/N, где n — количество успехов в серии из N попыток.
Согласно ЗБЧ, при большом количестве сделок наша реальная частота победn/Nнеизбежно приблизится к теоретической вероятности p.
Важный вывод для трейдинга: ЗБЧ — это фундамент торгового преимущества. Если наше математическое ожидание положительно, то на большой дистанции сделок случайность "выветрится", и наша кривая доходности неизбежно придет к расчетной прибыли. Случайность властвует над одной сделкой, но закономерность владеет тысячей. Но не будем забывать, что работает это только при выполнении условий ЗБЧ, которые совсем не обязаны выполняться всегда и везде в реальном мире.
Центральная предельная теорема (ЦПТ): архитектура случайных отклонений
Если Закон больших чисел дает нам качественный ответ на вопрос "куда стремится среднее?", то Центральная предельная теорема вносит в этот процесс количественную строгость. По сути, ЦПТ является глубоким уточнением ЗБЧ.
ЗБЧ утверждает, что при N → Inf среднее арифметическое Xmean независимых и одинаково распределённых величин Xi сходится к константе — математическому ожиданию M. Однако ЗБЧ ничего не говорит о том, как именно ведет себя ошибка этой аппроксимации Xmean - M на пути к пределу. ЦПТ закрывает этот пробел, описывая закон распределения этой ошибки.
ЦПТ доказывает, что при достаточно больших (но конечных!) N эта разность распределена не произвольно. Оказывается, что случайная величина Xmean - M имеет распределение, максимально близкое к нормальному (гауссовскому) с параметрами:
- Нулевое среднее: ошибка симметрична относительно нуля.
- Дисперсия D/N: где D — дисперсия одной исходной величины Xi.
Ещё раз акцентируем внимание на значении ЦПТ для конечных выборок. Теорема работает в области конечного числа испытаний. В реальном мире мы никогда не достигаем бесконечного N. ЦПТ позволяет нам строго рассчитать вероятностные границы, в которых будет находиться наше среднее значение при конкретном, конечном объеме данных.
Основные выводы: (1) скорость сближения среднего с математическим ожиданием пропорциональна 1/sqrt(N); (2) распределение отклонений среднего от ожидания стремится к нормальному.
Переход к математической статистике: статус "центральной" подчеркивает исключительную роль этой теоремы — она связывает воедино любые случайные процессы и нормальное распределение. Именно ЦПТ дает математической статистике право использовать нормальную аппроксимацию для анализа реальных выборок. Теперь, вооружившись пониманием того, как теоретическая случайность превращается в наблюдаемые закономерности, мы можем перейти от теории вероятностей к практике анализа данных — математической статистике.
Базовые понятия и подходы математической статистики
К базовым понятиям относятся генеральная совокупность и выборка, а также разделение статистики на два этапа: предварительное изучение данных (EDA) и получение выводов на их основе (CDA). В свою очередь, CDA делится по подходам к моделированию на параметрические и непараметрические модели, а по решаемым задачам — на оценку характеристик и проверку гипотез.
Генеральная совокупность: за пределами "мешка с шарами"
В элементарных задачах генеральную совокупность легко представить как "мешок с разноцветными шарами". Мы знаем, что в мешке конечное число объектов, и совокупность — это просто их полный список. Выборка в такой модели — это те несколько шаров, которые мы успели вытащить.
Однако для большинства реальных задач (и трейдинга в частности) эта аналогия безнадежно устарела. Мы не можем представить "все возможные цены на завтра" как фиксированный набор шаров в мешке. Здесь на сцену выходит более глубокое понятие — ансамбль состояний.
Проще всего рассматривать генеральную совокупность не как физический набор объектов, а как вероятностную модель, которая определяет правила игры. Это гипотетическое "всё", что в принципе может породить наш эксперимент. Поскольку мы никогда не видим генеральную совокупность целиком, она остается для нас теоретическим идеалом, о свойствах которого мы судим по выборке.
Выборка: два разных понятия
Важно учитывать, что понятие выборки в математической статистике обладает фундаментальной двойственностью. Это часто становится барьером при чтении специальной литературы:
- Выборка как результат (числа): это конкретные котировки, которые мы скачали из терминала сегодня утром. Это конкретная реализация случайных величин.
- Выборка как модель (сами случайные величины): до того как эксперимент проведен, мы рассматриваем выборку как набор случайных величин.
Выборка интересна не только сама по себе. Обычно она используется для расчёта каких-нибудь числовых показателей, которые принято называть выборочными величинами. Они тоже могут, в зависимости от контекста, рассматриваться то как случайные величины, то как обычные числа. Чаще всего вполне понятно о чём идет речь, но для интуиции полезно простое правило: когда мы считаем среднее по выборке до эксперимента — мы работаем со случайными величинами. Когда считаем после — с конкретными числами.
Таким образом, выборка — это набор числовых значений x₁, x₂, ..., xₙ для случайных величин X1, X2, ..., Xn, полученный в результате случайного эксперимента. Очень часто предполагается также независимость и одинаковое распределение этих случайных величин. Однако сразу сужать определение не вполне корректно: это создаёт ошибочное впечатление, что случайные величины всегда независимы и одинаково распределены. В действительности, часто приходится методами математической статистики устанавливать, обладает ли этими свойствами данная конкретная выборка. А порой и вовсе приходится моделировать то, как нарушаются эти предположения.
Эмпирическая функция распределения
Тем не менее, вариант независимых и одинаково распределённых (напомним англоязычное обозначение — i.i.d.) случайных величин остаётся центральным в изложении основ статистики. Базовым понятием для таких выборок является эмпирическая функция распределения (ECDF — Empirical Cumulative Distribution Function). Её определение: Pe(x)=k(x)/n, где k(x) — количество элементов выборки не больше x, а n — общее количество элементов выборки (размер/объём выборки). Основное свойство эмпирической функции распределения состоит в том, что при росте размера выборки она приближается к истинной функции распределения исходных случайных величин.
По сути, ECDF представляет собой обычную дискретную функцию распределения со ступеньками в точках выборки. И ничто не мешает считать любые характеристики, которые можно посчитать для функций распределения. Иногда исходный дискретный вариант ECDF не вполне подходит для дальнейшего анализа и тогда для него строят гладкую аппроксимацию. Также, для непрерывных распределений, имеющих плотность, строят её эмпирическое приближение, известное как гистограмма. Часто вместо разрывной гистограммы используют её сглаженный (например, посредством ядерного сглаживания, KDE) вариант.
Описательная статистика и разведочный анализ (EDA)
В современной практике математической статистики принято фундаментальное разделение на два этапа: EDA (Exploratory Data Analysis — разведочный анализ) и CDA (Confirmatory Data Analysis — подтверждающий анализ).
Обычно описательную статистику определяют формально: как вычисление ключевых числовых характеристик выборки. К ним относятся уже знакомые нам параметры: выборочное среднее, дисперсия, медиана и квартили. Сюда же включают визуализацию — построение гистограмм, "ящиков с усами" (boxplots) и других графических форм.
Однако за этими сухими расчетами стоит важнейшая неформальная составляющая — разведочный анализ данных (Exploratory Data Analysis, EDA). Суть EDA — "услышать голос данных". Это не просто заполнение таблицы характеристик. Это предварительное "прощупывание" данных, цель которого — понять их внутреннюю структуру и выбрать правильный математический аппарат для дальнейшего изучения.
Пример из трейдинга. Если мы исследуем приращения цен, грамотный EDA быстро разрушит иллюзию "идеального мира". Вместо независимых и одинаково распределённых величин (i.i.d.) мы обнаружим:
- эффект кластеризации волатильности: периоды покоя сменяются всплесками (зависимость);
- "тяжелые хвосты": аномальные скачки случаются чаще, чем предсказывает нормальное распределение.
Почему это важно? Если описательная статистика дает нам "паспорт" выборки (рост, вес, возраст), то EDA позволяет понять её "характер". Без этого этапа легко совершить фатальную ошибку: например, применить методы, требующие независимости данных, там, где рынок демонстрирует жёсткую инерцию или память.
Таким образом, EDA — это фундамент. Прежде чем строить сложные прогнозные модели или проверять гипотезы, мы должны убедиться, что наши инструменты вообще применимы к этой конкретной генеральной совокупности.
В приложении к статье приведена таблица с несколькими примерами функций из стандартной библиотеки MQL5 для расчётов, используемых в разведочном анализе. Там же приведены примеры расчётов и графиков, полезных при предварительном рассмотрении данных.
Подтверждающий анализ (CDA): От гипотез к фактам
Если разведочный анализ (EDA) помогает нам сформировать догадки и увидеть в данных потенциальные паттерны, то следующая за ним область — подтверждающий анализ данных (Confirmatory Data Analysis, CDA) — призвана подтвердить их или опровергнуть.
Это огромная и сложно структурированная область методов, задача которых — подтвердить или опровергнуть гипотезы, возникшие на предварительном этапе. Чтобы не утонуть в многообразии инструментов CDA, начнем с фундаментального разделения всех статистических методов на два больших лагеря: параметрические и непараметрические.
Параметрическая статистика: семейства и их представители
Прежде чем двигаться дальше, нужно внести ясность в сам термин "параметрический". В этой области мы работаем не с произвольными распределениями, а со строго ограниченными их наборами — параметрическими семействами распределений.
Что такое семейство? Представьте себе общий "шаблон" или "чертеж" распределения. Например, нормальное распределение — это двухпараметрическое семейство. Сам по себе "чертеж" один и тот же, но его конкретный вид (ширина "колокола" и его положение на оси) зависит от двух чисел: среднего m и дисперсии s^2.
- Семейство — это общая математическая формула (шаблон).
- Конкретный представитель семейства — это распределение, где вместо букв подставлены конкретные числа (например, нормальное распределение со средним 0 и дисперсией 1).
Терминологическая ловушка: в литературе часто допускают вольность, называя все семейство "распределением" в единственном числе. Например, говорят "экспоненциальное распределение", подразумевая весь огромный набор возможных вариантов. Но если говорится про "экспоненциальное распределение со средним, равным двум", то это указывает на конкретного "игрока" из этой команды.
Проблема с разными способами параметризации. Еще один источник головной боли для аналитика — это разные способы описания одного и того же семейства. Если с семейством нормальных распределений всегда всё стандартно, то с другими семействами (например, гамма-распределением или экспоненциальным) часто возникает путаница. Например, экспоненциальное семейство можно задать двумя способами:
- Через среднее значение (параметр масштаба m).
- Через интенсивность (параметр λ) и при этом λ=1/m.
Почему это важно? Разные статистические пакеты (в языках Python, R или MQL5) могут использовать разные способы параметризации для одного и того же семейства распределений. Если мы привыкли думать в терминах "среднего ожидания", а библиотека ожидает "интенсивность", то наш расчет вероятностей окажется катастрофически неверным. Чтение документации к пакету всегда будет нелишним.
Непараметрическая статистика: свобода от шаблонов
В отличие от параметрического подхода, непараметрическая статистика сознательно избегает привязки к конкретным "семействам" (будь то нормальное или экспоненциальное). Здесь мы не пытаемся угадать, по какому чертежу созданы данные, а работаем с ними "как есть".
При этом вместо жестких параметрических семейств могут использоваться какие-либо широкие классы: отказ от конкретной формулы не означает полного отсутствия структуры. Вместо принадлежности к конкретному семейству мы можем опираться на качественные свойства. Например, это могут быть:
- Симметричность: предполагаем, что левая и правая стороны "колокола" зеркальны (но сам колокол может быть любой формы).
- Положительность: знаем, что величина не может быть меньше нуля (актуально для цен активов или волатильности).
- Унимодальность: уверены, что у плотности распределения есть только один ярко выраженный пик (одна мода).
- Хвосты: анализируем только скорость затухания вероятности на краях (асимптотику), не заботясь о том, что происходит в центре.
Один из самых элегантных инструментов непараметрического подхода — ранговые методы. Вместо того чтобы работать с самими числами выборки (которые могут содержать дикие выбросы или иметь странные масштабы), мы заменяем их рангами.
Как это работает? Мы берем выборку и сортируем её по возрастанию. Каждому числу из выборки присваивается его порядковый номер — ранг. Например, значение доходности (допустим, 500 %) превращается просто в "самое большое число в списке". Это мгновенно делает анализ робастным (устойчивым): один экстремальный выброс (манипуляция на рынке или техническая ошибка) не "взорвёт" нашу статистику, так как его ранг изменится незначительно.
Интуитивный смысл: ранговые методы — это как судейство в спорте, где важно не то, на сколько миллисекунд атлет обогнал соперника, а то, кто пришел первым, вторым и третьим. Это позволяет делать достоверные выводы даже тогда, когда "секундомер" (наши данные) работает неидеально.
Примером рангового метода может служить U-критерий Манна-Уитни (Mann–Whitney U test), входящий в библиотеку ALGLIB (входит в стандартную библиотеку MQL5).
Оценка числовых характеристик: точечная и интервальная
Теперь сменим угол обзора и классифицируем методы не по их внутреннему устройству, а по типу решаемых задач. В широком смысле вся деятельность статистика сводится к двум направлениям: оценке числовых параметров моделей и проверке предположений (гипотез). Различие между ними заключается прежде всего в характере выводов:
- Задачи оценки дают нам конкретный числовой ответ. Например, чему равен показатель Хёрста на данном участке графика цен.
- Проверка гипотез дает качественный, бинарный вердикт. Здесь мы не ищем число, а отвечаем на вопрос. Например, приводит ли наш фрактальный анализ на данном участке графика цены к тому, что она ведёт себя не как случайное блуждание.
Несмотря на разный финал, оба пути опираются на одну и ту же вероятностную логику. Начнем с первого и наиболее часто используемого направления — оценки числовых характеристик. Это самый простой и массовый сценарий в анализе данных: когда по имеющейся выборке нам нужно вычислить единственное число, которое станет наилучшим приближением для искомой характеристики:
- Выборочное среднее становится оценкой для математического ожидания.
- Частота события — оценка для его вероятности.
Главное правило: никогда не ставим знак равенства между величиной и её оценкой. Например, вероятность — это реальное свойство изучаемого (хоть и в рамках ограниченной модели) объекта, а частота — это лишь то, что нам удалось подсмотреть в конкретном эксперименте. Как и в случае с выборкой, понятие оценки имеет двойное значение, определяемое контекстом. Это и число, и случайная величина. Чтобы не запутаться в расчетах, нужно четко разделять эти две ипостаси:
- Оценка как число: это конкретный результат вычислений по уже собранным данным. Мы загрузили 100 баров истории, провели расчёт и получили: "Среднее приращение равно 0.003". Здесь оценка — это число, свершившийся факт.
- Оценка как случайная величина: до того как данные получены, оценка — это функция от выборки (набора случайных величин X1, X2, ..., Xn). В этом смысле она сама является полноценной случайной величиной со своим распределением, математическим ожиданием и дисперсией. В литературе её часто называют выборочной величиной или статистикой.
Почему это разделение критично? Когда мы обсуждаем "хорошие" свойства оценки (состоятельность и прочие), мы говорим о ней исключительно как о случайной величине. Для интуиции: аналогия с эхолокацией в тумане. Представим, что мы с корабля пытаемся определить расстояние до невидимого скалистого берега в густом тумане, используя эхолот.
- Истинное значение параметра: действительное расстояние до берега. Берег существует, он находится от нас на каком-то конкретном расстоянии, но мы его не видим.
- Оценка — случайная величина: сам наш прибор, его настройка и алгоритм его работы.
- Оценка — число: один конкретный замер прибором. Из-за помех и волн он может показать 50 метров, хотя до берега на самом деле 70. И даже если один из замеров вдруг окажется точным, мы всё равно не можем знать этого наверняка.
К оценке, как случайной величине, предъявляют прежде всего такие требования:
- Состоятельность (сходимость на бесконечности). Это базовый минимум для оценки. Если мы будем бесконечно увеличивать объём выборки (N → Inf), наша оценка обязана в пределе совпасть с истинным значением. Математически, это выражается в сходимости оценки к вырожденной случайной величине, у которой вся вероятность сосредоточена в точке истинного значения оцениваемого параметра.
- Несмещённость (справедливость на конечных данных). В реальности у нас нет бесконечных данных. Нам важно, чтобы даже на маленькой выборке наша оценка не имела систематической ошибки. Математически, это означает равенство математического ожидания оценки оцениваемому параметру.
Пример состоятельности: Закон больших чисел (ЗБЧ) гарантирует состоятельность выборочного среднего как оценки математического ожидания.
Пример несмещённости: часто удивляются, почему в формуле выборочной дисперсии в знаменателе стоит N-1, а не интуитивно понятное N. Ответ кроется именно в требовании несмещённости. Дело в том, что если мы не знаем истинного математического ожидания, то вынуждены подставлять вместо него его оценку (выборочное среднее). Деление на N дало бы слегка заниженный результат (смещенную оценку). Это можно увидеть, посчитав математическое ожидание оценки. Поправка на единицу в знаменателе — это математическая компенсация, которая делает оценку дисперсии точной.
Фундаментальным методом нахождения точечных оценок является метод максимального правдоподобия. В его основе лежит функция правдоподобия — та же плотность вероятности (или вероятность для дискретного случая), но рассматриваемая не как функция данных, а как функция от неизвестных параметров модели при фиксированной выборке. Задача в этом случае сводится к поиску таких значений параметров, при которых наблюдаемые данные становятся наиболее вероятными.
В приложении к статье приведены MQL5-скрипты для расчёта точечных оценок математического ожидания, дисперсии, медианы, интерквартильного размаха и нескольких видов коэффициентов корреляции.
Поскольку любая точечная оценка на конечной выборке — это случайная величина, она неизбежно обладает дисперсией. Другими словами: в результатах наших экспериментов всегда будет присутствовать разброс, а значит — и ошибка. В физике при измерении длины детали принято указывать точность: "1,2 м ± 5 мм". Мы не просто называем число, мы очерчиваем интервал, внутри которого, как мы полагаем, находится истинное значение. В математической статистике мы поступаем аналогично, но с принципиальными отличиями:
- Отсутствие стопроцентной гарантии. В отличие от физики, в статистике мы никогда не можем гарантировать попадание истины в интервал на все 100 %. Всегда остается мизерный шанс, что нам досталась аномальная выборка, которая ввела нас в заблуждение. Поэтому вместе с интервалом мы всегда указываем уровень доверия — вероятность того, что наш метод "накрыл" истинный параметр. Именно поэтому такой интервал называют доверительным. Очень часто выбирают стандартные уровни доверия в 95 % или 99 %.
- Компромисс между точностью и уверенностью. Интервал и уровень доверия связаны неразрывно. Если мы захотим довести свою уверенность до абсолюта (100 %), наш доверительный интервал начнет расползаться, пока не станет бесконечным (например: "цена завтра будет между нулем и бесконечностью" — утверждение верное, но бесполезное).
Работа аналитика — это всегда поиск баланса:
- Мы хотим, чтобы интервал был как можно уже (высокая точность).
- Мы хотим, чтобы уровень доверия был как можно выше (высокая надежность).
Однако эти желания тянут одеяло в разные стороны. Чтобы сузить интервал, сохранив высокую надежность, у нас есть только один путь — увеличивать объём выборки.
В приложении к статье приведены MQL5-скрипты для расчёта интервальных оценок среднего, медианы и коэффициентов корреляции.
Проверка статистических гипотез
Основная логика проверки гипотез была рассмотрена еще в статье об элементарной (дискретной) теории вероятностей. В мире случайных величин она сохраняет свою полную силу. Главное отличие здесь — колоссальное разнообразие методов, охватить которые в одной статье попросту невозможно. Чтобы не запутаться в этом океане тестов, разделим гипотезы на два больших (хотя и пересекающихся) класса:
- Гипотезы о применимости моделей. Здесь мы проверяем глобальные предположения о структуре данных. Пример: "является ли распределение выборки нормальным?", "взяты ли эти две выборки от независимых случайных величин?". Это тесты на "адекватность" выбранного математического аппарата. Например, если гипотеза о нормальности отвергается, то все последующие расчеты, опирающиеся на параметры этого семейства, теряют смысл.
- Гипотезы о числовых характеристиках. В отличие от простой оценки (которая дает нам число), здесь мы проверяем конкретные утверждения. Например, вместо вопроса "чему равно математическое ожидание?" мы спрашиваем: "правда ли, что математическое ожидание доходности строго больше нуля?" или "равна ли корреляция между активами нулю?". Зачем это нужно: простая точечная оценка (например, среднее 0.0001) сама по себе не дает ответа на вопрос, является ли этот результат реальным сигналом или это просто случайный шум в данных. Проверка гипотезы позволяет отсечь статистически незначимые результаты.
Эти два класса методов не изолированы друг от друга. Зачастую мы отвергаем целую модель именно на основании того, что её ключевой параметр оказался равен нулю (например, отвергаем модель линейной связи, если коэффициент корреляции статистически неотличим от нуля).
При изучении методов проверки гипотез важно не запутаться в названиях. В отечественной математической традиции алгоритм, по которому мы выносим вердикт ("отклонить гипотезу или нет"), принято называть статистическим критерием. В англоязычной среде и, что более важно, в программном коде практически всегда используется слово test. Это различие критично для практической работы:
- В учебнике на русском мы прочтём про классический критерий согласия Колмогорова – Смирнова.
- В англоязычной документации это будет Kolmogorov–Smirnov test (или сокращенно KS test).
- В коде, например в языке R, соответствующая функция будет называться ks.test().
- Формулировка гипотез. Мы всегда имеем дело с парой: H0 (нулевая) — гипотеза об отсутствии эффекта (рынок случаен, связи нет) и H1 (альтернативная) — утверждение, которое мы хотим доказать. На этом этапе критически важно понимать, что именно проверяет выбранный тест, чтобы не получить "правильный ответ на неверный вопрос".
- Выбор уровня значимости α. Как и в случае с доверительными интервалами, 100 % гарантии не существует. Уровень значимости — это наш личный "порог терпимости" к ошибке первого рода (риску ложно отвергнуть верную H0). Даже если мы используем настройки "по умолчанию" в софте (0.05 или 0.01), нужно помнить: этот выбор всегда остается за нами.
- Расчет статистики и поиск критической области. У каждого теста есть своя статистика (выборочная величина). На основе выбранного уровня значимости α и распределения этой статистики определяется критическая область — зона "экстремальных" значений, которые слишком маловероятны в мире, где верна H0.
- Если числовое значение статистики, посчитанное по нашей выборке, попало в критическую область — мы имеем право отвергнуть гипотезу H0 на заданном уровне значимости.
- Если значение не попало в критическую область, мы не отвергаем H0. Важно: Это не доказывает верность H0. Это лишь означает, что у нас недостаточно данных, чтобы её опровергнуть. Тест не дает возможности отвергнуть H1, он просто оставляет нас в статус-кво.
- Использование p-value. Современные программы часто избавляют нас от поиска критических областей по таблицам, выдавая готовое p-value. Правило здесь простое: если p-value < α, то гипотеза H0 отвергается.
Чтобы не потеряться в сотнях существующих методик тестирования гипотез, выделим две основные категории, на которых строится большинство современных исследований. В каждой из них приведём несколько примеров конкретных тестов:
1. Тесты на согласие (Goodness of Fit)
Их задача — проверить, насколько наша выборка соответствует выбранной теоретической модели. Мы спрашиваем: "Похожи ли эти данные на то, что предсказывает формула?".
- Критерий Колмогорова — Смирнова (KS test) — классический инструмент для проверки того, принадлежит ли выборка к конкретному распределению (например, нормальному с заданными параметрами).
- Критерий хи-квадрат Пирсона — оценка расхождения между наблюдаемыми частотами и ожидаемыми вероятностями.
- Критерий Шапиро — Уилка — один из наиболее мощных статистических тестов для проверки гипотезы о нормальности распределения выборки. Его ключевое отличие от критерия Колмогорова — Смирнова заключается в том, что он проверяет не близость данных к конкретной функции распределения с заданными параметрами, а саму принадлежность к семейству нормальных распределений.
2. Тесты на наличие зависимости
Эти тесты ищут скрытые связи между разными величинами или внутри одного временного ряда.
- Тест на значимость корреляции — проверка, является ли связь между активами реальной или это случайное совпадение.
- Критерий Дарбина — Уотсона — поиск автокорреляции (например, зависимости текущей цены от её прошлых значений), что критично для выявления трендов.
- Тесты на основе взаимной информации — современный подход для поиска любых, даже самых причудливых нелинейных связей, которые "не видит" обычная корреляция.
В приложении к статье приведены MQL5-скрипты для проверки гипотез о математическом ожидании, медиане и коэффициентах корреляции.
Заключение
Теперь у нас есть осязаемый минимальный контур анализа исторических котировок и набор практических навыков, которые можно сразу применить в разработке стратегий. Конкретно мы научились/получили возможность:
- Корректно формулировать генеральную совокупность и трактовать выборку в двух смыслах (как модель и как конкретные данные).
- Строить эмпирическое распределение (ECDF) и проводить базовый EDA для выявления тяжёлых хвостов, выбросов и автокорреляции.
- Сравнивать стандартные и робастные точечные оценки и строить доверительные интервалы, опираясь на ЗБЧ и ЦПТ (ошибка ≈ 1/sqrt(N)).
- Формально проверять гипотезы (нормальность, нулевое среднее/медиана, отсутствие зависимости) и принимать решение: продолжать с параметрическими методами или перейти к непараметрическим/робастным техникам, если допущения не выполняются.
В приложениях находятся MQL5‑скрипты и примеры графиков, которые реализуют этот конвейер. Ограничения: подробности метода максимального правдоподобия и байесовский подход здесь опущены — это следующее логическое звено. В ближайших публикациях мы продолжим: сначала случайные процессы (для моделирования динамики цен), затем более глубокие методы оценки и байесовские техники. Пока же включаем предложенные проверки в наш рабочий пайплайн — это значительно снизит риск принять шум за сигнал и повысит надёжность решений на живом рынке.
Приложения: практическая реализация в коде
Все приведенные в приложении примеры носят исключительно учебный характер и намеренно упрощены для наглядной демонстрации математических концепций. Изложенный материал не содержит прямых торговых идей или инвестиционных рекомендаций.
Приложение 1
Таблица с некоторыми статистическими функциями из стандартной библиотеки MQL5 для вычисления выборочных характеристик.
| Название функции | Функция |
|---|---|
| Выборочная функция распределения (ECDF) | MathCumulativeDistributionEmpirical() |
| Выборочная плотность непрерывного распределения | MathProbabilityDensityEmpirical() |
| Выборочные квантили | MathQuantile() |
| Выборочное среднее | MathMean() |
| Выборочная дисперсия | MathVariance() |
| Выборочная корреляция (Пирсона) | MathCorrelationPearson() |
| Расчёт рангов выборки (для ранговых методов) | MathRank() |
Приложение 2
Скрипт qqplot.mq5, строящий QQ-графики для визуального сравнения распределения выборки изменений цены с распределениями Коши и Гаусса. На этом графике хорошо видно, что распределение Коши гораздо хуже подходит для моделирования поведения цены.

Приложение 3
Скрипт scatter_plot.mq5 для визуализации зависимостей в динамике цен. Он строит график рассеяния (Scatter Plot), где осями служат последовательные изменения цены на текущем шаге и на следующем. Такой график позволяет зримо оценить силу статистической связи между прошлым и будущим движением рынка. В нашем случае существенной связи не видно, иначе точки были бы заметно сосредоточены около какой-либо линии.

Приложение 4
Скрипт point_est.mq5 вычисляет точечную оценку параметров нормального распределения для ценовых изменений двумя способами — стандартным и робастным (через медиану и интерквартильный размах). В нашем случае есть заметное отличие двух оценок (робастное СКО меньше почти в полтора раза). Это говорит о необходимости проверить выборку на нормальность (например, посредством теста Шапиро — Уилка). Результаты расчёта:
Оценка параметров нормального распределения двумя способами
1) Через выборочные среднее и среднеквадратичное отклонение:
Для математического ожидания: 0.00013, для СКО: 0.00433
2) Через выборочные медиану и интерквартильный размах:
Для математического ожидания: -0.00042, для СКО: 0.00301
Приложение 5
Скрипт conf_est.mq5 для расчёта интервальной оценки математического ожидания и медианы выборки изменений цены. Результаты расчёта:
выборочное среднее: 0.00033
выборочная медиана: 0.00011
математическое ожидание в интервале от: -0.00026 до: 0.00092 с уровнем доверия: 0.950
медиана в интервале от: -0.00041 до: 0.00080 с уровнем доверия: 0.950
Примечание: на момент написания статьи библиотечная функция MathQuantileT() работала с ошибкой. Поэтому строка № 32 закомментирована, а ниже вызывается замещающая функция MathQuantileT_TMP().
Приложение 6
Скрипт H_mean.mq5 для проверки гипотез равенства нулю математического ожидания и медианы для распределения ценовых изменений. Результаты расчёта:
Выборочное среднее: 0.00033
Выборочная медиана: 0.00011
Гипотеза о равенстве нулю математического ожидания НЕ отвергнута на уровне значимости: 0.05
Гипотеза о равенстве нулю медианы НЕ отвергнута на уровне значимости: 0.05
Приложение 7
Скрипт H_corr.mq5 для расчёта трёх различных видов коэффициентов корреляции (Пирсона, Спирмена и Кендалла) между последовательными изменениями цены и для проверки гипотез на равенство нулю для всех трёх коэффициентов. Результаты расчёта:
Выборочный коэффициент корреляции Пирсона: -0.068
Выборочный коэффициент корреляции Спирмена: -0.093
Выборочный коэффициент корреляции Кендалла: -0.061
Гипотеза о равенстве нулю коэффициента корреляции Пирсона НЕ отвергнута на уровне значимости: 0.05
Гипотеза о равенстве нулю коэффициента корреляции Спирмена НЕ отвергнута на уровне значимости: 0.05
Гипотеза о равенстве нулю коэффициента корреляции Кендалла НЕ отвергнута на уровне значимости: 0.05
Приложенные файлы
| # | имя | описание |
|---|---|---|
| 1 | qqplot.mq5 | Скрипт, строящий QQ-графики для визуального сравнения распределения выборки изменений цены с распределениями Коши и Гаусса. |
| 2 | scatter_plot.mq5 | Скрипт для визуализации зависимости между последовательными изменениями цены. |
| 3 | point_est.mq5 | Скрипт вычисляет точечную оценку параметров нормального распределения двумя способами |
| 4 | conf_est.mq5 | Скрипт для расчёта интервальной оценки математического ожидания и медианы выборки изменений цены. |
| 5 | H_mean.mq5 | Скрипт для проверки гипотез равенства нулю математического ожидания и медианы для распределения ценовых изменений |
| 6 | H_corr.mq5 | Скрипт для расчёта трёх различных видов коэффициентов корреляции (Пирсона, Спирмена и Кендалла) и для проверки гипотез на равенство нулю для всех трёх коэффициентов. |
Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.
Данная статья написана пользователем сайта и отражает его личную точку зрения. Компания MetaQuotes Ltd не несет ответственности за достоверность представленной информации, а также за возможные последствия использования описанных решений, стратегий или рекомендаций.
Внедрение в MQL5 практических модулей из других языков (Часть 03): Модуль schedule из Python — расширенные возможности OnTimer
Роевой оптимизатор с иерархией суброев — Flock by Leader
Машинное обучение и Data Science (Часть 42): Прогнозирование фондовых рынков с использованием N-BEATS в Python
Создание и тестирование совета из 15 моделей в MetaTrader 5
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования