Избранное трейдера Коломишев Иван



Доброго времени суток уважаемые смартлабовцы !
2 месяца назад я решил протестировать бесплатных торговых роботов брокера Альфа-Директ, но вначале пару слов о сути теста.
В торговом терминале «Альфа-Директ 4.0» есть бесплатные роботы, торгующие только акциями. Их можно составить либо в виде простого списка по порядку, либо в виде рейтинга по 3-м категориям:
1.Максимальная прибыль

2.Прибыль/риск


Решил начать писать небольшие заметки по алгоритмической торговле и всему что с ней связано. Возможно, когда-нибудь расширю, склею и опубликую в виде книжки. Пока же это просто наброски заметок, сделанные на скорую руку.
Можно часто слышать от тех, кто торгует алгоритмически, да и просто систематически, такие понятия как «оверфиттинг», «курвафиттинг», «зафит» и прочие ругательства с корнем «фит». Что все это значит?
На самом деле, все эти слова, как правило, используются для описания одного и того же явления, являющегося врагом всех трейдеров, торгующих систематически и пытающихся оценить исторический перформанс своих торговых логик — а именно, что «живой» аут-оф-сампл перформанс на реальном счете, как правило, хуже ожиданий, полученных ими при проверке своих идей на истории. Например, при тестировании торговой логики на истории трейдер с помощью своей модели «зарабатывал» 30% годовых, а в реале может в среднем иметь 10% годовых. Разница 20% годовых — может объясняться именно оверфиттингом (если нет других факторов — например, некорректный учет комиссионных и проскальзываний, или ошибка в торговом коде; но прочие факторы легко устранить, в отличие от оверфиттинга). На картинке в начале статьи — пример перформанса некоторого фонда в бэктесте и в реальности, наглядно иллюстрирующий написанное выше.
Оверфиттинг является следствием комбинации одного или нескольких из следующих факторов, положительно влияющих на бэктест (результаты прогонки модели на истории), что и создает у трейдера завышенные ожидания от своей модели. В этой части мы рассмотрим основные источники оверфиттинга, в следующей — поговорим о способах избежания или минимизации оверфиттинга при историческом тестировании моделей.
Продолжая тему тестирования алгоритма Маркет Мэйкера, поделюсь своими результатами и мыслями по его работе:
1. Основной режим работы алгоритма — это маркетмэйкинг (он же арбитраж ликвидности, он же торговля спредом). И конечно же, прибыльность этой стратегии сильно зависит от рыночных условий, скорости получения данных и работы системы исполнения. Средняя прибыль на сделку даже и при идеальном исполнении не будет превышать значение спреда (2-5 пунктов по Si в среднем). А в период сильной волатильности, когда стакан бросает из стороны в сторону на 10-30 пунктов, несмотря на большое количество положительных сделок ( около 70%), алгоритм становится убыточным. В основном из-за комиссий, конечно.
2. Да, математические формулы сильно ограничили многих желание понять, как устроен алгоритм. Но на самом деле, если вдумчиво посмотреть картинки (карты политик), получается все ясно и просто. А будет еще проще, если посмотреть картинки графиков из других статей, лежащих в основе алгоритма (например Guilbaud, Fabien, and Huyen Pham, 2013, Optimal high-frequency trading with limit and market orders). Забудем на минутку про дисбаланс бид/акс объемов и построим карту политик для открытой позиции при разных значениях спреда: