Блог им. 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.




4.4К | ★8
12 комментариев
Судя по скрину ниже, робот работает в убыток...
Или тире не хватает, или «минусы» лишние...
Или я ошибаюсь?




Андрей Кольцов, стратегии были запущены раньше. https://smart-lab.ru/blog/502196.php 
Базовая к моменту первой публикации заработала 1850 долл, оптимизированная 550. Сейчас общий их результат +1500 и +110 с учетом комиссий. На следующей неделе сделаю графики.
avatar
 А в этой фразе нет ошибки?
тейкпрофит с коэффициентом 0,8. Итак, два раза продали по 25,87 и по 26,87 – тейкпрофит ближний =26,07, дальний 25,27.

26,87-0,8=26,07 все верно, но
25,87-0,8 не равно 25,27 Будет 25,07
Или я не прав?
Андрей Кольцов, да хорошо заметили! Есть такой параметр в настройках как коэффициент разгрузки, то есть при первом выходе следующий тейкпрофит выставляется на этот коэффициент от цены первого выхода. Если коэффициент равен тейкпрофиту то будет 26,87-0,8(тейк)=26,07 и 26,07-0,8(коэфф)=25,27. Обязательно напишу подробнее, настроек довольно много.
avatar
algo_rts, Если настроек много, может проще видео сделать и выложить? И немного комментов. 
avatar
Сергей, спасибо, с видео хорошая идея.
avatar
Не хотите сделать ежедневно анализ торговли, так было бы более понятно? Иначе много чего непонятного для среднестатистического
avatar
 который на высокоточных исторических данных позволяет проверить арбитражные и не только идеи
Тестер считал, что если есть цена, то мы ее точно успеем забрать? ну и снять, соответственно, когда ушла цена поводыря? Т.е. считалось что задержка ноль? или задавали Latency искуственное?
avatar
Arbitrg, да, задавали  Latency искусственно, тестер позволяет сделать это.
avatar
algo_rts, робот находится на колокации, Latency брали 2000 микросекунд.
avatar
algo_rts, 2000 не мало ли? С такой задержкой получится реально торговать?
avatar
Arbitrg, да, это показатели при реальной торговле. Робот постоянно мониторит задержку и выводит в специальном окне. Взята средняя.

avatar

Читайте на SMART-LAB:
Фото
EUR/NZD: Тень фигуры нависла над попыткой роста
Кросс-курс EUR/NZD тестирует ключевую зону поддержки, одновременно пытаясь закрыть день моделью «бычьего поглощения». Покупатели не оставляют...
Фото
Какая часть сбережений граждан может перейти на рынок недвижимости?
Криптоиндустрия как новый финансовый рынок
Криптоиндустрия – совокупность рынков и технологических сервисов, которые напрямую связаны с цифровыми активами, в основе которых лежит технология...
Фото
Сбер РПБУ февраль 2026 г. - снижение резервов помогло удержать рекордную прибыль
Сбер опубликовал результаты за 2 месяца работы в 2026 году по РСБУ. Чистая прибыль за 2 месяца составила 325 млрд руб. (+21,4%). За февраль...

теги блога algo_rts

....все тэги



UPDONW
Новый дизайн