Неопределенность как модель (Часть 4): Случайные процессы — динамика неопределённости
Оглавление
- Предисловие
- Введение
- Определения и терминология
- Определение случайного процесса
- Сечения и траектории
- Конечномерные распределения
- Основные характеристики
- Классификация процессов
- По структуре времени
- По структуре пространства состояний
- Стационарные процессы
- Процессы со стационарными приращениями
- Процессы с независимыми/некоррелированными приращениями
- Эргодические процессы
- Марковские процессы
- Мартингалы
- Основные подходы
- Линейная теория
- Нелинейная теория
- Эконометрика
- Исчисление Ито
- Примеры случайных процессов
- Дискретный белый шум
- Дискретное случайное блуждание
- Винеровский процесс
- Пуассоновский процесс
- Марковская цепь
- Заключение
- Приложение
- Список приложенных файлов
Предисловие
Мы начали с изучения одной случайной величины, затем перешли к наборам из фиксированного числа величин. Рассматривая предельные теоремы — закон больших чисел (ЗБЧ) и центральную предельную теорему (ЦПТ), — мы убедились, что такой набор может включать сколь угодно большое количество элементов.
Теперь настало время для ключевого шага: расширить понятие набора случайных величин до бесконечности. Это приведёт нас к концепции случайного процесса.
Введение
Мы смотрим на график цены или эквити и вынуждены принимать решения, опираясь на одну-единственную траекторию: где здесь структура, а где — случайный шум? Без понятного языка случайных процессов разговор о стационарности, приращениях, марковских режимах и мартингалах часто превращается в набор "умных слов", а бэктест — в спорную экстраполяцию. Эта статья нужна как рабочая карта: взяв любой временной ряд (цена, доходности, приращения, эквити, поток ордеров), мы научимся корректно назвать объект, зафиксировать его ключевые характеристики и понять, к какому классу процессов он ближе. На практике это позволит сформулировать проверяемые гипотезы и выбрать подходящие инструменты анализа, а не подстраивать модель под визуальные паттерны.
Определения и терминология
Определение случайного процесса
Математически, случайный процесс — это естественное обобщение набора случайных величин. Ранее мы рассматривали их как функции от одного аргумента ω из вероятностного пространства Ω: X₁(ω), X₂(ω), ..., Xₙ(ω). Эту последовательность легко представить в виде единой функции двух аргументов: X(ω, i), где индекс i принадлежит множеству I = {1, 2, ..., n}.
Дальнейшее обобщение снимает ограничения с индексного множества I (index set). Для трейдинга наиболее важны случаи, когда I можно трактовать как время — то есть полностью упорядоченное множество. В такой интерпретации индексное множество обозначают как T, а его элементы — как t. Обычно T представляет собой подмножество действительных чисел.
Таким образом, по определению, случайный процесс — это функция X(ω, t), ставящая в соответствие паре ω и t (событие и время) конкретное числовое значение.
Возможно и другое обобщение. Множество значений, которые принимает случайный процесс X(ω, t), называют пространством состояний (state space). В глубокой теории оно может быть любым: векторным, комплексным, векторным комплексным или даже ещё более абстрактным. Такая гибкость в определении времени и пространства состояний позволяет создавать огромное разнообразие моделей. Однако в статье мы ограничимся лишь множествами действительных и натуральных чисел. Этого базиса достаточно, чтобы описать большинство рыночных явлений.
Сечения и траектории
Для полноты картины введем два ключевых понятия, которые позволяют смотреть на процесс с разных сторон:
- Сечение процесса. Если мы зафиксируем время t = t₀, то получим обычную случайную величину X₀(ω) = X(ω, t₀). Это состояние системы в конкретный выбранный момент.
- Реализация (или траектория). Если мы зафиксируем элементарное событие ω = ω₀, то получим обычную числовую функцию от времени: x₀(t) = X(ω₀, t).
Для трейдера траектория — это и есть тот самый исторический график котировок, который мы видим в терминале. Отсюда вытекает важная трактовка: случайный процесс можно понимать как случайную функцию. Каждому событию ω здесь соответствует своя уникальная кривая — будь то график цены или линия эквити торгового робота.
Конечномерные распределения
По сути, случайный процесс — это бесконечный набор случайных величин. Однако в теории вероятностей нет прямого аппарата для работы с бесконечномерными распределениями. Чтобы обойти это ограничение, математики опираются на уже изученную теорию для конечных наборов.
Определение: Конечномерным распределением случайного процесса X(ω, t) для заданных моментов времени t₁, t₂, ..., tₙ называется совместное распределение его сечений в эти моменты: X(ω, t₁), X(ω, t₂), ..., X(ω, tₙ).
В рамках теории обычно предполагается, что нам известны любые конечномерные распределения процесса. Это позволяет легко находить характеристики величин, выраженных через конечное число сечений. Типичный пример для трейдера — приращение цены между моментами t₁ и t₂. Задача найти его распределение и характеристики полностью решается через совместное распределение двух соответствующих сечений.
Настоящие сложности начинаются, когда искомая величина зависит от бесконечного числа точек. Например, требуется найти вероятность того, что за заданный интервал времени цена ни разу не коснётся уровня стоп-лосса; формально это задача о максимуме или минимуме процесса в непрерывном времени. Такие задачи требуют гораздо более сложного математического аппарата. Кроме того, подобные задачи невозможно решить для случайных процессов "в общем виде". Ответы удается найти только для их отдельных типов, что и приводит нас к необходимости выделения отдельных классов случайных процессов.
Основные характеристики (моменты) случайных процессов
Опираясь на конечномерные распределения, мы можем вычислить основные характеристики процесса. Важно понимать: в отличие от обычной случайной величины, здесь на выходе мы получаем не числа, а функции (обычные, не случайные) от времени:
- Математическое ожидание процесса. Вычисляется по одномерным распределениям для каждого момента t. Если оно существует, то представляет собой функцию от времени M(t).
- Дисперсия процесса. Аналогично считается по одномерным распределениям для каждого момента t. Это функция D(t), которая описывает, как меняется разброс процесса во времени.
- Ковариационная функция процесса. Вычисляется по двумерным распределениям для любой пары моментов времени t₁ и t₂. Это функция двух аргументов Cov(t₁, t₂), которая показывает статистическую связь между состояниями процесса в разные моменты. Ковариационную функцию случайного процесса часто называют автоковариационной функцией или просто автоковариацией. Приставка "авто" подчеркивает, что мы ищем связь процесса не с каким-то внешним рядом, а с самим собой, но взятым в разные моменты времени.
- Корреляционная функция процесса. Получается привычной нормировкой ковариации через квадратный корень из произведения дисперсий: Corr(t₁, t₂) = Cov(t₁, t₂) / sqrt(D(t₁) * D(t₂)). Она помогает понять, насколько сильно случайный процесс "помнит" свои прошлые состояния. В литературе и статистических пакетах эту функцию часто называют автокорреляционной функцией или автокорреляцией (англоязычное сокращение — ACF). Это подчеркивает, что мы измеряем взаимосвязь процесса с самим собой, но с некоторым временным лагом.
Классификация процессов
Важно понимать: случайные процессы — настолько сложные объекты, что единой "всеобъемлющей" классификации не существует. Нет такой таблицы, в которую можно было бы вписать любой произвольный процесс. На практике классификация выделяет несколько разрозненных классов (подмножеств), для которых математикам удалось продвинуться в решении практически важных задач. Именно в этих "островках предсказуемости" и строится большинство моделей.
По структуре времени
Тип времени определяет, как именно мы фиксируем данные:
- Дискретное время. Моменты времени образуют последовательность. Например, цены закрытия баров H1. В этом случае сам процесс часто называют случайной последовательностью, а его конкретную реализацию — временным рядом.
- Непрерывное время. Если мы рассматриваем процесс в любой произвольный момент. Например, теоретическая модель движения цены, где тики могут прийти в любой момент. Здесь процесс трактуется как случайная функция, а его реализацию называют просто функцией или траекторией.
По структуре пространства состояний
Тип пространства состояний определяет сами фиксируемые данные:
- Дискретное пространство состояний. Процесс принимает значения из счётного множества (например, целые числа). В трейдинге это может быть количество открытых ордеров, число тиков в баре или номер текущей торговой сессии.
- Непрерывное пространство состояний. Процесс может принимать любое значение из определенного интервала (или всей числовой прямой). Самый очевидный пример — цена актива или значение технического индикатора (RSI, Moving Average).
Важно понимать, что разделения по времени и по состояниям независимы друг от друга. На практике возможны все четыре их комбинации.
Стационарные процессы
В теории выделяют два уровня "жёсткости" требований к стабильности процесса:
- Стационарность в узком смысле. Это максимальная стабильность. Любые конечномерные распределения в моменты (t₁, t₂, ..., tₙ) должны полностью совпадать с распределениями в моменты (t₁ + t, t₂ + t, ..., tₙ + t) для любого сдвига t. Простыми словами: вероятностные свойства рынка в этой модели абсолютно не меняются при переносе во времени.
- Стационарность в широком смысле. Здесь требования гораздо мягче, что делает этот класс процессов основным рабочим инструментом в эконометрике. Для "широкой" стационарности нужно всего три условия:
- Математическое ожидание M(t) не меняется со временем (константа).
- Дисперсия D(t) не зависит от времени (константа).
- Ковариация Cov(t₁, t₂) не меняется при одинаковом сдвиге моментов времени: Cov(t₁, t₂) = Cov(t₁ + t, t₂ + t).
Последнее условие критически важно: оно означает, что связь между двумя точками процесса зависит не от того, когда мы их взяли, а только от расстояния (лага) между ними. То есть ковариация превращается в функцию одного аргумента: Cov(t₁, t₂) = Cov(t₁ - t₂) = Cov(τ), где τ = t₁ - t₂. Именно на этом свойстве строится анализ автокорреляционных функций.
Уточнение по терминологии: нестационарными называют все процессы, не подпадающие под определение стационарных. Зачастую здесь возникает путаница у тех, кто знаком со случайными процессами только в рамках упрощённого курса эконометрики. Там понятие нестационарности иногда ошибочно сужают до частных случаев — например, до наличия "единичного корня" или явного линейного тренда в авторегрессионных моделях. На самом деле мир нестационарных процессов гораздо богаче: сюда относятся и процессы с меняющейся волатильностью (гетероскедастичность), и структуры с изменяющейся памятью, и вообще любые системы, чьи статистические свойства "плывут" со временем. Если хотя бы одно условие стационарности нарушено — процесс официально считается нестационарным.
Процессы со стационарными приращениями
Приращение процесса — это случайная величина, равная разности между его сечениями в два разных момента времени. По аналогии со стационарностью самих процессов, стационарность приращений также делится на две формы:
- В узком смысле. Любой набор приращений сохраняет свое совместное распределение при сдвиге по времени. Главное условие — взаимное расположение всех точек, определяющих эти приращения, должно оставаться неизменным.
- В широком смысле. Здесь требования более мягкие:
- математическое ожидание и дисперсия отдельного приращения зависят только от длины интервала времени между его началом и концом;
- ковариация (и корреляция) между двумя разными приращениями не меняется при любом сдвиге по времени, если сохраняются их длины и временная дистанция между ними.
Процессы с независимыми/некоррелированными приращениями
Для процесса с независимыми приращениями любой конечный набор его приращений, взятых на непересекающихся отрезках времени, представляет собой совокупность независимых случайных величин. Чтобы не путать их с процессами со стационарными приращениями, важно отметить принципиальное различие:
- Любой стационарный процесс по определению имеет стационарные приращения.
- Однако стационарный процесс может иметь независимые приращения только в одном вырожденном случае — если он тождественно равен константе. Это можно объяснить тем, что в стационарном процессе значения в разные моменты времени "привязаны" к общему среднему, что неизбежно создает зависимость между приращениями.
Также стоит запомнить иерархию: любой процесс с независимыми приращениями является марковским (так как для предсказания будущего шага нам достаточно знать текущую точку). Но обратное неверно: существует множество марковских процессов, приращения которых зависимы.
Процессы с некоррелированными приращениями — это более мягкая форма (по аналогии с широкой стационарностью), где независимость заменяется отсутствием линейной связи. По определению, в таких процессах любая пара приращений на непересекающихся отрезках времени имеет нулевую корреляцию. Важное отличие от процессов с независимыми приращениями:
- для независимости нам требовалось выполнение условия для любого набора приращений "в совокупности",
- для некоррелированности достаточно попарного выполнения условия.
Эргодические процессы
Эргодичность — свойство, позволяющее оценивать характеристики процесса по его реализациям. Если доступна только одна траектория процесса общего вида, то даже приближённо восстановить его истинное математическое ожидание невозможно: для этого потребовалось бы множество независимых реализаций. Но если процесс эргодический, то среднее значение по одной долгой реализации становится надежным приближением для математического ожидания всего процесса. В этом смысле эргодичность очень похожа на Закон больших чисел (ЗБЧ) из классической теории вероятностей.
Обычно эргодичность определяют для строго стационарных процессов. Однако из-за огромной практической важности это понятие часто переносят на более широкие классы квазистационарных процессов. Помимо полной эргодичности часто довольствуются "частичной": процесс может быть эргодичен по математическому ожиданию, но при этом не эргодичен по дисперсии.
Эргодичность для трейдера — это "лицензия" на использование бэктестов. Если рынок в какой-то мере эргодичен, мы можем верить, что найденные на истории закономерности имеют отношение к общей природе актива, а не являются случайным совпадением на конкретном отрезке времени.
Марковские процессы
Это процессы с "короткой памятью": их будущее состояние зависит только от настоящего и никак не зависит от прошлого. Математически это означает, что если нам известно текущее значение, то знание всей предыдущей истории не даст нам никакой дополнительной информации о вероятном движении в следующие моменты. Условное распределение для значения процесса в будущем определяется только его последним известным состоянием.
Важный нюанс: практически любой процесс можно "превратить" в марковский, если расширить его пространство состояний. Поясним это на аналогии с числами Фибоначчи. Каждое следующее число в этой последовательности зависит от двух предыдущих (настоящего и прошлого). Казалось бы, это не марковский процесс. Но если мы изменим подход и будем рассматривать в качестве состояния не одно число, а пару соседних чисел, то каждая новая пара будет зависеть только от предыдущей пары.
Такой прием "марковизации" является теоретическим фундаментом для многих сложных систем, например, для скрытых марковских моделей (Hidden Markov Models, HMM). В трейдинге это позволяет описывать сложные рыночные режимы, формально оставаясь в рамках удобного математического аппарата марковских цепей.
Мартингалы
Этот класс процессов также описывает ситуацию, где "будущее не зависит от прошлого", но математическая логика здесь иная, чем у марковских процессов. Поэтому эти два класса лишь частично пересекаются.
Определение мартингала строится не на всем распределении вероятностей, а на условном математическом ожидании. Оно требует, чтобы ожидаемое значение процесса в будущем было в точности равно его текущему значению, независимо от того, какой путь цена прошла до этого момента.
Совпадение названия с мартингейлом — популярной стратегией удвоения ставок после проигрыша — совсем не случайно. Исторически математический аппарат мартингалов возник именно для того, чтобы доказать тщетность подобных манипуляций с объемом позиций. В идеальном мартингале (модели "справедливой игры") никакое управление капиталом не способно изменить нулевое математическое ожидание прибыли. Для трейдера это фундаментальное понятие: если рынок является мартингалом, то никакие комбинации прошлых баров не помогут предсказать направление следующего движения.
Гауссовские процессы
Это процессы, в которых любые конечномерные распределения являются гауссовскими (нормальными). Как мы уже отмечали в прошлых статьях, любые зависимости между величинами с совместным нормальным распределением всегда носят линейный характер.
Это приводит к удивительному упрощению: для полного описания всех вероятностных характеристик такого процесса нам достаточно знать всего две функции — математическое ожидание M(t) и автоковариацию Cov(t₁, t₂).
В трейдинге гауссовские процессы — это "золотой стандарт" для классических моделей. Если мы предполагаем, что рынок гауссовский, то весь технический анализ сводится к изучению средних и корреляций. Однако на реальных данных трейдеры часто сталкиваются с проблемой "толстых хвостов", когда распределение перестает быть гауссовским, и линейные модели начинают давать сбои.
Основные подходы
Дальнейшая классификация относится скорее к подходам к моделированию, нежели к выделению внутренних свойств самих процессов. Это выбор того "инструментария", которым мы будем препарировать рыночные данные.
Линейная теория
Это колоссальная область знаний, выросшая из изучения гауссовских процессов. Линейный подход доминирует в большинстве прикладных дисциплин: от классических временных рядов (ARIMA) и спектрального анализа до фильтрации (фильтр Калмана) и теории управления системами. Главное правило здесь такое же, как и для случайных величин:
- Для гауссовских процессов методы линейной теории дают математически точные и исчерпывающие решения.
- Для всех остальных процессов эти методы служат линейным приближением (приближением первого порядка). Это упрощенный, но крайне эффективный взгляд на мир, который позволяет строить прогнозы даже там, где полная математическая картина слишком сложна.
Нелинейная теория
Это область, где исследователи сознательно отказываются от линейных упрощений. Нелинейная теория признает, что рыночные процессы часто имеют "память", скачки и зависимости, которые невозможно описать простой суммой прошлых значений.
Здесь используются более сложные инструменты: нейронные сети, модели со сменой режимов (Markov Switching Models) или хаотическая динамика. Это попытка преодолеть ограничения линейных моделей и уловить более тонкие аномалии, на которых и строится современный алготрейдинг
Эконометрика
Эта дисциплина адаптирует теорию случайных процессов для анализа реальных экономических данных. В её основе лежит линейная теория (модели AR, MA, ARIMA), которая позволяет строить прогнозы на базе прошлых значений. Однако эконометрика идет дальше и включает мощные нелинейные инструменты — например, модели семейства ARCH/GARCH для анализа меняющейся волатильности ("вспышек" риска) и модели со сменой рыночных режимов.
Исчисление Ито
Это раздел математики, работающий с непрерывными (по времени и пространству) стохастическими дифференциальными уравнениями. Оно служит фундаментом для всей современной теории оценки опционов и управления рисками. Хотя базовые модели здесь часто линейны (как геометрическое Броуновское движение), исчисление Ито позволяет описывать и крайне сложные нелинейные зависимости, где дрейф и волатильность цены сами являются функциями от текущего состояния рынка.
Две последние области наиболее важны для трейдинга, поскольку предоставляют трейдеру полный набор инструментов от классической статистики до сложной математики непрерывных процессов. Именно их методы мы будем изучать подробнее в этой и дальнейших статьях, так как они составляют костяк современного количественного анализа.
Примеры случайных процессов
Дискретный белый шум
На практике не существует единственного "жёсткого" определения белого шума. Это скорее семейство моделей, выбор между которыми зависит от решаемой задачи. Базовым вариантом считается i.i.d. модель (independent and identically distributed) — бесконечный набор независимых и одинаково распределенных случайных величин. Если эти величины имеют нормальное распределение, процесс называют гауссовским белым шумом. Однако в зависимости от контекста требования могут смягчаться или меняться:
- Слабый белый шум. Вместо идентичности распределений требуют лишь одинакового математического ожидания (обычно нулевого) и постоянной дисперсии.
- Некоррелированный шум. Самое мягкое требование: независимость заменяется отсутствием линейной связи (автокорреляция равна нулю на всех лагах, кроме нулевого).
- Независимый, но разный шум. Можно сохранить полную независимость величин, но разрешить им иметь разные распределения (например, с меняющейся во времени волатильностью).
Свойства белого шума в рамках классификации:
- Время: это процесс с дискретным временем (случайная последовательность).
- Пространство состояний: зависит от распределения. Для гауссовского белого шума оно непрерывное, а, например, для распределения Бернулли (подбрасывание монетки с исходом +1 или -1) — дискретное.
- Стационарность: в зависимости от строгости определения, белый шум является стационарным процессом либо в узком, либо в широком смысле.
- Характеристики: математическое ожидание постоянно и обычно принимается равным нулю (M = 0), а дисперсия — единице (D = 1). Автокорреляционная функция такого процесса имеет специфический вид: она равна единице в нуле (связь значения с самим собой) и строго нулю во всех остальных точках (полное отсутствие связи между разными моментами времени).
- Зависимость и память: белый шум является марковским процессом (будущее не зависит от прошлого) и эргодическим (статистику всего процесса можно собрать по одной длинной реализации).
- Белый шум не является мартингалом.
Для наглядности ниже приведена реализация белого гауссовского шума. Чтобы не возникало ложной иллюзии непрерывности времени процесса, отсутствуют линии, соединяющие точки между собой. В приложении к статье приведён MQL5-скрипт, строящий график реализации гауссовского белого шума с заданными параметрами.

