Как определить алгоритмические стратегии торговли

Автор:Доброта, Создано: 2019-03-27 11:08:57, Обновлено:

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

Выявление ваших личных предпочтений в торговле

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

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

Следующее, что следует учитывать, - это время. Есть ли у вас работа на полный рабочий день? Работаете ли вы неполный рабочий день? Работаете ли вы из дома или у вас есть длинная поездка каждый день? Эти вопросы помогут определить частоту стратегии, которую вы должны искать. Для тех из вас, кто работает на полный рабочий день, стратегия фьючерсов внутридневный может быть неуместной (по крайней мере, пока она не будет полностью автоматизирована!).

Я считаю, что необходимо проводить постоянные исследования своих торговых стратегий, чтобы поддерживать стабильно прибыльный портфель. Немногие стратегии остаются "под радаром" навсегда. Следовательно, значительная часть времени, выделяемого на торговлю, будет направлена на проведение постоянных исследований. Спросите себя, готовы ли вы к этому, поскольку это может быть разницей между высокой прибыльностью или медленным снижением к потерям.

Вы также должны учитывать свой торговый капитал. Общепринятая идеальная минимальная сумма для количественной стратегии составляет 50 000 долларов США (приблизительно 35 000 фунтов стерлингов для нас в Великобритании). Если бы я начал снова, я бы начал с большей суммы, вероятно, ближе к 100 000 долларов США (приблизительно 70 000 фунтов стерлингов). Это связано с тем, что затраты на транзакции могут быть чрезвычайно дорогими для стратегий средней и высокой частоты, и необходимо иметь достаточный капитал, чтобы поглотить их во времена снижения. Если вы рассматриваете возможность начала с менее чем 10 000 долларов США, то вам нужно будет ограничиться низкочастотными стратегиями, торгуя одним или двумя активами, поскольку затраты на транзакции быстро съедят вашу прибыль.

Навыки программирования являются важным фактором в создании автоматизированной алгоритмической стратегии торговли. Знание языка программирования, такого как C ++, Java, C #, Python или R, позволит вам создать накопитель данных, движок обратных тестов и систему исполнения самостоятельно. Это имеет ряд преимуществ, главным из которых является способность полностью знать все аспекты торговой инфраструктуры. Это также позволяет вам исследовать более высокие частоты стратегий, поскольку вы будете полностью контролировать свой технологический стек. Хотя это означает, что вы можете тестировать собственное программное обеспечение и устранять ошибки, это также означает больше времени, затрачиваемого на кодирование инфраструктуры и меньше на реализацию стратегий, по крайней мере, в более ранней части вашей торговой карьеры.

Вы должны спросить себя, чего вы надеетесь достичь с помощью алгоритмической торговли. Вы заинтересованы в регулярном доходе, благодаря которому вы надеетесь получить прибыль с вашего торгового счета? Или вы заинтересованы в долгосрочной прибыли капитала и можете позволить себе торговать без необходимости привлечения средств? Зависимость от дохода будет диктовать частоту вашей стратегии. Более регулярные выводы дохода потребуют более высокой частоты торговой стратегии с меньшей волатильностью (т.е. более высокий коэффициент Шарпа).

Наконец, не поддавайтесь обману идеей стать чрезвычайно богатым за короткий промежуток времени! Алго-трейдинг НЕ является схемой быстрого обогащения - если что, то это может быть схема быстрого бедности. Для успешной алгоритмической торговли требуется значительная дисциплина, исследования, усердие и терпение.

Источники алгоритмических торговых идей

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

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

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

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

  • Количественная торговля: как построить свой собственный бизнес по алгоритмической торговле (Wiley Trading) - Эрнест Чан
  • Алгоритмическая торговля и DMA: Введение в стратегии торговли прямым доступом - Барри Джонсон
  • Волатильность опциона и ценообразование: передовые стратегии и методы торговли - Шелдон Натенберг
  • Торговля волатильностью - Euan Sinclair
  • Торговля и биржи: микроструктура рынка для практиков - Ларри Харрис

Более подробный список количественных книг о торговле можно найти в списке чтений QuantStart.

Следующее место, где можно найти более сложные стратегии, - это торговые форумы и торговые блоги. Тем не менее, примечание осторожности: многие торговые блоги полагаются на концепцию технического анализа.

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

Вот список уважаемых блогов и форумов по алгоритмической торговле:

  • Вся улица
  • Количественность
  • Количественная торговля (Ernest Chan)
  • Квантопиан
  • Квантпедия
  • Штаб-квартира ETF
  • Quant.ly
  • Форумы элитных трейдеров
  • Лаборатория богатства
  • Ядерное финансирование
  • Форумы Уилмотта

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

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

