Комментарии к постам oreshkinalexey
тему прочитал. В вашем примере уже есть нормальный эмпирический эксперимент, и я бы не пытался заранее назначать абстрактный штраф за каждый дополнительный параметр.
Я бы столкнул лоб в лоб два полностью определённых процесса:
На каждом шаге оба варианта оптимизируются на одном и том же прошлом участке, после чего параметры фиксируются и проверяются на следующем OOS-отрезке. Затем окно сдвигается. В результате нас интересует не общий Sortino за 25 лет, а то, насколько преимущество раздельной настройки регулярно выживает на новых данных.
В качестве грубой, но понятной оценки можно взять:
прирост раздельной настройки на обучении минус её прирост на OOS.
Допустим, отдельные параметры дали относительно общих +1 к Sortino внутри выборки, а на последовательных OOS-участках осталось только +0,1. Значит, примерно 90% красивого преимущества испарилось после выхода на новые данные. Я бы называл это не универсальной мерой переподгонки, а эмпирической оценкой оптимизма конкретной процедуры.
Второй тест, на мой взгляд, ещё интереснее: построить матрицу переноса параметров. Параметры, подобранные на XLI, применить к остальным ETF, параметры XLK — тоже ко всем и так далее.
Если на OOS каждый инструмент устойчиво лучше работает именно со своими параметрами, чем с чужими или общими, значит индивидуальность инструментов реальна. Если красивая диагональ появляется только на обучении, а на новых данных исчезает, то мы просто дали оптимизатору 36 способов подстроиться под шум.
При этом 12 ETF нельзя считать двенадцатью полностью независимыми подтверждениями: они связаны общим рынком. Поэтому сравнивать лучше не только результаты отдельных систем, но и временной ряд всего портфеля, а доверительные интервалы строить блоками по датам.
Я бы ещё добавил промежуточный вариант: не один набор параметров на всех и не отдельный набор на каждый инструмент, а несколько групп похожих ETF. Возможно, реальный максимум устойчивости окажется именно посередине.
В общем, здесь согласен с вами: считать количество параметров недостаточно. Гораздо полезнее посмотреть, сколько преимущества раздельной настройки переживает перенос во времени и на соседние инструменты. Такой результат уже можно пощупать руками, а не только обсуждать на уровне степеней свободы.
хороший пример того, почему количество настраиваемых чисел само по себе ещё не определяет сложность системы.
В первом варианте есть четыре явно подбираемых параметра: два периода индикаторов и два порога. Во втором числовой параметр действительно один, но взаимодействие двух состояний индикатора с пятью днями недели делит выборку уже на десять режимов — если каждая «краска» используется как отдельное торговое состояние.
Где больше подгонки, по числу параметров или цветов заранее не определить. Важен весь класс проверенных гипотез:
— были ли индикаторы выбраны заранее или отобраны из десятков вариантов;
— был ли день недели включён до теста или после просмотра результатов;
— перебирались ли отдельные дни и их комбинации;
— назначались ли разные действия каждой из десяти ячеек;
— сколько независимых сделок осталось внутри каждого режима.
Например, у пяти дней недели всего один категориальный признак, но если разрешить выбирать любые комбинации дней, получаем уже 32 возможные маски включения и исключения — ещё до подбора параметра индикатора. Формально числовой параметр один, а фактический перебор уже немаленький.
Поэтому я бы говорил не просто о количестве параметров, а об эффективной сложности системы: сколько разных правил она способна породить и сколько вариантов фактически было просмотрено при выборе финального.
Проверять при этом нужно весь процесс целиком. Выбор индикатора, порога, дней недели и правил взаимодействия выполняется только на обучающем окне, после чего всё фиксируется и проверяется на следующем OOS-участке. Затем окна сдвигаются вперёд. Если день недели или схема раскраски выбирались с учётом результатов тестового периода, это такая же подгонка, как и оптимизация обычного коэффициента.
Поэтому во втором варианте подгонки вполне может оказаться больше, несмотря на один формально настраиваемый параметр. Само число коэффициентов — слишком грубая оценка сложности.
oreshkinalexey,
преимущество, которое просто неинтересно крупному капиталу из-за ограниченной ёмкости
Но, именно крупный капитал разрабатывает мощные системы, которые прочесывают рынок ежечасно и как синий кит собирают эти мелкие профиты.
Вечных граалей не существует. Интересно было бы создать систему, которая сама бы регулярно выискивала новые локальные преимущества и определяла деградацию прежних и не только по паттернам.
Я бы приобрел что-то подобное или поучаствовал в разработке.
oreshkinalexey, это все понятно любому начинающему алготрейдеру (локальные преимущества с ограниченным сроком жизни). Но по факту, как только эти преимущества поддаются обнаружению, они почти сразу же перестают работать.
Поэтому моя стратегия — пересиживать локальное противодействие и дожидаться тейкпрофитов, рассчитывая силы со свободной маржой (при выносах) и свопами (при затяжном пересиживании) — это уже второй уровень прогнозирования целесообразности взятия позы. Первый — где будет цена.
Первый уровень прогнозирования базируется на экстраполяции ценовых рядов и возврате к среднеквадратичному в процессе движения к прогнозным уровням. И все бы было очень неплохо, если бы не свопы)))
это показательный результат. Фильтрация и прогнозирование — всё-таки разные задачи. Баттерворт, преобразование Гильберта, вейвлеты или SSA могут красиво разложить либо сгладить уже наблюдаемый ряд, но сами по себе не создают информацию о следующем движении цены.
В реальном времени за сглаживание обычно приходится платить задержкой: уменьшаем лаг — возвращаем шум. Адаптивные AMA, KAMA и подобные методы дополнительно оценивают текущее состояние ряда, то есть добавляют параметры и ещё один источник нестабильности.
Поэтому EMA оказывается сильным базовым вариантом: один понятный параметр, прозрачный лаг и минимум возможностей для переоптимизации.
Сравнивать более сложные фильтры с EMA, на мой взгляд, нужно при сопоставимом эффективном лаге и степени сглаживания. Параметры каждого метода подбираются только на прошлом участке, затем фиксируются и проверяются на следующем, ранее не использованном отрезке. После этого обучающее и тестовое окна сдвигаются вперёд, а итог строится только из последовательных тестовых участков. То есть речь идёт о walk-forward OOS-проверке, а не об одном удачно выбранном тестовом периоде.
Если адаптивный метод предполагает периодическую перенастройку, в тесте нужно воспроизводить ровно тот же график перенастройки, который был бы доступен в реальной торговле. Иначе будущая информация незаметно попадёт в параметры.
Если после такой проверки и учёта издержек сложный фильтр не обыгрывает EMA, значит он просто более дорогим способом сгладил тот же ряд.
Полностью выбрасывать такие методы я бы всё же не стал. Они могут быть полезны как вспомогательные признаки режима, оценки отношения сигнал/шум или предварительного преобразования перед поиском аналогов. Но ожидать от них самостоятельного предсказателя направления, вероятно, не стоит.
Интересно, вы сравнивали методы при примерно одинаковом эффективном лаге и степени сглаживания? И параметры фиксировались один раз или перенастраивались последовательно по мере движения по истории?
по схеме с равным риском согласен: веса, обратные оценке риска, — хороший базовый benchmark именно потому, что такая схема почти ничего лишнего не пытается оценивать. Связи между системами она игнорирует, но это иногда меньшее зло, чем строить точную оптимизацию на шумной и нестабильной ковариационной матрице.
Для меня любая более сложная схема распределения капитала должна сначала обыграть такой baseline вне выборки — после учёта оборота, ограничений и издержек. Коммерческие детали вашего варианта раскрывать, конечно, не прошу.
По Фурье и SSA тоже согласен с основной оговоркой: математически разложить можно любой ряд, но красивый спектр или набор собственных компонент ещё не означает, что у рынка существует устойчивый физический базис.
На ценовых рядах выделенные компоненты часто зависят от выбранного окна и меняются вместе с рыночным режимом. Поэтому я рассматриваю подобные методы не как декодер «истинных рыночных циклов», а максимум как преобразование признаков, сжатие пространства или фильтрацию.
Дальше проверка одна: улучшился ли rolling out-of-sample результат после издержек. Если нет, SVD просто красиво переписал тот же шум.
Интересно, у вас всё развалилось уже на устойчивости выделенных компонент или компоненты выглядели убедительно, но не давали прогноза вне выборки?
В целом замечание правильное: я бы действительно уточнил в статье, что речь идёт о конечном историческом диапазоне, а не об универсальном законе рынка.Вам эти Знания пока не доступны, о универсальном законе. Вы в школе плохо учились!
лично с группой Голяндиной не пересекался, хотя сам метод «Гусеница»-SSA знаком. Насколько понимаю, там идея существенно интереснее обычного поиска корреляции: ряд укладывается в траекторную матрицу, затем через SVD выделяется низкоранговая структура — трендовые и колебательные компоненты, а остаток трактуется как шум. Для нескольких связанных рядов используется MSSA.
Для нашей задачи это может быть интересно как минимум в двух местах: как предварительное выделение структуры перед поиском похожих участков и как способ построения более содержательного признакового пространства вместо сравнения сырых цен.
Но к финансовым рядам я бы применял осторожно. Выбор длины окна и группировки компонент там сам становится набором параметров, а нестационарность рынка быстро превращает красивое разложение прошлого в слабый прогноз будущего. Плюс всё нужно считать строго rolling, иначе очень легко получить утечку через разложение полного ряда.
В любом случае направление интересное. Посмотрю их работы по многомерной SSA подробнее. А что именно вы называете «лобовым подходом» к портфельной задаче — равные лимиты риска, фиксированное число систем или собственная схема отбора?
Главный вопрос вообще не в том, можно ли найти одинаковые пропорции. Найти их можно сколько угодно. Главный вопрос — дают ли они устойчивое условное распределение будущего на данных вне выборки, после комиссий, спреда и проскальзывания.Прошлое определяет будущее! Любой первоначальный импульс уже несет в себе все будущие точки разворота по цене и времени.
Ссылка на Ганна и бесплатные индикаторы MT4 этого не доказывает. Покажите формальные правила, независимый тест и статистику — тогда будет предметный разговор. Без этого «математические пропорции» остаются обычным рисованием по уже сформированному графику.Так и хочется ответить, и ключи от квартиры тоже?!
А аргумент «это написал Ганн сто лет назад» в техническом обсуждении весит примерно столько же, сколько возраст самого аргумента.Так я сразу написал, что он скорее всего не для Вас и вашей команды. Вы же ищете там где ищут все, вместо того чтобы искать там где надо найти!

