Andrei Shevelev
Andrei Shevelev личный блог
25 февраля 2023, 19:41

Где лось? Или почему алготрейдеры все таки сливают. Часть 1.

Где лось? Или почему алготрейдеры все таки сливают. Часть 1.




https://www.youtube.com/watch?v=QY3uP0ZDz4c&t=641s

По мотивам ответов на вопросы известного (как минимум мне) алготрейдера из Краснодара Алексея Вана.

«Тесты есть тесты, реал есть реал, это разные совершенно сущности. И они порой не соприкасаются.… У нас практически все один в один идет, но процентов 10% сделок действительно отличаются. То не откроются, то откроются… Просто мне эта метрика не интересна, сравнивать сидеть тестер с реалом. ...»

Цель: понять какой смысл в сверке тестера с реалом.

Логика алготрейдинга, как я ее понимаю: читаем книжки, пялимся на графики, анализируем статистику, ковыряемся ... плюем в потолок. В итоге у нас появляется гипотеза, что некий алгоритм открытия и закрытия сделок на конкретных инструментах должен нам приносить прибыль. Мы забиваем этот алгоритм в код и делаем тест на исторических данных. Этот тест является проверкой нашей гипотезы и на основании его принимаем решения применять ли этот алгоритм на реале.

На основании теста мы ставим робота на реал, но дальше нам почему то не интересно, а может наш тест вообще не имеет никакого отношения к реальности. Разные сущности? 10%? Один «незапланированный» лось может убить весь депозит. Вы торгуете трендовыми роботами? Одна сделка может сделать прибыль за год. А если именно она не откроется? В тесте будет, а на реале нет. Не интересно?

На минуточку, если бы астрономам и математикам XIX века было бы не интересно сверять тесты с реалом не был бы открыт Нептун.

Ок Хорошо (импортозамещение). Попробуем позаниматься такими проверками. Ведь лично мое, крайне скромное ИМХО, что если тесты не соответствуют реалу, либо мы не в курсе, что есть разница, какая она, и почему, то все тесты вместе с алгоритмами можно выбросить на помойку. А мы по итогу, много лет очень высокоинтеллектуально и с очень умным видом впустую удовлетворяем свой мозг.

Вот появился у нас робот. Для начала нам вообще по фиг, мы просто не в курсе, что надо заморачиваться по тестированию. Вопрос просто не стоит такой, что реал может отличаться от теста и тестируем робота со ста баксов на наших любимых свечных данных (мы же считаем, что этого достаточно, а искать тиковые данные нам просто в лом):

  Где лось? Или почему алготрейдеры все таки сливают. Часть 1.   Где лось? Или почему алготрейдеры все таки сливают. Часть 1.  

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

Через полгода получаем результат (период и теста, и реала один и тот же, у нас машина времени)):

  Где лось? Или почему алготрейдеры все таки сливают. Часть 1.   Где лось? Или почему алготрейдеры все таки сливают. Часть 1. 

Как-то прям сильно скромнее. В этом месте от товарищей, которые начинали сливать на форексе, а теперь уже с более умным видом продолжают сливать в других местах слышится гул: «Фууэ, форекс лохотрон». Ну, да — да. Форекс лохотрон, а на биржах просто «разные сущности»)).

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

Продолжение следует ... 

Где лось? Или почему алготрейдеры все таки сливают. Часть 2.
37 Комментариев
  • 3Qu
    25 февраля 2023, 19:45
    Сливают не алготрейдеры, а кретины, которые считают себя алготрейдерами.)
    МТ4-5 дают полную иллюзию.))
    • Алексей
      25 февраля 2023, 19:47
      3Qu, я думал ты уже отдыхаешь...
      Почему иллюзию? Я никогда не работал в МТ — любопытно.
      • svgr
        25 февраля 2023, 23:03
        Andrei Shevelev, непониманием данных этот текст написан.
          • svgr
            25 февраля 2023, 23:18
            Andrei Shevelev, без юмора. Свеча — всего лишь упаковка нескольких тиков, сдвиньте входы и выходы на одну свечу вперёд после той, на которой получили сигнал при свечном тестировании. Получится фактически тестирование по тикам, но с запаздыванием на количество их в свечу или чуть более. Поэтому — не иллюзия.
            Другое дело, что слабый эффект (предположительно положительный), на который тестировали, этим убьётся. А от сильного что-то да останется.
              • Дмитрий Овчинников
                25 февраля 2023, 23:35
                Andrei Shevelev, 
                могу вас расстроить. ваш тест не на реальных тиках, а на смоделированных.
                  • Дмитрий Овчинников
                    25 февраля 2023, 23:47
                    Andrei Shevelev, 
                    ага, то есть данные гавно не понятно откуда, тестер гавно не стандартный, зато выводы вселенского масштаба. все как обычно. удаляюсь из темы, успехов :)
              • svgr
                25 февраля 2023, 23:55
                Andrei Shevelev, основной критерий — соотношение потери точности при переходе от тиков к свечам и выигрышем во времени на тестирование. У меня в алгоритмах, к примеру, потеря несущественная, а времени много не надо, и могу делать по любым наборам данных.
  • Алексей
    25 февраля 2023, 19:49
     Начало статьи понял, а что там форекс — не форекс уже не догнал.
    Правильно ли понял ты тестишь ботов на форексе? Или?
      • Алексей
        25 февраля 2023, 19:59
        Andrei Shevelev, я на форексе никогда не торговал — думаю, ничего не упустил.
        Но насколько понимаю, ты торгуешь против своего дилера, заявки только рыночные, проскальзывания и спреды могут быть суровыми, поэтому и нюансы есть.
        Понятно на бирже тоже их хватает, может подскочит Активный инвестор и прояснит про подковерные игры — но это уже другая история.
          • Алексей
            25 февраля 2023, 20:18
            Andrei Shevelev, я даже слова такого боюсь — поставщики ликвидности. Мне в нем сразу заинтересованность видится или нет?
              • Алексей
                25 февраля 2023, 20:45
                Andrei Shevelev, ну так масс-сознание рулит!
          • Алексей
            25 февраля 2023, 20:17
            Andrei Shevelev, это примерно как низколиквидный фьюч на моське торговать — те же яй… а только вид сбоку.
              • Алексей
                25 февраля 2023, 20:51
                Andrei Shevelev, честно скажу — не пробовал ни там (на низколиквидных), ни там (на форексе — причина выше). Про низколиквидные — я понимаю размер позы,  которая гипотетически (не было попадосов, чтоб проверит в натуре) способна быть закрыта достаточно быстро, без размазываний, ну или с минимальными.
                «Всем всего хорошего, кто дочитал это пост до конца.» — вот не доверяю я таким утверждениям. Вы четко выше отметили понятие «толпа» — толпа -это ж не количество человек, это ж количество денег, которыми они ходЮт?
  • А. Г.
    25 февраля 2023, 20:06
    Губят людей не алгоритмы, а плечо. С плечом 50:1 и больше, рано или поздно сольет любой алгоритм. А без плеча (т. е. позиция по номиналу не больше депозита) на евродолларе никто из совершающих не более 1-й операции в день не сольет 100%, даже если будет стараться.
    • Алексей
      25 февраля 2023, 20:22
      А. Г., согласен — плечи сами по себе опасны. Учитывая жадность и необходимость (??) сделать 100% в месяц — там и 50* пойдут в ход.
      Но также и важна точка входа, чтобы не превышать риски или уменьшать размер позы в тех же целях.
    • svgr
      25 февраля 2023, 23:09
      А. Г., 50:1 это сразу примерно 1,5% хода до цены ликвидации. То есть 'не рано или поздно', а 'сегодня же'.) Или в течение пары дней, если угадал пару раз подряд.
        • svgr
          25 февраля 2023, 23:22
          Andrei Shevelev, а я по крипторынку написал. Там 5-10% хода в обе стороны практически каждые сутки.
  • SergeyJu
    25 февраля 2023, 23:33
    Регулярная сверка позиций и результатов бумажной торговли и реальной — неотъемлемый инструмент работы алго. 
    Не следует манкировать выполнением домашней работы.
  • Андрей К
    26 февраля 2023, 18:43
    он что, реально так сказал?
      • Андрей К
        27 февраля 2023, 19:39
        Andrei Shevelev, спасибо, глянул )
  • bascomo
    15 июля 2023, 15:54
    Я до начала реальной торговли строил два графика эквити по сделкам, а после начала реальной торговли добавил третий.
    1. Торговля по историческим данным
    2. Торговля на он-лайн данных в режиме эмуляции
    3. Реальная торговля

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

    Выводы были такие:
    1. Если сделка есть в истории, и нет в реальности или наоборот — это баг в коде. Хорошо написанный код, оттестированный, без ошибок, работающий на стабильном хосте и со стабильной связью, показывает вход и выход в реальной торговле в те же моменты, что и на истории. Когда я отловил все баги, совпадение стало 100% по временной точке входа. Задержка могла быть в несколько секунд, но вход и выход в реальной или эмуляционной торговле был в те же свечи, что и на истории.
    2. Конечно, эмуляционная и реальная торговли показывали проскальзывания относительно торговли на исторических данных. И это проскальзывание было специфично для инструмента. Для некоторых — большей частью в плюс, для некоторых — наоборот, в минус, а на некоторых его почти не было.
    3. Поскольку было написано много кода и тестировать его долго и сложно, если пропускать всё через свою голову и анализировать каждую строчку, то я решил, что лучший способ тестирования — это убедиться, что сделки реальные и сделки на истории в режиме тестирования совпадают. Если алгоритм сложный, то это действительно самый лучший способ проверить и себя, и код, и робота.

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

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