Блог им. FineLogin

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

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

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

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

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

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

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

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

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

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

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

★12
63 комментария
1. создай математическую модель алгоритма
Описать хорошую модель многие могут. А создать, пока ни о ком не слышал.
avatar
Kэп Трейд, чесслово… я нихера не понял, что вы написали… извините… можете пояснить мысль?))
avatar
$100, самое главное - создать математическую модель алгоритма. Информатику не изучали?
avatar
Kэп Трейд, кхм… самое главное — способность алгоритма генерировать профит на неизвестных данных...

эту способность и показывает форвард-тест алгоритма

андестенд?))
avatar
$100, это программа будет делать на основе созданного алгоритма. Алгоритм сам по себе ничего не делает. Учите азы информатики. 
avatar
Kэп Трейд, прошу прощения… но я не способен понять результаты работы вашего мозга))
avatar
$100, информатику изучайте для начала
avatar
Kэп Трейд, а не пошли бы вы нахер с тупыми напутствиями?))
avatar

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

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

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

Kэп Трейд, хи-хи-с. Алгоритма, написанного на АЛГОЛе. А еще математическую и физическую модель программы. Намазать бутерброд маслом.
Владислав Коренев, прошу заметить, хайп — это природное явление в мире дебилов… а форвард-тестинг практикуют единицы из присутствующих)
avatar
$100, форвард тест — это на условной демке??
А ликвидности, проскальзывания и прочее как учитываете?
avatar
Sergio Fedosoni, форвард тест проводится на исторических данных по такому принципу:


Естественно, комиссии и усредненное проскальзывание учитываются в обязательном порядке. Если их не учитывать, то от профита может сорвать крышу.
avatar
$100, Тестирую… и отправляю в мусор.
Тестирование на истории — это ерунда! Ну что, что Вы протестируете роботов например на фьючерсе нефти ВиТиАй в период ухода цены ниже НУЛЯ! до МИНУС $37 .   Где гарантия, что в дальнейшем не будет например МИНУС $137 или МИНУС $237.  В этот момент роботы и сольются, загоняя в существенные долги перед брокером. Нужно тестировать роботов не на истории! Нужно самому придумывать различные даже невозможные казалось бы ситуации и если они их переживут, вот тогда вкладывать реальные деньги.
Вопрос к автору. Как Вы можете обьяснить что на бек тестах у Вас профит а в реальной жизни медленная просадка
avatar
LevNNN, я не автор но отвечу: да это постоянно так в связи с переоптимизацией. Мы находим алгоритм, оптимизируем его под прошлое. А будущее всегда другое. И выходит что алгоритм на реале сливает. Рынок живой и постоянно меняется. Даже наше присутствие на нем с нашим алгоритмом меняет его — мы же забираем деньги друг у друга. Невозможно постоянно забирать деньги — либо они кончатся либо опонент уйдет/поменяет торговлю. Форвард тест решает проблему переоптимизации отчасти. Но это тоже по сути подгонка под форварды и не отменяет живых изменений рынка… Так что только отчасти.
avatar
Никогда не слышал такого понятия как форвард тест.
Обычно используются термин переобученный алгоритм.

И да — только в бою вы увидите конкуренцию с другими роботами, людьми. Само присутствие в стакане многое меняет
avatar
Дедал,
На демо не меняет.
Laukar, Вы изначально программист или изучили программирование ради алготрейдинга?

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

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

Плечо, каюсь весной 18 я еще слушал разных бездарных аналитиков которые сами ничего не зарабатывают на рынке и дают неточные и бестолковые советы без уточнения таймфрейма, стопов и целей… Теперь я точно знаю что нельзя слушать разных бездарных аналитиков которые не показывают график собственной доходности... Торговать надо в своем собственном комфортном стиле по проверенным на истории и реальной торговле торовым системам. С учетом возможности ухудшения рынка. А насчет того что я где-то не увидел разворота в сбербанке — это вопрос таймфрема… Я и не претендую на то что я вижу будущее, я понятия не имею что завтра-то будет… И даже пытаться угадать не буду. Единственное что знаю: это то что тренд скорее продолжится чем нет, но и это не точно.
avatar
Laukar, для снижения фактора переоптимизации я применяю многошаговый форвард тест… речь идет не о двух-трех прогонах, а о сотнях прогонов
avatar
LevNNN, вот так https://smart-lab.ru/blog/642964.php
avatar
удалось что нибудь подобрать работоспособное по волк тесту?
avatar
Иван Иванов, да… на текущий момент всего один алгоритм прошел форвард-тест....  на ришке получилось взять 160% годовых с учетом комиссии и проскальзывания…

принцип тестирования: 27 дней бэк-тест / 3 дня форвард-тест
общее кол-во тестов: 165 шагов со смещением 3 дня.
результаты: 165 набора по 3 торговых дня (2 торговых года)

эквити получилась вполне симпатичная... но запускать одного робота на ришке — это опасно… нужно минимум 3 робота на 3 инструментах

тестирую алгоритмы для других инструментов… к сожалению, пока не увидел эквити, подходящую по красоте…
avatar
$100, по секундам что ли торгуете?
У меня бек тест 5лет и форвард чуть больше года.
avatar
$100, доброе время суток. ознакомился, интересно попробовать, вопрос: какой набор параметров в итоге будет использован на реальном форварде (реальной торговле)? То есть получили 165 наборов, ставим в торговлю и какие в этот момент используем параметры: тот набор параметров, который успешно выдержал всю последовательность WFT или какой-то другой принцип подбора (веса параметров, определенный параметр используется в качестве наиболее значимого и т.д.)?
$100, WFT — отличная тема, снижает вероятность выхватить статистический артефакт. А вы тестируете в идеальных условиях для робота, или пробовали чуть ухудшить точки входа/выхода? Кстати, еще один тест, проверку на пригодность, можно провести на перевернутых данных по оси Y.
avatar
$100, до 2017 года ришка другая была, 18-й боковик, 19 более менее тренд. Надо смотреть ри с 2010 ми с 2015(когда курс стал свободным)
avatar
И какие же результаты в реале после форвард тесов?
avatar
Reznor, точно такие, как на форвард-тестах..

если считаете, что может быть иначе, обоснуйте))
avatar
$100, ну да, мы же джентельмены верим друг другу на слово. Но вообще то не убедительно с вашей стороны.
avatar
Reznor, вера — удел глупцов… умные люди думают, а не верят))

попробуйте думать, а не верить… если получится, сообщите, пожалуйста))
avatar
$100, будь по вашему. Если есть реальные резалты, выкладывайте, а так веры вам больше нет ))
avatar
 Я их придумываю десятками

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

avatar
Трейдер biopsyhose, хоссподи… на бэктестах можно получить все, что угодно… от адских минусов до фантастических плюсов… этож не проблема
avatar
$100, проблема в том что ты пиз@шь)) много слов и ноль фактов
avatar
Трейдер biopsyhose, какие тебе, блть, факты нужны?.. объясни, родной))
avatar
$100, пустышка)
avatar
Если придумываете алгоритмы десятками, значит это всего лишь ответвления одного и того же отцовского алгоритма. Поэтому и результаты их — примерно одинаковые.
Плечо, он фантазирует на ровном месте камон))
avatar
Трейдер biopsyhose, 

avatar
Плечо, естественно, все алгоритмы имеют ветвления… в конце концов, все торговые алгоритмы строятся на танцах вокруг OHLCV…
avatar
Первым должен быть глобальный закон сохранения чего-либо.
avatar
MS, чего-либидо?))
avatar

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

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

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

avatar
Replikant_mih, что есть OOS в трейдинге?
Плечо, ну кусок данных (кусок графика), которые ты/модель/алгоритм ещё не видели. Или боевая торговля алгоритма или запустить алгоритм на данных, которые никак не фигурировали в его обучении/оптимизации и т.д.
avatar
Replikant_mih, я все свои разработки сразу пускаю в бой, без настройки на прошлых данных. Каковы минусы такого подхода? Фатальны ли они?
Не знаю)
avatar
Replikant_mih, я отбираю лучший прогон по нескольким параметрам с разными весами… наибольший вес имеет плавность эквити… доходность имеет минимальный вес
avatar
Replikant_mih, вы умеете понять в каком месте распределения статистики находится её эмпирическое значение? Это ли не Грааль?
avatar
Kot_Begemot, А в чем сложность? Делаем море прогонов, смотрим как отдельные параметры влияют на результат. Убеждаемся, что параметры между собой как-то по-хитрому не взаимодействуют)) и надеемся что на OOS попадем ближе к мат. ожиданию распределения)) или лучше, а, ну если мало прогонов в нужной области — надеемся, что выборка прогонов получилась не смещенной).
avatar
Replikant_mih, нет, к усреднению моря прогонов у меня нет претензий)
avatar
 П.6 моего старого топика.
Кухонный трейдер, нуу… что тут скажешь… мысли людей — это всего лишь рекомбинация информации, хранящейся в памяти))
avatar
Сдается мне это метод последовательного анализа статистических методах. В нем надо учитывать ошибки 1 и 2 рода, при принятии гипотезы.
avatar
Jkrsss, что за ошибки?
avatar

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

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

avatar
Cheshirsky Kot, рано или поздно мы все сольемся. Но кто  то унесет деньги домой, а кто то нет. 
avatar
LogikoMen, Поэтому я вот сторонник профит вытаскивать. Хотя бы частично, и вкладывать в какие-то материальные активы. А не только чтобы циферки в терминале)
avatar
вы изобрели кросс-валидацию?
avatar

теги блога $100

....все тэги



UPDONW