Replikant_mih
Replikant_mih личный блог
16 декабря 2022, 14:33

Алго. О том, как важно задавать правильные вопросы и находить адекватные ответы).

Представим процесс создания и верификации стратегии как исследование, и сведём этот процесс к следующей упрощенной модели: цель исследования это вопрос, само исследование — процесс ответа на вопрос, результат исследования – ответ на вопрос.

 

Так вот часто, эти три компонента в модели А. Не согласованы, Б. Процесс согласования не проходит через сознательный уровень. Поясню:

(А) – Ну тут обычно всё просто: если ты задаёшь один вопрос, а отвечаешь как будто на другой вопрос, то и ответ в итоге не будет отвечать на поставленный вопрос. Или ближе к алго: если ты хочешь оценить робастность стратегии, а в процессе исследования делаешь что-то несусветное, твои выводы не скажут ничего про робастность. Например, я оцениваю робастность стратегии и хочу получить наилучшие параметры для торговли (вопрос), делаю оптимизацию на истории и отбираю ТОП1 прогонов, беру от него набор значений параметров (ответ).

(Б) – Многие тупо не отдают себе отчет что они делают, почему именно так, как процесс ответа на вопрос согласуется с вопросом, как ответ соответствует вопросу и т.д. Ну т.е. многие исследуют именно так, а не иначе потому «а вот я слышал, что это работает», «я пробовал, вроде сработало» или ещё почему-то. Не скажу, что более глубокий уровень осознанности в этом деле прям обязательный, если у тебя что-то работает (твой подход) – ну и отлично.


Но я люблю осознанность:

— На какой конкретно вопрос я хочу ответить в итоге? (Робастна ли стратегия-идея? Выбрать лучшие параметры? Лучшие с какой точки зрения? С точки зрения иметь шанс уцепиться за лучший результат из возможных или же максимизировать вероятность получить хороший стабильный?). А правильный ли я вопрос задаю? Почему именно такие приоритеты я поставил?

— А соответствует ли моё исследование задаваемому вопросу? Почему конкретно я решил, что такой алгоритм анализа позволяет ответить на мой вопрос? Какой алгоритм мог бы лучше ответить?

— Ответ является полным и соответствующим постановке вопроса? Или, может, он «уплыл» и живёт своей жизнью? Может быть, ты спрашивал «А или Б», а ответ получился «да».

 

 

Ну и для иллюстрации несколько примеров того, для какого «вопроса» какой процесс на мой взгляд адекватен:

 

  1. Взять стратегию захардкодить параметры и прогнать один раз. Адекватно для ответа на вопрос: а какой результат я получу в будущем если в будущем все графики повторятся один в один как в прошлом. На практике для реальной торговли такой вопрос бесполезен.
  2. Взять стратегию, прогнать на всей истории с разными наборами значений параметров, выбрать лучший прогон, взять от него значения параметров. Адекватно для ответа на вопрос: какие наилучшие выбросные значения были на фактической истории. На практике для реальной торговли такой вопрос бесполезен.
  3. Взять любой подход (например, какой-то из ранее описанных (например (2)) и пройтись скользящим окном по истории из прошлого в будущее делая на левой части окна то, что что предполагает исследование, а в правой части окна смотреть, какие в торговле это результаты даёт. В данном случае проходимся окном и смотрим, если мы отбираем лучший прогон по какой-то метрике и его на OSS в работу пускает и делаем это много раз, какие результаты на суммарной OOS это даёт. Адекватно для ответа на вопрос: а работает ли такой подход к созданию стратегии (в т.ч. к определению значений параметров). Ну вернее, конечно, а работал ли этот подход к созданию стратегий в прошлом, если быть точным. Полностью применимо на практике, поскольку является инструментом объективного метаанализа.
  4. Взять исторические данные, итерируясь, на каждой итерации смещать OOS окно по этим данным, и на каждой итерации все остальные данные использовать в качестве IS, обучающей выборки, выборки для оптимизации – кому как нравится. K-Fold валидация, короче. Адекватно для ответа на вопрос: что если оставить за скобками динамику развития закономерности (фактор времени), но при этом выжать максимум из имеющихся данных и посмотреть как работает какой-то подход (по сути речь о вариации на тему (3)). Применимо на практике, добавляет много объективности, позволяет выжимать многое из данных, с осторожностью, если фактором времени и динамики развития закономерности нельзя пренебрегать.

 

Ну и вывод: задавайте правильные и нужные именно вам вопросы, подыскивайте адекватные вопросам схемы и алгоритмы, убеждайтесь, что итоговый ответ отвечает на поставленный вопрос. И да прибудет с вами алго-сила!

 

 

16 Комментариев
  • Илья Нечаев
    16 декабря 2022, 14:41
    Плюсанул, хотел у тебя спросить получилось что-нибудь в итоге найти «рабочее» по спросу-предложению?
      • Илья Нечаев
        16 декабря 2022, 14:53
        Replikant_mih, просто вопрос работает из-за случайности и просто низкой базы рынка (индекс) или это действительно преимущество которое ты смог получить при помощи алгоритма и тестовой выборки. А профит сколько на сделку в процентах закладываешь?
      • Astronomer
        16 декабря 2022, 22:40
        Replikant_mih, Можете более подробно объяснить: «все остальные данные использовать в качестве IS» ?
          • Astronomer
            16 декабря 2022, 23:29
            Replikant_mih, Меня интересует вопрос следующего характера. Количество Iteration 1,2,3… и количество вот этих блоков Train и Test влияет на качество оптимизации? Существуют какие либо методы определения интервала InSample (белая линия) и OutOfSample (Зеленая). Спасибо за ответ. 




              • Astronomer
                17 декабря 2022, 01:46
                Replikant_mih, Спасибо вам за развернутый ответ.
          • MoscowTrades
            17 декабря 2022, 22:15
            Replikant_mih, но ведь в итоге вы выберете вариант который
            А. Показывает лучший результат на всех пяти квадратиках
            Б. Показывает лучший результат на последнем
            А если так — не проще ли подобрать параметры на всем интервале сразу?
  • Андрей К
    16 декабря 2022, 15:08
    Сленг у тебя специфический. Слова типа «верификация» знаешь )
  • Synthetic
    16 декабря 2022, 17:28
    Прочитав сей опус, у меня зародился правильный вопрос. Где!?
    В смысле где «взять стратегию», как описано у автора в «нескольких примерах».
  • Дмитрий Овчинников
    16 декабря 2022, 18:42
    Ну и вывод: задавайте правильные и нужные именно вам вопросы

    Навеяло....

    Каждый интеллигентный человек должен постоянно задавать себе три вопроса:
    -Кто я такой?
    -С какого я района?
    -Почему я такой дерзкий?

  • tashik
    18 декабря 2022, 15:52
    как говорил Кирилл Николаевич, ответ — число ) он что-то знал про правильные вопросы, как пить дать )

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

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