Решил написать цикл статей про алгоритмическую торговлю с моего взгляда и опыта, как я это вижу и применяю, т.е. буду описывать мой субъективный взгляд ;) Начну с самых простых вещей и буду двигаться к более сложным…
P.S. Описание содержит (или отталкивается от) практику торговли фьючерсами на CME
Исходные данные:
Все, что у нас есть это исторические данные, даже наш опыт это тоже «исторические данные» в известном смысле, и будущего не знает никто. Поэтому работаем только от истории. Поступающие в реальном времени данные, тут же становится историческими т.к. уже случились.
Наша задача – найти закономерности на имеющейся истории, дающие статистическое преимущество и эксплуатируя их получать профит. Но сами «закономерности» должны обладать определенными свойствами. Например, любая закономерность должна область определенной степенью «стационарности» (стабильности), что бы она могла дать нам себя поэксплуатировать, (об этом я расскажу в будущих статьях). Еще одно из таких свойств – техническая возможность ее эксплуатировать, но это больше касается HFT, а этот цикл не о высокочастотной торговле.
Как говорится — дьявол кроется в деталях. И прежде чем приступить к поиску, и тем более к эксплуатации, надо определить, а что такое закономерность? Абстрактно ответ вроде прост и ясен – эта некая ситуация на рынке, которую можно описать и выявить, т.е. это некоторый паттерн (будем так это называть). Но на самом деле описание паттерна включает, не одну конкретную ситуацию, а группу «схожих», т.к. нет абсолютно двух одинаковых. Попробую проиллюстрировать:
А что это за пространство? Это множество элементов или «квантов» этого пространства, а именно данные об совершенных трейдах или сделках на рынке, другие данные я не учитываю (в т.ч. книгу ордеров). А какую информацию содержит «квант» (или тиковые данные) — время; цену; объем; тип (по биду или аску проходила сделка). Сами «кванты» упорядочены во времени и в этом случае паттерн будет опознаваться неким алгоритмом, принимающим на вход эту последовательность и выделяющий в ней группы, которые он считает идентичными с точки зрения описывания событий. Проиллюстрирую это ниже:
На самом деле из набора содержащейся в «квантах» информации имеет значение только цена, далее попытаюсь это обосновать:
Почему неважен тип сделки? Если нам важен тип сделки, то тогда стоит анализировать и книгу ордеров или как минимум данные «стакана». Но это актуально для высокочастотной торговли и/или для скальперов, а в моем подходе время в сделке может доходить до нескольких дней. И в этом случае нас интересую в целом только ликвидность инструмента, что например для ES, NQ, CL, GC (и многих других фьючерсов) и указанного характерного времени в сделке хватает для большинства депозитов с огромным запасом.
А что касательно времени и объема (тут, возможно, многие не согласиться со мной, но у каждого свой путь)? А они имеют значение только тогда, когда мы пытаемся наши «кванты» еще раз «проквантовать», т.е. пытаемся сгруппировать их по времени, с созданием новой сущности, такой как OHLCV. Да, это удобно для визуализации, например в виде «свечного графика». А время и объем отдельного «кванта» не имеет большого значения. Использование данных в алгоритме виде OHLCV, хоть и возможно, но имеет ряд проблем. Одна из них проблема выбора тайм-фрейма и точки отсчета. В каком виде «нарисуются свечи» будет зависеть и от тайм-фрейма и от точки отсчета и влечет потерю данных, попробую проиллюстрировать:
Мне кажется, корни использования OHLC кроются в том, что большинство «знакомиться» с рынком через графики, и далее переходя к алгоритмам «проецируют этот опыт туда». Так же, «принуждать» к использованию этого подхода может производительность используемых фреймворков и/или отсутствие доступа к тиковым историческим данным.
Еще доводы. Сам «паттерн», описывающий ситуацию может (и даже должен) не зависеть от времени и объемов. Что если он сформировался не за 30 минут, а за 25 или 50? Должны ли мы тогда отказываться от него? Что если объем на нем не 1000, а 800 или 1250? Учет этих нюансов усложняет подход и увиливает «размерность». Да и сами краткосрочные или долгосрочные, проходящие на большем или малом объеме ситуации, будут иметь разные характеристики и без учета времени и объема, что возможно мне удастся донести в следующих статьях…
P.P.S
Формирование следующих статей цикла будет производиться по мере наличия времени и желания ;)
Всем успехов в торговле!
Зато кол-во данных уменьшается во много раз.
Всегда интересно посмотреть на подходы других алготрейдеров. Надеюсь продолжение не заставит себя долго ждать.