Блог им. fehuman

+35% второй год алготрейдинга. Рынок сильно изменился или история повторяется?

Содержание:

1. Результаты, цели, мотивация
2. Краткое описание систем и оптимизация портфеля
3. Ключевой вопрос года: рынок изменился или такое уже было?
4. Что сделано, проблемные моменты, планы на 2020 год
5. Вопросы сообществу для обсуждения

1. Результаты, цели, мотивация

Начну с главного – результат за 2019 год: +35%. Отчет за 2018 год можно посмотреть тут. Доходность с учетом комиссий и проскальзывания, но без учета НДФЛ. Ссылка на публичный счет тут.
+35% второй год алготрейдинга. Рынок сильно изменился или история повторяется?

Первый квартал выдался очень бодрым, крайний максимум обновлен 27 марта. Далее просадка в 25%. Просадку эмоционально не переживал, так как в прошлом году она доходила до 30%. Летом – тишь да гладь. В сентябре роботы обрадовали на резком укреплении рубля. Зимой рубль также укреплялся, но более монотонно – ботам это не понравилось, счет так и не обновил мартовский максимум.
Размер депозита небольшой – на данный набор торговых стратегий выделено чуть меньше 1 млн. руб.
Поэтому «эффект низкой базы» сказывается на аппетите к риску – он такой же, как и в прошлом году. Расчётная (и протестированная на 10 летней истории) максимально допустимая просадка одного алгоритма 30%, всего портфеля 25%. Расчетная среднегодовая доходность около 100%, хотя с учетом текущего года математическое ожидание несколько снизилось.

Результатом не совсем доволен. И тут нужно исходить из цели. Цель проста – жить с рынка. Чтобы прийти к этой цели с текущим депозитом, нужно генерировать 100% годовых 4-5 лет. Согласен, звучит самонадеянно. Однако, чем выше цель, тем больше стараешься ее достичь, и нет ощущения, что стоишь на месте. Если бы цель была делать по 30% годовых, то из зоны комфорта вылезти было бы тяжело. Таким образом, этот год очень сильно мотивировал на развитие. Горизонт планирования начать жить с рынка 5-7 лет. Если получится пополнять депозит, то значительно раньше.
С момента начала публичной торговли общий доход на сегодня +143% с момента утверждения на семейном совете 7-ми летнего плана к финансовой независимости.
+35% второй год алготрейдинга. Рынок сильно изменился или история повторяется?

2. Краткое описание систем и оптимизация портфеля

Портфель роботов на 90% торгует фьючерс на долл./руб., 10% фьючерс на акцию сбербанка. Все алгоритмы с прошлого года остались в строю. Количество увеличено с 8 до 19 штук. Трендовые системы делают 100-200 сделок в год. Алгоритмы, которые пытаются извлечь доход на волатильности внутри дня 300-400 сделок.
Несмотря на большое количество сделок и снижение ликвидности на Si, проскальзывания не выросли, все как в аптеке. Учет проскальзываний веду вручную.
В начале года одной идее, как мне показалось более перспективной выделил большую долю в портфеле. Жадность подвела – весной именно она дала наибольшую просадку, а летом не дала портфелю подрасти (боролась с нулем). В августе доли алгоритмов в портфеле вернул к расчетным (поровну). Балансировка пошла на пользу.

Почему такой подход оправдан? Вопрос для дискуссии. Исхожу из трех соображений:

  1. Настройки рисков по каждой системе таковы, чтобы максимальная тестовая просадка на истории в 10 лет была в районе 30%. То есть все системы в портфеле приведены к одному знаменателю по уровню риска. Отсюда логично выделить каждой системе одинаковую долю. Таким образом мы концентрируемся на управлении рисками, они сбалансированы.
  2. Не нужно играть в «угадайку». Спрогнозировать, какая система в будущем заработает больше невозможно. Поэтому на текущем этапе решил дать всем системам равные шансы на победу.
  3. Простота балансировки портфеля.

По мере роста количества алгоритмов, задумаюсь над более сложными вариантами. Высчитывать веса систем с учетом: устойчивости системы в реальной торговле, корреляции к другим системам, показателям эффективности (коэффициенту Шарпа, Сортино, Кальмара, фактору восстановления).

