Блог им. fehuman

Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года

Всех приветствую!

Второй квартал закончился с результатом +47,4%. Общий доход за первую половину года +127,5%. Статистика по месяцам:
Апрель +46%
Май -4,3%
Июнь +4,5%
Общий доход за 2,5 года +469%. Общую кривую можно посмотреть тут 
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года

Максимум достигнут 7 мая. От него ушли в просадку на 21,8%. Доход и просадку считаю к балансу на начало года. От достигнутого максимума откатили вниз на 9,15%. Ожидаемое, рабочее снижение после хороших движений. Но могло быть лучше.
Окончательно убедился в том, что необходимо торговать все пятно (облако, веер, площадь) параметров внутри одной идеи. Почему окончательно? Вылезли две проблемы.
Первая. Часть движений на укреплении рубля боты не взяли. Причина – в некоторых алгоритмах параметры смещены в сторону лонга (для SI понятно почему). Удержание шортов более короткое, таким образом, тренды вниз с сильными откатами прошли мимо.
Вторая.  Недооценил одну из идей. Вариации строились на основании лучшего набора параметров прошлого года. Не учитывал вариации с результатом похуже, но в целом улучшающих показатели алгоритма в долгосрочном периоде.
Требование к пятну – оно не должно сильно двигаться. Делать такой анализ вручную тяжеловато. Надеюсь, что TSLab в будущем внедрит 3D визуализацию, работа как я понял над этим идет. Некоторые системы решил упростить с 3 до 2 параметров, за счет единого значения для лонга и шорта.
Ниже пример вариаций, составленных на основании более устойчивого пятна. Недооцененный алгоритм.
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года
Зеленым и красным выделены варианты в высоким и низким фактором восстановления. 

В 2019 году в торговлю пошли боты по вариациям близкие к № 8 и №12. Такой выбор был сделан на основании их высокой эффективности в прошлом. Как видно, в 2019-ом этот алгоритм меня подвел. Поэтому в 2020-ом решил уменьшить его долю в портфеле. Взяв на вооружение вариацию №1. За текущие 6 месяцев алгоритм себя реабилитировал.
На основании двух параметров составил 16 вариаций (4 на 4), таким образом, чтобы их значения были равномерно распределены по пятну. На 2019 год имеем следующие эктиви и среднеарифметическую. Рисунок ниже.
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года

Тестовый доход 57,4%, просадка 17,4% (баланс систем по итогам дня). Выводы очевидны. В 2020 году торговля всех вариаций значительно сократила бы майскую просадку. Рисунок ниже.  
Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 2020 года
В мае откатили на 9%, а в июне эквити подошла к максимумам. Таким образом, данный подход делает торговлю более стабильной. В текущий момент формирую пятно по остальным идеям. Запуск обновленного портфеля намечен на июль. Однако пустить в бой абсолютно все не получиться из-за ограничений по депозиту). Нужно будет выбирать, но уже более осмысленно. 

Вопросы и конструктивная критика приветствуются.

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

★10
74 комментария
Пора запускать атоследование
avatar
Frend, не хочу светить сделки) 
Кирилл Глухов, для кого?
avatar
Susanin, для тех кто подпишется на стратегию, т.е. для инвесторов). Ну, там же может быть и не инвестор, а трейдер, который собирает историю сделок…
Кирилл Глухов, и что он будет делать с ней?
avatar
Susanin, воссоздавать алгоритм. Есть риск, что в последствии система будет загружена большим объемом и эффективность моей торговли снизиться. 
Кирилл Глухов, мне кажется это надуманный страх. если идея не очевидна то понять очень сложно.
avatar
Susanin, возможно вы правы. Но, предпочитаю «возможно» исключить. Стараюсь контролировать все риски.  
Кирилл Глухов, как брокер могу сказать что проще просто копировать сделки на другой счет. поскольку идею можно искать бесконечно,  а методов реализации вообще тьма.
а вот копирование может сработать. но как правило это тоже не работает.
avatar
Susanin, спасибо! за альтернативную точку зрения. Во многом соглашусь. 
Как-то слабовато, надо более лучше работать над собой, совершенствоваться
Ян Карлович, работаю, стараюсь. Знаю, что можно лучше. 
Кирилл Глухов, так 2 параметра если, то постоянно оптимизировать придется? Иначе перестанет работать скоро
avatar
GoodBargains, цель торговли «пятна» параметров как раз в том чтобы не делать постоянную оптимизацию. Главное чтобы это «пятно» на форварде не двигалось со временем. А вот торговать одну вариацию — рискованно. Торгую алгоритм с начала 2018 года, все норм. 
GoodBargains, без картинки сложно объяснить, вот пример. По нижним осям отложены 2 параметра, третья ось — доход. Пятно должно быть стабильно на длительном промежутке (для меня это 10 лет). Оно может чуть-чуть сдвигаться, но не резко. Не должно появляться новых пятен. Если такое есть на форварде, то система плохая. 


Поздравляю!
В 3 параметрах более-менее легко разобраться по оптимальности (для одного из них выйти на 1-2 оптимальных значения по верхней страничке Шарпа, Рикавери и при достаточном числе сделок; остальные два уже конкретно перебираются и смотрятся вручную). А вот с 4-5 реально уже мозг встаёт.

По поводу Si: торгую только лонг. С учетом того, что при растущем рынке (и падающем Si) трендовухи встают в лонги по акциям, очень много риска, и просадки суммируются. Например, гэп «вдруг» не туда на 5% и приехали на максимальную просадку 2008ого за одну ночь. Если торговать только си без акций, то есть риск, что инструмент сломается/запилит на год-два и вообще перестанешь зарабатывать. Хотя шорт си неплохо компенсирует проблемы лонга, в частности в 2019ом
avatar
krolix, шортовые системы на СИ обычно более гладкие.
avatar
SergeyJu, 
Из-за кэрри (положительного при шорте и отрицательного при лонге)? Если на споте протестировать, у меня обе стороны примерно одинаково выглядят.
avatar
Technocratus, думаю, да, отчасти из-за процентной ставки. Кроме того, лонг зарабатывает на повышенной воле. А шорт по чуть-чуть, но гораздо в большем числе фаз рынка.
avatar
SergeyJu,
Кроме того, лонг зарабатывает на повышенной воле. А шорт по чуть-чуть, но гораздо в большем числе фаз рынка.
Вероятно, в этом тоже виноват кэрри-трейд, только косвенно: те, кто его практикует, приходят по чуть-чуть равномерно по времени, а убегают толпой, роняя кал на ходу.
avatar
SergeyJu, мы с вами уже это частично затрагивали. У меня по Шарпу где-то рядом, но шортовая проседает вместе со всеми лонговыми ТС акций, особенно на гэпах, поэтому или уж совсем на 20-50% от депо торговать ей, или просто забить, как по мне. У вас что, нет корреляции в этом плане?

Так-то это естетственно иметь околонулевой год по лонгу си, если бакс падал с 70 до 62 ровненько так.
avatar
krolix, я не торгую среднесрочные ТС на акциях сейчас. Даже сбер. 
avatar
krolix, кстати клёвая наверно идея, переносить через ночь только лонги по си :)
надо будет затестить. как я раньше не догадался?
avatar
 Спасибо! Мне и с 3-мя параметрами тяжеловато разбираться. Идеально 1 — 2. Да, есть риск, что Si перестанет ходить трендово. Работаю над другими инструментами. Страховаться акциями хорошая идея.  
