Активируйте JavaScript для полноценного использования elitetrader.ru Проверьте настройки браузера.
Алгоритмический подход к созданию стратегий » Элитный трейдер
Элитный трейдер
Искать автора

Алгоритмический подход к созданию стратегий

10 апреля 2016 QuantAlgos

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

Можете вы рассказать, как создаются новые торговые стратегии?

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

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

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

Если модель проходит такую проверку, то дальше переходим от чистой теории к формальным исследованиям.

Что имеется в виду под формальными исследованиями? И почему они необходимы?

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

Сложно создать реально работающие модели. Но очень легко обманывать себя, что вы создали хорошую предсказательную модель, хотя на самом деле это всего лишь результат подгонки под историю, или использование тестирования на выборке in-sample, либо влияние внешнего фактора, искуственно внедренного в модель, и так далее. Большинство "систем" не работают в реальных условиях по этим причинам.

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

Из каких шагов состоит процесс формальных исследований?

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

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

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

Результатом калибровки должен являться набор параметров модели - численные значения - который может быть скомбинирован с реальными рыночными наблюдениями для предсказания будущих цен.

После калибровки модели, я тестирую ее на выборке "out-of-sample". Получились ли стабильные предсказания и имеют ли случайные отклонения модели характер возврата к среднему? Если нет - модель не работает, все очень просто. Я пробую различные хитрости, чтобы "сломать" модель. Например, я калибрую модель на месячных данных, а тестирую на дневных. Или я тестирую параметры американского рынка на рыночных данных Канады. Если модель действительно отражает экономическую реальность, она должна быть устойчива к такого рода "атакам" (экономика не меняется при пересечении границ).

Таким образом, вы четко разделяете выборки "in-sample" и "out-of-sample", "вслепую" перемешиваете интервалы, используете Монте-Карло для исключения подгонки под начальные условия и используете различные трюки для проверки устойчивости. Что вы делаете еще для уверенности в "реальности" модели?

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

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

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

Звучит разумно. Что происходит в дальнейшем?

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

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

Excel также позволяет ясно увидеть мои предположения: лекго упустить какие-то вещи, когда работаешь с кодом. Он позволяет визуализировать статистику производительности (риск, прибыльность, просадки, эффективность использования капитала, коэффициент Шарпа и т.д.) быстро и понятно. Даже если модель работает, это не значит, что торговая стратегия, построенная на ней, будет экономически эффективной, поэтому статистика имеет значение.

Очень мало торговых моделей проходят все эти стадии: теоретическое формулирование, калибровку на истории и проверку на выборке "out-of-sample", бэктестирование торговой стратегии и прибыльность. Для тех, кто все это прошел, следующий шаг - выпуск в производство. Эта еще одна долгая история (о которой мы расскажем в следующей части).

Что нужно учесть при запуске стратегии в производство?

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

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

Обычно создается исполнительный прототип, который делает все правильно, но не очень эффективно. Затем я поручаю моим сотрудникам-инженерам сделать производительную версию стратегии на языке Python или даже С, используя библиотеки для реального рынка, которые они создавали и совершенствовали годами. И эта версия подключается к моей торговой системе, для запуска данной стратегии "в бой".

Далее я начинаю зарабытывать деньги на этом алгоритме.

Как много времени занимает весь этот процесс?

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

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

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

Где вы берете идеи для новых стратегий?

Везде, где можно! Но есть несколько источников, которые я просматриваю особо тщательно.

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

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

В-третьих - глобальные паттерны. История может не повторяться, но определенно идет в ногу. Например, если вы хотите торговать процентную кривую США, японский рынок - богатый источник идей, Япония прошла через нулевые процентные ставки за годы до Америки. Фактически, я построил очень успешную модель на американском рынке гособлигаций, основываясь чисто на поведении японских облигаций десятью годами ранее.

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

В-пятых, держите глаза и уши открытыми. Мир - это очень неэффективное место: если вы любознательны и все время спрашиваете "почему/почему нет?", вы всегда обнаружите возможности.

Вы говорили, что используете множество инструментов - Mathematica, Matlab, Python, Excel, C. Это намеренный выбор?

Конечно. Разные стадии процесса требуют разных инструментов. Я буду идиотом, если построю реальную "боевую" систему в Excel, или символьные операции в Python. Не то что бы нельзя это сделать, но есть более лучшие инструменты для этих задач.

Как вы управляете потоком данных во всех стадиях процесса и инструментах?

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

1.Как вы отслеживаете и управляете вашими моделями в боевых условиях? Какаие дпоплнительные проверки и процедуры используются?

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

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

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

(Ничто выше сказанное не должно применяться в качестве замены для отличной и независимой команды риск менеджмента).

2. Устанавливаете ли вы предварительные правила или внешние выключатели, которые автоматически прекращают торговлю вашей модели? Если да, то как они сделаны, какие индикаторы вы используете в них?

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

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

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

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

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

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

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

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

3. Как вы узнаете, что модель "умерла" или просто переживает плохой период? Знаете ли вы какой-либо полезный предсказывающий смену режимов фильтр?

Это один из наиболее часто задаваемых вопросов. Я боюсь многих разочаровать: я не знаю ответов на этот вопрос. Но хотел бы знать!

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

Я пока не нашел разумный, универсальный предсказывающий индикатор смены режима/смерти модели. Плохо, но так и есть.

4.Продолжаете ли вы следить за "умершими" моделями и возвращаете их в торговлю после восстановления?

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

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

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

6. Что вы думаете о таком управление капиталом, как размер оптимальной ставки?

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

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

Вы должны развиваться вместе с рынком. Ни одна система или стратегия не работает вечно.

8. Я отметил,что вы используете Matlab, Python и Excel (а также предпочитаете C#/C++/Java) в производстве. Не является ли процесс переключения между этими языками слишком громоздким?

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

9.Что вы делаете на Matlab, того что не можете сделать на Python и наоборот?

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

10. Относительно Excel, не находите ли вы, что, хотя его визуализация полезна, он несет в себе некоторые операционные риски (формулы не переносятся правильно, страницы не обновляются вовремя и т.д.)?

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

11. Сколько времени занимает кодирование на С или Python ваших стратегий? В том числе первый релиз, затем исправления и улучшения?

Зависит от самой стратегии. Я бы сказал в среднем 4-5 недель до первого релиза, и где-то 2-3 недели для исправлений и улучшений. Некоторые стратегии проще и могут быть сделаны за несколько дней. С другой стороны, я помню одну стратегию, разработка которой заняла несколько месяцев. Она казалась супер прибыльной, и в этом случае это стоило того, но в общем все происходит гораздо быстрее.

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

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

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

Фрактальны ли рынки? Хороший вопрос, по которому у нас было много вечерних дебатов.

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

Так что я очень осторожен с такими стратегиями, которые чувствительны к сдвигу времени.

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

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

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

Но я никогда не буду применять такой же тест для, скажем, стратегии следования за трендом. Это ставит целый ряд философских вопросов. Что означает для стратегии иметь лучший результат, скажем на шкале в 9 дней, или 200 дней, или любой другой? Оптимизируя под этот диапазон, не делаете ли вы подгонку? Или тот факт, что почти все используют девятидневную и двухсотдневную временную шкалу, создает самоисполняющееся предсказание, и таким образом эти числа представляют структурную особенность рынка? Я слышал убедительные аргументы по обоим предположениям. Что, если вы возьмете данные на интервале Х, а затем наложите на них 9Х и 200Х скользящие средние - будет это работать? Интересный вопрос. Я не уверен, что имею ответ на него.

Другие замечания: я согласен, что выбор слова "калибровка" был достаточно спорным в моем предложении. "Поиск идеи" был бы лучше. Если вы калибруете, вы уже предполагаете больше структурности, чем может предложить сдвиг временной шкалы.

13. Можете ли вы рассказать более подробно об использовании Монте Карло для поиска начальных параметров?

Для большинства оптимизаций, мне нуже вектор начальных предположений о параметрах - стартовая точка для моего n-мерного градиентного поиска. Проблема в том, что нелинейные системы стремятся к локальному минимуму, который может быть не оптимальным. Вы можете использовать "случайные прыжки" (simulated annealing), чтобы избежать этого, но я нашел более надежный метод - перезапуск оптимизации много раз, но с различными начальными точками. Я использую выборку Монте Карло для получения этих стартовых точек: коротко, беру случайные значения для каждого параметра ( согласно статистическому распределению этого параметра).

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

У меня есть несколько правил, которым я стараюсь следовать.

При торговле на микроструктуре рынка, есть очень маленький риск катастрофических потерь, но прибыль относительно ограничена,можно сделать десятикратное значение от бид-аск спреда на горизонте менее месяца. Если спред равен 1 пункту, я хотел бы делать 10 пунктов с высокой вероятностью успеха ( после вычета комиссий). Ограничения на такую торговлю обычно результат баланса: я должен быть уверен, что торговля дает достаточную прибыль на задействованный капитал.

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

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

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

15. Как понять ваши слова: "Мой партнер торгует те же инструменты и стратегии, что и я, но удерживает их от нескольких часов до нескольких дней в основном". Правильно ли предположить, что вы запускаете автоматические стратегии, но исполнение/удержание/ребалансировка делается на дискретной основе? Или вы имеете в виду, что ваш коллега калибрует эти модели с более близкими тейк профитами и стопами вокруг справедливой величины?

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

Также, мы используем похожие "ответвления" моделей, которые немного отличаются от основной. Мой партнер делает больше мелких сделок для быстрых возможностей с более узкими стопами. И он рекалибрует "справедливое значение" чаще, чем я. В некоторых областях он почти маркет-мейкер. Я же нет: я в основном активно вхожу в сделку.

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

Вкратце: интеллектуальная дисциплина. Я имею в виду комбинацию процедурной строгости, отсутствия самообмана и сдержанности.

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

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