Поиск по сайту:
Гость
Редакционная политика

Нелинейность, искусственный интеллект и генетические алгоритмы (Часть 1)

14.05.2013 07:47 - Intro - Алготрейдинг
Проект HFT Review взял интервью у Адама Фишера из Hyde Park Global. Адам имеет в своем багаже более двух десятилетий опыта в финансовой индустрии, включая 12 лет в банке Bear Sterns, где он был Управляющим Директором. Hyde Park Investments на 100% роботизированный фонд, использующий Искусственный Интеллект (ИИ). Система построена, преимущественно, на Генетических Алгоритмах (ГА) и других Эволюционных моделях, для определения ценовых расхождений, арбитража и паттернов на электронных финансовых рынках. Вдобавок, Hyde Park Global разработал программы распознавания языка и настроения аналитиков для торговли на основе новостей. Hyde Park Global не нанимает аналитиков, портфельных управляющих или трейдеров, только ученых и инженеров.

Адам, вы можете дать определение высокочастотному трейдингу?

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

Это интересно. Вы — первый, кто сказал это.

Давайте посмотрим на тех, кто использует высокочастотную торговлю. Первые три группы, которые приходят на ум — это статистические арбитражеры, маркетмейкеры и алгоритмы исполнения заявок. Очевидно, что в основном, у них высокий уровень технологичности.

Инженеры тратят много времени на проблемы нелинейности, студенты учатся решать проблемы нелинейности в своей работе. Пример линейности — это регулятор громкости в вашем радио. Как вы повернете регулятор — настолько же звук и станет громче. Нелинейность же — это когда вы поворачиваете регулятор совсем чуть-чуть и звук становится громче в сто раз, вы крутите регулятор дальше и громкость звука уменьшается. В основном, высокочастотный и высокоскоростной трейдинг позволяет нам применять стратегии, которые имеют значительный уровень инженерной работы для устранения краткосрочных и малых неэффективностей рынка. Другими словами, высокочастотный и скоростной трейдинг пытается разбить время на промежутки, внутри которых информация становится достаточно линейной для нашей модели.

Профессор Lubos Pastor из Университета Чикаго, при помощи Байесовского вывода показал, что неопределенность компонентов с течением времени увеличивается. Хотя, простой пример может быть не показателен, из-за влияния сторонних событий, например, новостей. Если есть новости, которые определяют ваши решения и этим новостям неделя, то очень возможно, что они несильно помогают вашей торговле.

Такая же временная деградация применима к задержке цены и объемам котировок. Легко представить, что если у вас значительная задержка в получении котировок, то ваши операции маркет-мейкинга неэффективны.

Где используется искусственный интеллект в высокочастотной торговле?

Для начала, устраним неоднозначности терминологии. Что мы считаем ИИ? Мы не считаем ИИ систему, которая пытается имитировать поведение человека или человеческое мышление. Я видел несколько статей, написанных в финансовой прессе, о ряде крупных банков, использующих ИИ и пытающихся воспроизвести поведение трейдера — человека. В своем фонде мы не видим причин для имитации человеческого поведения или мышления.

Что мы называем ИИ в своей компании. Чтобы лучше понять ответ, рассмотрим задачи с которыми мы сталкиваемся и которые заставляют нас использовать комбинацию ИИ и алгоритмической платформы. Как вы осуществите миллионы вычислений каждую секунду, отслеживая цены, объемы и новости для более чем 3000 акций с множеством различных целевых функций? Большинство людей могут понять, что только машина может видеть и оценивать более 3000 активов каждую секунду и это очевидно, что человек-трейдер, аналитик или портфельный управляющий или даже толпа трейдеров не могут сделать этого. Если у вас тысяча трейдеров, вместо одного, вы можете делать в тысячу раз больше вычислений, но вы не сможете делать ваши вычисления в тысячу раз быстрее. Вы можете читать в тысячу раз больше новостей, но не сможете читать новости в тысячу раз быстрее. Другой вопрос, как именно машины узнают, что им делать? Машина оценивает и анализирует новости, цены и объемы торгов, но что дальше? Дальше ученые программируют машины на целевые задачи или оптимизацию уже имеющихся алгоритмов работы.

Например, мы можем запросить компьютер найти нам наибольшую прибыль (что, исходя из опыта нашей компании, редко является оптимальной целью) или, что предпочтительно, наилучшее значение прибыли при умеренном риске и определить рисковую составляющую как изменяющееся значение, к-т Шарпа, Улцера или что-либо другое, что вы считаете наиболее правильным в качестве параметра для оптимизации.

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

Мы знаем слишком хорошо, что одна и та же формула не работает всё время. Давайте обсудим, как компьютер обучается и как мы можем проверить, что изученные модели могут быть применены к еще не полученной (будущей) информации. Компьютер учится на исторической информации и использует сложные генетические алгоритмы для обнаружения потенциально лучшего торгового метода. Затем компьютер тестирует свою способность изучать на различных наборах данных, которые еще не видел.

