Почему трейдеры используют curve fitting?
Доброй ночи, коллеги!
Все мы, в разное время, занимались онанизмом подгонкой торговой системы на исторических данных.
Занятие это полезное и увлекательное. Но что заставляет нас думать, что «подогнанная» система будет работать в будущем?
Попробую провести математическую аналогию.
Возьмем задачу построения многочленов, наименее уклоняющихся от нуля (на некотором отрезке, ессно). Решение ее давно известно (Чебышев и более поздние товарищи).
Однако за пределами исходного отрезка (интервал оптимизации) эти многочлены начинают быстро (полиномиально) расти или падать. Т.е. как раз максимально уклоняться от нуля )))
ВОПРОС:
Когда мы оптимизируем эквити на отрезке — что заставляет нас думать, что за пределами отрезка она будет расти?
Хотелось бы услышать Ваши соображения, коллеги.
Ну т.е. у меня они тоже есть (при каких требованиях к приращениям цен и системам/индикаторам можно ожидать рост эквити), но боюсь, что при технической загрузке темы она опять будет никому не интересна...
Как всегда с уважением и просьбой в теме не срать
+ Фулбай на активе вынуждает верить все сильнее
Ах обмануть меня не сложно, я сам обманываться рад.
Сильно Больше 50% методов тестов не содержат «Out of Sample» из коробки.
Тот же tredingview.
Статистические тесты out-of-sample с коррекцией на множественную проверку гипотез.
например делаешь бот под сбер
оптимизируешь… лет за 10… потом стресс тест на 2008… потом проверяешь на всей доступной истории
затем берешь штук 20 самых ликвидных бумаг газпром ри си гмк магнит аэрофлот фск лукойл роснефть и прочее и тестишь бота сбера на них… должен ка минимум не сливать… а по возможности даже зарабатывать
По-моему, ответ очевиден — из-за недостатка опыта и знания предмета.
nakhusha
"… правильный бэктест призван выбрать стратегию поведения, а не стратегию отбора инструментов. Правильный бэктест отвечает на вопросы:
— как я должен вести себя на рынке в зависимости от моего горизонта и потребностей;
— как попытаться получить наилучший результат на единицу риска (абсолютного и относительного).
Весь остальной бэктест — это игра с прошлыми данными."
Можно привести рассуждения в духе Байеса. Если мы что-то тестим на истории и оно льёт, то скорее всего в будущем оно будет лить. Если мы погоняли систему на истории и оно ведет себя более-менее адекватно, значит, есть некоторая вероятность, что в будущем всё будет более-менее.
ПС Хотя на днях коллега выкладывал эквити, которое было красивой прямой до 2021 и сразу с НГ завалилось. По скриншоту, он заплатил около 0.5 за опыт...
Темны и беспросветны будни бедолаг, не освоивших высокое искусство курвафиттинга!
Вот вам к примеру ssrn.com/abstract=2460551 способ обнаружения и предотвращения ложных открытий и сверхценных идей :).
Вот еще https://ssrn.com/abstract=2326253 это для расчета вероятности переобучения при тестировании на исторических данных.
Так же книжки неплохие есть: Advances in Financial Machine Learning и Testing and Tuning Market Trading Systems
Даже если назвать курвафитинг моделефитингом или буфетоскопом.
SergeyJu, как делать curve fitting, если все настройки бинарные, типа больше/меньше (возможно помните, посылал как-то графики просадки такой системы)?
Действиями от противного часто пытаются оценивать robustness, если Вы это понимаете под верификацией. Но системы с малым количеством дискретных параметров (предельный случай - binary tree с единственной веточкой) оценивать сложно, мне кажется.
Главное, что это окружающим жить не мешает. )))
Кстати когда трубы отопления медные прокладывают, то на загибах на 90 градусов тоже curve fitting используется.
Петька рассказал
«мне в школе задали разложить квадратный трехчлен, а я
не то, что разложить,
я его себе даже представить не могу».
Но сам посыл мне не слишком понятен.
Если мы говорим про оптимизацию эквити в той или иной форме, то сама формула для эквити нелинейна. Даже при работе маркетными ордерами (простая формула), тем более при торговле лимитными (сложная формула).
Даже если индикатор ТС линеен.
С уважением
Наличие реальной закономерности (не подгонка) никакого отношения не имеет к вероятности ее слома. Цель не просто найти закономерность, а найти ее на раннем этапе.
А там, чем раньше нашел что-то, тем меньше данных для каких-либо проверок. Поэтому растут шансы обломаться на псевдо-законормености. И наоборот — чем позже нашел, тем больше шансов, что закономерность реальная, но растут шансы ее слома, т.к. обнаружил поздновато.
Если торгуешь что-то совсем непопулярное, не светишься, совсем нестандартные подходы, то удерживаться можно дольше.
Если ТС не зависит от перемешивания исходного цВР — отлично. Например, склеил фазовые циклы (сутки, недели и т.д.) в разных порядках, и ТС на всех склейках пашет. Понятно, что если ТС испольует в своей логике мало предыдущих данных (например, час), то ей ровно до последовательности склейки.
А вот генерировать цВР с «похожими» свойствами — пахнет самообманом.
Убеждённость в том, что отрезок, на котором проводилась оптимизация, является чем-то средним к возможному множеству последующих состояний рынка.
При этом последующие состояния могут временно иметь сильные отличия — поэтому и доходность, и просадка могут быть намного больше и намного меньше тестовых.
Если такой период затягивается, может быть сделан вывод, что «рынок поменялся» и «система сломалась». Что, скорее всего, неверно — но такая ТС всё равно будет выброшена, потому что никто не захочет терпеть от новой и непроверенной на настоящих торгах системы длительную просадку, даже неглубокую.