Дискретное случайное блуждание
Случайное блуждание определяется как кумулятивная сумма (накопление) дискретного белого шума. Поэтому все его свойства напрямую зависят от характеристик того "шума", который лежит в его основе. Свойства случайного блуждания в рамках классификации:
- Время: это процесс с дискретным временем (случайная последовательность).
- Пространство состояний: полностью зависит от распределения исходного шума.
- Стационарность: Процесс нестационарен ни в каком смысле — его характеристики "размываются" с течением времени. Однако он является процессом со стационарными приращениями (в узком или широком смысле, в зависимости от свойств шума).
- Характеристики: математическое ожидание равно t * M, а дисперсия t * D (где M и D — параметры шума). Важно, что автокорреляция здесь равна sqrt(min(t₁, t₂) / max(t₁, t₂)). Она зависит от конкретных моментов времени, а не просто от разницы между ними (t₂ - t₁), что еще раз подтверждает нестационарность.
- Зависимость и память: блуждание является марковским процессом (для следующего шага важна только текущая точка) и не является эргодическим.
- Мартингал: в отличие от белого шума, случайное блуждание является классическим мартингалом.
Для трейдера случайное блуждание, построенное на шуме (в его базовом определении) с нулевым математическим ожиданием — это модель рынка, на котором невозможно заработать. Математически это выражается жёстко: эквити любой торговой системы на таком случайном процессе само станет мартингалом. Это значит, что наше ожидаемое состояние счета в конце торговли всегда будет равно начальному капиталу, какую бы систему управления ставками мы ни применяли.
Для наглядности ниже приведена реализация дискретного случайного блуждания, основанного на белом гауссовском шуме. В приложении к статье приведён MQL5-скрипт, строящий график реализации случайного блуждания, основанного на гауссовском белом шуме с заданными параметрами.