3. Ключевой вопрос года: рынок изменился или такое уже было?

Волатильность в Si на исторических минимумах. Фьючерсы Сбербанка и РТС торговались вяло хоть и выросли. Ранее такие периоды застоя тоже были. На рисунке ниже оформил результаты тестов систем, отторговавших 2019 год. Часть этих алгоритмов торгует с конца 2017 года.
Прослеживается явная схожесть 2019 и 2010 года по алгоритмам на Si. Такая же доходность около 40%, такой же коэффициент Кальмара, около 2. Можно еще выделить 2013 год, затишье перед бурей 2014 года. Волатильность в сбербанке пробуксовывает в 2012 году, остальные периоды более-менее ровные. Если ранее низкая волатильность на двух этих инструментах не совпадала по времени, то в 2019 году она совпала – Бинго! Поэтому считаю, что портфель систем хорошо справился с текущим рынком. Если учесть, что волатильность меняется циклически, то с осторожностью можно прогнозировать ее рост в следующие периоды. Тем более, что этому способствует множество макроэкономических факторов.
+35% второй год алготрейдинга. Рынок сильно изменился или история повторяется?

Нужно сделать оговорку, что анализ путем сравнения доходности/просадки безусловно, поверхностный. Структура/механика движения цены на si все равно изменилась. Несмотря на то, что до 2014 года ЦБ контролировал коридор пары долл./рубль, зажимая волатильность, цена внутри дня ходила более трендово/направленно, чем в 2019 году. Также можно выделить смещение вероятностей приращения в вечернюю сессию.
Какие системы работали лучше в этом году? На Si заработать могли системы либо с очень длительным и хитрым удержанием позиций, либо системы с быстрым входом и быстрым выходом. На РТС и сбербанке похожая ситуация. Таких алгоритмов в портфеле оказалось мало. Одна из них ТС16si, у нее самая красивая эквити. В конце года, когда смотришь на такое – жалеешь, что не ясновидящий.
+35% второй год алготрейдинга. Рынок сильно изменился или история повторяется?

4. Что сделано, проблемные моменты, планы на 2020 год

Тезисно:
— обновлено железо, так как по мере добавления агентов в TSLab сервер начал подвисать;
— найдено и успешно протестировано три новых идеи – две на Si, одна универсальная;
— ставил эксперименты с проскальзыванием, веду ручной подсчет по двум системам на si и sbrf;
— идет работа над портфелем под акции, запускать пока не планирую, если только после обрушения рынка;
— начал работать над контртрендом, вручную отдельные сделки получаются, пытаюсь алгоритмизировать;
— TSLab работает стабильно, доволен. Но бывают пропуски сделок на резких движениях, на этом потерял около 3%;
— тестировать в TSLab в годовом разрезе, по разным инструментам долго и не удобно. Но изучать, например Python для проверки идей и формирования библиотеки торговых систем пока все же не первоочередная задача. Только если для визуализации статистики и ее анализа;
— в планах потестировать крипту, так как движения там хорошие. Замерить проскальзывания;
— больше полезного писать на смарт-лаб с целью рефлексии. Структурировать мысли, получать обратную связь с сообществом, анализировать принятые решения и к чему они привели в будущем. Интересно будет почитать, что писал 10-15 лет назад.

5. Вопросы коллегам для обсуждения

Интересно, как вы формируете/балансируете свой алгопортфель?
Рынок стал сложнее? Или он цикличен и история повторяется?
Каким будет 2020 год?

Всем добра и профитов!

★20
73 комментария
35% дало бы простое удержание SBMX
Биотехнолог, да в этом году удержание позиций по многим инструментам дало бы для инвестора хороший доход. А если бы SBMX упал? Роботы заработали бы больше на возросшей волатильности. 
Кирилл Глухов, а в 2017 какой результат по ним?
Биотехнолог, начал торговать портфель в конце 2017 года. Есть данные только по тестам, в таблице указал: за 2017 год тестовый доход 104%, просадка 22%
Кирилл Глухов, тесты ничего общего с практикой не имеют. Посмотрим какие результаты будет при падении индекса.
Биотехнолог, грамотные тесты и практика должны совпадать по результатам. Если нет, то это повод задуматься)
avatar
понятно, что тесты ничего не гарантируют, но этого вроде никто и не утверждал. В любом случае, без тестов кидаться сразу в бой — имхо просто безумие. 
avatar
Например падение рубля в 2018 году роботы отыграли в большой плюс, как по тестам в 2014 году. Если рынок будет падать, роботы хорошо отыграют шорты по фьючерсу Сбербанка и лонги по паре далл./руб. 
Кирилл Глухов, надо смотреть на реальные результаты и сравнить с SBMX
Падение индекса жду, именно тогда появляются движения и «топливо» для роботов. 
Кирилл Глухов, все ждут волатильности)
Кирилл Глухов, если прогнать 2019 в тесте => сколько % прибыли/просадки будет на выходе?

Это я чтоб понять адекватность теста 2017
avatar
shprots, тестовые данные за 2019 год указаны в таблице, минус примерно 10% на проскальзывания и комиссии
Биотехнолог, 
Ага, ключевое тут «бы». Дало бы если бы…, и отличает это от автора то, что у автора прогнозированная доходность. Кто спрогнозирует проторгует доходность по индексам тот тоже молодец конечно ))
avatar
Arbitrg, нужно сравнивать систему с индексом на разных трендах. И смотреть есть ли вообще смысл заниматься спекуляциями.
Биотехнолог, кому нужны жалкие 100%? Даже простое удержание битка дало бы 105%
avatar
Cristopher Robin, ну мы про реальные активы говорим, а не про серые биржи.
Ivanka, Спасибо, стараюсь)
хорошие результаты! по крипте могу сказать, что проскальзывания бывают огромные + высокие комиссии
avatar
ksand, ага, именно поэтому хочу потестировать небольшой суммой. Плюс стараться входить лимитками. Какие у вас проскальзывания получаются если по рынку входить?
Кирилл Глухов, на разных биржах по-разному) все зависит от объемов ордера и ликвидности на самой бирже(спасибо, кэп)). По рынку бинанс лучший по проскальзыванию(~0.05%), 2й битмекс(~0.1%). Это btcusd, если альты, то больше. Битфайнекс, ликвид — вообще беда. Больше ничего не торговал
avatar
ksand, Отлично, TSLab как раз умеет торговать на Binance 
Кирилл Глухов, если есть возможность лимитками торговать, то круто. и Комисс ниже и без проскальзывания)
avatar
Если у вас план на 7 лет, программирование пора изучать и практиковать.
avatar
Владимир М., План начать жить с рынка через 5-7 лет. И далее тоже. Пока кубиков хватает. Ими можно описать почти любую логическую конструкцию. Сейчас еще и циклы можно делать через кубики. 
Рынок цикличен. Амплитуды увеличиваются
avatar
Владимир М., «амплитуды увеличиваются» имеете ввиду, что увеличилась периоды стояния рынка? 

Кирилл, подскажи какого компа хватит для торговли TSLab на 20 системах без тормозов? Кстати какой таймфрейм?

avatar
Носорог, таймфрейм 1 минута. Если работать на виртуальной машине то достаточно 2 ядра и 4 Gb оперативки, желательно SSD, но это при условии, что графики агентов будут закрыты.
Кирилл Глухов, понял, спасибо!

Поздравляю с результатами! Понятное дело, что 35 меньше чем 100, но по опыту общения с другими алго — для многих год был явно не лучшим.

Кстати, а почему не торгуете акциями? Самый частый ответ алго я конечно знаю :), но все равно этот вопрос всем задаю. 
avatar
Носорог, причин несколько: 1) размер проскальзывания и комиссий больше чем на фьючерсах 2) торговать шорты на падении рынка сложнее, робот может не зайти по причине «запрета шортов». Поэтому интересно будет торговать от лонга, когда рынок рухнет)  
Красивые результаты, от души поздравляю! )))
 Я сам начинал с сишки, но из-за зажатой нашим регулятором волатильности ушёл на брент — сразу стало заметно профитнее. Если доверяете своим роботам — подумайте о бренте. Хотя и РИ достаточно техничен в движениях от разворотов, но его пока осмеливаюсь торговать только на перехаях от шорта.
