Блог им. tester37

Про 3 сигмы для валидации стратегий/роботов

Подскажите.  Вот есть бэктестирование.  И наблюдаю картину, что уже многие ведутся (и верят в оптимизацию параметров с той целью, что на истории страта начинает показывать плюс). Самые продвинутые проверяют и «оптимизируют» не на полной истории а на частичной, оставляя участок истории на которое уже натравливают «оптимизированную» старту и если там получается плюс — то, ура! Вот он, грааль.

Но ведь это неправда.  Если результат не выходит за 3 сигмы, то это говорит о вполне такой большой вероятности — что просто случайно получен такой результат.  Кроме того, этот расчет также требует вполне определенного количества испытаний, а иногда предлагаются граальные индикаторы, которые проверены якобы на десятилетней истории, но срабатывали они за этот период например 20 раз и 16 из них в плюс… и на этом предлагается делать также вывод о граальности.

Есть ли серьезные люди, которые октрыто занимаются такой, правильной верификацией методик и роботов на их основе?  Или у меня какие то примитивные представления, которые неприменимы к реальному алготрейдингу?
★2
37 комментариев
Самые продвинутые проверяют и «оптимизируют» не на полной истории а на частичной, оставляя участок истории на которое уже натравливают «оптимизированную» старту и если там получается плюс — то, ура! Вот он, грааль

иначе ты корову не продашь 
avatar
Все таки я больше склоняюсь, что причина в сложных моделях вероятностных распределений в алготрейдинге.  Иначе бы продавцов убыточных коров очень быстро бы получалось детектить.  Но насколько эти распределения сложные?  Невозможно сложные что ли?  Чтобы не исследовать коллективно, на паблик ресурсах?
avatar
делаешь полный перебор 80% поля оптимизации должно быть в +
это для начал

потом при измении любого параметра от -50 до +100% доха не должна падать больше чем в 2 раза

это типа критерий устойчивоси бота
avatar
ves2010, Скотлько у вас итераций минимально?
avatar
При достаточно большом количестве экспериментов можно и за 5 сигм выйти, при том что стратегия является абсолютным мусором.
avatar
Начнем с того, что оптимизация параметров — это уже ересь !
Хорошая система дает прибыль на всем множестве параметров.
А по поводу вероятности: Система 2ма зарабатывала каждый год в течении 10 лет с параметрами 200 и 60. Какова вероятность что с этими же параметрами она заработает в следующем году ?
Ответ: 50%, либо заработает либо нет.

avatar
Не понял вопроса:

«Есть ли серьезные люди, которые октрыто занимаются такой, правильной верификацией методик и роботов на их основе?»
Тимофей Мартынов, мне показалось что очень много движков (и инудстрия) заточена на «валидации» через прогон по истории. А вот качественной и научной интерпретацией полученного результата мало где и кто занимается. Если они есть, дайте имена, линки, пожалуйста
avatar
tester37, хоспади, зачем нужна-то научная интерпретация результата?


Тимофей Мартынов, если я правильно понял написанное, то на Смартлабе большинство людей останавливаются на получении результата. Ну вот к примеру, увидел эквити теста, глянул показатели, всеми известные и дальше не пошел.

А бывает так, что профит лежит за этой стеной и тут важно качество интерпретировать результаты.
avatar
Тимофей Мартынов, я хочу в алготрейдинг. А там, если зарабатывать именно на торговле, интуитивную интерпретацию не включишь, только научная, математическая рулит.  А написание роботов, качество работы которых оценивается визуально по графикам на основе богатого опыта — это круто.  Но это больше искусство, чем алготрейдинг.  КМК
avatar

Этот вопрос часто триггерит алго-трейдеров, которые понимают суть этого вопроса. Вот и я, хотя меня эта тема уже почти не цепляет, стриггерился).

Конечно, умение отличать случайность от закономерности один из ключевых в алго. Да, большинство (как и везде) — какой-то стадной хернёй занимаются (в смысле делают все одно и то же и неправильное). Только на мой взгляд «научность» здесь не обязательное условие. Я бы заменил критерий на «здравость», а лежит ли подход в плоскости научности или нет, не принципиально. Я вот про сигмы туманно помню, что это, но это мне не мешает уметь определять, где случайность, где закономерность, а где недостаточно данных чтобы понять и нужо дальше копать.

avatar

Я для себя такую систему выделил:

— Кто-то занимается какой-то дичью, которая никак не помогает отличать закономерность от случайности. Таких трейдеров много.

— Кто-то нашел какие-то работающие механики, инструменты, фильтры для задачи различения случайности и закономерности. Они часто топорно работают, да, сквозь дуршлаг таких фильтров большая часть случайных раскладов утекает, но дырки большеваты и закономерности некоторые тоже просачиваются. Таких трейдеров мало.

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

avatar
Про других ничего не могу сказать, а свои алгоритмы тестирую на исторических  данных за последние 15 лет, начиная с 2007 года. На этом  промежутке времени было  много  разных событий в любых инструментах. например   акции — 2008, 2009 годы,  золото, серебро 2011 год,  нефть 2014 год, евро 2014 год, фунт 2016 год, ну и конечно пандемия 2020 год.  Тестирую алгоритмы  на всех доступных инструментах — акции, валюты, металлы.  
avatar

Хм. Я думаю только реальная торговля может показать результативность стратегии. Нужно смотреть как на реале отрабатывает стратегия. Есть куча стратегий которые на истории хороши, а на реале не зарабатывают потому что неправильно учтена комиссия в расчетах, или гэпы и проскальзывания на реале гораздо больше и это тоже надо учесть и отфильтровать. 

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

Лично я смотрю результативность на реале, с учетом комиссии и т.д. Без всяких оптимизаций, на этом и принимаю решение о стратегии, но и на истории стратегия не должна сливать по полгода.



avatar
Многоповторный, рандомный WFT — то, что доктор прописал.
avatar
чисто теоретически ясно что никакой точной проверки невозможно, вот чуть-чуть подробнее мои мысли
smart-lab.ru/blog/719599.php
avatar
Если у тебя стратегия в результате бэктеста получается рабочей, значит бектест некорректный :)
avatar
верификация ) чувствуется сленг тестера )
avatar
Все статистические критерии и правила разработаны для стационарных случайных процессов. Относительно рынка стационарности нет и в помине, уже можно обо всем забыть. Да и вопрос о случайности тоже под вопросом. 
avatar
Универсальных систем нет и Грааль ломается тогда, когда меняется рынок, под который он был заточен. Например, ввели вечерку — алгоритм сломался. Или поменяли лот — опять все сломалось. Такие вещи на бэктестах сложно учесть.
avatar
Diamond, по таким факторам роботы и продукты также можно  «верифицировать» :) правильным (согласно НОТ и бест практикс) тестированием/аудитом.
Очень дельное замечание!  Тоже встречаю в обсуждениях тему, что роботы не могут работать всегда. что их надо постоянно «мэйнтейнить» и менять.  И они заточены под какой то конкретный инструмент или даже площадку. 
Если подходить к теме научно/профессиоанльно то ведь перечень предусловий и постусловий качественной работы — может быть вполне четким.  Если его нет, то опять возвращаемся к искусству ради искусства (и, возможно, продаж )
avatar
Еще в вузе писал работу на эту тему. Простыми эконометрическими и статистическими методами апробации результатов ничего толком не проверить. Но при этом есть алго, который дает результат.
Как мне кажется, подбор параметров нужен руками, по крайней мере я так делал, руками, глазами. Там подкрутил одно, там другое.
Допустим система дает 100% удачных сделок, если забирать 50 пунктов, но она может легко давать 50%, если выставить 100.
avatar
Тут еще вопрос, как вы эту сигму посчитаете.

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

Большинство делает огромное количество экспериментов, поэтому нужна корректировка на множественное тестирование.

