Блог им. AVBacherov

Как по одному графику цен восстановить невидимый портрет рынка

Статья написана партнёром FO ABTRUST Евгением Ерофеевым

Любой ценовой график — это плоскость. Время по горизонтали, цена по вертикали. Две координаты. Но рынок — система с гораздо большим числом степеней свободы: настроения инвесторов, потоки ликвидности, макроэкономические шоки, обратные связи между участниками. Как может двумерная картинка вместить всё это?

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

Тень на стене: главная метафора

Представьте, что вы смотрите на трёхмерный предмет через узкую щель. Вы видите только его проекцию — тень на стене. Можно ли по этой тени восстановить форму предмета?

Интуиция подсказывает: нет. Тень двумерна, предмет трёхмерен — информация потеряна.

Но математик Флорис Такенс доказал обратное. Если система детерминирована (пусть даже хаотична), её полная динамика закодирована в любой наблюдаемой переменной. Цена акции, объём торгов, волатильность — неважно. Выберите одну, и в ней уже содержится весь портрет системы. Надо только знать, как его проявить.

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

Как это работает: из линии в облако

Возьмите дневные цены SPY: x₁, x₂, x₃, ..., xₙ. Пока это просто цепочка чисел. А теперь сделайте следующее:

  1. Выберите задержку τ — например, один торговый день.
  2. Для каждого момента времени t постройте точку в двумерном пространстве: (xₜ, xₜ₊₁).
  3. Соедините точки — получится не линия, а облако со структурой.

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

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

X(t) = [x(t), x(t+τ), x(t+2τ), ..., x(t+(m−1)τ)]

Каждая точка — это не одна цена, а срез истории длиной в m шагов. Рынок «помнит» себя — и эта память проявляется в геометрии облака.

Две загадки: τ и m

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

Выбор τ — взаимная информация. Для каждого возможного τ считается, насколько xₜ и xₜ₊τ «знают» друг о друге. При τ = 1 знание максимально (вчерашняя цена сильно связана с сегодняшней). С ростом τ связь падает. Нужен первый локальный минимум — момент, когда точки уже достаточно независимы, чтобы развернуть аттрактор, но ещё не потеряли структурную связь.

Взаимная информация I(τ) для дневных цен SPY. Кривая быстро спадает, и первый локальный минимум приходится на τ = 4 торговых дня — это и есть задержка, при которой соседние точки развёртки уже не слипаются в диагональ, но ещё не потеряли структурную связьВзаимная информация I(τ) для дневных цен SPY. Кривая быстро спадает, и первый локальный минимум приходится на τ = 4 торговых дня — это и есть задержка, при которой соседние точки развёртки уже не слипаются в диагональ, но ещё не потеряли структурную связьВзаимная информация I(τ) для дневных цен SPY. Кривая быстро спадает, и первый локальный минимум приходится на τ = 4 торговых дня — это и есть задержка, при которой соседние точки развёртки уже не слипаются в диагональ, но ещё не потеряли структурную связь

Взаимная информация I(τ) для дневных цен SPY. Кривая быстро спадает, и первый локальный минимум приходится на τ = 4 торговых дня — это и есть задержка, при которой соседние точки развёртки уже не слипаются в диагональ, но ещё не потеряли структурную связь.

Для дневных данных SPY это τ = 4.

Выбор m — ложные ближайшие соседи. Представьте, что вы смотрите на клубок ниток через трубку малого диаметра. Нити, которые в реальности далеко друг от друга, кажутся соседями — потому что третье измерение сплющено. Это ложные соседи. Увеличивайте m, пока доля таких «обманок» не упадёт ниже 5%.
Доля ложных ближайших соседей FNN(m) для дневных цен SPY. При m = 6 кривая падает до нуля — ложных соседей больше нет, размерность вложения достаточна. Порог 5% (красная пунктирная линия) пройден уже при m = 3.

Доля ложных ближайших соседей FNN(m) для дневных цен SPY. При m = 6 кривая падает до нуля — ложных соседей больше нет, размерность вложения достаточна. Порог 5% (красная пунктирная линия) пройден уже при m = 3.

Для SPY на сырых дневных данных это m = 6.

Ловушка: переразмеренность

Здесь кроется главный подвох. Казалось бы: чем больше m, тем больше информации — бери m = 20 и не парься. Но с ростом размерности работает проклятие размерности: соседей становится катастрофически мало, расстояния между точками выравниваются, и любая структура тонет в пустоте.

Для типичного финансового ряда из 1000–2000 точек m = 10 — уже потолок, выше которого NN-прогноз теряет смысл просто потому, что у каждой точки слишком мало настоящих соседей.

Практическое правило: m должно быть минимальным, при котором ложные соседи исчезают. Не больше.

При чём тут фильтрация

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

  Фазовый портрет SPY при τ = 4 и m = 6. Слева — сырые дневные цены: «пушистое» облако, размытое по диагонали из-за шума. Справа — те же данные после SSA-фильтрации (первые 8 компонент): боковая рябь ушла, проявилась более плотная, структурированная траектория. Размерность вложения в обоих случаях считается на сырых данных и равна m = 6 — фильтрация убирает визуальный шум, но кардинально не меняет оценку m для этого ряда.