avatar
О'Грин, Спасибо! По нефти — пока в поиске идей. Ри не торгую так как депо не позволяет и системы на СИ пока эффективнее по доход/просадка. 
Кирилл Глухов, У меня в бренте идея простая — выше 65 — работа от шорта, ниже 60 — от лонга с соблюдением мани-менеджмента. Посмотрите на график за последний год-два.
 Но, естественно, точки входа/выхода смотрю по внешнему фону, если на среднесрок. Плохо только, что контракты месячные… А уж в интрадее малыми порциями у нас здесь немало умельцев, которые аккуратно профит от движений отщипывают.
avatar
О'Грин, Вы руками торгуете? Завязал с этим, по эмоциям мне противопоказано) 
Кирилл Глухов, Я уже справился с эмоциями давно — возраст и жизненный опыт позволяют.
 А Вам роботы дают профит — да и на здоровье, я, честно говоря, не вижу принципиальной разницы в торговле разными инструментами. Только в бренте ценой манипулируют зарубежные умные деньги, а в сишке — наши местные. И нашим доверия меньше…
avatar
О'Грин, разница в движениях есть, пока полностью сосредоточился на Si, все что торгует на Si не торгует на нефти с той же эффективностью. 
Трендовые системы делают 100-200 сделок в год. Алгоритмы, которые пытаются извлечь доход на волатильности внутри дня 300-400 сделок.

Каждая система или суммарно?

Дмитрий Овчинников, каждая в отдельности, кто около 100 сделок в год, другие больше. В зависимости от времени удержания позиции. 
Отличный результат!
Какое у вас макс плечо получается внутри дня и при переносе через ночь?
avatar
Sergey Pavlov, спасибо! максимальное плечо 1 к 6 в сопоставлении к размеру депозита. Чаще меньше, 1 к 3-4
При переносе через ночь размер позиции не уменьшается. Алгоритм либо переносит позу или нет. 
Кирилл Глухов, круто.....
1к6 это ведь гэп 10% против позиции будет слито больше половины счета…
avatar
Sergey Pavlov, 1 к 6 это максимальная расчетная. В этом году приблизился к ней 1 раз. Большую часть времени плечо меньше. Гэпы учтены и торгуются систематически, т.е. в один день гэп в минус, другой день в плюс. На истории влияние гэпа выравнивается, т.е. нивелируется. 
Кирилл, а можно поподробнее про пропуск сделок? Это стоп заявки? И что значит пропуск — тслаб вообще про неё забывает и это обнаруживается через месяц, или к примеру через минуту заявка перевыставляется, т. е. проскальзывание конское? Немного криво написал, но надеюсь сам вопрос понятен. 
avatar
Носорог, Бывает, что тслаб просто делает пропуск входа без видимых причин. И далее забывает про него, как будто и не должно было быть. Но это редко. Второй случай, пропуск входа или выхода на сильном движении. В этом случае тслаб сообщает о пропуске и тогда нужно вмешиваться «руками». Это в случае если проскальзывание превысило заранее установленную величину. Можно настроить исполнение таких сделок автоматически по времени, например через 3 минуты. Но повторюсь, тслаб работает стабильно.  
Кирилл Глухов, Однажды глючный тслаб может пропустить для Вас самую прибыльную сделку. Осваивайте quik+LUA(крайне легкий язык), и никаких прослоек, останутся глюки только на стороне брокера и биржи, но их не миновать(.
Андрей Иванов, я бы не назвал его глючным. В любом софте есть свои изъяны. Хотите сказать, что у quik не бывает проблем? Самую прибыльную сделку не пропущу, так как торгует не 1 бот. Входят они не одновременно, а пропуск сделки в моменте только у одного из 19. Теоретически их можно разбить на вариации до 50 штук и более, но пока не целесообразно. А, какие прослойки имеете ввиду?
Кирилл Глухов, квик крайне стабилен, но все таки один раз он завис за шесть лет и пришлось писать программу слежения за ним, на всякий пожарный)
Да больше роботов это поможет.
Прослойка в связке биржа+квик+тслаб, является тслаб т.к. роботов можно делать в квике. Если вы через шлюз тслаба торгуете, то там конечно стабильнее работа, но и расходы… а в луа все бесплатно и любую ошибку можно исправить самому
Андрей Иванов, прослойки нету, через сервер брокера транзак. Есть возможность прямого подключения через Plaza II, но пока это не нужно. 
Кирилл Глухов, Боты у вас на своем железе? Если да то почему? Спасибо.
avatar
Astronomer, верно, на своем. Свое железо производительнее и бесплатно. Связь стабильна через оптоволокно. Работаю дома, поэтому есть возможность наблюдать за торговлей в течении дня. Переход на удаленный сервер возможен если буду долгое время отсутствовать за рабочим местом. 
Андрей Иванов, ну не знаю, там тонкостей как я понимаю тоже до кучи. Заказывал несколько лук-скриптов, казалось бы простейших — на уровне банального индикатора. Ценник — или 15 т. р. профессионалу, который на луа кодит со времен Наполеона, или 3 т. р. программисту с опытом пару лет, который отдаст тебе скрипт с 5й итерации. А значит не все так просто в самостоятельно кодировании и время уйдёт не на торговую логику, а на борьбу с техническими моментами. Выбор не такой однозначный, и у каждого своя ситуация — с количеством идей, опытом программирования и свободным временем. Поэтому каждый выбирает по себе — женщину, религию, дорогу :)