Вот список наиболее популярных сервисов для предварительного печати и финансовых журналов, из которых вы можете получить идеи:

  • arXiv
  • SSRN
  • Журнал инвестиционных стратегий
  • Журнал вычислительных финансов
  • Математические финансы

Как насчет формирования собственных количественных стратегий?Это обычно требует (но не ограничивается) опытом в одной или более из следующих категорий:

  • Рыночная микроструктура - для стратегий с более высокой частотой, в частности, можно использовать микроструктуру рынка, т. е. понимание динамики книги заказов для получения прибыли. Различные рынки будут иметь различные технологические ограничения, правила, участников рынка и ограничения, которые все открыты для использования с помощью конкретных стратегий. Это очень сложная область, и розничным трейдерам будет трудно быть конкурентоспособными в этом пространстве, особенно поскольку конкуренция включает в себя крупные, хорошо капитализированные количественные хедж-фонды с сильными технологическими возможностями.
  • Структура фонда - объединенные инвестиционные фонды, такие как пенсионные фонды, частные инвестиционные партнерства (хедж-фонды), консультанты по торговле товарами и взаимные фонды, ограничены как жестким регулированием, так и их большими запасами капитала. Таким образом, определенные последовательные поведения могут быть использованы с теми, кто более гибкий. Например, крупные фонды подвергаются ограничениям мощности из-за их размера. Таким образом, если им нужно быстро разгрузить (продать) количество ценных бумаг, им придется развернуться, чтобы избежать движения рынка. Развитые алгоритмы могут воспользоваться этим и другими особенностями в общем процессе, известном как арбитраж структуры фонда.
  • Машинное обучение/искусственный интеллект - алгоритмы машинного обучения стали более распространены в последние годы на финансовых рынках. Классификаторы (такие как Naive-Bayes, et al.) нелинейные сопоставляющие функции (нейронные сети) и рутины оптимизации (генетические алгоритмы) все использовались для прогнозирования маршрутов активов или оптимизации торговых стратегий. Если у вас есть опыт в этой области, вы можете иметь некоторое представление о том, как конкретные алгоритмы могут быть применены на определенных рынках.

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

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

Оценка торговых стратегий

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

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

  • Методология - основывается ли стратегия на импульсе, изменяет ли средний показатель, нейтральна для рынка, направлена ли она? Опирается ли стратегия на сложные (или сложные!) статистические или машинные методы обучения, которые трудно понять и для их понимания требуется степень доктора наук в области статистики? Вводят ли эти методы значительное количество параметров, которые могут привести к предвзятости оптимизации? Может ли стратегия выдержать изменение режима (т.е. потенциальное новое регулирование финансовых рынков)?
  • Соотношение Шарпа - соотношение Шарпа эвристически характеризует соотношение вознаграждения/риска стратегии. Оно количественно определяет, какой доход можно достичь за уровень волатильности, выдерживаемой кривой акций. Естественно, нам нужно определить период и частоту, в течение которой измеряются эти доходы и волатильность (т.е. стандартное отклонение). Стратегия с более высокой частотой потребует большего показателя выборки стандартного отклонения, но более короткий общий период измерения, например.
  • Леверидж - требует ли стратегия значительного левериджа для того, чтобы быть прибыльной? требует ли стратегия использования контрактов с деривативами (фьючерсы, опционы, свопы) с целью получения прибыли? Эти контракты с левериджем могут иметь высокую волатильность и, следовательно, могут легко привести к маржинальным вызовам.
  • Частота - частота стратегии тесно связана с технологическим стеком (и, следовательно, технологическим опытом), коэффициентом Шарпа и общим уровнем затрат на транзакции.
  • Волатильность - Волатильность тесно связана с риском стратегии. Отношение Шарпа характеризует это. Более высокая волатильность базовых классов активов, если они не хеджируются, часто приводит к более высокой волатильности в кривой акций и, следовательно, к меньшим коэффициентам Шарпа. Я, конечно, предполагаю, что положительная волатильность примерно равна отрицательной волатильности. Некоторые стратегии могут иметь большую волатильность в сторону падения.
  • Успех/потеря, средняя прибыль/потеря - стратегии будут отличаться по своим характеристикам выигрыша/потерь и средней прибыли/потерь. Можно иметь очень прибыльную стратегию, даже если количество проигрышных сделок превышает количество выигрышных сделок. Стратегии импульса, как правило, имеют эту модель, поскольку они полагаются на небольшое количество "больших ударов", чтобы быть прибыльными. Стратегии среднего отклонения, как правило, имеют противоположные профили, где больше сделок являются "победителями", но проигрышные сделки могут быть довольно серьезными.
  • Максимальный вывод - Максимальный вывод - это самое большое общее падение процента от пика до дна на кривой капитала стратегии. Известно, что стратегии импульса страдают от периодов длительных выводов (из-за ряда многочисленных дополнительных проигрышных сделок). Многие трейдеры откажутся в периоды длительного вывода, даже если исторические испытания показали, что это "бизнес как обычно" для стратегии. Вам нужно будет определить, какой процент вывода (и за какой период времени) вы можете принять, прежде чем прекратить торговлю своей стратегией. Это очень личное решение и, следовательно, его необходимо тщательно рассмотреть.
  • На розничном уровне, если вы не торгуете с высоколиквидным инструментом (например, акциями с небольшой капитализацией), вам не придется сильно беспокоиться о потенциале стратегии.
  • Параметры - Некоторые стратегии (особенно те, которые встречаются в сообществе машинного обучения) требуют большого количества параметров. Каждый дополнительный параметр, который требуется стратегии, делает его более уязвимым для оптимизации предвзятости (также известный как кривая-подборка).
  • Сравнительный показатель - почти все стратегии (если не характеризуются как абсолютная доходность) измеряются по отношению к некоторому показателю производительности. Сравнительный показатель обычно представляет собой индекс, который характеризует большую выборку базового класса активов, в котором торгуется стратегия. Если стратегия торгует крупнокапитализированными акциями США, то S&P500 будет естественным критерием для измерения вашей стратегии. Вы услышите термины алфа и бета, применяемые к стратегиям этого типа.

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

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

