в Стратегии

Торговые системы без параметров как способ замести переподгонку под ковер

Автор: Александр Кургузкин (mehanizator).

Иногда приходится видеть в описании торговой системы гордую фразу “параметров в системе нет”. Этим как бы подразумевается, что система точно не переподогнана, потому что все выглядит так, как будто переподгоняться там вроде бы и нечему. А значит все гарантированно будет работать в будущем точно так же как на тестовой истории.

Спешу вас огорчить – не будет. Потому что параметр в системе все-таки есть.

Есть только одна система которая реально без параметров, это система “всегда кеш”. Там точно нет параметров, я проверял. Если ваша торговая система все-таки хоть иногда заходит в позицию, то сразу возникает вопрос: а почему именно сейчас и почему позиция именно в эту сторону? А потому, что существует некий параметр, определяющий способ изменений позиции внутри системы, и из того, что вы его не осилили выразить комбинацией чисел, еще не значит, что его нет.

Представьте себе множество всех торговых систем. Включая конечно те, которые “без параметров”. Даже нет, для верности сделаем так: представьте себе множество всех систем “без параметров”. Их сильно больше одной, правильно? А теперь пронумеруйте все это множество неважно в каком порядке. Номер вашей системы в этом множестве и будет вашим параметром, который вы будете подгонять в процессе тестирования.

То есть, допустим, вы осилили придумать десять систем без параметров, но девять выкинули, потому что они на тестовом периоде вели себя нехорошо. А взяли ту, которая давала профит. Вы выбрали определенное число (индекс системы из множества возможных индексов), основываясь на данных тестового периода. Ну так вот вам и переподгонка. Добро пожаловать в реальный мир.

Автор: mehanizator

Комментарии:

at60hz: Согласен, скрытые параметры есть всегда. Я одного такого деятеля спросил смотрел ли он свою систему на других ТФ? Он ответил, что конечно да, и на других оно не живет. Тут я его поздравил (как минимум) с первым неявным и неявно оптимизированным параметром 🙂

mehanizator: вот кстати тоже тема. я не считаю, что система должна работать на всех таймфреймах и на всех инструментах. у каждого инструмента и у каждого таймфрейма свои свойства и система должна быть нацелена на эти свойства.

at60hz: я тоже так не считаю, но когда человек мечется между минутным и трехминутным фреймом, он должен понимать что таким образом делает подгонку.

Andrew Kartashov: да ясно, что системы без параметров это миф =) Меня тока лишний раз радуют сообщения о таких системках. Тут главное найти тонкую грань между оптимизацией и здравым смыслом. У меня как раз тут часто затыки всяческие. OOF и всякие другие штуки спасают, но не сильно. История вещь мутная.

Максим Козлов: mehanizator – то есть под каждую акцию ставишь свои параметры системы? А это не будет как раз подгонкой?

Максим Козлов: Прошлое ведь не повторится в будущем, поэтому система под одну акцию может перестать соответствовать ей, а если портфель – то одна не соответствует, а какие либо будут и в среднем прибыль.

mehanizator: все инструменты по разному ходят. система для евробакса не будет работать на VIX или S&P.

mehanizator: некоторые элементы прошлого повторятся в будущем, на этом и построена системная торговля, иначе торговать вообще было бы бессмысленно.

в систему включаются те элементы, которые в прошлом были достаточно устойчивы, поскольку так больше вероятности, что они в будущем продолжат работать.

Максим Козлов: mehanizator – эти инструменты из разных областей. Я про те же акции на ММВБ – под каждую свои параметры ищешь?

mehanizator: да, под каждый инструмент свои параметры. сравни сбербанк и ростелеком, у них совершенно разное поведение.

Максим Козлов: mehanizator – это я понимаю, но многие давно торгующие на ММВБ систему торгуют на портфеле ликвидных акций и для всех с одинаковыми параметрами, якобы такая система будет устойчивее, робастнее.

mehanizator: это потому что российский рынок узкий и на нем многие акции сильно коррелированы. в принципе, торговля портфеля по одним параметрам не будет сильно отличаться от торговли одного индекса.

mehanizator: то есть получается, что есть некий синтетический инструмент, и под него подбираются параметры.

Максим Козлов: А вообще как результаты такой торговли с точки зрения устойчивости реальной эквити?

mehanizator: вероятность того, что одна отдельная акция поменяет свойства, конечно выше, чем вероятность того, что целый портфель так же сильно поменяет свойства.

так что смысл в таком подходе, конечно, есть.

Максим Козлов: Ну я знаю трейдера, который на американских фьючах торгуют системы с одними параметрами для всех инструментов, к тому же правила на лонг и шорт – зеркальны

Максим Козлов: Да, в портфеле одна акция поменяет свойства на время, а другие будут зарабатывать, но когда-то и для той акции придет ее время. А как понимаешь, что свойства акции поменялись? Есть критерии снятия системы с торгов?

mehanizator: подгоняешь под какое-то окно в прошлом, если свойства в этом окне изменились, это отразиться на коэффициентах

Максим Козлов: Ты на каких рынках торгуешь? Американские фьючи не торгуешь?

mehanizator: на фортс торгую. начинаю торговать на VIX фьючах.

Максим Козлов: А на фортсе что именно? Как с ликвидностью на фьючах на акции? Думаю их торговать, тесты есть неплохие, правда на первых семи по ликвидности.

mehanizator: RI, GZ, SR
т.е. самые ликвидные.

Максим Козлов: Si тоже ликвидный же

Максим Козлов: А почему на акциях не торгуешь? Раньше вроде торговал на ММВБ .

mehanizator: на фортсе комиссия меньше. Si это не акция.

Максим Козлов: mehanizator – а ты не пробовал делать для системы отбор акций с наименьшей взаимной корреляцией? Что скажешь о таком подходе?

mehanizator: я не пробовал, но подход хороший.

Максим Козлов: Ты вообще никаким отбором акций не пользуешься?

mehanizator: я отбираю те акции, под которые находится система

Максим Козлов: У меня еще идеи по отбору такие: по относительной силе и по наименьшему (наибольшему) СКО цен закрытия. Надо все считать и проверять.

Максим Козлов: Ты делаешь для акции систему или под систему подбираешь акции, которые хорошо торгуются?

mehanizator: система у меня софтом строится. если для какой-то акции полученная система плохо перформит, я ее не торгую.

Максим Козлов: Что значит – система софтом строится?
В принципе, практически любую систему можно подогнать под конкретную акцию путем оптимизации.

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

Максим Козлов: Всегда хотел узнать, а что такое кросс-валидация?

mehanizator: http://www.cognitum-research.com/ru/article-cross-validation

Drozd: Саш, при всем уважении, тогда уж давай и на вопрос: “Сколько градусов за окном?” будем отвечать: “примерно -6.3557667352342”. Хотя конечно, если цель, этим морозным вечером, вывести на орбиту пару спутников…

Yaroslav Efremov: Оффтоп
Александр, внизу ссылка на вторую страницу комментариев
/post/179?page=2
кликаю туда, все равно показывает как будто я на первой страничке комментариев
может бага?