Прошлая часть — в моем блоге.
Стандартный подход к вычислению PIN состоит в нахождении методом максимального правдоподобия ненаблюдаемых параметров (α,δ,μ,ϵ) описывающих стохастический процесс трейдов, и последующем вычислением PIN из этих параметров. Мы представим аналитическую оценку токсичности, не требующую промежуточного вычисления ненаблюдаемых величин. Мы обновляем нашу метрику в привязке к объемам для учета скорости прибытия новой информации на рынок. Эта метрика, которая называется VPIN, предоставляет простую оценку токсичности потока ордеров в высокочастотном окружении.
Природа информации и времени
Информация в модели последовательной торговли в общем виде представляет из себя данные, которые несут сообщение о будущем уровне цены актива. На эффективном рынке, значение цены актива отражает его полную информационную величину, в связи с тем, что информированный трейдер стремится получить прибыль от владения этой информацией. Так как маркет-мейкер может занимать как длинную, так и короткую позиции, будущие движения актива влияют на его прибыльность, и он пытается извлечь информацию из паттернов торговли. Эти его попытки отражаются в устанавливаемых уровнях бида и аска.
В статьях об индикаторе PIN мы определили, что на рынке присутствуют два типа трейдеров — информированные и неинформированные. Заявки неинформированных трейдеров всегда подвержены adverse selection risk со стороны информированных. Ситуация, когда после исполнения таких заявок цена движется в невыгодную для неинформированных участников сторону, называется токсичностью потока ордеров. Индикатор PIN служил для измерения этой токсичности, в данной статье мы рассмотрим усовершенствованный индикатор VPIN, который применим и для высокочастотной торговли. Цикл статей основан на публикации Maureen O’Hara "Flow Toxicity and Liquidity in a High Frequency World". Будет все описываться очень подробно, потому что, кроме нахождения непосредственно VPIN, в этой публикации много интересных выводов и фактов.
Ли́нии (по́лосы) Бо́ллинджера(англ.Bollinger bands) — технического анализа финансовых рынков, отражающий текущие отклонения цены акции, товара или валюты.
Индикатор рассчитывается на основе стандартного отклонения от простой скользящей средней. Обычно отображается поверх графика цены. Параметрами для расчета служит тип стандартного отклонения (обычно двойное) и период скользящей средней (зависит от предпочтений трейдера).
Индикатор помогает оценить, как расположены цены относительно нормального торгового диапазона. Линии Боллинджера создают рамку, в пределах которой цены считаются нормальными. Линии Боллинджера строятся в виде верхней и нижней границы вокруг скользящей средней, но ширина полосы не статична, а пропорциональна среднеквадратическому отклонению от скользящей средней за анализируемый период времени.
Окончание цикла статей. Начало и другие алгоритмы биржевой торговли смотрите в моем блоге и на сайте.
В прошлой части мы продемонстрировали обучение модели Маркова на данных, полученных с помощью симуляции. В данной статье рассмотрим производительность модели на реальных данных. Будем тестировать трендследящую стратегию на индексе S&P500.
В большинстве задач с использованием машинного обучения требуются обучающие данные с разметкой классов (состояний). В нашем случае такой разметки нет, поэтому сначала сгенерируем классы для обучающей выборки.
Мы хотим создать трендследящую стратегию, поэтому должны выбрать участки на выборке цен S&P500, которые соответствуют восходящему и нисходящему трендам ( также можно отметить участки, где тренды отсутствуют). Можно это сделать вручную, а можно применить программу, которая автоматически расставит метки в соответствии с вашими определениями тренда.
В этой части рассмотрим обучение модели скрытых состояний Маркова на языке R. В прошлых статьях мы изучили математическую основу модели, которая воплощена в библиотеке RHmm. Есть два способа распознавания режимов с помощью модели Маркова, первый — использование одной модели, каждое состояние которой отражает режим, в каком находится рынок. Второй способ подразумевает построение нескольких моделей, каждая из которых создана для одного режима, задача состоит в том, чтобы выбрать ту модель, которая генерирует данные, наиболее соответствующие текущему состоянию рынка. Рассмотрим оба эти способа.
Метод первый — одна модель с несколькими состояниями.
Для обучения модели будем использовать исходные данные, полученные симуляцией из нормального статистического распределения N(mu,sigma), где mu — медиана, sigma — среднеквадратичное отклонение. Распознавание будем производить для двух режимов — бычьего (bull) рынка, на котором наблюдается восходящий тренд и медвежьего (bear) рынка, на котором тренд нисходящий. Соответственно, сгенерируем приращение значений из двух нормальных распределений - N (mu.Bull,sigma.Bull) и N(mu.Bear,sigma.Bear). На рисунке показан результат такой генерации на 300 наблюдений, 100 первых из которых получены из бычьего распределения, 100 вторых — из медвежьего и 100 последних — из бычьего с другими параметрами mu и sigma (каждое приращение будем считать дневным):
Трейдеры, которые приобрели мою программу robot_uralpro (см. пост на смарт-лабе), спрашивают, можно ли доработать алгоритм для применения его на современном рынке? Напомню, стратегия робота основана на взаимоотношении цен синтетического индекса, составляемого динамически из рыночных цен акций, входящих в индекс РТС, и фьючерса RI. Идея «одноногого» статистического арбитража, реализованного в роботе, будет работать и сейчас, только в том случае, если научиться правильно определять, какой актив опережает другой в смысле динамики их цен. Эта статья посвящена правильному выявлению такого взаимодействия, которое в англоязычных источниках называется «lead-lag relationship» -опережение-отставание между разными активами.
Те алготрейдеры, кто не приобретал robot_uralpro, тоже сочтут эту статью полезной, так как lead-lag relationship может использоваться в стратегиях парного трейдинга и им подобным. Например, определив такое взаимодействие, можно исключить из парного трейдинга один из активов ( с учетом того, конечно, что отношение торгуемых инструментов было описано четкой моделью) и значительно увеличить тем самым прибыльность стратегии.