bascomo
bascomo личный блог
24 июля 2023, 16:53

Адаптивные алгоритмы торговли

Постановка:

Ключевая проблематика наиболее распространённого подхода торговли по свечам, без использования стаканов и объёмов — алгоритмы теряют эффективность.

У каждого алгоритма существует жизненный цикл, когда его эффективность растёт, выходит на плато и затем снижается в ноль или в убыток. При этом, через какое-то время этот цикл может повториться.

Пути решения:

1. Подстройка параметров единичного алгоритма (неэффективно, уходит много времени и ресурсов на это, в т.ч. ручной работы, нужно останавливать торговлю и после подстройки запускать заново)
2. Торговля пакетом алгоритмов без подстройки (снижается потенциальная прибыль, нет гарантии, что весь пакет не уйдёт в минус)
3. Торговля подстраиваемым пакетом автоматически созданных алгоритмов (отличные результаты, но требуются большие вычислительные ресурсы для регулярного расчёта/пересчёта алгоритмов и их подстройки, сильно возрастают требования к надёжности — качеству работы торгового хоста и канала связи, интерфейсу связи с брокером, + высокая сложность системы)

В поисках других подходов пришла в голову идея об адаптивных алгоритмах. Это такие алгоритмы, которые подстраиваются в ходе торговли под рынок, при этом суть алгоритма по сигналам не меняется (эта техника у меня сейчас находится в процессе исследования).

Как это выглядит? Рассмотрим на примере скользящих с разными периодами.

Шаг 1.
Построим на свечном графике 10-15 скользящих с периодами усреднения от 3 с шагом 2 до 32.
Каждое пересечение любых двух скользящих есть сигнал. Кодируем эти сигналы, чтобы однозначно понимать, какая пересекла какую и в каком направлении. Каждое пересечение вверх или вниз даёт уникальный сигнал.
Итого для каждой из 15 скользящих имеем 14 сигналов Buy и 14 Sell (14+14) * 15 = 420 сигналов.

Шаг 2.
Далее используем любой индикатор, который описывает скорость динамики изменения цен, например, ATR.
ATR — не очень удачен, потому что использует абсолютные значения, лучше брать индикаторы с относительными, но для примера сойдёт.
Нам нужно для каждого сигнала, определённого на Шаге 1, найти такие интервалы, когда он работает наилучшим образом.
В результате получаем матрицу такого вида
MA n | MA m | код сигнала (n_m) | лучший интервал ATR для сигнала (min — max)

Шаг 3.
Далее в торговле при поступлении сигнала Buy или Sell при пересечении любых двух скользящих соответственно вверх или вниз смотрим, какое сейчас значение ATR. Если оно соответствует лучшему интервалу для этого сигнала, которое нашли на предыдущем шаге, открываем сделку, иначе игнорируем.

Дополнительно:
1. Можно открывать дополнительные позиции в ту же сторону, если уже открыта существующая или игнорировать сигналы, пока есть открытая позиция.
2. Можно открывать позиции и в обратную сторону (например, открывать шорт при открытом лонге), не забывая закрывать открытые до этого, когда по ним придёт сигнал на закрытие. Это уже множественная торговля на одном инструменте, что хорошо сказывается на гладкости эквити, но за это платим доходностью.
3. Можно использовать скользящие стопы по индикатору PSAR или не использовать.
4. Можно использовать не все рассчитанные диапазоны ATR, а только несколько или вообще один.

25 Комментариев
  • ves2010
    24 июля 2023, 17:16
    сложно...

    там просто вкрай

    сы слишком увлечен техническими деталями… представь что бот у тебя уже есть… даже несколько ботов… и как ими торговать вообще?
    • Антон Калашников
      24 июля 2023, 20:01
      ves2010, мани менеджмент?
  • Лучший ученик В...
    24 июля 2023, 20:33

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

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

    • Friend
      25 июля 2023, 09:59
      Лучший ученик В..., Имею аналогичный опыт. Удивился такой ситуации. Пробовал с разных сторон подойди к динамически-адаптивным системам. 
    • 22022022
      25 июля 2023, 11:16
      Лучший ученик В..., адаптивный синоним подогнанный. Иногда это работает, но в большинстве случаев выносит мозг.
  • T-800
    25 июля 2023, 03:52
    Звучит неплохо. Есть ли какие либо исследования или результаты по применению этого метода? В какую сторону они отличаются от системы с фиксированными параметрами?
  • Friend
    25 июля 2023, 10:26
     В данном случае я так понимаю идет привязка к тому что для каждого периода МА свой размер АТР при котором данные периоды МА лучше работают? т.е. простым языком — для каждого периода МА своя вола
  • 22022022
    25 июля 2023, 11:13
    Когда вола взрывается, с определенным лагом, пока приходит понимание удается взять больше обычного, т.е. получается адаптироваться. Но когда вола резко падает, или еще хуже когда плавно снижается, не добираю совсем, адаптируюсь с запозданием…
    Мозг торгует по вчерашней воле.
  • 22022022
    25 июля 2023, 11:37
    Некоторые не торгуют вообще низкую волу. Фильтруют.
  • Кирилл Гудков
    25 июля 2023, 18:49
    Гипотеза о том, что какой-то исторический ATR коррелирует с перформансом в будущем стратегии ПересекуДвеМашки(tm) требует какого-нибудь обоснования.
      • Кирилл Гудков
        26 июля 2023, 12:40

        bascomo, судя по п.3, вы собрались открывать сделку на том же баре, на котором получили ATR. Это типовая ошибка, заглядывание на 1 бар, на проде у вас это сделать не получится, ну а многие бэктестеры позволяют.


        Для иллюстрации результат стратегии, которая подглядывает знак приращения всего лишь на 1мин вперед (Si по номиналу, 10M депо, без реинвеста, 2519% годовых, шарп 82, maxDD 2%):


        Код грааля (Ami): Trend = Sign(Next(Close) — Close);

          • Кирилл Гудков
            26 июля 2023, 13:20
            bascomo, в таком случае возвращаемся к исходной проблеме: есть ли корреляция между ATR на текущем баре с доходностью ДвухМашек на следующем?
  • ezomm
    26 июля 2023, 08:55
    Билл В. тоже любит торговать выше или ниже аллигаторов. Это сделки с опозданием(типа брать только (3ю в 3й волне) и с меньшей прибылью, чем по волнам Эла.Более верно входть в начале 3й.
    Важно поставить формулу расчета периода вместо подстроек оного.Период изменяется соответственно силе тренда  от 3(супер тренд) до 34(боковик). Фактором расчета периода я считаю перекрытие, те параметры последнего фрактала.Самое простое это -зигзаг.Другим индикатором может быть  скорость перемен за цикл. А размер участия в сделке зависит от тайма и объема.Хотя эти параметры и связаны, но внутри фрактала объем ведет себя особенно по фазам времени, коих 8.
      • ezomm
        26 июля 2023, 09:02
        bascomo, свеча = фрактал.Для лучшего входа — свеча приседающий.Таже формация из любого количества свечей.Тут стоп лосс лучший… за край свечи. Участие для фрактала из 5 свечей (идеал ) в тайме день 25% от счета.В тайме неделя 50% .1час = 6% .15мин =3% и тд.Это правило я вывел из закона рисования графика .4 фрактала собираются в 1 больший в 2 раза по амплитуде… те амплитуда волн цены удваивается за 4 тайма (свечи).

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

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