Автоматические торговые системы. Использование методов Data Mining и оптимального управления в трейдинге.

четверг, 14 февраля 2008 г.

О методе «белой вороны» II,

или как решать задачу оптимального управления,

имея вместо уравнений исторические данные


Дмитрий Толстоногов


- Они все с ума посходили.

- Нет, Мид. Один такой тип - сумасшедший. А когда их превеликое множество - это марш леммингов к смерти. И даже не пытайтесь со мной спорить - я нанес все эти данные на график. Когда у нас в прошлый раз возникла схожая ситуация, ее назвали "Эрой Замечательной Чепухи". Но сейчас все гораздо хуже. - Он засунул руку в нижний ящик и достал большой лист бумаги. - Амплитуда уже почти в два раза больше, чем тогда, а мы еще не достигли максимума. Что будет, когда мы его достигнем, мне, честно говоря, даже не хочется думать. Три различных кривые одновременно достигнут наибольшего значения.

Роберт Хайнлайн. Год резонанса.


Итак, мы решаем задачу построения механической торговой системы (МТС) с экстраординарными, как ожидается, результатами, формулируя ее в виде задачи оптимального управления.


1. На чем основана наша уверенность в выдающихся результатах?

Во-первых, в более эффективном управлении капиталом. Как работают традиционные МТС? Открывается позиция, и мы пассивно ждем, закроется она с прибылью или убытком. В нашем случае мы действуем активно. Мы можем регулировать размер и направление позиции хоть на каждом баре, если ожидаемая прибыль больше ожидаемых издержек на комиссии и проскальзывание. Контролируя позицию на каждом баре, мы значительно уменьшаем рыночный риск. Легко показать, что риск позиции, удерживаемой в течение одного бара, меньше риска позиции, удерживаемой в течение N баров, в (N)^(-1/2) раз.

Во-вторых, легко показать, что частые небольшие прибыли гораздо эффективнее, чем редкие большие, за счет эффекта реинвестирования, и за счет фрактальности ценового ряда1.

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

В четвертых, мы не используем отдельные редкие закономерности, как это делают обычные МТС. Поэтому мы не подвержены эффекту «умирания» метода торговли из-за того, что многие трейдеры находят и начинают эксплуатировать эти единичные закономерности. Напротив, мы извлекаем возможную прибыль из всех ситуаций. Это эквивалентно одновременному использованию портфеля из сотен МТС для каждого торгуемого актива.

В пятых, мы существенно уменьшаем возможность подгонки моделей под исторические ряды цен. Поскольку мы не привязаны к отдельным сделкам и можем управлять капиталом на каждом шаге, мы можем в качестве тестового множества использовать случайные выборки, проводить анализ Монте-Карло, использовать эффективные способы тестирования моделей, например, leave-one-out cross validation.

В шестых, рассмотрим задачу с точки зрения управления портфелем инвестиций. Классическая теория оптимального портфеля Марковица предполагает единовременный выбор долей капитала, инвестированных в те или иные финансовые инструменты на основе их статистических свойств, оцененных по историческим данным. При этом решается задача оптимизации. Это неявно предполагает, что статистические свойства рынка неизменны во времени. В нашем случае «управление» предполагает постоянную реструктуризацию портфеля в соответствии с текущими и ожидаемыми рыночными условиями и текущим состоянием управляемого объекта – капитала.


2. Мы имеем задачу оптимального управления


dEquity(t) = leverage(t) * dPrice(t) – Slippage&Comission(t),


где

dEquity(t) = Equity(t+1) / Equity(t) – 1


dPrice(t) = Price(t+1) / Price(t) – 1


Equity(T) max


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

Управление можно разделить на следующие три типа.

1) Программное управление строится по историческим данным и не учитывает текущего состояния системы. Примерами такого управления является решение задачи оптимизации портфеля по Марковицу.

2) Управление с обратной связью является функцией от текущего состояния системы. Данная задача является более общей, так как доли капитала могут меняться в соответствии с изменениями состояния.

3) Управление с обратной связью и упреждением является функцией от текущего состояния системы и его прогноза

3. Существует мнение, что цены, в принципе, не прогнозируемы.

