Блог им. algo_rts
Прошла неделя с момента отслеживания стратегии, основанной на торговли спреда между JPM и BAC на Санкт-Петербургской Бирже. За эту неделю робот MultiConnect как всегда был на высоте, никаких технических сбоев и отключений не было. Оптимизированная стратегия(портфель) 218 сделок, комиссии 675 долл, финрез с учетом комиссий – 350 долларов; базовый портфель 254 сделки, комисс 864 доллара, финрез с учетом комиссии -440 долларов. Торговля ведется полными лотами — 100 акций.
Сегодня расскажу о самой стратегии, ее принципах и начнем подробнее знакомиться с роботом MultiConnect.
Принцип торговли, как я говорил ранее, заключается в торговле спреда или раздвижки инструментов как одного актива. Считается, что спред менее подвержен трендовым движениям и более склонен к возврату к своему среднему значению. Торговля ведется по принципу постепенного набора позиции при движении в одну сторону и раздаче позиции на откатах. Сразу договоримся, что под сделкой мы будем подразумевать одновременную покупку одного актива и продажу другого, робот делает это автоматически, в зависимости от настроек. Раздвижка считается по заданной нами формуле: актив1-к*актив2, где актив1 — исторически более дорогая акция, актив2 – менее дорогая, к – коэффициент, показывает в какой пропорции торгуются бумаги. У нас из более дорогого (по стоимости) JPM вычитается менее дорогой (по стоимости) BAC, коэффициент пока возьмем 3. Итак: при включении робот получает текущее значение раздвижки на покупку и на продажу. Например, продать мы можем по 24, 87 и купить по 25,4; при движении раздвижки выше 24, 87 на определенную величину (шаг) мы продадим, при движении раздвижки ниже на шаг 25,4 – купим. При этом робот «знает» и отслеживает значение, где выйти из позиции. Пока все просто, купили дешевле, продали дороже. Что же произойдет при наборе позиции? Пример: возьмем шаг набора от начального уровня равный 1. Запустились, продажи будут происходить по 24, 87+1=25,87, следующая 25,87+1=26, 87 и тд… при этом выходить будем не дожидаясь возврата к начальному, «нулевому» уровню, а раньше, тейкпрофит с коэффициентом 0,8. Итак, два раза продали по 25,87 и по 26,87 – тейкпрофит ближний =26,07, дальний 25,27. Выйдя по ближнему тейкпрофиту, робот получает и начинает контролировать следующий уровень тейкпрофита, при этом опять увеличит позицию по 26,87. Тоже и при покупке раздвижки. Возникает сразу вопрос – как долго набирать позиции, сколько входов делать? Тут надо найти «золотую середину» — чем больше сделок, тем для нас лучше, вся прибыль сосредоточена в открыть-закрыть позицию, поэтому нет смысла набирать много входов и ждать, это может длиться долго, или же раздвижка может «улететь», при этом позиция и убытки будут максимальны. Применяем ограничение количества входов и стоп-лоссы по значению раздвижки. Например продали три раза (наш максимальный набор) – раздвижка 27,87 и ушли от цены последнего входа на значение стопа – закрываемся, получаем новые «нулевые» уровни продажи и покупки, таким образом мы всегда следуем за рынком.
Как же устроен робот MultiConnect и какие имеются настройки?
Торговый робот, “Arbitrage robot” состоит из двух частей – серверной и клиентской. Серверная часть робота – это то место, где непосредственно выполняется торговый алгоритм, клиентская часть робота — это графический интерфейс пользователя. Отделение графического интерфейса от торгового алгоритма позволяет разнести по разным физическим устройствам торговую часть и интерфейс пользователя, так торговый алгоритм может быть запущен на физическом сервере в зоне колокации или виртуальной машине под управлением ОС Linux, в то время как графический интерфейс пользователя устанавливается на персональный компьютер. Клиентская, графическая часть без загруженных портфелей (торговых алгоритмов). Ничего лишнего, контроль позиции, настроек, расписания торговли.
В оптимизированной стратегии параметры подбирали с помощью тестера-оптимизатора Viking Strategy tester, который на высокоточных исторических данных позволяет проверить арбитражные и не только идеи, оптимизировать параметры.
С помощью тестирования на этом ПО были созданы успешные, в том числе HFT стратегии, так же впоследствии успешно зарекомендовавшие себя на реальных торгах.
В следующей статье подробно расскажу о настройках торговых стратегий (портфелей), на примере параметров торгуемых на Санкт-Петербургской Бирже портфелей JPM/BAC.
Или тире не хватает, или «минусы» лишние...
Или я ошибаюсь?
Базовая к моменту первой публикации заработала 1850 долл, оптимизированная 550. Сейчас общий их результат +1500 и +110 с учетом комиссий. На следующей неделе сделаю графики.
26,87-0,8=26,07 все верно, но
25,87-0,8 не равно 25,27 Будет 25,07
Или я не прав?