Фазовый портрет SPY при τ = 4 и m = 6. Слева — сырые дневные цены: «пушистое» облако, размытое по диагонали из-за шума. Справа — те же данные после SSA-фильтрации (первые 8 компонент): боковая рябь ушла, проявилась более плотная, структурированная траектория. Размерность вложения в обоих случаях считается на сырых данных и равна m = 6 — фильтрация убирает визуальный шум, но кардинально не меняет оценку m для этого ряда.

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

Что мы на самом деле видим

Восстановленный аттрактор — это не просто красивая картинка. Это функциональный инструмент:

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

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

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

Как проверить, что портрет настоящий

  1. Стабилизация D₂. Корреляционная размерность должна выйти на плато при росте m. Если продолжает расти — шум маскируется под структуру.
  2. λ₁ > 0. Максимальный показатель Ляпунова должен быть положительным — хаос жив.
  3. Прогноз ближайших соседей. Самый честный тест: берём текущую точку в фазовом пространстве, находим исторических соседей, смотрим, куда они пошли — и проверяем, попадает ли реальное движение в этот прогноз. Если NRMSE на восстановленном аттракторе ниже, чем на сыром ряду — реконструкция работает.

С чего начать

В R — пакет nonlinearTseries: функции timeLag (взаимная информация → τ), falseNearestNeighbours (FNN → m), buildTakens (построение фазового пространства), estimateEmbeddingDim (автоматический подбор m). Плюс plot — и вы видите свой первый фазовый портрет за 20 строк кода.

В Python — nolds для размерности и Ляпунова, scikit-learn для поиска соседей, ручная реализация Такенса через np.column_stack.

Порядок для первого эксперимента:

  1. Загрузите SPY за 5 лет
  2. Примените SSA (см. предыдущую статью) — уберите очевидный шум
  3. Найдите τ через mutual information
  4. Найдите m через FNN
  5. Постройте X(t) — готово, вы смотрите на портрет рынка
  6. Проверьте прогнозом ближайших соседей

Итог

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

Это не гарантирует прибыльных прогнозов. Но это даёт то, чего не даёт ни одна линейная модель: возможность увидеть структуру там, где другие видят только шум. А иногда увидеть — уже наполовину понять.

Что дальше

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

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

Полезные статьи по теме:
1. Порядок в хаосе. Почему рынок не подчиняется линейным правилам и как это использовать трейдеру
2. Охота на призраков. Зачем и как отделять сигнал от шума на рынке

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
3.1К | ★1
#102 по плюсам, #77 по комментариям
6 комментариев
Наворочал ты дядя копирайта
Дед трейдер, он ещё и в акции загонял весной на канале у Верникова, доскакались его альфа скакуны, понял, что торговать он не умеет, бедные люди, кто дал ему деньги в управление, там сейчас такие минуса, жесть, ещё и сюда приходит поумничать
avatar
Kaliningrad79, а чем вам не нравятся мои Альфа Скакуны? Они действительно имеют альфу к индексу мосбиржи: https://www.comon.ru/strategies/120753/
Алексей Бачеров, вы когда начнёте показывать доходность выше депозита в банке? 
avatar

Kaliningrad79, каждый год — это не удается сделать ни кому на длинном горизонте. И если вы занимаетесь инвестициями, то нет смысла сравнивать свои краткосрочные и даже среднесрочные результаты с депозитами. У меня даже есть несколько статей на эту тему.

Например:

1. Никогда не сравнивайте результат инвестиций с депозитом

2. Нечего делать в инвестициях, если вы мыслите краткосрочно

3. Почему я инвестирую с горизонтом в 5 лет?

И можно посмотреть на ваш валидированный результат инвестиций на каком-нибудь публичном ресурсе? Например, на COMON. Только не присылайте скриншоты! За 20 лет я их столько насмотрелся, во только те, кто их раньше присылал уже давно не на рынке :)

Математически это выглядит безупречно, но всегда остается главный вопрос: насколько «память» рынка стабильна? Рыночные режимы меняются и аттрактор, который был актуален вчера, может полностью трансформироваться завтра.
avatar

Читайте на SMART-LAB:
🏦 Число МФО в России может сократиться вдвое к 2028 году
Интересный прогноз представил «Эксперт РА»: по данным рейтингового агентства, в 2026-2028 годах количество работающих в России МФО может...
Фото
Раздел о страховании появился в новом учебнике по обществознанию
В новом учебнике по обществознанию для 10-го класса появился раздел, посвященный страхованию. Учебник напечатан под редакцией заместителя...
🏦 ЦБ начнет публиковать обезличенные данные о владельцах банков
С 1 января 2027 года Банк России возобновит публикацию информации о структуре собственности финансовых организаций. Однако вместо данных о...

теги блога Алексей Бачеров

....все тэги



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