Мои комментарии
  • oreshkinalexey
    04 августа 2026, 11:58
    Йоганн, к сожалению и такое тоже бывает, и даже наверное не так редко как хотелось бы.
  • oreshkinalexey
    04 августа 2026, 11:57
    SergeyJu, 

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

    Я бы столкнул лоб в лоб два полностью определённых процесса:

    1. Три общих порога для всех 12 ETF.
    2. Три отдельных порога для каждого ETF.

    На каждом шаге оба варианта оптимизируются на одном и том же прошлом участке, после чего параметры фиксируются и проверяются на следующем OOS-отрезке. Затем окно сдвигается. В результате нас интересует не общий Sortino за 25 лет, а то, насколько преимущество раздельной настройки регулярно выживает на новых данных.

    В качестве грубой, но понятной оценки можно взять:

    прирост раздельной настройки на обучении минус её прирост на OOS.

    Допустим, отдельные параметры дали относительно общих +1 к Sortino внутри выборки, а на последовательных OOS-участках осталось только +0,1. Значит, примерно 90% красивого преимущества испарилось после выхода на новые данные. Я бы называл это не универсальной мерой переподгонки, а эмпирической оценкой оптимизма конкретной процедуры.

    Второй тест, на мой взгляд, ещё интереснее: построить матрицу переноса параметров. Параметры, подобранные на XLI, применить к остальным ETF, параметры XLK — тоже ко всем и так далее.

    Если на OOS каждый инструмент устойчиво лучше работает именно со своими параметрами, чем с чужими или общими, значит индивидуальность инструментов реальна. Если красивая диагональ появляется только на обучении, а на новых данных исчезает, то мы просто дали оптимизатору 36 способов подстроиться под шум.

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

    Я бы ещё добавил промежуточный вариант: не один набор параметров на всех и не отдельный набор на каждый инструмент, а несколько групп похожих ETF. Возможно, реальный максимум устойчивости окажется именно посередине.

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

  • oreshkinalexey
    03 августа 2026, 10:40
    SergeyJu, 

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

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

    Где больше подгонки, по числу параметров или цветов заранее не определить. Важен весь класс проверенных гипотез:

    — были ли индикаторы выбраны заранее или отобраны из десятков вариантов;
    — был ли день недели включён до теста или после просмотра результатов;
    — перебирались ли отдельные дни и их комбинации;
    — назначались ли разные действия каждой из десяти ячеек;
    — сколько независимых сделок осталось внутри каждого режима.

    Например, у пяти дней недели всего один категориальный признак, но если разрешить выбирать любые комбинации дней, получаем уже 32 возможные маски включения и исключения — ещё до подбора параметра индикатора. Формально числовой параметр один, а фактический перебор уже немаленький.

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

    Проверять при этом нужно весь процесс целиком. Выбор индикатора, порога, дней недели и правил взаимодействия выполняется только на обучающем окне, после чего всё фиксируется и проверяется на следующем OOS-участке. Затем окна сдвигаются вперёд. Если день недели или схема раскраски выбирались с учётом результатов тестового периода, это такая же подгонка, как и оптимизация обычного коэффициента.

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

  • oreshkinalexey
    03 августа 2026, 10:43
    Йоганн, Рабочий код продать несложно. Устойчивое и подтверждённое преимущество обычно не продают — его используют.
  • oreshkinalexey
    03 августа 2026, 10:27
    Йоганн, так это возврат к средней с усреднением позиции. Ничего плохого в таких стратегиях не вижу, но не везде их можно использовать. 
  • oreshkinalexey
    01 августа 2026, 20:07
    SergeyJu, 

    это показательный результат. Фильтрация и прогнозирование — всё-таки разные задачи. Баттерворт, преобразование Гильберта, вейвлеты или SSA могут красиво разложить либо сгладить уже наблюдаемый ряд, но сами по себе не создают информацию о следующем движении цены.

    В реальном времени за сглаживание обычно приходится платить задержкой: уменьшаем лаг — возвращаем шум. Адаптивные AMA, KAMA и подобные методы дополнительно оценивают текущее состояние ряда, то есть добавляют параметры и ещё один источник нестабильности.

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

    Сравнивать более сложные фильтры с EMA, на мой взгляд, нужно при сопоставимом эффективном лаге и степени сглаживания. Параметры каждого метода подбираются только на прошлом участке, затем фиксируются и проверяются на следующем, ранее не использованном отрезке. После этого обучающее и тестовое окна сдвигаются вперёд, а итог строится только из последовательных тестовых участков. То есть речь идёт о walk-forward OOS-проверке, а не об одном удачно выбранном тестовом периоде.

    Если адаптивный метод предполагает периодическую перенастройку, в тесте нужно воспроизводить ровно тот же график перенастройки, который был бы доступен в реальной торговле. Иначе будущая информация незаметно попадёт в параметры.

    Если после такой проверки и учёта издержек сложный фильтр не обыгрывает EMA, значит он просто более дорогим способом сгладил тот же ряд.

    Полностью выбрасывать такие методы я бы всё же не стал. Они могут быть полезны как вспомогательные признаки режима, оценки отношения сигнал/шум или предварительного преобразования перед поиском аналогов. Но ожидать от них самостоятельного предсказателя направления, вероятно, не стоит.

    Интересно, вы сравнивали методы при примерно одинаковом эффективном лаге и степени сглаживания? И параметры фиксировались один раз или перенастраивались последовательно по мере движения по истории?

  • oreshkinalexey
    01 августа 2026, 17:51
    SergeyJu, 

    по схеме с равным риском согласен: веса, обратные оценке риска, — хороший базовый benchmark именно потому, что такая схема почти ничего лишнего не пытается оценивать. Связи между системами она игнорирует, но это иногда меньшее зло, чем строить точную оптимизацию на шумной и нестабильной ковариационной матрице.

    Для меня любая более сложная схема распределения капитала должна сначала обыграть такой baseline вне выборки — после учёта оборота, ограничений и издержек. Коммерческие детали вашего варианта раскрывать, конечно, не прошу.

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

    На ценовых рядах выделенные компоненты часто зависят от выбранного окна и меняются вместе с рыночным режимом. Поэтому я рассматриваю подобные методы не как декодер «истинных рыночных циклов», а максимум как преобразование признаков, сжатие пространства или фильтрацию.

    Дальше проверка одна: улучшился ли rolling out-of-sample результат после издержек. Если нет, SVD просто красиво переписал тот же шум.

    Интересно, у вас всё развалилось уже на устойчивости выделенных компонент или компоненты выглядели убедительно, но не давали прогноза вне выборки?

  • oreshkinalexey
    31 июля 2026, 18:17
    SergeyJu, 

    лично с группой Голяндиной не пересекался, хотя сам метод «Гусеница»-SSA знаком. Насколько понимаю, там идея существенно интереснее обычного поиска корреляции: ряд укладывается в траекторную матрицу, затем через SVD выделяется низкоранговая структура — трендовые и колебательные компоненты, а остаток трактуется как шум. Для нескольких связанных рядов используется MSSA.

    Для нашей задачи это может быть интересно как минимум в двух местах: как предварительное выделение структуры перед поиском похожих участков и как способ построения более содержательного признакового пространства вместо сравнения сырых цен.

    Но к финансовым рядам я бы применял осторожно. Выбор длины окна и группировки компонент там сам становится набором параметров, а нестационарность рынка быстро превращает красивое разложение прошлого в слабый прогноз будущего. Плюс всё нужно считать строго rolling, иначе очень легко получить утечку через разложение полного ряда.

    В любом случае направление интересное. Посмотрю их работы по многомерной SSA подробнее. А что именно вы называете «лобовым подходом» к портфельной задаче — равные лимиты риска, фиксированное число систем или собственная схема отбора?

  • oreshkinalexey
    31 июля 2026, 14:17
    Вагон Купонов, Код обычно пишется быстрее всего. Основное время уходит на попытки доказать, что полученный результат не является красиво автоматизированным самообманом.
  • oreshkinalexey
    31 июля 2026, 14:16
    SergeyJu, 

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

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

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

    При распределении капитала я скорее за ограниченный risk budgeting с жёсткими лимитами, чем за «чистую» оптимизацию Марковица. На торговых данных ковариационная матрица нестабильна, и оптимизатор охотно превращает небольшую ошибку оценки в огромный вес.

    В целом подход тот же: несколько понятных систем, разные источники преимущества, ограничение концентрации и минимум магии в оптимизаторе.

  • oreshkinalexey
    31 июля 2026, 13:28
    Йоганн, 

    Я бы здесь разделил две вещи: длину выборки для проверки и срок жизни самого преимущества. Проверять стратегию действительно нужно на достаточно длинном участке, иначе легко принять случайность за закономерность. Но зарабатывать она при этом может только локально — пока сохраняется подходящий рыночный режим.

    У меня хороший пример был в 2014 году. Весь год отлично работал простейший робот на стандартном MACD 12–26–9 без дополнительных условий. Стратегия была примитивной, но заработала очень хорошо. После этого рынок изменился — и преимущество исчезло. Больше в таком виде робот нормально не работал.

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

    Поэтому я не ищу стратегию, которая обязана работать двадцать лет без изменений. Для меня более реалистичная модель — набор локальных преимуществ с ограниченным сроком жизни и постоянный контроль их состояния.

  • oreshkinalexey
    31 июля 2026, 13:21
    Йоганн, 

    С первой частью согласен: у любой неэффективности есть ограниченная ёмкость и срок жизни. По мере того как в неё приходит капитал, растут market impact, проскальзывание и конкуренция, а доходность сжимается. Эд Торп прямо писал, что конкуренция снижает доходность, поэтому исследования и разработка должны идти постоянно. При этом обнаруженные им неэффективности исчезали не мгновенно, а постепенно, иногда в течение многих лет.

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

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

    Цифра «менее 1%» звучит эффектно, но без методики подсчёта остаётся фигурой речи. Отдельные участники всегда будут лучше информированы, быстрее, дисциплинированнее или просто будут решать другую задачу, чем большинство.

    У Торпа есть хороший пример с Мэдоффом: тысячи инвесторов и их консультантов не провели элементарную проверку, потому что каждый предполагал, что её уже сделал кто-то другой. Большое количество умных и богатых участников само по себе не гарантирует ни рациональности, ни эффективности.

    Поэтому моя задача не найти вечный «грааль». Задача — обнаружить локальное преимущество, оценить его ёмкость и деградацию, использовать, пока оно существует, и отключить систему, когда статистика перестанет его подтверждать.

  • oreshkinalexey
    31 июля 2026, 12:37
    22022022, 

    С ограниченностью выборки согласен. Любой вывод делается не о «рынке вообще», а о конкретном инструменте, периоде, микроструктуре и доступной истории. Именно поэтому результат нельзя считать вечным свойством рынка. Он требует последовательной проверки, контроля деградации и переоценки по мере поступления новых данных.

    Я также не считаю паттерны самостоятельными объектами природы. В алгоритме паттерн — это операционное определение: класс участков, признанных похожими выбранной метрикой при заданном окне и контексте. Изменим метрику или масштаб — изменится и множество паттернов.

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

    Формально интерес представляет не существование «фигуры», а отличие:

    P(будущее∣текущее состояние)

    от безусловного распределения движения рынка. Если отличия нет или оно исчезает на новых данных, паттерн признаётся бесполезным.

    Формулировка «рынок антиисторичен» мне кажется слишком сильной. Рынок нестационарен: в нём есть локальные повторения, смены режимов и структурные разрывы. Поэтому история не является готовым ответом, но остаётся единственными данными, на которых вообще можно проверять гипотезы.

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

  • oreshkinalexey
    31 июля 2026, 12:32
    Rostislav Kudryashov, 

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

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

    Запрос на реальные результаты справедливый. Отдельная статья с walk-forward-тестированием, чувствительностью параметров и результатами работы системы будет полезна. Но публиковать внутреннюю логику коммерческой разработки целиком ради удовлетворения случайного комментатора мы, разумеется, не будем.

    И ещё: назвать корреляцию «школьными задами» несложно. Сложнее корректно применить даже такой простой инструмент к нестационарным данным, не допустить утечку будущего и не обмануть себя бэктестом. Именно на этом обычно и заканчивается квалификация любителей громких формулировок.

  • oreshkinalexey
    31 июля 2026, 12:31
    Байкал, 

    Вы спорите с утверждением, которого в статье нет. Я не пытаюсь вычислить точную будущую цену и не считаю рынок детерминированным.

    Задача значительно скромнее: оценить условное распределение исходов и проверить, существует ли после издержек статистическое преимущество. Для торговли не требуется знать будущее точно. Достаточно, чтобы вероятность и величина выигрыша в среднем компенсировали вероятность и величину убытка.

    «Нельзя вычислить всё» не означает «нельзя оценить ничего».

  • oreshkinalexey
    31 июля 2026, 12:30
    Matrica, 

    Этот «простой путь» является базовой нормализацией по амплитуде и длительности, а не каким-то тайным знанием. Более того, корреляция Пирсона уже инвариантна к линейному сдвигу и масштабу цены. Проблема различной скорости формирования паттерна действительно существует, но она решается ресемплингом, Dynamic Time Warping и другими методами выравнивания временных рядов.

    Главный вопрос вообще не в том, можно ли найти одинаковые пропорции. Найти их можно сколько угодно. Главный вопрос — дают ли они устойчивое условное распределение будущего на данных вне выборки, после комиссий, спреда и проскальзывания.

    Ссылка на Ганна и бесплатные индикаторы MT4 этого не доказывает. Покажите формальные правила, независимый тест и статистику — тогда будет предметный разговор. Без этого «математические пропорции» остаются обычным рисованием по уже сформированному графику.

    А аргумент «это написал Ганн сто лет назад» в техническом обсуждении весит примерно столько же, сколько возраст самого аргумента.

  • oreshkinalexey
    31 июля 2026, 12:29
    Дмитрий-Димас Ермаков, 

    Спонсора не ищу. Цель статьи — показать подход, получить содержательную техническую критику и продемонстрировать уровень задач, которыми занимается наша команда.

    Мы почти 15 лет работаем на стыке трейдинга и разработки торгового ПО. Поэтому да, публикации одновременно являются частью профессиональной репутации. Если после них приходят интересные проекты от трейдеров, управляющих или компаний — это нормальный результат, а не скрытая цель под видом благотворительности.

  • oreshkinalexey
    31 июля 2026, 12:28
    SergeyJu, 

    Спасибо. Полностью согласен: каждый новый параметр и каждый порог — это налог на устойчивость системы. Добавить условие легко, доказать его реальную пользу намного сложнее.

    AIC и BIC полезны, когда есть внятная вероятностная модель и сопоставимые спецификации. В торговых алгоритмах с фильтрами и дискретными правилами я больше доверяю последовательному ablation-тестированию: убираем или добавляем один компонент, затем смотрим walk-forward, стабильность результата по соседним значениям параметров и деградацию на новых данных.

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

  • oreshkinalexey
    31 июля 2026, 02:01

    Судя по вашим комментариям, вы способны обсуждать только готовые сигналы и отдельные сделки. Как только речь заходит о более сложных вещах — алгоритмах, статистике и методиках проверки, вы начинаете демонстрировать удивительное непонимание. Разжёвывать статью до доступного вам уровня я не собираюсь. Поищите контент попроще — вероятно, на другой площадке. Здесь вам явно сложно. 

  • oreshkinalexey
    31 июля 2026, 00:43
    Options Medlеy, Ежедневно выкладывать входы — развлечение для продавцов сигналов; без выборки, статистики и воспроизводимой методики это обычный шум. Я же как раз и написал о методике построения и проверки алгоритма. Есть замечания к математике или реализации — слушаю. Нет — оставьте дворовой фольклор тем, кому он заменяет аргументы.
Старый дизайн
Старый
дизайн