Винеровский процесс
Это непрерывный (в обоих смыслах) аналог дискретного случайного блуждания. Родство между ними можно увидеть воочию: винеровский процесс получается из своего дискретного собрата путем предельного перехода. При этом, какое бы распределение дискретного шума ни бралось за основу, в итоге всегда получается гауссовский процесс — это напоминает действие Центральной предельной теоремы (ЦПТ). Свойства винеровского процесса в рамках классификации:
- Время и состояния: процесс с непрерывным временем и непрерывным пространством состояний.
- Приращения: обладает независимыми стационарными приращениями. За любой интервал времени h приращение имеет нормальное (гауссовское) распределение.
- Стационарность: как и блуждание, сам процесс нестационарен и не является эргодическим.
- Характеристики: математическое ожидание равно нулю (M = 0), а дисперсия растет линейно со временем (D = t). Это значит, что чем дальше мы от точки старта, тем шире диапазон возможных цен. Автокорреляционная функция винеровского процесса имеет вид sqrt(min(t₁, t₂) / max(t₁, t₂)). Она также зависит от абсолютных моментов времени, а не от разности между ними, что еще раз подтверждает его нестационарность.
- Траектории: это "самый колючий" из непрерывных процессов. Его траектории непрерывны (нет разрывов), но ни в одной точке не имеют производной. Для трейдера это математическое подтверждение того, что у истинно случайного графика нет "мгновенного тренда" или вектора скорости — направление меняется бесконечно часто.
- Зависимость: является марковским процессом и классическим мартингалом.
Винеровский процесс служит фундаментом всей стохастической финансовой математики (включая модель Блэка-Шоулза). Винеровский процесс часто называют броуновским (движением или процессом). Причина в том, что эта математическая модель идеально подходит для описания физического процесса хаотичного движения взвешенных частиц. В контексте анализа финансовых рынков эти названия обычно используют как полные синонимы.
Для наглядности ниже приведена реализация винеровского процесса. Конечно, правильнее говорить про его дискретизацию, а не саму реализацию. В приложении к статье приведён MQL5-скрипт, строящий график реализации винеровского процесса с заданными дисперсией и частотой дискретизации.

