Основные принципы увеличения прибыльности алгоритмов автоматизированной торговли изложены в блоге Inovancetech. Представляю здесь перевод этой статьи. В ней использованы некоторые алгоритмы и результаты цикла про машинное обучение (часть 1, часть 2).
После построения алгоритма, вам нужно убедиться, что он робастен и будет генерировать прибыльные сигналы при реальной торговле. В данном посте мы представим 3 легких способа увеличить производительность вашей модели.
Прежде чем улучшать модель, вы должны определить базовую производительность стратегии. Самый лучший способ сделать это — протестировать модель на новых исходных данных. Однако, вы всегда владеете довольно ограниченным набором данных, несмотря на их множество, предоставляемое финансовыми институтами. Значит, вы должны тщательно обдумать, как использовать имеющийся набор. По этим причинам, самое лучшее — разделить его на три отдельных части.
Существует класс алгоритмов, основанных на корелляции цен активов на разных рынках. Для того, чтобы исследовать такие корелляции, например, между американским и российским рынком, необходимо иметь доступ к данным в реальном времени с западных бирж, поставку которых предлагают специальные провайдеры за довольно существенную плату.Однако, есть возможность использования вместо платного датафида парсинг данных real-time с сайта Google Finance. На таких данных высокочастотную стратегию, конечно, не построить, но для более медленных стратегий такой способ вполне подойдет. Впрочем, на высоких частотах сильной корелляции с американцами уже давно нет, и HFT алгоритмы с такой идеей не работают, а вот на длинных промежутках времени есть очень широкое поле для исследований. Как осуществить получение данных с Google Finance рассмотрено в блоге
В прошлой части нами было сделано наблюдение, что для присутствующих на рынке высокочастотных алгоритмов характерна высокая частота отмены биржевых ордеров. В данной статье мы уделим внимание еще одной особенности HFT роботов — малому объему ордеров, генерирумых подобными стратегиями.
Автоматические стратегии стараются отсылать биржевые приказы, которые содержат небольшие количества акций или лотов. Маркет мейкеры делают это для того, чтобы выборочно торговать с небольшими контрагентами, обходя сильные движения, вызываемые крупными покупками или продажами. Исполнительные алгоритмы отсылают небольшие ордера, чтобы скрыть свои намерения о реализации крупных объемов, избегая тем самым сильного воздействия на цену. Чтобы проверить, действительно ли существуют описанные тенденции на рынке, построим график движения цены, с точки зрения пассивной стороны трейда, после взятия всех ордеров на конкретном уровне для двух ситуаций — когда малые ордера принимают участие в данном трейде, и когда их нет. За малый объем ордера примем 2 целых лота и менее:
Неплохую идею для высокочастотного трейдинга подсказал Kipp Rogers в своем блоге. Идея несложная, но требующая подробного объяснения, поэтому попробую изложить ее в двух статьях.
Автор предположил, что лучшее исполнение ордеров, отправленных на биржу, скорее возможно получить, торгуя с трейдерами — людьми, вручную отправляющими приказы, чем с компьютерами, то есть контрагентами с автоматическим выставлением. Высокочастотные роботы отправляют приказы на биржу только в том случае, если они видят возможность быстрого снятия прибыли или ищут наилучшую цену исполнения для больших объемов, что делает соревнование с ними очень тяжелой задачей. С другой стороны, трейдеры, торгующие вручную ( под ними могут подразумеваться и автоматические программы с медленными алгоритмами ), выставляют приказы с большим временем жизни (до отмены или исполнения), меньше внимания уделяют мгновенной цене и, как правило, имеют идею о направлении движения цены при входе в рынок, что также дает представление о поведении их ордеров.