GOLD
GOLD личный блог
17 ноября 2021, 19:18

Тестируем робота перед покупкой

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

Метод тестирования называется Walk-Forward Test (WFT). Выглядит метод так:

Тестируем робота перед покупкой

Короткое описание:

Всякий робот состоит из двух основных блоков — блок логики и блок транзакций. Блок логики обрабатывает данные и выдает сигналы блоку транзакций. Блок транзакций интереса не представляет. Пусть программисты в нем копаются. А мы поговорим про блок логики. Как он работает и откуда знает — когда покупать и когда продавать?

Человек (обычно это прыщавый программист) читает теханальную литературу, скачивает исторические данные за некий достаточно длинный период и составляет алгоритм их обработки, добиваясь красивой прибыли за счет перебора или подбора параметров. Если алгоритм выдает красивую прибыль, то программист переносит его в блок логики робота. На что надеется этот программист?

Программист надеется на то, что в будущем алгоритм будет выдавать прибыль, как в прошлом. На этой необоснованной надежде строится весь теханальный алготрейдинг. И, кстати, обычный (ручной) теханальный трейдинг тоже основан на этой же глупой надежде.

И ты уже спросишь — А можно заранее убедиться в том, что алгоритм способен выдавать приемлемую прибыль в будущем?
И я тебе незамедлительно отвечу — Можно. Именно для этого придуман метод WFT.

Метод WFT на конкретном примере работает так:

  1. Алгоритму скармливаются исторические данные за период 5 месяцев (Март + Апрель + Май + Июнь + Июль). Методом тупого перебора (или интеллектуального подбора) находятся оптимальные параметры обработки данных, на которых алгоритм выдает красивую прибыль.
  2. Алгоритму с оптимальными параметрами скармливаются исторические данные за следующий месяц (Август). Эти данные для него являются неизвестными. Они эмулируют работу алгоритма на реальном рынке в состоянии неизвестности будущего.
  3. Результат работы оптимизированного алгоритма за Август записывается в протокол
  4. Данные сдвигаются вправо на один месяц и повторяется шаг 1.
  5. Результаты работы оптимизированного алгоритма за  Сентябрь записываются в протокол.
  6. Далее цикл повторяется 20 (или 30 или 50) раз.

Результатом прогона алгоритма через WFT является протокол, в котором записаны 20 (или 30 или 50) месяцев его работы на неизвестных данных. Если прибыль в протоколе тебя устраивает, значит высока вероятность того, что в некотором будущем алгоритм принесет тебе некоторую прибыль. Покупай такого робота и рискуй более смело, чем обычно. Если прибыль в протоколе тебя не устраивает, то посылай нахер продавца такого робота, а сэкономленные деньги вложи в дивидендные акции.

Если продавец робота отказывается проводить тест WFT, ссылаясь на тяжелую жизнь в Саратове и дороговизну однушки в Сочи, гони его ссаными тряпками! Если ты где-то нашел бесплатную торговую систему (например — ту самую) с красивой прибылью за какой-то период, не спеши торговать по ней! Узнай — проходит ли такая система WFT. Если нет — не применяй ее в торговле. Сиди и мечтай о богатстве дальше.

Спасибо, что дочитал до конца. Если что-то не понятно, задавай вопросы в комментах))