Смеем утверждать, что это не совсем так: временами изменения цен вполне прогнозируемы, а временами совсем не прогнозируемы. Перефразируя Эйнштейна, «Бог иногда играет в кости». Разумеется, под прогнозом мы понимаем статистический прогноз изменений цен в терминах матожидания. Если бы было возможно точно их прогнозировать, то оптимальное управление строилось бы очевидным образом: long с максимально возможным плечом в точках разворотов цен снизу вверх, и short с максимально возможным плечом в точках разворотов цен сверху вниз. Это соответствует так называемому «бэнг-бэнг» принципу управления, когда управляемый объект дискретно переключается между экстремально допустимыми значениями.

4. В линейном случае можно строить модель состояния независимо от управления. Процедура построения модели состояния по экспериментальным данным называется идентификацией. В нашем случае, если мы положим управление равным единице, то получим ситуацию buynhold, т.е. модель состояния совпадет с моделью изменения цен. Эту задачу пытаются решить с той или иной степенью успешности уже более ста лет.

5. Классические методы решения задач управления капиталом и ценообразования можно условно разделить на следующие (пересекающиеся) классы.

1) Эконометрика, или прикладная статистика – корреляционный, регрессионный, факторный и прочий анализ. Ключевая фраза для поиска здесь – анализ временных рядов.

2) Классические методы теории управления, основанные на аналитических методах механики и физики. Интересующихся отсылаем к справочнику А.А. Красовского или к свежему учебнику Дорфа и Бишопа2.

3) Использование стохастических дифференциальных уравнений. Интересующихся отсылаем к Пугачеву и Синицыну. Robert C. Merton, помимо своего вклада в ценообразование опционов (за который он совместно с Myron Scholes получил в 1997 году Нобелевскую премию по экономике), известен также решением «задачи Мертона о портфеле» в терминах оптимального управления. Среди других известных нам авторов, решающих задачу об оптимальном управлении портфелем при помощи стохастических дифференциальных уравнений, Sergei Maslov и В. И. Жижилев.

Кстати, вы задумывались, почему экономисты так любят моделировать приращения цен броуновским движением? Наш ответ: потому что это позволяет решить задачу об управлении портфелем в явном виде.

Ключевые термины для этого раздела: фильтр Калмана, уравнение Беллмана, динамическое программирование, принцип максимума Понтрягина. Последний метод оказался на редкость плодотворным: говорят, его развитию посвящено более двухсот докторских диссертаций, не считая решенных задач. Но на практике такими методами обычно удается решить лишь задачи с известными аналитическими функциональными зависимостями, либо упрощенные до практической бесполезности «игрушечные» 3 задачи.

4) Наиболее продвинутым из известных нам методов оптимального управления является Model Predictive Control. Суть его в следующем:

а) рассматривается относительно простая модель управляемого объекта. При текущем состоянии в качестве начального, и известном программном управлении строится прогноз состояния на несколько шагов вперед;

б) выполняется оптимизация программного управления на горизонте прогноза с учетом всех ограничений на управление и состояние;

в) реализуется найденное оптимальное управление на один шаг вперед и измеряется состояние;

г) горизонт прогноза сдвигается на шаг вперед, и повторяются пункты а)-в).

Это позволяет управлять достаточно сложными объектами в режиме реального времени.

Оптимально управлять портфелем инвестиций при помощи Model Predictive Control пытается В.В. Домбровский с учениками.

6. Data Mining,

или получение знаний из эмпирических данных. В отличие от статистических методов, оперирующих выборочными моментами4, методы Data Mining не делают предположений о виде распределений вероятностей и ищут закономерности в подмножествах выборочных данных. Методами Data Mining решают задачи кластеризации – группировке похожих в определенном смысле примеров данных, классификации определении принадлежности примеров к одному из заданных классов, и регрессии – обнаружении количественных зависимостей между признаками и прогнозируемой величиной.

Используя технологии Data mining, современные методы идентификации и управления вместо заданных аналитических зависимостей могут использовать обучение на эмпирических данных без математической формализации объектов управления.

Имея исторические данные, мы знаем, что нужно было делать в прошлом в той или иной ситуации. Мы можем поставить в соответствие каждой ситуации адекватную на нее реакцию – управление. Мы можем определенным способом обучить систему управления распознавать и нужным образом реагировать на эти ситуации. Для этого необходимо

