Дмитрий Овчинников
Дмитрий Овчинников личный блог
25 июля 2023, 16:20

Адаптирующиеся системы vs. обычные. Лабораторная работа №1

Коллега @Ho_Chu при каждом удобном случае говорит мне, что необходимо пересчитывать системы на основе последних данных. Коллега @bascomo, наверное единственный известный мне алго, эксплуатирующий этот механизм в промышленном варианте, написал в последнее время пару статей, чем подогрел мое любопытство. 

Мое отношение к подстройке под последние данные отрицательное, но оно основывается скорее на отсутствии доступных результатов трейдеров, использующих адаптирующиеся системы. Тем не менее такая стоящая гипотеза достойна проверки. Так как такая работа не подразумевает повторяемости, делается все вручную, а значит долго, дорого и плохо. И возможно с ошибками.

Для лабораторной работы взял одну из рабочих систем с тремя параметрами для оптимизации, определил диапазон параметров и периоды IS и OOS 

1. Разбил  OOS на интервалы с длительностью в 1 месяц. Проводил оптимизацию IS для каждого из интервалов OOS на периоде в 6 месяцев до этого периода и использовал лучшие параметры IS, различные для каждого из соответствующих периодов OOS.
2. Провел оптимизацию IS на периоде 01.01.2015-31.12.2022 (собственно так и делаю всегда при создании систем) и протестировал OOS на периоде 01.01.2023-н.в с лучшими параметрами, полученными на периоде IS.

В результате тестов получил кривую ежедневных приращений счета для каждого из вариантов тестирования/оптимизации.

Адаптирующиеся системы vs. обычные. Лабораторная работа №1

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

Продолжение следует…
104 Комментария
  • Андрей К
    25 июля 2023, 16:33
    Нормал тему затронул )
      • КРЫС
        25 июля 2023, 16:43
        Дмитрий Овчинников, почему адаптация должны быть лучше? Вы подгоняете систему под ряд… А надо ряд подгонять под систему -))
        Мое строгое имхо — никаких подгонок, никаких адаптаций… Ну и совсем мое имхо — в системе должна быть мысль. И эта мысль не должна зависеть от угла наклона тренда.
          • КРЫС
            25 июля 2023, 17:11
            Дмитрий Овчинников, у меня только 1 параметр...  Он не меняется уже почти 25 лет и в нем, считаю, есть идея -)). Он отвечает только за распознавание тренд/не тренд… Ну и есть еще одна фишечка — работа по системе на разных тайм-фреймах… Плюс мани-менеджмент…
              • КРЫС
                25 июля 2023, 17:35
                Дмитрий Овчинников, на практике? Или на прогонке? Что точно — меньшая доха безпараметровой системы — это плата за ее робастность 

              • Тимофей Мартынов
                25 июля 2023, 19:50
                Дмитрий Овчинников, 

                система без параметров

                Это как???
                Или имеется в виду что в системе параметры, которые нет смысла оптимизировать?
                  • Тимофей Мартынов
                    25 июля 2023, 20:04
                    Дмитрий Овчинников, кроме входа должен быть и выход. Чтобы исключить параметры придется выходить по ATL :)
          • GAURANGA
            25 июля 2023, 20:14
            Дмитрий Овчинников, вола меняет параметры.
        • DrManhattan
          26 июля 2023, 09:57
          КРЫС, в системе еще должен быть рыночный механизм или следы игроков.
      • Андрей К
        25 июля 2023, 16:47
        Дмитрий Овчинников, чую нейронка должна подстроить параметры )

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

        я вот например исхожу из того, что рынок могут характеризовать два параметра: вола и ликвидность. В сочетании этих двух величин или на основе их строится какой то синтетический параметр. Он то и должен влиять на страту. Ну банально например: объем торгов/кол-во_всех _трейдов_сессии 

        ну а пока на деле все просто: видишь страта подливает, в терминал глянул на стаканы, числа, глаз прищурил и прикинул параметр. Ну и поменял )
          • Андрей К
            26 июля 2023, 08:58
            Дмитрий Овчинников, hft кстати бывает тоже обсчитывают через день. Большими мощностями. Инфа точная, сам видел ) Но это было в период только низкой волы
  • Василий Федорович
    25 июля 2023, 17:11
    Какая к черту извините может быть адаптация к случайному сигналу?
      • Василий Федорович
        25 июля 2023, 17:34
        Дмитрий Овчинников, 1. возможно, если изначально знать что он случаен 2. дайте пожалуйста ссылку на счёт коллег.
          • Василий Федорович
            25 июля 2023, 17:48
            Дмитрий Овчинников, так умный только Е.Г., и то с трудом в полюса выходит, остальные с годами уходят в минус, вопрос времени
  • alt
    25 июля 2023, 17:22
    Дмитрий,  тема достойная осмысленного подхода и исследования… В системах управления различными объектами -это нормальная практика использования обратных связей в адаптивных системах как минимум для  повышения их устойчивости.....
    Нужно осмысленно исследование этой задачи с неким мат. аппаратом… Но на ресурсе челов способных  на подобное исследование  не встречал…
      • Василий Федорович
        25 июля 2023, 17:37
        Дмитрий Овчинников, нужны не математики а радиотехники, которые хотябы знают виды сигналов.
          • Василий Федорович
            25 июля 2023, 17:50
            Дмитрий Овчинников, думаю единицы из 190 000, за 6 лет ни одного не встречал.
              • Василий Федорович
                25 июля 2023, 17:59
                Дмитрий Овчинников, зачем искать? рыбак рыбака…
              • Василий Федорович
                25 июля 2023, 18:03
                Дмитрий Овчинников, вообще-то грустно читать тексты на СЛ о сигналах от писателей, понятие не имеющих о классификации сигналов.
              • silentbob
                25 июля 2023, 20:24
                Дмитрий Овчинников, Да, он радиотехник, я тоже. но, увы, все что касается сигналов — к рынку не подходит.
        • alt
          25 июля 2023, 18:03
          Василий Федорович, Это уже чуть  ближе к сути темы…
        • Артур
          25 июля 2023, 18:06
          Василий Федорович, расскажите нам сами об этом подробнее, пожалйста.
          • Василий Федорович
            25 июля 2023, 18:54
            Артур, нет вдохновения, я в творческом поиске, приношу извинения, да и в нете все есть.
      • alt
        25 июля 2023, 18:07
        Дмитрий Овчинников, «математиков на ресурсе хватает». Ни о чём..  «голый » математик  без некого понимания биржевых нюансов к тому не владеющий некими прикладными решениями  (Пригожин… Атаман..)- Это  скорее Ноль в биржевых делах… Вспоминаю постоянно добрым словом Бориса Гудылина с его темой фракталов…
          • alt
            25 июля 2023, 18:45
            Дмитрий Овчинников, Даже Перельман в итоге сбёг))
              • alt
                25 июля 2023, 19:13
                Дмитрий Овчинников, Конечно нее? Ещё как то на Пауке чел искал математиков для решения некоторых задач трейдинга. Тогда он не нашёл таких… Там кроме всего нужно владение некоторыми прикладными решениями… В этом направлении далеко не все копают…)
                  • alt
                    25 июля 2023, 21:44
                    Дмитрий Овчинников, «Программиста толкового не найти,»     -одни распальцовки…
                    За решение стандартной задачи с пом готовых спец. библиотек которая решается спецом  за неделю — две  просят -300-400р… без всяких гарантий..)
                  • DrManhattan
                    26 июля 2023, 10:06
                    Дмитрий Овчинников, на смартике с 16 года.
                    Да за это время можно миддлом стать, если есть желание.
                    Или кодить — это не барское дело?
                    • Андрей К
                      26 июля 2023, 12:16
                      DrManhattan, да Дмитрий притворяется, уверен, он уже давно мидл, по крайней мере в mql ) Возможно конечно изначально в базовую версию заложен не совсем красивый код, который не просто исправлять и нужно вдохновение )
        • robomakerr
          25 июля 2023, 18:21
          alt, удалось заработать на его фракталах?
          • alt
            25 июля 2023, 18:46
            robomakerr, — один из ориентиров…
        • Dio
          25 июля 2023, 22:44
          alt, не подскажите, кто такой Борис Гудылин? работы, статьи..
          Заранее благодарю, коллега!;)
          • alt
            25 июля 2023, 23:18
            Dio, smart-lab.ru/blog/281180.php//    Но многое нужно нестандартно додумывать…
            • Dio
              25 июля 2023, 23:23
              alt, будем стараться! спасибо еще раз и удачных трейдов!)
            • Dio
              25 июля 2023, 23:25
              alt, увф страница уже не существует… этот человек на смарте или особняком вне данного ресурса?
              • Дед Нечипор
                26 июля 2023, 06:01
                Dio, там же видно, что в конце ссылки лишние символы? Вот вам другая ссылка на его блоги (в обратном порядке по времени):

                https://smart-lab.ru/my/bgoud/
                • Dio
                  26 июля 2023, 13:06
                  Дед Нечипор, увидел) Спасибо!
              • alt
                26 июля 2023, 11:04
                Dio, Может второпях что то не сложилось с адресом..? Вам вроде помогли уже… Борис- интересный многогранный человек… Может и вам удастся зацепиться за суть его идей… Он много информации дал для подумать… Вначале он охотно делился подробностями и некоторые недобросовестные «товарищи»  стали потом   пользоваться его открытостью...)
                • Dio
                  26 июля 2023, 13:07
                  alt, да, уже разобрался! Спасибо! почитаем.
                  За суть его идей цепляться не планирую..)) но фракталы очень люблю… лет 20..))
                  • alt
                    26 июля 2023, 13:39
                    Dio, «но фракталы очень люблю… лет 20..))»- это как? -можно в личку…
  • love_to_trade
    25 июля 2023, 18:00
    а почему месяц? надо попробовать более длительные интервалы может и есть в этом смысл
      • love_to_trade
        26 июля 2023, 14:29
        Дмитрий Овчинников, мне кажется рынок не меняется так быстро если это конечно не HFT, поэтому месяц небольшой срок. Исключениям являются СВО или ковид (кризисы). 
  • robomakerr
    25 июля 2023, 18:20
    использовал лучшие параметры IS

    Думаю как именно сделать еще несколько подходов.

    выбирать не самые лучшие, а самые стабильные.
      • robomakerr
        26 июля 2023, 00:16
        Дмитрий Овчинников, дык опять же, наилучший шарп — это не максимальный, а наиболее стабильный.
          • robomakerr
            27 июля 2023, 01:01
            Дмитрий Овчинников, примерно одинаковый на каждом интервале
  • vlad1024
    25 июля 2023, 18:41
    Как по мне переподстройка это ничем не обоснованная глупость. Могу понять когда к 10 лет данным добавляют еще один год, и получают суммарно 11. А переобучаться каждый год? Почему это в принципе будет лучше работать?
      • vlad1024
        25 июля 2023, 19:14
        Дмитрий Овчинников, системы торгуют какие то закономерности. Исчезновение закономерности приводит к деградации показателей системы и эквити. И это повод задуматься, а не какие то эфимерные предположения. Если вы обучили на 10 лет, и в последний год происходит деградация это повод задуматься. В общем случаи, если считаете, что важны последние данные, система должна отдавать предпочтения новым данным неявным образом. Чем больше данных тем больше возможности для проверки. Условно говоря на 10 годах данным, проверяем скользяшим окном в год. Просто так перестраивать систему каждый раз под новые данные и надеяться, что это чтото даст, довольно наивно.
          • vlad1024
            25 июля 2023, 19:17
            Дмитрий Овчинников, да я знаю, поэтому и написал. Но никаких аргументов, кроме не оспариваемого постулата, что систему надо подгонять постоянно под рынок я не слышал. Как по мне это просто форма curve fitting.
              • vlad1024
                25 июля 2023, 19:52
                Дмитрий Овчинников, нет, с этим я не могу согласиться ) есть статистика, и есть курв фиттинг способный описать произвольный, совершенно случайный набор данных.
  • svgr
    25 июля 2023, 20:43
    Подгонка на целом периоде выигрывает у суммы подгонок на его частях.
    Потому что в ТС так или иначе используется усреднение по ключевому параметру, а от части к части усреднения нет. То есть сама идея ТС пропадает.
      • svgr
        25 июля 2023, 20:56
        Дмитрий Овчинников, я недавно делал такое: скользящее окно из n свечей. Для ТС на каждом из окон 1… n, 2… n+1, 3… n+2 и т. д. рассчитывалось наилучшее значение параметра ТС.
        Затем имитировалась торговля: для n+1-й свечи бралось наилучшее значение окна 1… n, для n+2-й свечи бралось наилучшее значение окна 2… n+1 и т. д. Результат был очень плохой.
          • svgr
            25 июля 2023, 21:44
            Дмитрий Овчинников, идея хорошая. Результат табуляции по параметру на любых периодах имеет положительную область значений, которая несколько дрейфует туда-сюда. То есть можно выставить значение, ошибиться на будущее, но остаться в положительном результате.
            Конечно, по n немного проверял. Одно значение — часа три расчётов. Поэтому пока выборочно. Где-то получше получилось, но пока хуже, чем без окна. Не ожидаю уже хорошего n.
            • bascomo
              26 июля 2023, 10:24
              svgr, а почему так медленно?
              • svgr
                26 июля 2023, 13:21
                bascomo, минутные свечи за 2,5 года. И чем больше окно, тем дольше.
                • bascomo
                  26 июля 2023, 13:48
                  svgr, а в чем? Что то прям нереально долго.
                  У меня по 11 инструментам и 2-м направлениям с 1 Янв 25000 алгоритмов с окном 7 дней меньше чем за 15 минут обрабатывается. 
  • Леха Майтрейд
    26 июля 2023, 00:57
    Помню после какого-то ЛЧИ общался с робот_Аспирант, занявшим призовое место, там 2 брата математика и вот они, помню, тоже говорили, что адаптируют параметры чуть ли не каждый день.
  • Replikant_mih
    26 июля 2023, 09:22

    Такие мета исследования — очень увлекательное занятие. 

    Мне кажется, способность проводить подобные мета-исследования легко и удобно — хороший стресс-тест критерий для алго-инфраструктуры.

    Если нет, то это руками много возни и выборка/репрезентативность результатов обычно поменьше. Так что пока инфраструктура ещё не супер-готова к этому, развлекаюсь подобными исследованиями только если прижмет и сильно захочется разнообразия).

  • bascomo
    26 июля 2023, 15:18
    У меня всё-таки иной подход.
    Я не подстраиваю параметры одних и тех же алгоритмов.
    Хотя параметры у скользящих-стохастиков-рси и так далее есть, но они определены стандартными по умолчанию и как константы.
    Я меняю сами алгоритмы, благо их у меня до черта.
      • bascomo
        26 июля 2023, 20:08
        Дмитрий Овчинников, возможно, что и так, думаю, тут важнее число алгоритмов
          • bascomo
            26 июля 2023, 20:23
            Дмитрий Овчинников, а проверять умершие? вдруг воскресли?
              • bascomo
                26 июля 2023, 20:42
                Дмитрий Овчинников, понятненько, из моих может выстрелить и то, что было актуально месяцы и годы назад, но у моих время жизни короткое, может, пару тройку недель, так что они то появляются, то исчезают. Зато доходность несопоставима с тем, что получено оптимизацией на горизонте лет, выше на порядок-другой.
  • Макс
    26 июля 2023, 21:01
    Было дело, замечал что доходность чуть ли не вдвое падала как только добавлял адаптивность. Обьяснение было что участноки рынка тоже адаптируются, в итоге ты оказываешься в проигрывающем большинстве.

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

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