Кирилл Глухов, вообще не понимаю как может любой рынок долгосрочно взять система с парочкой параметров.
В такое может поверить только математик, и то не каждый.
Ни один трейдер с Форекса в это не поверит.
avatar
VladMih, рынки устроены не одинаково. На фонде и производных в нашу пользу работает инфляция и рост экономики, активнее создавая тренды.
avatar
SergeyJu, но ведь в данном случае производные — на валютную пару, т.е. вполне себе «форекс») На самом деле, мне видится некий парадокс, почему USDRUB существенно менее эффективен по сравнению с другими парами, в т.ч. развивающимися. Только турецкая лира сравнима с рублем по трендовости.
avatar
Technocratus, развивающихся не изучал, но по слухам, бразов и прочих вполне можно торговать методами и нашей биржи. 
avatar
SergeyJu, интересно, показания расходятся) Несколько лет назад из праздного любопытства смотрел турок, бразов, индусов, мексов и южноафриканцев — валюты — на предмет работоспособности трендовух с рублебакса. Только турки более-менее понравились. А рэнд и вовсе контртрендовый оказался. Возможно, за прошедшее время что-то изменилось.
avatar
Technocratus, я тоже смотрел. Турецкая лира, тайландский бат, чуток юань ходят трендово
avatar
robot_bsk, Спасибо!
Интересно, но исключительно теоретически)
avatar
Technocratus, ага. Можно через IB торговать на Форексе, но 100к$ что-то страшно закидывать
avatar
VladMih, про Форекс не могу ничего сказать, так как торговал там давно и руками. Мне кажется, что на нашем рынке много неэффективностей, которые можно описать как простую идеи в одну строчку. А параметры ее дополняют. Форекс рынок более эффективный. 
Кирилл Глухов, согласен, но неэффективности не работают всегда.
Об этом я и написал — такие системы будут работать может год, может десять, но рано или поздно они накроются медным тазом с гарантией 101%.
Учесть все сложности рынка парой параметров — идея для идиота.
Или гения.
avatar
VladMih, рассматриваю наличие тендовости (или контртрендовости) в инструменте как неэффективность. Если тендовость из Si уйдет, то и алгоритмы станут работать хуже. Заметить изменения в структуре/механике движения цены будет не сложно. Безусловно в этом есть риск. Снизить риск можно только диверсификацией по инструментам и алгоритмам.
Эх, где бы взять такой депозит, чтобы все пятно параметров закрыть...
Антон Иванов, сколько Вам нужно точек в пятне, 100? А депозит на 10 фьючей? Не проблема, считайте все, суммируйте, а потом делите на 10 и округляйте. По моим расчетам, если работать более чем 3 контрактами, эвити по этой схеме практически копирует исходную.
avatar
SergeyJu, я не знаю, сколько мне нужно точек в пятне, я только прочитав этот топик задумался об этом вопросе. Некоторые мои боты будут успешно работать и при количестве точек в пятне более 100. К тому же, у меня достаточно сложные автоматизированные системы ММ и РМ, я не торгую фиксированным количеством контрактов. Поэтому размер депозита напрямую влияет на доходность каждого алгоритма. Мне выгоднее зарядить бОльшую сумму в один алгоритм, чем разбить его на 10 частей.
Антон Иванов, Да, у меня тоже есть проблема с ММ. Есть системы которые торгуют 1 контракт а есть вариативность до 5 контрактов на одного бота. Поэтому дэпо не хватает.
SergeyJu, Сначала написал, потом увидел, что уже ответили.
avatar
Антон Иванов, не обязательно иметь большой депозит, чтобы торговать большое пятно. Виртуально торгуете пятно из 100 вариантов параметров. Каждому варианту даете 1млн. Т.е. виртуальное депо = 100млн. По пропорции считаете сколько сейчас должно быть контрактов в лонге или в шорте.
Например на 100 млн д.б. 2000 контрактов в лонге, значит на 100т.р. д.б. 2 контракта в лонге. Потом станет 3000 контрактов, значит надо докупить 1 контракт до +3.
avatar
robot_bsk, идея понятна, только она не сработает на некоторых вещах, например при автоматическом реинвесте. При торговле 2-мя лотами мне надо получить 50% прибыли, чтобы алгоритм мог добавить в торговлю 1 контракт, а при торговле 100 лотами мне достаточно заработать 1%, чтобы добавить в торговлю 1 контракт. Соответственно с дальнейшим ростом депозита ситуация только улучшается.
Антон Иванов, это если манименеджмент — % от капитала. А если риск на сделку, то все гуд. Во общем я согласен с А.Г. что нужен такой депозит, чтобы при максимальной загрузке минимум 3-4 контракта торговалось. Тогда реинвест более-менее начинает работать.
avatar