Получение исторических данных

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

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

Давайте начнем с обсуждения видов имеющихся данных и ключевых вопросов, о которых нам нужно будет подумать:

  • Фундаментальные данные - это данные о макроэкономических тенденциях, таких как процентные ставки, цифры инфляции, корпоративные действия (дивиденды, разделы акций), подачи SEC, корпоративные счета, показатели прибыли, отчеты о урожаях, метеорологические данные и т. Д. Эти данные часто используются для оценки компаний или других активов на фундаментальной основе, т. Е. Через некоторые средства ожидаемых будущих денежных потоков. Они не включают серии цен на акции. Некоторые фундаментальные данные свободно доступны с правительственных веб-сайтов. Другие долгосрочные исторические фундаментальные данные могут быть чрезвычайно дорогими. Требования к хранению часто не особенно велики, если не изучаются тысячи компаний сразу.
  • Новостные данные - новостные данные часто имеют качественный характер. Они состоят из статей, постов в блогах, постов в микроблогах (tweets) и редакционных. Методы машинного обучения, такие как классификаторы, часто используются для интерпретации настроений. Эти данные также часто доступны бесплатно или дешево, через подписку на СМИ. Новейшие базы данных хранения документов NoSQL предназначены для хранения этого типа неструктурированных качественных данных.
  • Данные о ценах на активы - это традиционный домен данных количества. Он состоит из временных рядов цен на активы. Акции (акции), продукты с фиксированным доходом (облигации), товары и цены на иностранную валюту все находятся в этом классе. Ежедневные исторические данные часто просты в получении для более простых классов активов, таких как акции. Однако, как только точность и чистота включены и статистические предрассудки удалены, данные могут стать дорогими. Кроме того, данные временных рядов часто имеют значительные требования к хранению, особенно когда рассматриваются внутридневные данные.
  • Финансовые инструменты - Акции, облигации, фьючерсы и более экзотические производные опционы имеют очень разные характеристики и параметры. Таким образом, нет one size fits all структуры базы данных, которая могла бы их разместить.
  • Частота - чем выше частота данных, тем выше затраты и требования к хранению. Для стратегий с низкой частотой часто достаточно ежедневных данных. Для стратегий с высокой частотой может потребоваться получение данных на уровне кнопок и даже исторических копий данных конкретной торговой книги ордеров.
  • Сравнительные показатели - Стратегии, описанные выше, часто сравниваются с сравнительным показателем. Это обычно проявляется в виде дополнительных финансовых временных рядов. Для акций это часто национальный фондовый показатель, такой как индекс S&P500 (США) или FTSE100 (Великобритания). Для фонда с фиксированным доходом полезно сравнивать с корзиной облигаций или продуктов с фиксированным доходом.
  • Технология - Технологические накопители, стоящие за центром хранения финансовых данных, сложны. В этой статье можно только поцарапать поверхность о том, что участвует в создании центра хранения финансовых данных. Тем не менее, он сосредоточен вокруг движка базы данных, такого как система управления реляционной базой данных (RDBMS), такая как MySQL, SQL Server, Oracle или система хранения документов (т.е. NoSQL). К нему можно получить доступ через прикладный код business logic, который запрашивает базу данных и предоставляет доступ к внешним инструментам, таким как MATLAB, R или Excel. Часто эта бизнес-логика написана на C++, C#, Java или Python. Вам также нужно будет размещать эти данные где-то, либо на собственном персональном компьютере, либо удаленно через интернет-серверы.

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

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

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


Больше