Subj
По результатам обсуждений последних дней увидел непонимание, цель этого текста — прояснить, расставить точки над й.
Непонимание касается того, каким образом я обновляю торговые алгоритмы и почему попытки повторить не увенчиваются успехом.
Напишу последовательность шагов ниже в виде скрипта.
- Создаём много разных стратегий, они же торговые алгоритмы. Если у вас меняются параметры, это один и тот же алгоритм. Я же имею ввиду, что они должны быть принципиально разные. Например: открываемся по пересечению МА, закрываемся по стохастику. Открываемся по RSI, закрываемся скользящим стопом. Открываемся по MACD, закрываемся по пересечению Close AMA и т.д.
- Тестируем их на разных инструментах и разных периодах. Дискретность можно выбрать месяц.
- Успешные запоминаем, даже если они были успешными только на одном инструменте и в одном месяце.
- Далее тестируем скользящим окном. Определяем дату начала, пусть 01.01.2023
- Определяем шаг (7 дн) и размеры окна (14 дн)
- Тестируем всё, что получилось в (3), на периоде в 14 дн до даты из (4), отбираем топ нужного количества по, например, прибыли (у меня сейчас так, и на графике ниже так). Например, вы выделили на инструмент депозит 1000 и хотите, чтобы у вас было 10 алгоритмов в лонг и 10 в шорт. Соответственно, отбираете 10 лучших лонг-алгоритмов по прибыли и 10 лучших шорт-алгоритмов. Понятно, что по части алгоритмов там будут гигантские просадки и вообще в выборку попадёт часть алгоритмов, которые нужно исключить, поскольку мы тут смотрим только на прибыль. Пока что на это забьём, ниже будет понятно, почему.
- После того, как отобрали нужное количество для лонг и шорт, с даты (4) торгуем ими на длину шага (5).
- В конце периода в 23:59 принудительно всё закрываем.
- Добавляем к дате (4) шаг (5) и повторяем с шага (6) до тех пор, пока дата не станет той, до которой хотели тестировать.
При таком подходе имеем на криптовалютных фьючерсах (плечо 10, стартовый депозит 1000, комисс 0,04%) следующий рост чистой эквити (+156% за менее чем полгода):

То есть, даже несмотря на тот ужас, что внутри под капотом (только по прибыли отобранные алгоритмы с большими просадками), видим уже неплохую картину роста. Если подбирать алгоритмы не только по максимальной достигнутой прибыли, но и по гладкости эквити и минимуму просадок, то этот посредственный результат увеличивается почти на порядок, примерно до 1200-1300% за полгода, а кривая становится практически прямой. Это упражнение я как раз и проделывал руками в начале июня на реальном счёте.
Если убрать плечи, то получится соответственно 15% и 120-130% за полгода.
Результаты получаются разными в зависимости от того, что мы зададим в (5). Общее правило — при увеличении длины отрезков доходность падает.
Сомневаюсь, что это будет работать или что вы достигнете сопоставимых результатов, если у вас всего несколько торговых алгоритмов, но это покажет только эксперимент.
Дополнительно отмечу, что это всё работает на минутках. Там очень, очень много шума, но и доходность несопоставима с 15 или, тем более 60 и выше таймфреймами. И в этой концепции шум, как получилось в реальной торговле, не мешает. Нужно просто его правильно отфильтровать.
Для примера приведу описание одного алгоритма:
для покупки (все три сигнала должны стать истинны)
B:AMA/Close_AboveIndicator; — Close должна быть выше AMA
B:DeepExtremumHigh_AbsSpeedFall; — Абсолютное значение скорости индикатора DeepExtremumHigh падает
B:MACDCD_DirectionDown; — значение CD индикатора MACD уменьшается — кривая движется вниз
для продажи (все три сигнала должны стать истинны)
S:DEMA_AbsSpeedGrows; — абсолютная скорость изменения DEMA растёт
S:HMA/DEMA_CrossDown; — HMA пересекла DEMA вниз
S:Stochastic%K/Stochastic%D_CrossUpContinues; — последнее пересечение медленного стохастика быстрым (не важно, сколько свечей назад) было вверх
и это указывает, что этому алгоритму разрешён только лонг
M:LongAllowed;
Прелесть такого описания стратегии в том, что не имеет значения, какой тут инструмент, какая у него цена или волатильность и какой таймфрейм. В нём не зашиты никакие абсолютные или относительные значения. По сути, просто идёт оперирование сигналами. А это значит, что можно запускать одну и ту же стратегию и сравнивать её результаты на разных рынках, разных инструментах и таймфреймах, но я работаю только на минутках, с криптовалютными фьючерсами, фьючерсами МосБиржи и акциями МосБиржи, во всяком случае, пока.
И если после прочтения стало яснее, как я это делаю, то цель поста достигнута.
В 2005 г я познакомился с прогой Нирвана.Там из 400 разных систем и алгоритмов выходил 1 сигнал лонг или шорт. Боюсь тебя обидеть, но ты изобретаешь колесо… перебирая алгоритмы, индикаторы и системы.Проги ВА уже давно есть и они размечают график в любых таймах, но дают сотни вариантов с разной вероятностью и вверх и вниз.Я отказался от любых прог и инд-в в 2010г и советую это сделать всем в пользу VSA и ВА Эллиота.