Да, идеи очень здравые — и про торговать не один набор значений, а некоторый пул, распределенный по пятну и про стабильность пятна.

 

По поводу перехода от 3D (ну или 3D, как посмотреть) в nD. Да, визуально там не так легко, хотя видел как визуализируют вплоть до 6 измерений, кажется)). Но можно же и не визуально. На вскидку: делаем набор прогонов — брутфорсом по всем параметрам или рандомно выбирая значение каждого параметра из диапазона его значений, дальше берем пятно и считаем по прогонам в пределах пятна средние метрики — шарп там, PF, win_rate и считаем их вне пятна, сравниваем. 

 

А, ну да, наверно сложность найти пятно в этом случае)). Ну тоже можно придумать что-то:

— Можно заходить со стороны 2D, берем попарно параметры, находим стабильные хорошие области, потом пробуем пересечения в качестве кандидатов на «пятно».

— Можно сканировать многомерное пространство — разбиваем все многомерно простанство на области — как квадрат на маленькие квадраты, как куб на маленькие кубики и т.д., просканировали все такие n-мерные части общего пространства, посчитали средние метрики, дальше ищем области где кучно уложены «хорошие» подпространство — это и есть пятно.

avatar
Replikant_mih, здорово! спасибо за описанные подходы. До nD пока далеко с 3D пока разобраться бы. А вообще, может не нужны эти усложнения? Стараюсь двигаться к не более 2 параметрам, а тут и 3D достаточно. 
Кирилл Глухов, Ну да, это типа преобладающее мнение среди лучшей части алго-трейдеров, назовем это так. В целом да, это отличная защита от переоптимизации. Но если естьв арсенале и другие механизмы защиты — думаю, есть смысл заглядывать в сторону большего кол-ва параметров.
avatar
Replikant_mih, мысли очень схожие. Правда, уже года 2 задача висит в очереди на реализацию. Немного забуксовал с освоением Multicharts :( 
avatar
Носорог, 
avatar
 В целом, полностью согласен — чем меньше параметров, тем лучше. Но это когда есть хорошая базовая идея. В принципе, если у нее нет параметров — то это один из видов Граалей. С 1 параметром — почти Грааль. Естественно, если прибыль обгоняет депозит (лучше — раза в 2+).

А вот когда ты в поиске — т.е. идея то конечно есть, но при программировании паттерна компьютеру не скажешь про «голову и плечи» — ему нужны параметры. И когда ты начинаешь паттерн алгоритмизировать — лично у меня параметров в процессе — с десяток (минимальная просадка после плеча, количество плечей, количество голов  и т.п.). Но после постепенной отладки механизма они один за другим улетают в константы. Ибо никак не влияют на саму прибыльность. Но все равно редко когда я останавливаюсь на 2х параметрах, которые и оптимизирую. Знаю, что это плохо, но пока так-с.
avatar

Носорог, Ну да, всё так. Только у меня один вопрос: чем параметры, улетевшие в константы отличаются от остальных параметров? Почему они улетают, а другие не улетают?

 

Вот по параметру не видна какая-то связь с результатами стратегии, если на параметре держится какое-то условие отдельное — я просто его уберу как несостоятельное, не дающее преимущества, если нет возможности — расслаблю по максимуму чтобы кол-во сделок не уменьшал.

 

Далее, если связь параметра с результатами понятна — мы понимаем где значение параметра надо ставить, оптимизировать глубже — не стоит, ну найдем мы локальные пики — нафига? — Не нужны они нам. Я, получается, вообще не оптимизирую в этой системее координат, я рисечу), если параметр ни о чем — убираю, о чем — оставляю, уже понимая что с ним делать. Ну дальше можно посмотреть взаимосвязь параметров, там что-то может быть, идущее в разрез с логикой, понятной по одному параметру.

 