Как и дискретное случайное блуждание, винеровский процесс — эталонная модель рынка, на котором принципиально невозможно заработать. Математически это означает, что эквити любой торговой системы на таком процессе неизбежно является мартингалом (в непрерывном времени). Это означает, что наше ожидаемое конечное состояние счета всегда будет равно начальному капиталу, какие бы сложные алгоритмы входа и выхода мы ни применяли.
Для демонстрации этого эффекта в приложении к статье приведены:
- скрипт, моделирующий баланс при торговле с нулевым средним по классической системе мартингейла — удвоению объема позиции после каждого проигрыша;
- скрипт, моделирующий эквити торговой системы, которая работает по принципу "пересиживания": фиксированный тейк-профит при полном отсутствии стоп-лосса.
Пуассоновский процесс
Описывает общее количество случайных событий, происходящих с некоторой постоянной интенсивностью. Свойства пуассоновского процесса в рамках классификации:
- Время и состояния: это процесс с непрерывным временем (событие может произойти в любой миг), но с дискретным пространством состояний (мы считаем целое количество событий: 1, 2, 3...).
- Приращения: обладает независимыми стационарными приращениями, распределенными по закону Пуассона.
- Стационарность: процесс нестационарен (количество событий только растет) и не является эргодическим.
- Характеристики: Математическое ожидание и дисперсия равны между собой и растут линейно со временем: λ * t (где λ — интенсивность потока). Автокорреляционная функция имеет тот же вид, что и у винеровского процесса: sqrt(min(t₁, t₂) / max(t₁, t₂)).
- Траектории: представляют собой "лесенку" с постоянными ступенями. Цена (или количество) замирает на одном уровне и резко прыгает вверх в момент наступления события.
- Зависимость: является марковским процессом. Если из него вычесть его среднее (тренд), то полученный процесс станет мартингалом.
- Значимость для трейдинга: пуассоновский процесс — база для теории микроструктуры рынка. Его используют для моделирования потока ордеров на рынке.
Для наглядности ниже приведена реализация пуассоновского процесса. В приложении к статье приведён MQL5-скрипт, строящий график реализации пуассоновского процесса с заданной интенсивностью.