В результате 3 сигмы явно недостаточно. 
avatar
Михаил, Да!   Правильно мне было бы «3 сигмы» заковычить.  В том смысле, что «верифицировать» на «робастость» :)  — это не сигму найти при нормальном распределении и известном числе испытаний.  Но мне показалось, как только входящему в этом дивный мир, что в нем есть ещё место математическому подвигу, но не всем он интересен… так как он бы забрал аудиторию у экстрасенсов и сект.  Также очень был рад видеть, что есть и те, кто понимает важность математики и её пропагандирует (но так как это сложно — обычно все превращается в предварительные ручные оптимизации через подбор параметров.  И почему то не развивается тема — для чего и почему это правильно и следует из такой-то математической модели.  И вот логично возникает вопрос.  Это не делается — потому что аудитории это не нужно или потому, что и исследователи на самом деле не владеют матаппаратом) 
avatar

Если есть возможность тестирования стратегии на истории с полным перебором всех разумных параметров (не более 2-3), нужно выявить худшие случаи (с максимальными просадками) и оценить их вероятность (частоту) в обозримом будущем. «ТриСигмы», конечно, отражают какие-то «тени на стенах пещеры», но это не главное. Ну и от стратегии зависит важность статистик. Если играем «На всё» интрадей с небольшой суммой, или это среднесрочная стратегия с десятками инструментов с управлением капитала и другими тонкими подстройками.

Как-то так, на мой взгляд

avatar
DV_13, Ну Вы тут коснулись темы управления капиталом.  Она тоже вполне должна (по мне) основываться на вменяемых (наиболее адекватных реальности) математических моделях. С входящими параметрами-критериями.  (Кому-то нужно ежемесячно ползарплаты пускать в лотерею, чтобы иметь ненулевой шанс сделать 100x — это одна модель. Кто-то собирается получать процент на миллионные активы чуть бОльшие, чем дает сбербанк, но со схожим риском  — это другая модель )  Но это также, вижу, не мэйнстримный подход.  Очень в почете опыт и интуиция даже в таких делах :)
avatar
tester37, 

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

avatar
tester37, 
Очень в почете опыт и интуиция даже в таких делах :)
Противопоставьте этому молодость, задор и математический аппарат. Заработайте денег. Покажите ваши достижения. 
Мы похлопаем вас по плечу и вернемся к своим поделкам :)
Дмитрий Овчинников, если показалось, что я против опыта и интуиции или не уважаю это, то это чиста из за моего косноязычия.  Хотя по интуиции у меня у самого сложные отношения в моем «бэкграунде».  От слишком серьезного отношения к своей интуиции (особенно в теме прогнозирования) недалеко до серьезного отношения ко всяким практикам визуализации по Зеланду, симорону и т.д.
avatar
Если результат не выходит за 3 сигмы, то это говорит о вполне такой большой вероятности — что просто случайно получен такой результат.

Результат чего?
3 сигмы от чего?
Что из чего не должно выйти?
avatar
svgr, это я про использование математики при интерпретации результатов бэктестирования.  Так как просто получить плюс — не значит найти грааль. И дело даже не в типичной отмазке «это был грааль, но потом в рынке случились изменения, при которых он перестал работать».  Дело может быть в том, что получившийся плюс на бэктестировании при параметрах этого тестирования — сам по себе ничего не говорит о «граальности»
avatar
tester37, этот текст правильный, а изначальный про 3 сигма так и не пояснён.
avatar
Там, где результаты эксперимента вероятностно нормально распределены (что как раз говорит о случайности и отсутствии какого-либо прогнозирования, то есть «неслучайного» получения этого результата) обычно и принято при оценке этих результатов смотреть а не выходит ли он за 3 сигмы (внутри которых 99% возможных с чем то результатов и будет)… Но в комментариях я увидел ответы, которые мне объяснили «проблематику».  В трейдинге все сложнее (чем в игре в кости или в рулетку) .  Но с другой стороны, сложно — это не значит, что вообще невозможно применять математический аппарат к оценке результатов бэктестирования.
avatar

теги блога tester37

....все тэги



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