В этой парадигме нет какого-то отдельного процесса когда остались 2 параметра и я с ними что-то делаю особенное.

avatar
Replikant_mih, я пока не готов утверждать, что мой подход правильный.
Могу только вкратце рассказать откуда он пошел. Это все привычка — начиная описывать любую компьютерную модель стараться ее максимально параметризировать — т.е. не писать жесткие константы в коде. Как сказал один Гуру компьютерного моделирования — «любая модель — изначально ложь». Имеется в виду, что никакая модель не может 100% повторить объект, который она моделирует. Поэтому с помощью параметров можно более проще подгонять «костюмчик под клиента» (а не сшивать его детали сразу намертво). Важно — я не говорю еще про оптимизацию. Я говорю о кодировании модели (паттерна), который все же далеко не всегда является четким ТехЗаданием, в 50% случаев он лишь в голове и весьма абстрактен (+ эскиз «на салфетке» — т.к. я визуал). Поэтому зачастую бывает так (условно, выдумываю пример на ходу) — «чей-то стал я замечать, что после трех первых свечей после дневного технического перерыва цена движется в сторону второй свечи». Если закодировать это жестко — то проверишь только этот вариант, а параметры будут — тейк и стоп (не придирайтесь, понятно что пример ущербный). А если через переменные (количество свечей, время, тип стопа и тип тейка и т.п.) — то можно будет какие-то родственные паттерны посмотреть, или где-то потом повторно использовать свой код.

Ну и на этапе оптимизации  — коль уж использовал переменные — можно ими «нахаляву» поиграться. И может выяснится, что «Грааль» лежал в соседней комнате через дорогу, а не где его искали. Как в том анекдоте про мужика, которого попросили прокомментировать как он выиграл в лотерею (ну не в лотерею, а в карты, и не миллион долларов, а два, и не выиграл, а проиграл). 

Еще раз — я не настаиваю. Для меня больше параметров — больше гибкости в исследовании паттерна. Строго говоря, конечно это можно считать частью оптимизации (со всеми вытекающими последствиями). Даже спорить не буду. Но про известную байку про изобретение виагры все же напомню :)  

Ну и еще раз подтверждаю — что система без параметров, основанная на конкретной неоптимальности рынка — это потенциально самая лучшая система. Все эти параметры — конечно же не от хорошей жизни.

Перечитал еще раз ваш коммент. Возможно даже мы пишем об одном :). В любом случае спасибо за обмен опытом!
avatar

Носорог, Да, это то же самое что я делаю!)) Я так все время и пишу, че вы боитесь параметров, их надо бояться только если взять 100 параметров, сделать миллиард прогонов и выбрать с лучшим профит фактором, а если ты используешь параметры чтобы поприкидывать, посмотреть че-кого, есть вообще смысл в этом? Нет? — Отлично, нафиг с поля. Есть — мм, любопытно, поисследуем дальше.

 

Кстати забавно, я тоже люблю метафорами и прочими аналогиями говорить).

У Сергея Павлова в телеграм чатике присутствуете? — Если что — там ещё больше обмена опытом можно получить)).

 

avatar
Replikant_mih, да — буквально недавно узнал и подключился. Но по старой привычке — «прежде чем что-то умничать — пробегись — посмотри что уже обсуждали». Поэтому в процессе :)
avatar
Носорог, А, ясн, гуд, ну там вроде лояльный народ и интересный).
avatar
Replikant_mih, с параметрами любопытно заниматься исследованием, тут сложно возразить. Это я люблю делать. Просто взять за основу два параметра — это проще для создания вариативности, только и всего)
Replikant_mih, добрый день. Поделитесь адресом чатика? 
молодец  
только калябушек и слов много лишних


avatar
KУKЛa, спасибо, а «калябушки» это что такое?  
Кирилл Глухов, я тоже так начинал. Сначала 5 наборов, потом 10, потом 100 и т.д.
https://www.comon.ru/user/robot_bsk/strategy/detail/?id=10994