Марковская цепь
В самом простом виде — это марковский процесс с дискретным временем и дискретным пространством состояний. Главная особенность: переход в следующее состояние зависит только от того, где система находится сейчас. Эти вероятности переходов обычно записываются в виде матрицы переходных вероятностей. В простейшем случае (однородная цепь) эти вероятности не меняются с течением времени. Помимо матрицы переходов, для полного описания цепи необходимо задать вероятности начального распределения.
Нюансы классификации. Многие привычные свойства здесь "выпадают", так как состояния в цепях часто не имеют числовой природы (например, состояния "тренд", "флэт", "пробой"). В таком случае нет смысла считать математическое ожидание или приращение для номеров состояний. Другие свойства, такие как эргодичность, полностью зависят от структуры матрицы переходов (можно ли из любого состояния в итоге попасть в любое другое).
Применение в трейдинге. Марковские цепи — это база для прогнозирования типов свечей (например, какова вероятность "бычьего" бара после двух "медвежьих"). Также они лежат в основе скрытых марковских моделей (HMM), которые пытаются угадать невидимое состояние рынка (например, повышенная или пониженная волатильность) по косвенным признакам поведения цены. В приложении к статье приведён MQL5-скрипт, генерирующий реализацию для марковской цепи из последовательности состояний по заданной матрице переходных вероятностей.
Заключение
Мы прошли от формализации объекта (процесс — сечения и траектории) через понятия конечномерных распределений, моментов, автоковариаций, до практической классификации (стационарность, приращения, независимость/некоррелированность, марковскость, мартингал, эргодичность) и эталонных моделей (белый шум, случайное блуждание, Винер, Пуассон, марковская цепь). Конкретный результат для нас — не абстрактное понимание, а набор воспроизводимых действий:- чек‑лист для описания ряда: что именно моделируется (цена/доходности/эквити/поток), дискретное или непрерывное время, тип пространства состояний;
- набор тестов, которые нужно прогнать до построения модели: стационарность (широкая/узкая), стационарность приращений, автокорреляция, независимость приращений, признаки эргодичности;
- эталонные контрасты: сравнение ряда с белым шумом, случайным блужданием, Винеровским процессом, Пуассоновским потоком или марковской цепью — для интуитивной и статистической верификации гипотез;
- практические инструменты: готовые MQL5‑скрипты в приложении для генерации и визуальной проверки поведения моделей и типичных ловушек (мартингейл, «пересиживание»).
Приложение: практическая реализация в коде
Случайный процесс как математический объект практически невозможно представить в виде единого графического образа. Единственный способ наглядно "увидеть" его природу — сгенерировать его реализации. Эти траектории дают общее представление о характере процесса, его разбросе и внутренней логике. Ниже приведены MQL5-скрипты, строящие реализации для процессов, которые мы разобрали в теоретической части. Полезно запустить их в терминале MetaTrader 5, чтобы воочию увидеть разницу между хаосом белого шума, дрейфом случайного блуждания и скачками пуассоновской "лесенки".
Приложение 1
Скрипт white_gauss_noise.mq5 генерирует реализацию дискретного гауссовского белого шума с нулевым средним и заданным стандартным отклонением. Главная особенность визуализации — полное отсутствие линий, соединяющих соседние точки. Это сделано намеренно: в дискретном по времени процессе значения существуют только в фиксированные моменты и линии между ними создавали бы ложное ощущение непрерывности.
График одной из реализаций:

Реализация дискретного белого гауссовского шума с нулевым средним
Заданное среднеквадратическое отклонение: 1.0
Заданная длина реализации: 30
Приложение 2
Скрипт random_walk.mq5 генерирует реализацию дискретного случайного блуждания, основанного на гауссовском белом шуме с нулевым средним и заданным стандартным отклонением. В его основе лежит свойство стационарности приращений: каждый шаг процесса — это независимая случайная величина с постоянной дисперсией. Именно поэтому точки на графике визуально образуют "линию": процесс не может совершить скачок дальше, чем позволяет заданное стандартное отклонение одного шага. При этом, несмотря на локальную близость точек, процесс остается нестационарным. Из-за накопления случайных отклонений дисперсия растет линейно со временем, и траектория может уйти очень далеко от начального уровня, формируя те самые "тренды", которые могут обманывать нас.
График одной из реализаций:

Реализация дискретного случайного блуждания, основанного на гауссовском шуме с нулевым средним
Заданное среднеквадратическое отклонение шума: 1.0
Заданная длина реализации: 30
Приложение 3
Скрипт wiener.mq5 строит график реализации винеровского процесса с заданными дисперсией и частотой дискретизации. Хорошо видны непрерывность и "изломанность" графика. Если уменьшать промежуток времени, сохраняя частоту дискретизации, то график будет выглядеть похожим образом. Это говорит о его фрактальном самоподобии. График одной из реализаций:

Реализация винеровского процесса
Заданное среднеквадратическое отклонение: 1.0
Заданный отрезок времени реализации: от 0.0 до 2.0
Количество отрезков разбиения при дискретизации: 500
Приложение 4
Скрипт martingale.mq5 строит реализацию процесса, который моделирует баланс при торговле (с нулевым средним) по классической системе мартингейла — удвоению объема позиции после каждого проигрыша (тейк-профит и стоп-лосс одинаковы). Процесс дискретный по времени, поскольку берутся только моменты завершения сделок.
Траектория этого процесса состоит из длинных серий мелких прибылей (медленный рост) и внезапных глубоких просадок. Этот скрипт визуализирует парадокс: несмотря на то, что вероятность серии проигрышей мала, их влияние на итоговый капитал катастрофично. С точки зрения теории случайных процессов, эквити такой системы является мартингалом с нулевым математическим ожиданием. Это означает, что "красивая" растущая линия на графике — лишь временное поведение траектории, которая в любой момент может упасть до нуля, подтверждая математическую бесполезность попыток обмануть случайность простым манипулированием объёмами сделок. График одной из реализаций:

Реализация процесса эквити торговли с удвоением после проигрыша (мартингейл)
при равной вероятности проигрыша и выигрыша
Заданный начальный капитал: 5
Приложение 5
Скрипт sitting.mq5 моделирует динамику эквити торговой системы, которая работает на цене (винеровском процессе) по принципу "пересиживания": фиксированный тейк-профит при полном отсутствии стоп-лосса. Процесс непрерывный по времени, но для наглядности оставлены только точки входа в сделки, выхода из них и достижения просадки.
Траектории процесса выглядят (до некоторого момента) на удивление привлекательно: мы видим почти идеальную восходящую линию из мелких прибылей. Однако это лишь следствие того, что мы искусственно "отбираем" положительные отклонения и игнорируем отрицательные, пока они не превращаются в катастрофический убыток.
Поскольку исходный процесс является мартингалом, накопленное эквити такой системы также остается мартингалом. Математически это означает, что сумма всех зафиксированных тейк-профитов рано или поздно будет перекрыта одной гигантской просадкой, которая обнулит депозит. График одной из реализаций:

Реализация процесса эквити торговли без стоп-лосса и фиксированном тейк-профите,
при цене, ведущей себя как винеровский процесс
Заданный начальный капитал: 5.0
Приложение 6
Скрипт poisson.mq5 строит график реализации Пуассоновского процесса с заданной интенсивностью на заданном промежутке времени. Для генерации используется известное свойство процесса, что промежутки времени между событиями независимы между собой и распределены по экспоненциальному закону со средним, обратным к интенсивности процесса. График одной из реализаций:

Реализация пуассоновского процесса
Заданная интенсивность: 4.0
Заданный отрезок времени реализации: от 0.0 до 2.0
Приложение 7
Скрипт markov_chain.mq5 генерирует реализацию для марковской цепи из последовательности состояний по заданной матрице переходных вероятностей. Один из результатов запуска:
Количество состояний марковской цепи: 3
Матрица переходных вероятностей:
[[0.70, 0.25, 0.05]
[0.25, 0.70, 0.05]
[0.05, 0.05, 0.90]]
Заданное число переходов: 20
Сгенерированная траектория (последовательность состояний, обозначаемых их номерами):
1 -> 2 -> 3 -> 3 -> 3 -> 3 -> 1 -> 1 -> 1 -> 1 -> 3 -> 3 -> 2 -> 1 -> 1 -> 1 -> 2 -> 2 -> 2 -> 2 -> 2
Список приложенных файлов
| # | Имя | Описание |
|---|---|---|
| 1 | white_gauss_noise.mq5 | Скрипт генерирует реализацию дискретного гауссовского белого шума. |
| 2 | random_walk.mq5 | Скрипт генерирует реализацию дискретного случайного блуждания, основанного на гауссовском белом шуме. |
| 3 | wiener.mq5 | Скрипт строит график реализации винеровского процесса с заданными дисперсией и частотой дискретизации. |
| 4 | martingale.mq5 | Скрипт строит реализацию процесса, который моделирует баланс при торговле (с нулевым средним) по классической системе мартингейла |
| 5 | sitting.mq5 | Скрипт моделирует динамику эквити торговой системы, которая работает на цене (винеровском процессе) с фиксированным тейк-профитом и без стоп-лосса. |
| 6 | poisson.mq5 | Скрипт строит график реализации Пуассоновского процесса с заданной интенсивностью на заданном промежутке времени. |
| 7 | markov_chain.mq5 | Скрипт генерирует реализацию для марковской цепи из последовательности состояний по заданной матрице переходных вероятностей. |
Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.
Данная статья написана пользователем сайта и отражает его личную точку зрения. Компания MetaQuotes Ltd не несет ответственности за достоверность представленной информации, а также за возможные последствия использования описанных решений, стратегий или рекомендаций.
Реализация LLM-агента с SQL-памятью в MetaTrader 5
Разработка инструментария для анализа движения цен (Часть 22): Панель корреляции
Создание самооптимизирующихся советников на MQL5 (Часть 10): Факторизация матриц
Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (UniMixer)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования