Кирилл Глухов
Кирилл Глухов личный блог
03 июля 2020, 09:31

Пятно параметров торгует эффективнее. Мини-отчет за второй квартал 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%, а в июне эквити подошла к максимумам. Таким образом, данный подход делает торговлю более стабильной. В текущий момент формирую пятно по остальным идеям. Запуск обновленного портфеля намечен на июль. Однако пустить в бой абсолютно все не получиться из-за ограничений по депозиту). Нужно будет выбирать, но уже более осмысленно. 

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

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

74 Комментария
  • Friend
    03 июля 2020, 09:33
    Пора запускать атоследование
      • Susanin
        03 июля 2020, 13:46
        Кирилл Глухов, для кого?
          • Susanin
            03 июля 2020, 22:25
            Кирилл Глухов, и что он будет делать с ней?
              • Susanin
                03 июля 2020, 23:04
                Кирилл Глухов, мне кажется это надуманный страх. если идея не очевидна то понять очень сложно.
                  • Susanin
                    04 июля 2020, 13:47
                    Кирилл Глухов, как брокер могу сказать что проще просто копировать сделки на другой счет. поскольку идею можно искать бесконечно,  а методов реализации вообще тьма.
                    а вот копирование может сработать. но как правило это тоже не работает.
  • Ян Карлович
    03 июля 2020, 09:48
    Как-то слабовато, надо более лучше работать над собой, совершенствоваться
      • GoodBargains
        03 июля 2020, 10:07
        Кирилл Глухов, так 2 параметра если, то постоянно оптимизировать придется? Иначе перестанет работать скоро
  • krolix
    03 июля 2020, 10:01
    Поздравляю!
    В 3 параметрах более-менее легко разобраться по оптимальности (для одного из них выйти на 1-2 оптимальных значения по верхней страничке Шарпа, Рикавери и при достаточном числе сделок; остальные два уже конкретно перебираются и смотрятся вручную). А вот с 4-5 реально уже мозг встаёт.

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

        Так-то это естетственно иметь околонулевой год по лонгу си, если бакс падал с 70 до 62 ровненько так.
        • SergeyJu
          03 июля 2020, 17:45
          krolix, я не торгую среднесрочные ТС на акциях сейчас. Даже сбер. 
    • П М
      03 июля 2020, 20:20
      krolix, кстати клёвая наверно идея, переносить через ночь только лонги по си :)
      надо будет затестить. как я раньше не догадался?
    • VladMih
      03 июля 2020, 11:20
      Кирилл Глухов, вообще не понимаю как может любой рынок долгосрочно взять система с парочкой параметров.
      В такое может поверить только математик, и то не каждый.
      Ни один трейдер с Форекса в это не поверит.
      • SergeyJu
        03 июля 2020, 12:08
        VladMih, рынки устроены не одинаково. На фонде и производных в нашу пользу работает инфляция и рост экономики, активнее создавая тренды.
        • Technocratus
          03 июля 2020, 13:44
          SergeyJu, но ведь в данном случае производные — на валютную пару, т.е. вполне себе «форекс») На самом деле, мне видится некий парадокс, почему USDRUB существенно менее эффективен по сравнению с другими парами, в т.ч. развивающимися. Только турецкая лира сравнима с рублем по трендовости.
          • SergeyJu
            03 июля 2020, 14:48
            Technocratus, развивающихся не изучал, но по слухам, бразов и прочих вполне можно торговать методами и нашей биржи. 
            • Technocratus
              03 июля 2020, 14:59
              SergeyJu, интересно, показания расходятся) Несколько лет назад из праздного любопытства смотрел турок, бразов, индусов, мексов и южноафриканцев — валюты — на предмет работоспособности трендовух с рублебакса. Только турки более-менее понравились. А рэнд и вовсе контртрендовый оказался. Возможно, за прошедшее время что-то изменилось.
              • robot_bsk
                03 июля 2020, 21:12
                Technocratus, я тоже смотрел. Турецкая лира, тайландский бат, чуток юань ходят трендово
                • Technocratus
                  03 июля 2020, 21:22
                  robot_bsk, Спасибо!
                  Интересно, но исключительно теоретически)
                  • robot_bsk
                    03 июля 2020, 21:27
                    Technocratus, ага. Можно через IB торговать на Форексе, но 100к$ что-то страшно закидывать
        • VladMih
          03 июля 2020, 13:06
          Кирилл Глухов, согласен, но неэффективности не работают всегда.
          Об этом я и написал — такие системы будут работать может год, может десять, но рано или поздно они накроются медным тазом с гарантией 101%.
          Учесть все сложности рынка парой параметров — идея для идиота.
          Или гения.
  • Антон Иванов
    03 июля 2020, 11:23
    Эх, где бы взять такой депозит, чтобы все пятно параметров закрыть...
    • SergeyJu
      03 июля 2020, 12:11
      Антон Иванов, сколько Вам нужно точек в пятне, 100? А депозит на 10 фьючей? Не проблема, считайте все, суммируйте, а потом делите на 10 и округляйте. По моим расчетам, если работать более чем 3 контрактами, эвити по этой схеме практически копирует исходную.
      • Антон Иванов
        03 июля 2020, 12:34
        SergeyJu, я не знаю, сколько мне нужно точек в пятне, я только прочитав этот топик задумался об этом вопросе. Некоторые мои боты будут успешно работать и при количестве точек в пятне более 100. К тому же, у меня достаточно сложные автоматизированные системы ММ и РМ, я не торгую фиксированным количеством контрактов. Поэтому размер депозита напрямую влияет на доходность каждого алгоритма. Мне выгоднее зарядить бОльшую сумму в один алгоритм, чем разбить его на 10 частей.
      • robot_bsk
        03 июля 2020, 20:58
        SergeyJu, Сначала написал, потом увидел, что уже ответили.
    • robot_bsk
      03 июля 2020, 20:57
      Антон Иванов, не обязательно иметь большой депозит, чтобы торговать большое пятно. Виртуально торгуете пятно из 100 вариантов параметров. Каждому варианту даете 1млн. Т.е. виртуальное депо = 100млн. По пропорции считаете сколько сейчас должно быть контрактов в лонге или в шорте.
      Например на 100 млн д.б. 2000 контрактов в лонге, значит на 100т.р. д.б. 2 контракта в лонге. Потом станет 3000 контрактов, значит надо докупить 1 контракт до +3.
      • Антон Иванов
        04 июля 2020, 11:13
        robot_bsk, идея понятна, только она не сработает на некоторых вещах, например при автоматическом реинвесте. При торговле 2-мя лотами мне надо получить 50% прибыли, чтобы алгоритм мог добавить в торговлю 1 контракт, а при торговле 100 лотами мне достаточно заработать 1%, чтобы добавить в торговлю 1 контракт. Соответственно с дальнейшим ростом депозита ситуация только улучшается.
        • robot_bsk
          04 июля 2020, 11:30
          Антон Иванов, это если манименеджмент — % от капитала. А если риск на сделку, то все гуд. Во общем я согласен с А.Г. что нужен такой депозит, чтобы при максимальной загрузке минимум 3-4 контракта торговалось. Тогда реинвест более-менее начинает работать.
  • Replikant_mih
    03 июля 2020, 11:29

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

     

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

     

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

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

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

      • Replikant_mih
        03 июля 2020, 13:18
        Кирилл Глухов, Ну да, это типа преобладающее мнение среди лучшей части алго-трейдеров, назовем это так. В целом да, это отличная защита от переоптимизации. Но если естьв арсенале и другие механизмы защиты — думаю, есть смысл заглядывать в сторону большего кол-ва параметров.
    • Носорог
      03 июля 2020, 14:24
      Replikant_mih, мысли очень схожие. Правда, уже года 2 задача висит в очереди на реализацию. Немного забуксовал с освоением Multicharts :( 
  • Носорог
    03 июля 2020, 14:32
     В целом, полностью согласен — чем меньше параметров, тем лучше. Но это когда есть хорошая базовая идея. В принципе, если у нее нет параметров — то это один из видов Граалей. С 1 параметром — почти Грааль. Естественно, если прибыль обгоняет депозит (лучше — раза в 2+).

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

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

       

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

       

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

       

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

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

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

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

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

        Перечитал еще раз ваш коммент. Возможно даже мы пишем об одном :). В любом случае спасибо за обмен опытом!
        • Replikant_mih
          03 июля 2020, 19:03

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

           

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

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

           

          • Носорог
            03 июля 2020, 19:06
            Replikant_mih, да — буквально недавно узнал и подключился. Но по старой привычке — «прежде чем что-то умничать — пробегись — посмотри что уже обсуждали». Поэтому в процессе :)
            • Replikant_mih
              03 июля 2020, 19:08
              Носорог, А, ясн, гуд, ну там вроде лояльный народ и интересный).
          • Александр Ганов
            23 июля 2020, 20:42
            Replikant_mih, добрый день. Поделитесь адресом чатика? 
  • KУKЛа
    03 июля 2020, 18:58
    молодец  
    только калябушек и слов много лишних


  • robot_bsk
    03 июля 2020, 21:07
    Кирилл Глухов, я тоже так начинал. Сначала 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
  • robot_bsk
    03 июля 2020, 22:11
    Много, но т.к. сумма на счёте всего 200к, то по самому счету сделок не много. Условно 1000 систем по 1млн виртуально. На текущий момент 10 000 контрактов в лонге. На мой депозит в 200 к это по пропорции будет +2 контракта.
    Потом цена дальше прет вверх и часть систем из шорта встают в лонг, итого 22 000 контрактов, но на мое дело это никак не скажется. И только когда станет > 25 000 контрактов виртуально, только тогда докупится 1 контракт.
    Поэтому ИТА низкая.
    На самом деле лучше была бы ИТА побольше, т.к. чем больше депо, тем чётче эквити повторяет суммарную виртуальную эквити
      • robot_bsk
        04 июля 2020, 11:35
        Кирилл Глухов, у меня много счетов. Чем больше депо, тем больше соответсвие.
        А.Г. писал, что нужно минимум 3-4 контракта, чтобы торговалось и я с ним согласен.
          • robot_bsk
            04 июля 2020, 12:04
            Кирилл Глухов, я не уточнил, в каком контексте А.Г. это писал. Конечно это относится к стратам с ММ с реинвестом. При паттерновой фикс-сайз возможно лучший ММ.
  • Михаил
    24 июля 2020, 08:35
    А как вы торгуете пятно параметров? Я так понимаю, вы берете набор параметров в некой окрестности от оптимальных. В результате условно получается 100 моделей. Дальше начинаете их использовать, но ни могут давать разные сигналы — как вы разрешаете противоречие в сигналах?
      • Александр Ганов
        23 сентября 2020, 12:41
        Окончательно убедился в том, что необходимо торговать все пятно (облако, веер, площадь) параметров внутри одной идеи.

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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн