Доброй ночи, коллеги!
Я в последнее время не часто баловал вас своими бредовыми идеями в области трейдинга — и для этого была своя, особая причина.
Все дело в том, что летом 2023 я изобрел семейство субоптимальных индикаторов, которые хорошо работают всегда.
Если подробнее — это 3-х параметрическое семейство индикаторов, один из которых способен показать отличный результат на следующем этапе рынка.
Ну т.е. если (условно) на следующих 10000 барах (минутных) абсолютный рекорд доходности для подогнанного (curve fitting) индикатора составит 100, то какой-то индикатор из моего семейства покажет 90+. И так на каждом новом периоде.
Итак — золотое руно наше. Осталось пойти и взять его. И тут возникают первые проблемы.
1. Массив потенциально субоптимальных индикаторов — это 5000+ шт. Технически их можно объединить в портфель (но это уже сложно), но средний результат по портфелю плохой.
2. Задача определения неизвестного параметра не только нелинейная, но даже негладкая. Стандартные методы не работают.
Тут мы приходим к главной (IMHO) проблеме алготрейдинга.
Это продолжение индикатора, успешно работающего на прошлом периоде, на следующий период.
Ни из чего не следует, что индикатор, успешно работавший в прошлом, будет успешно работать в будущем. Есть некие кастомные методики (WFT, который я называю WTF), которые декларируют, что индикатор, успешно проработавший 3 периода, «наверное», проработает и 4-й период.
Все это шляпа, конечно.
Но мы с вами, коллеги, вооружившись мощными компьютерами и современными средствами моделирования, можем позволить себе и более продвинутые эксперименты.
Я начал с того, что оптимизировал свое семейство индикаторов по всем параметрам в наборе окон, сходящемся к текущему бару (минус 10000 баров, минус 20000 баров и т.д.), потом выбирал на всех этих интервалах и наборах параметров лучшую эквити и смотрел на ее продолжение.
Тут следует сразу ввести:
1. Критерии оценки эквити (max(E), max(E/DD), min(DD), etc.)
2. Критерии сравнения эквити в окнах разной длины (варианты линеаризации)
Полный программный комплекс был написан 09.2023, но его работа занимала 288 дней на 1 актив, что очень плохо. В реале в моем рабочем компе 16 ядер, так что это было около 2-х недель на 1 актив, но это тоже очень плохо. Речь, конечно, идет только о расчете лимитных стратегий, маркетные считаются на 3 порядка быстрее.
В последующие 6 мес. я смог поднять быстродействие софта на 2 порядка. Метод — перевод рабочего кода на Matlab в полностью векторизованынй код. Ну т.е. никаких циклов — только операции с массивами. И никаких условных операторов — только условные выборки из массивов.
На мое удивление — я смог породить такой код. Он даже оказался компактнее (раза в 3) традиционного кода и (местами) даже понятнее, кроме отдельных условных операторов.
Полученный в начале апреля 2024 результат этого полугодового исследования поверг меня в полный ступор:
1. Хорошая в прошлом работа индикатора плохо продолжается в будущее

2. Плохая в прошлом работа индикатора хорошо продолжается в будущее

Ну т.е. переводя с русского на русский:
1. Сама идея о том, что продолжать в будущее только успешные в прошлом индикаторы изначально содержит в себе ошибку. Она базируется на понятийном заключении, что хороший сегодня индикатор должен был быть и хорошим вчера, иначе мы вообще бы не назвали его хорошим.
2. В действительности слово «хороший» используется в этом заключении в разных смыслах в разных местах, что и порождает ошибку. Так, в предыдущем пункте под хорошим индикатором подразумевается т.н. «стабильный» индикатор, который показывает хороший результат на любом торговом интервале.
2.5. ОТСТУПЛЕНИЕ: Задача построения «стабильных» (стационарных) индикаторов давно решена — и грибов здесь нет...
3. Если мы допускаем, что индикатор может подстраиваться на каждом баре, то вся предыдущая конструкция разваливается. Ну т.е. оптимальный индикатор на сегодняшний день мог сколь угодно косячить в предыдущий день, главное, чтобы сегодня он принес прибыль.
Итак, коллеги:
Первый график выше показывает оптимизацию успешной стратегии, при этом массив из потенциально успешных стратегий пересчитывается каждые 10000 баров, из них выбирается кандидат, показавший лучшую эквити по критерию max(E/DD) в прошлом, и продолжается в будущее.
Второй график выше показывает оптимизацию неуспешной стратегии, при этом массив из потенциально неуспешных стратегий пересчитывается каждые 10000 баров, из них выбирается кандидат, показавший худшую эквити по критерию max(DD) в прошлом, и продолжается в будущее.
Что вы думаете по этому поводу, коллеги?
P.S. Отдельная просьба не срать политотой в этом топике. Сабж предназначен исключительно для математических и серьезных рыночных рассуждений.
Какой-то и у меня и у кого-то всегда что-то покажет. Чем ваш какой-то по этой формулировке отличается от накурвафичченого?
Это не понятно ни теоретически, ни практически. И практика и теория говорят (хотя бы мне), что средний результат должен быть хорошим. Особенно, если речь идёт о множестве субоптимальных, а не абы каких индикаторах.
То наше, то не наше. Опять непонятно, что получено, как получено и что оно из себя представляет. Сферический конь в вакууме? Работающее инженерное решение? Покажите что-нибудь уже из практики. По словам же практика имеется?
Общая мысль, которая в итоге выводится и напрашивается: успешный и стабильный трейдинг — дело нелегкое, непростое, редкое.
но на миллисекундах не работаем…
пн
да и трейдеров тута почти совсем не осталося...
«Хорошая в прошлом работа индикатора плохо продолжается в будущее,
плохая в прошлом работа индикатора хорошо продолжается в будущее» — очень напоминает «Обманутые случайностью» Талеба, где после флуктуаций все возвращается к среднему...
Имхо, закономерность можно найти во всем, но по мне — индикаторы — путь в никуда. Ничего личного…