Перейти к содержимому
IMOEX 2111.90 2.8%
·Инвестиции·16 июля 2026 г.

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

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

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

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

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

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

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

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

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

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

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

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

Выберите задержку τ — например, один торговый день.

Для каждого момента времени t постройте точку в двумерном пространстве: (xₜ, xₜ₊₁).

Соедините точки — получится не линия, а облако со структурой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Плотные области — зоны, где рынок «любит» находиться (равновесия, диапазоны консолидации).

Разреженные траектории — быстрые переходы между режимами (паника, ралли).

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

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

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

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

Стабилизация D₂. Корреляционная размерность должна выйти на плато при росте m. Если продолжает расти — шум маскируется под структуру.

λ₁ > 0. Максимальный показатель Ляпунова должен быть положительным — хаос жив.

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

С чего начать

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

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

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

Загрузите SPY за 5 лет

Примените SSA (см. предыдущую статью) — уберите очевидный шум

Найдите τ через mutual information

Найдите m через FNN

Постройте X(t) — готово, вы смотрите на портрет рынка

Проверьте прогнозом ближайших соседей

Итог

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

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

Что дальше

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

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

Полезные статьи по теме:

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

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

Это отрывок статьи. Полную версию читайте на сайте источника по ссылке ниже.

Источник: Smart-Lab