Сначала сделал и начал торговать, потом прочитал статью, друг скинул https://daytradingschool.ru/robert-karver-o-pravilax-torgovyx-sistem-i-opasnostyax-chrezmernoj-optimizacii/
Еще ссылки на эту тему:
https://smart-lab.ru/blog/22291.php
https://russian-trader.com/content/205/?page=2
Ну и последняя, я обучаю этому: Как создать много-параметрического мульти-таймфреймового бота на Qlua https://red-circule.com/courses/11333
avatar
robot_bsk, отличный результат, поздравляю! 
Кирилл Глухов, спасибо! Отличный результат здесь: https://www.comon.ru/user/robot_bsk/strategy/detail/?id=8255
avatar
robot_bsk, Круто) показатель ИТА 1,57 достаточно низкий. А сколько сделок в год у алгоритмов в среднем? 
Много, но т.к. сумма на счёте всего 200к, то по самому счету сделок не много. Условно 1000 систем по 1млн виртуально. На текущий момент 10 000 контрактов в лонге. На мой депозит в 200 к это по пропорции будет +2 контракта.
Потом цена дальше прет вверх и часть систем из шорта встают в лонг, итого 22 000 контрактов, но на мое дело это никак не скажется. И только когда станет > 25 000 контрактов виртуально, только тогда докупится 1 контракт.
Поэтому ИТА низкая.
На самом деле лучше была бы ИТА побольше, т.к. чем больше депо, тем чётче эквити повторяет суммарную виртуальную эквити
avatar
robot_bsk, т.е. у вас 1000 ботов торгуют виртуально, а реальные заявки многократно меньше? А реальный результат с таким «округлением» соответствует общей форвардной эквити 1000 ботов?  
Кирилл Глухов, у меня много счетов. Чем больше депо, тем больше соответсвие.
А.Г. писал, что нужно минимум 3-4 контракта, чтобы торговалось и я с ним согласен.
avatar
robot_bsk, тут с А.Г. не совсем согласен. У меня лучшая система торгует без ММ, т.е. можно торговать 1 контракт. Если изначально идея/паттерн качественный ММ ей не нужен. Но большинство алгоритмов все таким с ММ)
Кирилл Глухов, я не уточнил, в каком контексте А.Г. это писал. Конечно это относится к стратам с ММ с реинвестом. При паттерновой фикс-сайз возможно лучший ММ.
avatar
А как вы торгуете пятно параметров? Я так понимаю, вы берете набор параметров в некой окрестности от оптимальных. В результате условно получается 100 моделей. Дальше начинаете их использовать, но ни могут давать разные сигналы — как вы разрешаете противоречие в сигналах?
avatar
Михаил, Да, беру параметры в окрестности от оптимальных. На текущий момент проблему противоречия сигналов никак не решаю. Торгую все сигналы. Собственно проблему в этом не вижу. Широкое пятно = большое количество вариаций = широкое окно входа и выхода. На одну вариацию к примеру можно пустить 50 т.р. (торговля 1-3 контракта). 1000 ботов сможет оборачивать 50 — 100 млн. руб. без проблем в проскальзывании так как у каждого своя цена входа и выхода. Да, много сделок = больше комиссий, но они окупаются.
Окончательно убедился в том, что необходимо торговать все пятно (облако, веер, площадь) параметров внутри одной идеи.

Всем добре. Кирилл Глухов, Где-то раскрываются данные понятия, имею ввиду есть какое-то достойное чтиво, где об этом можно почитать? Спасибо
avatar
Александр Ганов, к сожалению спец литературы по данным понятиям не встречал. Практика коллег и свой скромный опыт. 
avatar
Кирилл Глухов, тогда если не сложно можно в трех словах данные понятия описать  чтобы понимать почему так называются и уже дальше покопаться в книгах, чтобы найти какие-то более широкие толкования. заранее благодарю
avatar

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

....все тэги



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