Все мы, в разное время, занимались онанизмом подгонкой торговой системы на исторических данных.
Занятие это полезное и увлекательное. Но что заставляет нас думать, что «подогнанная» система будет работать в будущем?
Попробую провести математическую аналогию.
Возьмем задачу построения многочленов, наименее уклоняющихся от нуля (на некотором отрезке, ессно). Решение ее давно известно (Чебышев и более поздние товарищи).
Однако за пределами исходного отрезка (интервал оптимизации) эти многочлены начинают быстро (полиномиально) расти или падать. Т.е. как раз максимально уклоняться от нуля )))
ВОПРОС:
Когда мы оптимизируем эквити на отрезке — что заставляет нас думать, что за пределами отрезка она будет расти?
Хотелось бы услышать Ваши соображения, коллеги.
Ну т.е. у меня они тоже есть (при каких требованиях к приращениям цен и системам/индикаторам можно ожидать рост эквити), но боюсь, что при технической загрузке темы она опять будет никому не интересна...
Можно уточнение? Что трейдеры могли бы использовать кроме курвафиттинга? У меня ощущение, что любят они его от того, что больше им некого любить:) Кто есть — того и приходится любить) Ну а он в ответ уже любит трейдеров.
крайне просто..
например делаешь бот под сбер
оптимизируешь… лет за 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
Не существует способа, кроме курвафитинга (в широком смысле слова), чтобы верифицировать какую-либо рыночную гипотезу о поведении актива или группы активов.
Даже если назвать курвафитинг моделефитингом или буфетоскопом.
bstone, условно разные, а по сути нашей жизни совпадают. Выдвинули гипотезу, проверили. Но гипотеза не святым духом наполнена, в ней есть параметры, явные или неявные. Вы их за усы подергали — вот и курвафитинг.
старый трейдер, не имеет принципиального значения дискретность и непрерывность подбираемых параметров. Параметр может быть даже и нечисловой, например, выбор таймфрейма. Или способа квантования потока данных. Или выбор актива для текущей торговли из нескольких в списке.
SergeyJu, обычно под curve fitting подразумевают подбор параметров с целью сглаживания кривой доходности и типичным побочным эффектом — самообманом (отсюда и насмешки).
Действиями от противного часто пытаются оценивать robustness, если Вы это понимаете под верификацией. Но системы с малым количеством дискретных параметров (предельный случай - binary tree с единственной веточкой) оценивать сложно, мне кажется.
Курвефиттинг всегда есть где есть подгонка модели под данные, вопрос только есть ли при этом какая-то доля предсказания. Если её достаточно, то система рабочая.
Вспомнил, как Петька пришёл к Василию Ивановичу и чуть не плачет.
Петька рассказал
«мне в школе задали разложить квадратный трехчлен, а я
не то, что разложить,
я его себе даже представить не могу».
Когда результат оптимизации не по R^2 (даже косвенно) выглядит на OOS так, будто оптимизировался по R^2 — выявлена закономерность, когда речь заходит о скальпинге с десятком не пересекающихся сделок в день по одному символу.
Наличие реальной закономерности (не подгонка) никакого отношения не имеет к вероятности ее слома. Цель не просто найти закономерность, а найти ее на раннем этапе.
А там, чем раньше нашел что-то, тем меньше данных для каких-либо проверок. Поэтому растут шансы обломаться на псевдо-законормености. И наоборот — чем позже нашел, тем больше шансов, что закономерность реальная, но растут шансы ее слома, т.к. обнаружил поздновато.
Если торгуешь что-то совсем непопулярное, не светишься, совсем нестандартные подходы, то удерживаться можно дольше.
Если ТС не зависит от перемешивания исходного цВР — отлично. Например, склеил фазовые циклы (сутки, недели и т.д.) в разных порядках, и ТС на всех склейках пашет. Понятно, что если ТС испольует в своей логике мало предыдущих данных (например, час), то ей ровно до последовательности склейки.
А вот генерировать цВР с «похожими» свойствами — пахнет самообманом.
Когда мы оптимизируем эквити на отрезке — что заставляет нас думать, что за пределами отрезка она будет расти?
Убеждённость в том, что отрезок, на котором проводилась оптимизация, является чем-то средним к возможному множеству последующих состояний рынка.
При этом последующие состояния могут временно иметь сильные отличия — поэтому и доходность, и просадка могут быть намного больше и намного меньше тестовых.
Если такой период затягивается, может быть сделан вывод, что «рынок поменялся» и «система сломалась». Что, скорее всего, неверно — но такая ТС всё равно будет выброшена, потому что никто не захочет терпеть от новой и непроверенной на настоящих торгах системы длительную просадку, даже неглубокую.
Max,
Банк России исходит из объявленных параметров бюджетной политики. Ее нормализация в 2025 году будет иметь дезинфляционный эффект. Изменение параметров бюджетной политики может потребовать...
Сиделец, знаете, я чтобы психологически себя не нагружать, лишний раз не нервничать, не радоваться и не грустить, не открываю инвестиционное приложение или терминал, чтобы не наблюдать скачки сумм ...
Ремора, хорошая у Вас идея, надеюсь сработает. Другая идея 1-9, 25% от от номинала (125к евро). При рублификации ее в рубли по курсу и купоне КС+3-4% вообще адские цифры получаються. Не думали?
Максим Лебедев, полистал комменты — как-то умудрился пропустить прошлые про 238е. Или просто отвлёкся и не читал ничего — трудно сказать. ) )
(прочитал посреди ночи и опять не могу спать :-). Отд...
Не, все таки соотечественные бизнес и власть впечатляют порядочностью и смекалкой, как и всегда.
Волонтеры со всей страны едут спасать черноморское побережье и собирают помощь, в том числе финансову...
Жительницу Петушков Владимирской области 1951 года рождения задержали по подозрению в поджоге здания районного отдела полиции, сообщает региональное управление Следственного комитета (СК).
по пут...
+ Фулбай на активе вынуждает верить все сильнее
Ах обмануть меня не сложно, я сам обманываться рад.
Сильно Больше 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 используется.
Петька рассказал
«мне в школе задали разложить квадратный трехчлен, а я
не то, что разложить,
я его себе даже представить не могу».
Наличие реальной закономерности (не подгонка) никакого отношения не имеет к вероятности ее слома. Цель не просто найти закономерность, а найти ее на раннем этапе.
А там, чем раньше нашел что-то, тем меньше данных для каких-либо проверок. Поэтому растут шансы обломаться на псевдо-законормености. И наоборот — чем позже нашел, тем больше шансов, что закономерность реальная, но растут шансы ее слома, т.к. обнаружил поздновато.
Если торгуешь что-то совсем непопулярное, не светишься, совсем нестандартные подходы, то удерживаться можно дольше.
Если ТС не зависит от перемешивания исходного цВР — отлично. Например, склеил фазовые циклы (сутки, недели и т.д.) в разных порядках, и ТС на всех склейках пашет. Понятно, что если ТС испольует в своей логике мало предыдущих данных (например, час), то ей ровно до последовательности склейки.
А вот генерировать цВР с «похожими» свойствами — пахнет самообманом.
Убеждённость в том, что отрезок, на котором проводилась оптимизация, является чем-то средним к возможному множеству последующих состояний рынка.
При этом последующие состояния могут временно иметь сильные отличия — поэтому и доходность, и просадка могут быть намного больше и намного меньше тестовых.
Если такой период затягивается, может быть сделан вывод, что «рынок поменялся» и «система сломалась». Что, скорее всего, неверно — но такая ТС всё равно будет выброшена, потому что никто не захочет терпеть от новой и непроверенной на настоящих торгах системы длительную просадку, даже неглубокую.