а) Определить и разметить на истории примеры ситуаций. Это могут быть, например, приращения цен на следующем шаге, или их знак. Можно вручную отметить нужные бары: в TradeStation легко сделать, чтобы при клике мышкой на данный бар на графике его координаты – дата, время и требуемое значение – писались в лог, а при использовании глобальных dll типа pulse – в файл.

б) Задать множество признаков для каждого примера.

в) Создать множество примеров ситуаций с соответствующими управлениями.

г) Обучить систему распознавать ситуации.

д) Обеспечить адаптацию системы управления к текущим изменениям рынков.

Эту процедуру можно реализовать при помощи большого числа методов.

  1. Самым популярным методом машинного обучения являются нейронные сети5. Это не случайно: нейронные сети естественным образом связаны с дискретными динамическими системами6, т.е. теоретически решают задачу идентификации. Доступным введением в тему является книга Neural Networks in Finance, охватывающая также тему генетических алгоритмов. Из русскоязычных книг нам понравилась Нейронные сети: распознавание, управление, принятие решений А.Б. Барского. Стиль изложения таков, что книгу можно читать вместо беллетристики на ночь.

  2. Следующим большим классам методов, которым можно решить наши задачи, являются эволюционные методы, и в частности, генетические алгоритмы. Здесь нельзя не упомянуть нашего бывшего соотечественника академика А.Г. Ивахненко, который изобрел Метод Группового Учета Аргументов (МГУА). Им написано как минимум 15 книг и множество научных статей, его учениками защищено свыше двухсот диссертаций, а его метод реализован в известных программах NeuroShell и PolyAnalyst.

  3. Стоит отметить нечеткую логику, которая хорошо сочетается с вышеупомянутыми методами. Хорошим, на наш взгляд, руководством является только что вышедшая книга С.Д.Штовбы Проектирование нечетких систем.

  4. В последнее время на Западе вошел в моду метод еще одного нашего бывшего соотечественника В. Н. Вапника: метод опорных векторов, или Support Vector Machines. Представляют интерес и его ранние русскоязычные книги, дающие теоретическую основу для решения задач регрессии и классификации по ограниченному набору данных.

  5. И, наконец, отметим алгебраические методы обнаружения логических закономерностей в данных вида «если …, то …». Главным в этой области считается академик Ю.И. Журавлев с учениками. Одним из наиболее популярных алгоритмов здесь являются деревья решений. Традиционные торговые стратегии, как правило, оперируют именно логическими правилами «если …, то …».

7. Принцип «зачем делать просто, когда можно сложно»

популярен в этой области как нигде. Приведем показательный пример. Однажды к одному ученому за отзывом на автореферат диссертации пришла аспирантка, представительница известной научной школы, уверенная, что она решила уникальную задачу классификации большой размерности. Как выяснилось, классов было два, а признаков всего восемь. Искалась разделяющая классы линейная граница. Идея была в том, что при поиске вектора весов граничной линии использовался довольно сложный функционал качества решения, назначением которого было бороться с многоэкстремальностью. Перед тем, как приступить к классификации, аспирантка провела отбор признаков самым простым эвристическим методом, оставив в итоге 4 или 5 признаков, потому что «так до нее делали другие» и «программа долго считает». Даже с оставшимися признаками программа считала целый день. Большим разочарованием для нее оказалось то, что аналогичные результаты можно было получить самыми простыми методами, типа деревьев решений, без всяких математических наворотов, и за считанные минуты.

8. Мы сознательно не делаем обзоров упомянутых методов.

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



1 Классическая иллюстрация фрактальности – это ответ на вопрос о длине береговой линии Англии. Правильных ответов два: 1) зависит от разрешения линейки; 2) бесконечность.

2 Аннотация данной книги не имеет ничего общего с ее содержанием. Вероятно, поэтому книга продается с 50%-й скидкой. У нас это называется buying opportunity.

3 Определение принадлежит одному специалисту по оптимальному управлению, доктору наук, профессору и т.д.

4 Пример выборочного момента 1-го порядка – средняя температура по больнице.

5 Google на «нейронные сети» возвращает в два раза больше ссылок, чем на «генетические алгоритмы».

6 См. Лекции по нейроинформатике-2002. Там много интересного.

Комментариев нет: