Блог им. gemmaster

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Где лось? Или почему алготрейдеры все таки сливают. Часть 2.
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
915
37 комментариев
Сливают не алготрейдеры, а кретины, которые считают себя алготрейдерами.)
МТ4-5 дают полную иллюзию.))
avatar
3Qu, я думал ты уже отдыхаешь...
Почему иллюзию? Я никогда не работал в МТ — любопытно.
avatar
3Qu, иллюзия это тестирование на свечных данных.
avatar
Andrei Shevelev, непониманием данных этот текст написан.
avatar
svgr, «непониманием данных этот текст написан.» Этот?
avatar
Andrei Shevelev, без юмора. Свеча — всего лишь упаковка нескольких тиков, сдвиньте входы и выходы на одну свечу вперёд после той, на которой получили сигнал при свечном тестировании. Получится фактически тестирование по тикам, но с запаздыванием на количество их в свечу или чуть более. Поэтому — не иллюзия.
Другое дело, что слабый эффект (предположительно положительный), на который тестировали, этим убьётся. А от сильного что-то да останется.
avatar
svgr, это примерно, как пытаться выправить отражение в кривом зеркале другим кривым зеркалом с поправкой на кривизну изначального зеркала относительно первого. Результат будет еще одно кривое изображение.
Можно тестировать на реальных тиках, каждый из которых имеет время с точностью до миллисекунды и информацию о ближайших бид и аск. Трудно придумать что-то точнее. Ну кроме реальной торговли.
avatar
Andrei Shevelev, 
могу вас расстроить. ваш тест не на реальных тиках, а на смоделированных.
Дмитрий Овчинников, не получится). Я знаю, что в стандартном тестере мт4 тики моделируются по свечам м1. У меня не стандартный тестер. И данные не с терминала закачаны.
avatar
Andrei Shevelev, 
ага, то есть данные гавно не понятно откуда, тестер гавно не стандартный, зато выводы вселенского масштаба. все как обычно. удаляюсь из темы, успехов :)
Дмитрий Овчинников, "гавно" к деньгам) 

«удаляюсь из темы, успехов :)»

Флаг в руки и ветра в жо..
avatar
Andrei Shevelev, основной критерий — соотношение потери точности при переходе от тиков к свечам и выигрышем во времени на тестирование. У меня в алгоритмах, к примеру, потеря несущественная, а времени много не надо, и могу делать по любым наборам данных.
avatar
svgr, «соотношение потери точности» Если потеря точности, точно контролируется, делается проверка этого, хотя бы по выборочным данным, то почему бы и нет.
Этот пост и следующий в принципе об этом, что такую «потерю точности» хорошо бы контролировать.
avatar
 Начало статьи понял, а что там форекс — не форекс уже не догнал.
Правильно ли понял ты тестишь ботов на форексе? Или?
avatar
Алексей, и тестю ) и использую. 
avatar
Andrei Shevelev, я на форексе никогда не торговал — думаю, ничего не упустил.
Но насколько понимаю, ты торгуешь против своего дилера, заявки только рыночные, проскальзывания и спреды могут быть суровыми, поэтому и нюансы есть.
Понятно на бирже тоже их хватает, может подскочит Активный инвестор и прояснит про подковерные игры — но это уже другая история.
avatar
Алексей, «ты торгуешь против своего дилера» форекс брокеры очень разнообразны, работают по разным схемам. Я торгую через брокеров выводящих сделки на поставщиков ликвидности, объединенных в ECN систему. 
З. Ы. Те форекс брокеры, что в основном на слуху действительно дилеры, работающие по кухонному принципу.  Но это не обязательно всегда плохо для трейдера.
avatar
Andrei Shevelev, я даже слова такого боюсь — поставщики ликвидности. Мне в нем сразу заинтересованность видится или нет?
avatar
Алексей, Да, нет же, они целиком и полностью альтруисты)). это как со страховой компанией — Вы им риск, они Вам ликвидность. Только торгуя (страхуясь) через ecn агрегатор, ваша страховая компания будет не в курсе, что именно Вам будут идти больше страховых выплат. Ведь общая масса «застрахованных» лиц все равно будет в минусе. Поэтому все всех устраивает.
avatar
Andrei Shevelev, ну так масс-сознание рулит!
avatar
Алексей, «заявки только рыночные, проскальзывания и спреды могут быть суровыми, поэтому и нюансы есть.» Об этом будет во второй части.

avatar
Andrei Shevelev, это примерно как низколиквидный фьюч на моське торговать — те же яй… а только вид сбоку.
avatar
Алексей, «те же яй… а только вид сбоку.» Вообще другие и с другой стороны.  И не яй… Вы на низколиквидных яй… фьючах на моське можете зайти на несколько миллионов, не выбрав весь стакан? А там можно даже не сдвинув цену.
avatar
Andrei Shevelev, честно скажу — не пробовал ни там (на низколиквидных), ни там (на форексе — причина выше). Про низколиквидные — я понимаю размер позы,  которая гипотетически (не было попадосов, чтоб проверит в натуре) способна быть закрыта достаточно быстро, без размазываний, ну или с минимальными.
«Всем всего хорошего, кто дочитал это пост до конца.» — вот не доверяю я таким утверждениям. Вы четко выше отметили понятие «толпа» — толпа -это ж не количество человек, это ж количество денег, которыми они ходЮт?
avatar
Губят людей не алгоритмы, а плечо. С плечом 50:1 и больше, рано или поздно сольет любой алгоритм. А без плеча (т. е. позиция по номиналу не больше депозита) на евродолларе никто из совершающих не более 1-й операции в день не сольет 100%, даже если будет стараться.
avatar
А. Г., согласен — плечи сами по себе опасны. Учитывая жадность и необходимость (??) сделать 100% в месяц — там и 50* пойдут в ход.
Но также и важна точка входа, чтобы не превышать риски или уменьшать размер позы в тех же целях.
avatar
А. Г., «Губят людей не алгоритмы, а плечо. С плечом 50:1 и больше, рано или поздно сольет любой алгоритм.» 
Рано или поздно мы все умрем, а торгуя на евродолларе без плеча мы умрем раньше от скуки. Никто же не заставляет использовать все плечо по максимуму на всю котлету. Это всего лишь инструмент.
avatar
А. Г., 50:1 это сразу примерно 1,5% хода до цены ликвидации. То есть 'не рано или поздно', а 'сегодня же'.) Или в течение пары дней, если угадал пару раз подряд.
avatar
svgr, «50:1 это сразу примерно 1,5% хода до цены ликвидации.» 
1.5% по евродоллару это 150 пунктов (по 4-му знаку после запятой). Дневной ATR (период 20) сейчас 84 пункта. У меня стоп по этому роботу (в посте) 18 пунктов. За полгода срабатывал на реальном счете 3 раза. Плечо выше чем 50:1. Депозит не умер, и даже в плюсе.  
avatar
Andrei Shevelev, а я по крипторынку написал. Там 5-10% хода в обе стороны практически каждые сутки.
avatar
svgr, рынки очень разные. То что подходит к форекс, мало применимо к крипте. Тем внимательней нужно относится к тестированию и оптимизации.
avatar
Регулярная сверка позиций и результатов бумажной торговли и реальной — неотъемлемый инструмент работы алго. 
Не следует манкировать выполнением домашней работы.
avatar
SergeyJu, Точняк.

«манкировать» — Фигасе. )) Пришлось даже погуглить, что означает). Думал матом меня кроете.)
avatar
он что, реально так сказал?
avatar
Андрей К, 
В начале ссылка на видео с тайм кодом. Вот прям так и сказал.
avatar
Andrei Shevelev, спасибо, глянул )
avatar
Я до начала реальной торговли строил два графика эквити по сделкам, а после начала реальной торговли добавил третий.
1. Торговля по историческим данным
2. Торговля на он-лайн данных в режиме эмуляции
3. Реальная торговля

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

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

Читайте на SMART-LAB:
Фото
Т⁠-⁠Банк представил новое поколение супераппа
В приложении появились новые сферы и данные о счетах и кредитах в других банках, а с главного экрана убрали лишнее Т⁠-⁠Банк объявил новый...
Фото
Денис Баранов о вызовах и возможностях индустрии кибербеза
Во время главной пленарной сессии форума «Цифровые решения» представители ведущих ИТ-компаний страны вместе с Михаилом Мишустиным и...
Фото
Одна руда — несколько металлов
Одна руда — несколько металлов Россия на втором месте в мире по запасам платиноидов после ЮАР , сообщило Минприроды. Три крупнейших...
Фото
Хэдхантер. Рынок труда в сентябре: hh.индекс снизился до 8,5 - становится лучше?
Вышла статистика рынка труда за сентябрь 2026 года (за август можно почитать здесь ), которую Хедхантер публикует ежемесячно, что же там...

теги блога Andrei Shevelev

....все тэги



UPDONW
Новый дизайн