И это мы ещё не затронули тему тестирования на истории, которое как я понимаю в тслаб решается автоматически (один и тот же код для теста и торговли) 
avatar
Носорог, совершенно согласен первостепенно это торговая логика, потом уже реализация. Но когда уже все оттестировано в тслабе или еще где, можно не парится или все таки написать самому робота.
Очень интересно, тем более 35 процентов это 35 процентов, sounds like hell
Атласов Михаил, график отражает доход в % к первоначальному депозиту с учетом реинвестирования части прибыли которая была получена в прошлом году (2018). Поэтому 35% это без реинвеста. С учетом реинвестирования больше.
роботы это хорошо. я пока гоняю mql в мт5. 
avatar
Ilya, через мт5 фьючерсы торгуете? 
Кирилл Глухов, да. из-за комиссий и шортов. можно и акции торговать, но не совсем понятно зачем. на фьючах огорчает количество инструментов только. индекс тоже не могу брать из-за дороговизны.
avatar
Поздравляю с завершением тяжелого года. 2020 обещает быть получше.
avatar
Frend, Спасибо! почему 2020 год будет лучше, какие мысли? 
Кирилл Глухов, цикличность. + уже что то назревает. Вирус, нефть ходит, ближний восток, трамп. Вола будет. Будет вола. Будет и профит 
avatar
Оптимист вы, батенька. 100% в год. 30% каждый год и вы-лучший
avatar
Мурен(а), мат. ожидание 100%. поэтому жду реализацию именно этого) Да, понимаю, что 30% каждый год — это очень круто. Но размер дэпо толкает на повышенное соотношение риск/доход. В будущем конечно риски буду сокращать. 
Не совсем понял из ваших постов. У Вас много роботов на 1 инструмент. А как вы выбираете робота, который должен торговать с начала дня?
avatar
legion73, Все роботы торгуют одновременно один инструмент. Депозит между ними распределен поровну. Точка входа и выхода у всех свои. 
Кирилл Глухов, А разве так можно? Тогда каждый робот должен сопровождать свою позицию. Или торговать с разных счетов.
avatar
legion73, Можно, каждый ведет свою позицию. На одном счете. 
Спасибо. Надо попробовать в квике и МТ5.
avatar
Кирилл Глухов, по 5 вопросу по формированию портфеля: Когда систем много, нужно строить корреляционную матрицу по ежедневным приращениям. На основе этой матрицы можно задать веса системам. Высоко-коррелированым меньше денег, слабо-коррелированым больше
avatar
robot_bsk, спасибо! Да, планирую этим заняться в будущем. На текущий момент вижу, что корреляция систем высокая и количество ТС не большое. Хотя… нужно посчитать) 
robot_bsk, Задание весов на основе корреляции ТС хорошо работает? Не будет ли это подгонкой параметров портфеля под историю? Интересен Ваш опыт. 
Кирилл Глухов, корреляция ТС особо не меняется со временем и изменением инструмента. Логично, что корреляция ТС с индикатором с периодом 9 и 11 будет всегда высокая. А с периодами 5 и 30 всегда низкая
avatar

теги блога Кирилл Глухов

....все тэги



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