Для уточнения, если мы определим, что то, что машина изучила за период 1 также применимо к периоду 2, то мы можем сказать, что торговая модель надежна (робастна). Тогда мы можем продолжить обучение на данных обоих периодов. И мы тестируем нашу модель снова, на новых данных, которые будут периодом номер 3. Система продолжает учиться и адаптироваться дальше таким образом.

Верно, в основном это последовательный процесс обучения?

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

В своей фирме мы широко используем эволюционные компьютерные алгоритмы, такие, как генетические алгоритмы, в платформе машинного обучения. Очевидно, что для многих стратегий, сокращение периода обучения и увеличение частоты делают систему более надежной и адаптивной. Я бы хотел заметить здесь, что огромный объем информации необходим для обучения и тестирования, и что ежесекундный анализ входящей информации - поистине большая задача.

Можете ли вы рассказать немного больше про генетические алгоритмы?

Конечно. Это как эволюционная оптимизационная модель, которая имеет четыре элемента внутри своего ядра: отбор, мутации, пересечение и подбор параметров.

Мы используем генетический алгоритм, потому-что считаем, что наши торговые модели имеют множество локальных (суб-оптимальных) решений, но мы заинтересованы найти глобальный оптимум.

Простая аналогия. Представьте, что вы пытаетесь дойти до вершины горы в темноте. Вы можете видеть ее перед собой. Вы делаете шаг. Если вы поднялись, это был хороший шаг. Если вы спустились — плохой. Если вы делаете правильные шаги, то достигнете точки, после которой каждый шаг, что вы сделаете, будет шагом назад, так как каждый шаг будет шагом вниз.
Основной вопрос в том, достигли ли вы вершины горы? И ответ — может да, может нет. Перефразируя, возможно вы достигли локального оптимума, но не обязательно глобального. Генетический алгоритм позволяет иметь больше шансов найти вершину горы путем исследования различных территорий, обучения на основе результатов.

Это очень похожая аналогия, но смысл в том, что генетический алгоритм позволяет вам найти глобальный оптимум, который, в нашем примере торговой модели, может максимизировать искомый параметр функции.

Превосходно, вы описали это таким образом, что я вас понял. А что насчет алгоритмов, анализирующих новости? Я так понял, вы используете такие для анализа новостей, влияющих на рынок. Как они работают?

Алгоритмы новостного анализа читают специально подготовленные новостные ленты и назначают численные значения отдельно взятым словам, фразам и их местам в новости. Более 100 000 новостных событий происходят в США каждый день. Алгоритмически читаемые новости дают нам шанс предсказать значение новости: позитивное, негативное или нейтральное; и ее потенциальный эффект на цену актива. Машины распознают, позитивная новость или нет и какое направление у новости. Например, компьютер может идентифицировать повторяющиеся позитивные и негативные сообщения против динамики цены, после выхода новости, по определенному активу, сектору или рынку.

Учитывая огромное число выходящих новостей и скорость, с которой новости могут повлиять на рынки, это наш выбор, это фантастическая область для компьютерной торговли, так как очевидно, что очень трудно для каждого человека просматривать сотни тысяч новостей каждый день, читать их, анализировать и действовать с той же аккуратностью и скоростью, как машины.

Часть 2

Оригинал текста http://www.hftreview.com/pg/file/mike/read/70625/nonlinearity-artificial-intelligence-genetic-algorithms-full-text
Понравилась статья? Перепост приветствуется!

Ваш комментарий:

Комментарии (последние вверху):

14.05.2013 15:35 - Intro:
Не понимаю тебя. Как ты ему задачу дашь, так он и тюниться будет. По идее, система заоптимизируется не только на экстремум функции, но и на устойчивость. Может даже в угоду функции. Вообще, как запрограммируешь, впрочем, как всегда.
14.05.2013 13:59 - mehanizator:
я не про обычные риски, я например про риски того, что вот именно в твоей области параметров этот сложный алгоритм становится неустойчивым.
14.05.2013 13:52 - Intro:
Чем мониторинг рисков у линейных и нелинейных моделей отличаются?
14.05.2013 13:38 - mehanizator:
мне нравится, когда соотношение результат на риск высокое. а со сложными моделами сразу не поймешь, где там риски прячутся.
14.05.2013 13:33 - Intro:
Да ну кому что нравится.
14.05.2013 09:23 - mehanizator:
спасибо за перевод! мне всегда было интересно, чем руководствуются люди, когда берут на вооружение генетические алгоритмы или нейросети вместо более простых и надежных линейных моделей. к сожалению, из статьи это непонятно :)
X

Вход

Email:
Password:
 

Восстановить пароль

Email: