Системный портфель. Описание стратегии «Фьючерсы»
В этой статье, на примере стратегии «Фьючерсы», будут показаны основные принципы, используемые нами при построении портфелей торговых алгоритмов. Портфели алгоритмов «Фьючерсы», «Акции» и «Валютные пары» формируются по единой методике, которая в общих чертах будет изложена ниже.
Итак, стратегия «Фьючерсы» результаты работы которой можно увидеть перейдя по ссылке, представляет из себя портфель торговых алгоритмов, сформированный из списка приведенного в соответствующем разделе нашего сайта «Торговые роботы->Срочный рынок». В этом разделе представлены алгоритмы прошедшие этапы тестирования на исторических данных, форвардное тестирование в режиме реального времени и в следствие чего, допущенные к возможности торговли на реальных счетах.
По мере разработки новых алгоритмов и анализа характеристик работы текущих алгоритмов этот список периодически обновляется, приблизительно один раз в 3-5 месяцев. Новые алгоритмы, прошедшие все этапы тестирования добавляются в режим реальной торговли, а реально работающие алгоритмы, характеристики работы которых, опустились ниже допустимых значений, снимаются с торгов. Таким образом происходит периодическое роллирование алгоритмов, которым разрешено совершать реальные сделки.
При формировании портфеля алгоритмов, денежные средства распределяются между алгоритмами на конкурентной основе, т.е. чем устойчивей характеристики работы алгоритма, тем больше капитала достается ему в управление. Основной идеей является максимально глубокая диверсификация стратегий, и поэтому в портфель включается максимально возможное количество алгоритмов. К сожалению, слабым местом здесь является недостаток конкуренции в торговых идеях, и поэтому в портфель часто включаются алгоритмы, которые достаточно сильно коррелированы между собой.
Теперь, более подробно следует остановиться на двух вышеупомянутых случаях. По каким критериям алгоритм допускается в режим реальных торгов ? И обратный вопрос, как принимается решение по блокированию алгоритма и перевода его на «скамейку запасных» ? Начнем по порядку.
Основные принципы тестирования алгоритмов на исторических данных:
- торговая идея, на основе который строится алгоритм, должна использовать одно из фундаментальных свойств движения рыночных цен, например «трендовость». Любая оптимизация и абстрактная подгонка и перебор числовых параметров не допустимы. Значения числовых параметров могут быть либо фиксированными на всем интервале тестирования, либо вычисляться адаптивными методами, по мере изменения характеристик движения цены.
- период исторических данных, на которых проводится тестирование, должен быть максимально длинным, для того, чтобы охватывать различные фазы рынка. По итогам тестирования должно получаться как минимум 200 сделок.
- программное обеспечение, используемое для проведения тестов, должно максимально близко воспроизводить реальные рыночные условия, такие как правильный учет биржевой и брокерской комиссий, а особенно реальные цены исполнения заявок на открытие и закрытие позиций, другими словами, реальное «отрицательное проскальзование». И чем больше сделок совершает алгоритм, тем важнее становятся вышеупомянутые условия.
- торговый алгоритм, должен показывать положительную динамику доходности не на отдельно выбранном для разработки инструменте (фьючерс или акция), а на портфеле инструментов, которые имеют приблизительно одинаковые характеристики ликвидности.
Основные принципы мониторинга работы алгоритмов в режиме реальной торговли:
- характеристики любого алгоритма, полученные в результате тестирования на исторических данных, являются лишь вероятностной оценкой. Поэтому, все количественные параметры результатов тестирования, такие как, например доходность, максимальная просадка, профит-фактор, фактор-восстановления и т.д., должны оцениваться на предмет их устойчивости с учетом этого принципа.
- учитывая предыдущий пункт, следует принять, что ожидания того, что в режиме реальной торговли параметры работы алгоритма будут идентичны, полученным на этапе его разработки и тестирования не должны иметь место. Поэтому для любых оценок параметров работы алгоритма, должны быть рассчитаны допустимые диапазоны значений. Соответственно выход значений за нижнюю границу этого диапазона, будет служить сигналом о принятии решений о приостановке реальной торговли по тому или иному алгоритму.
- анализируя динамику изменений основных параметров работы алгоритма, с периодичностью один раз в два квартала, принимается решение об увеличении или уменьшении доли денежных средств, которые выделяются для работы алгоритму. В особых случаях, когда параметры выходят за рамки самых пессимистичных значений, алгоритм может быть полностью отключен.
В данной статье в достаточно сжатом виде описаны основные принципы управления портфелями алгоритмов. Для более подробного освещения данного вопроса в ближайшем будущем планируется написать целый цикл статей.