GOLD
GOLD личный блог
30 августа 2020, 17:56

Первый закон алготрейдинга

До 2019 года я тестировал своих роботов на длинных исторических периодах в разных инструментах. Перепробовал кучу алгоритмов и, наконец-то, получил (с учетом комиссий и проскальзываний) прекрасные эквити — сотни процентов годовых с весьма комфортными просадками. После этого, запустил роботов в рынок и страшно гордился собой. Через несколько месяцев роботорговли выяснилось, что гордиться особо нечем. Бабло поступало крайне неравномерно. В некоторых инструментах, роботы доблестно сливали несколько недель подряд. Сливали понемногу, но этот процесс создавал гнетущее ощущение медленного спуска в бездонный унитаз. Поэтому, не смотря на некоторый профит по остальным инструментам, остановил роботов и решил изменить подход к роботостроению. Хвала Господу, к тому времени я уже понял первый закон алготрейдинга:

РЕАЛЬНАЯ ТОРГОВЛЯ — ЭТО САМЫЙ НУДНЫЙ ВАРИАНТ ФОРВАРД-ТЕСТА

Закатал рукава и полностью переделал систему тестирования алгоритмов. Теперь процесс выглядит так:

1. Прогоняется бэк-тест за Х дней
2. Результаты бэк-теста анализируются по заданным требованиям к эквити
3. Параметры наилучшего варианта применяются к форвард-тесту за Y дней
4. Процесс повторяется со смещение на Y дней.

По сути — это Walk Forward Test (WFT). О нем я уже писал здесь.

--------------------------------------------------------------------------------------

И ты таки спросишь — што дальше??

Знание первого закона алготорговли сэкономило мне кучу времени и денег. Форвард-тесты наглядно показывают фуфлыжность того или иного торгового алгоритма. Я их придумываю десятками. Тестирую… и отправляю в мусор. Мне не нужно тратить время и деньги на реальную роботорговлю. Многоповторный форвард-тест дает наглядное понимание того, в какой жопе я могу оказаться, начав торговать по алгоритму, показывающему чудесную эквити на бэк-тесте с акуенными Шарпами и прочей красотой.

И ты снова спросишь — так што делать-то??

Пользуйся первым законом алготорговли для экономии времени и денег. Не торгуй в реале, пока не увидишь результаты многоповторного форвард-теста своего торгового алгоритма. Они наверняка повергнут тебя в уныние.

63 Комментария
  • Кэп Трейд
    30 августа 2020, 18:01
    1. создай математическую модель алгоритма
    Описать хорошую модель многие могут. А создать, пока ни о ком не слышал.
      • Кэп Трейд
        30 августа 2020, 18:06
        $100, самое главное - создать математическую модель алгоритма. Информатику не изучали?
          • Кэп Трейд
            30 августа 2020, 18:11
            $100, это программа будет делать на основе созданного алгоритма. Алгоритм сам по себе ничего не делает. Учите азы информатики. 
              • Кэп Трейд
                30 августа 2020, 18:28
                $100, информатику изучайте для начала
            • Foudroyant
              30 августа 2020, 20:31

              Kэп Трейд, почему Вас так усиленно продвигает Гусев?

              Вы ему проплатили?

              Сколько он вообще берёт за продвижение трейдеров?

            • Кухонный трейдер
              30 августа 2020, 20:41
              Kэп Трейд, хи-хи-с. Алгоритма, написанного на АЛГОЛе. А еще математическую и физическую модель программы. Намазать бутерброд маслом.
  • LevNNN
    30 августа 2020, 18:26
    Вопрос к автору. Как Вы можете обьяснить что на бек тестах у Вас профит а в реальной жизни медленная просадка
    • Laukar
      30 августа 2020, 18:36
      LevNNN, я не автор но отвечу: да это постоянно так в связи с переоптимизацией. Мы находим алгоритм, оптимизируем его под прошлое. А будущее всегда другое. И выходит что алгоритм на реале сливает. Рынок живой и постоянно меняется. Даже наше присутствие на нем с нашим алгоритмом меняет его — мы же забираем деньги друг у друга. Невозможно постоянно забирать деньги — либо они кончатся либо опонент уйдет/поменяет торговлю. Форвард тест решает проблему переоптимизации отчасти. Но это тоже по сути подгонка под форварды и не отменяет живых изменений рынка… Так что только отчасти.
      • Дедал
        30 августа 2020, 18:55
        Никогда не слышал такого понятия как форвард тест.
        Обычно используются термин переобученный алгоритм.

        И да — только в бою вы увидите конкуренцию с другими роботами, людьми. Само присутствие в стакане многое меняет
      • Foudroyant
        30 августа 2020, 20:24
        Laukar, Вы изначально программист или изучили программирование ради алготрейдинга?
      • Foudroyant
        30 августа 2020, 20:35

        Laukar, Вы загадочный человек. Похоже, что развиваетесь в торговле с огромной скоростью.

        Потому что иначе не могу объяснить, как Вы весной 2018 года не видите разворота в Сбербанке, а летом 2020 уже так грамотно рассуждаете об алготрейдинге.

        • Laukar
          30 августа 2020, 23:31
          Плечо, каюсь весной 18 я еще слушал разных бездарных аналитиков которые сами ничего не зарабатывают на рынке и дают неточные и бестолковые советы без уточнения таймфрейма, стопов и целей… Теперь я точно знаю что нельзя слушать разных бездарных аналитиков которые не показывают график собственной доходности... Торговать надо в своем собственном комфортном стиле по проверенным на истории и реальной торговле торовым системам. С учетом возможности ухудшения рынка. А насчет того что я где-то не увидел разворота в сбербанке — это вопрос таймфрема… Я и не претендую на то что я вижу будущее, я понятия не имею что завтра-то будет… И даже пытаться угадать не буду. Единственное что знаю: это то что тренд скорее продолжится чем нет, но и это не точно.
    • LogikoMen
      31 августа 2020, 11:32
      LevNNN, вот так https://smart-lab.ru/blog/642964.php
  • Иван Иванов
    30 августа 2020, 19:10
    удалось что нибудь подобрать работоспособное по волк тесту?
      • Beach Bunny
        30 августа 2020, 23:24
        $100, по секундам что ли торгуете?
        У меня бек тест 5лет и форвард чуть больше года.
      • Александр Ганов
        30 августа 2020, 23:48
        $100, доброе время суток. ознакомился, интересно попробовать, вопрос: какой набор параметров в итоге будет использован на реальном форварде (реальной торговле)? То есть получили 165 наборов, ставим в торговлю и какие в этот момент используем параметры: тот набор параметров, который успешно выдержал всю последовательность WFT или какой-то другой принцип подбора (веса параметров, определенный параметр используется в качестве наиболее значимого и т.д.)?
      • Vanches
        31 августа 2020, 09:40
        $100, WFT — отличная тема, снижает вероятность выхватить статистический артефакт. А вы тестируете в идеальных условиях для робота, или пробовали чуть ухудшить точки входа/выхода? Кстати, еще один тест, проверку на пригодность, можно провести на перевернутых данных по оси Y.
      • ICEDONE
        31 августа 2020, 11:26
        $100, до 2017 года ришка другая была, 18-й боковик, 19 более менее тренд. Надо смотреть ри с 2010 ми с 2015(когда курс стал свободным)
  • Reznor
    30 августа 2020, 19:51
    И какие же результаты в реале после форвард тесов?
      • Reznor
        30 августа 2020, 21:56
        $100, ну да, мы же джентельмены верим друг другу на слово. Но вообще то не убедительно с вашей стороны.
          • Reznor
            30 августа 2020, 22:39
            $100, будь по вашему. Если есть реальные резалты, выкладывайте, а так веры вам больше нет ))
  • Biopsyhose trader
    30 августа 2020, 20:12
     Я их придумываю десятками

    ну две три обламаются из-за проскальзывания… что? десятки? Дай свой трек-рекорд чувак) пох даже бектест дай удачный хоть один)

      • Biopsyhose trader
        30 августа 2020, 21:41
        $100, проблема в том что ты пиз@шь)) много слов и ноль фактов
  • Foudroyant
    30 августа 2020, 20:23
    Если придумываете алгоритмы десятками, значит это всего лишь ответвления одного и того же отцовского алгоритма. Поэтому и результаты их — примерно одинаковые.
    • Biopsyhose trader
      30 августа 2020, 20:47
      Плечо, он фантазирует на ровном месте камон))
  • MS
    30 августа 2020, 20:25
    Первым должен быть глобальный закон сохранения чего-либо.
  • Replikant_mih
    30 августа 2020, 20:34

    Внимание, задерживаем дыхание, сейчас я покажу насколько глубока кроличья нора. Готовы?

    Второй закон алготрейдинга: 

    Не нужно выбирать лучший прогон на истории! Если присмотреться (вообще-то это в глаза бросается почти всегда) невооруженным глазом видны закономерности между параметрами и результатами прогона. Но величины здесь случайные, соответственно распределены как случайные величины, соответственно есть мат. ожидание у величины, а есть хвосты какой хочешь длины, выбирать значение, не парясь в каком месте распределения оно находится — очень опрометчиво, отсюда и берутся все эти: ой, оно почему-то падать начало на бою (или на OOS), хотя так красиво росло. Вообще-то даже учет этих закономерностей не гарантирует, что будет на OOS будет аналогичная динамика ибо 1. OSS тоже распределен по некоторому принципу, 2. Закономерности могут ломаться. 3. Внешние факторы (хотя это можно рассматривать как частный случай 1 или 2).

    • Foudroyant
      30 августа 2020, 20:44
      Replikant_mih, что есть OOS в трейдинге?
      • Replikant_mih
        30 августа 2020, 20:46
        Плечо, ну кусок данных (кусок графика), которые ты/модель/алгоритм ещё не видели. Или боевая торговля алгоритма или запустить алгоритм на данных, которые никак не фигурировали в его обучении/оптимизации и т.д.
        • Foudroyant
          30 августа 2020, 21:16
          Replikant_mih, я все свои разработки сразу пускаю в бой, без настройки на прошлых данных. Каковы минусы такого подхода? Фатальны ли они?
    • Kot_Begemot
      30 августа 2020, 22:18
      Replikant_mih, вы умеете понять в каком месте распределения статистики находится её эмпирическое значение? Это ли не Грааль?
      • Replikant_mih
        30 августа 2020, 22:51
        Kot_Begemot, А в чем сложность? Делаем море прогонов, смотрим как отдельные параметры влияют на результат. Убеждаемся, что параметры между собой как-то по-хитрому не взаимодействуют)) и надеемся что на OOS попадем ближе к мат. ожиданию распределения)) или лучше, а, ну если мало прогонов в нужной области — надеемся, что выборка прогонов получилась не смещенной).
        • Kot_Begemot
          31 августа 2020, 01:03
          Replikant_mih, нет, к усреднению моря прогонов у меня нет претензий)
  • Кухонный трейдер
    30 августа 2020, 20:52
     П.6 моего старого топика.
  • Jkrsss
    31 августа 2020, 06:32
    Сдается мне это метод последовательного анализа статистических методах. В нем надо учитывать ошибки 1 и 2 рода, при принятии гипотезы.
    • LogikoMen
      31 августа 2020, 11:37
      Jkrsss, что за ошибки?
  • Cheshirsky Kot
    31 августа 2020, 10:40

    Вопрос выбора периода форварда и бэктеста оч важен.
    То есть вот взять тот же фьюч на евро. С 2017 года — прекрасный жирный рынок. Отличные движения. А возьмите 2011 год. Чуть ли не на месте стояло все. «Оно не ехало», причем никуда. Или конец 2008, где рандомизация движений была вообще какой-то запредельной.

    То есть форварда мало, важен форвард с разным рынком. 

    • LogikoMen
      31 августа 2020, 11:40
      Cheshirsky Kot, рано или поздно мы все сольемся. Но кто  то унесет деньги домой, а кто то нет. 
      • Cheshirsky Kot
        31 августа 2020, 11:52
        LogikoMen, Поэтому я вот сторонник профит вытаскивать. Хотя бы частично, и вкладывать в какие-то материальные активы. А не только чтобы циферки в терминале)
  • дилетант иванов
    10 сентября 2020, 02:22
    вы изобрели кросс-валидацию?

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

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