30 Комментариев
  • Сергей Сергаев
    17 ноября 2021, 19:28


      • Владимир Гончаров
        17 ноября 2021, 21:58
        $100, очки нахрен он одел? раньше школьников чморили за очки в школе, а теперь все кому не лень одевают очки.
      • AlexGood
        26 августа 2022, 22:05
        $100, «первый раз слышу эту фамилию… к сожалению в этом теракте пострадала его дочка, а не он» © Ну дает!
        youtu.be/H6Lt6WcnqUc?t=241
  • Как пройти в библиотеку? 
  • A2format
    17 ноября 2021, 20:48
    Walk-Forward Test (WFT)
    Walk-Forward Test (WFT) — нужен только для систем, которые подстраиваются («обучаются») к рыночным данным.

    Если система не подстраивается к рыночным данным, или динамическая (логика определяется «на ходу») — то Walk-Forward Test (WFT) будет просто бесполезной тратой времени. Сделать можно, но бесполезно.

    PS Причем, чем короче IS — тем больше вероятность переоптимизирования каждого OOS, и WFT наоборот сделает систему нерабочей (сильно подогнанной).

    Надо знать, как работает система, чтобы провести правильные стресс-тесты. Walk-Forward Test (WFT) не является единственно правильным стресс-тестом или обязательным на все случаи (где-то он нужен обязательно, где-то вообще не нужен, а где-то и вреден).

    PPS эту картинку я уже раньше на Смартлабе видел smart-lab.ru/blog/624862.php Зачем дубль-пост?
      • A2format
        17 ноября 2021, 22:25
        $100, 
        рассказывайте сказки

        Сказки у вас — какой-то мифический тест который выведет «на чистую воду» все стратегии. Даже по вашей ссылке сказано:

        1. Что WFT нужен для систем которые адаптируются к рыночным данным.
        2. Даже WFT не устраняет всех проблем с переоптимизацией.

        То, о чем я и говорил. Свой первоисточник не читали? 
        Или вы считаете, что все стратегии адаптируются к рыночным данным?

        что вы когда-то видели

        Нет. У меня вопрос — зачем постить тоже самое? Кризис жанра?
          • A2format
            18 ноября 2021, 13:27
            $100, 

            появились тысячи новых бедолаг… я считаю своим долгом помогать  им защищаться от вранья поганых инфоцыган и околорыночников))

            А, в этом смысле. Тогда да, правильно.
    • LogikoMen
      17 ноября 2021, 22:01
      A2format, правильные стресс тесты в студию! Или будем считать п_здоболом. 
      Форвард — единственная известная и достоверная модель тестирования системы на прибыльность робота в будущем. 
      • A2format
        17 ноября 2021, 22:32
        LogikoMen, 
        правильные стресс тесты в студию! Или будем считать п_здоболом.

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

        Форвард — единственная известная и достоверная модель тестирования системы на прибыльность робота в будущем. 

        Для самообучаемых систем. Но не все системы такие.
        • LogikoMen
          18 ноября 2021, 00:25
          A2format, самообучаемые системы появились недавно, форвард, и классические модели ничему не обучаются. Математика + статистика. С каких пор переменная стала самообучаемой? Нейросети — модель определения на основе своего искусственного интеллекта, т.е. и есть системы самообучения.
          • A2format
            18 ноября 2021, 11:59
            LogikoMen, 
             самообучаемые системы появились недавно, форвард, и классические модели ничему не обучаются. Математика + статистика. С каких пор переменная стала самообучаемой? Нейросети — модель определения на основе своего искусственного интеллекта, т.е. и есть системы самообучения.

            Да, вот я про это и писал. Что нейросетям, машин лёрнинг — WFT будет полезен.

            При этом, если прикопаться к терминам, то если ML обучается на n баров назад, то и разбивать не надо на участки, просто прогонять по всей истории (где обучение происходит каждый раз, с каждым баром на n баров назад), и тогда это стандартный бэктестинг, где WFT частный и урезанный случай. ИЛИ другой случай, если ML обучается именно на всей истории, и тогда ограничивая его отрезками, просто урезается количество данных для обучения (сами себе искажают тест). 

            Стратегий тьма — и у каждой свои нюансы работы и тестирования.

            PS сейчас уже не модно называть нейросетями, сейчас популярнее ML и AI :)
            • LogikoMen
              18 ноября 2021, 14:48
              A2format, кто вам сказал, что форвард нельзя применить к нейросетям? Поймите, что будущее и прошлое — это ничто иное, как шкала времени. У нас есть условное будущее. Потому что прошлое можно представить ввиде будущего и прошлого. Форвард бесполезен только для очень крупного фонда на одной котировке. Потому что его вход внесет изменения в саму цену. Что приведет переосмыслению у других участниках рынка. Которое определить никак нельзя. Но если взять большой таймфрейм, то можно форвард и здесь использовать.
              • A2format
                18 ноября 2021, 15:40
                LogikoMen, 
                форвард нельзя применить к нейросетям? 

                Вы сквозь пальцы читаете или через строчку?

                Мое сообщение №1:
                Walk-Forward Test (WFT) не является единственно правильным стресс-тестом или обязательным на все случаи (где-то он нужен обязательно, где-то вообще не нужен, а где-то и вреден).

                Мое сообщение №3:
                Для самообучаемых систем.

                Мое сообщение №3:
                Что нейросетям, машин лёрнинг — WFT будет полезен.

                В подряд три сообщения, что WFT нужен нейросетям, ML, AI...

                Где хоть в одном из трех сообщений сказано, что WFT не подходит нейросетям?

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

                Каким образом большой таймфрейм компенсирует влияние крупного участника на рынок?
                • LogikoMen
                  18 ноября 2021, 16:01
                  A2format, тогда в принципе ничего непонятно. Для каких систем WFT бесполезен? Купил и держи? Это не торговые системы. Потому что сколько примеров было, что сажали обезьяну. И она обходила по доходности аналитиков. Пальцем наугад — тут WFT бесполезен, точно. Система, у которой нет параметров — это система. У которой нем модели. Всегда оценка дается при наличии чего-то. Оценка это и есть параметр. Даже если мы имеем новостную модель, в этой оценки должен быть показатель. Который и является параметром. И его можно крутить при выборке. Только фундаментальные системы не так просто протестировать WTF. Потому что множество котировок и вручную вбивать параметры на довольно то динамические даты. И никак иначе. Если так никто не делает, то это не мои проблемы. У нас в принципе никто ничего делать не хочет. Нужна кнопка — «Бабло». И многих устраивает -" мамой клянусь, я так заработал".
                  • A2format
                    18 ноября 2021, 16:38
                    LogikoMen, 
                    Для каких систем WFT бесполезен? Купил и держи? Это не торговые системы.

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

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

                    1. Даже если сделки случайны — это тоже система (прибыльная или нет — это уже другой вопрос).
                    2. Нет данных, сколько обезьян сидело, но не угадало прибыльные акции (про это и не писали бы).
                    3. Бай энд холд только про американские акции? А на Никкей получился бы Бай энд холд в последние лет 30? Или 1929-й? Или 1970-е? Получилось бы заработать на Бай энд холд на горизонте 10-20-30 лет?

                    Только фундаментальные системы не так просто протестировать WTF. Потому что множество котировок и вручную вбивать параметры на довольно то динамические даты. И никак иначе. 

                    Можно и вручную, но можно и автоматизировать — это весьма простая задача. Если бы все задачи были такими простыми.

                    У нас в принципе никто ничего делать не хочет. Нужна кнопка — «Бабло». И многих устраивает -" мамой клянусь, я так заработал".

                    Вот тут с вами согласен. Большинство хочет все сразу, и без напрягов.

                    ты не продавишь большой тайм фрейм (недельный).

                    Если фонд котировки продавил — это будет на любом таймфрейме. Тут вопрос насколько будет информативным недельный бар (таймфрейм) отобразить этот скачок. И, если позиция очень большая, то фонд ее может набирать неделями, а то и месяцами — поэтому недельный таймфрейм еще ничего так.
                • LogikoMen
                  18 ноября 2021, 16:04
                  A2format, ты не продавишь большой тайм фрейм (недельный). Потому что в принципе любой объем вносит изменение в рынок. Но никоим образом не является основанием, что ты направишь рынок. 
    • Beach Bunny
      03 июля 2022, 01:36
      A2format, он не умеет такие системы делать, у него видимо только тупые системы которые требуют постоянной переоптимизации.
  • ccoonnsstt
    17 ноября 2021, 22:26

    В принципе — интересный пост, но, цитирую — «Человек (обычно это прыщавый программист) читает теханальную литературу...» звучит грубо и имеет мало отношения к действительности. Если речь про прыщавость программистов, то вероятно, про молодых. А молодыми и прыщавыми кто только не бывает, и юристы, и экономисты, и мазохисты, и даже сталевары с токарями и офицерами спецназа. Так что, на мой взгляд не стоит наделять программистов прыщами!
    В настоящий момент все мы сейчас, читающие эти строки, читаем их, благодаря, в том числе программистов и они могут быть прыщавыми! А может и нет!
    Образ программиста смените в башке своей! У меня есть знакомые программисты и ни одного прыщавого. Мало того, есть такие, что и в бубен настучат — мало не покажется!

    Так же можно сказать и про «фунданальную» литературу, опцианальную и др. литературу, к которой можно присовокупить слово «анальный». А сделать это, как показывают простые переборы без всякого форвардтестирования можно почти к любому слову.

    Есть в этой сфере разные пути, в том числе и роботизированные. Надо только уметь и постоянно развиваться, изучать, рассчитывать риски итд, а не тупо верить!
    Уважаемый $100 — будь добрее!
    плиз

    P/S/ читаю автора давно, нравится подача информации и смысл.
    Но, эта, чёто не так(

  • ATS74
    01 ноября 2022, 08:49
    Если (1) //прибыль в протоколе тебя не устраивает
    , то посылай нахер продавца такого робота

    А WFT — ересь.

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

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