Статья написана партнёром FO ABTRUST Евгением Ерофеевым
Любой ценовой график — это плоскость. Время по горизонтали, цена по вертикали. Две координаты. Но рынок — система с гораздо большим числом степеней свободы: настроения инвесторов, потоки ликвидности, макроэкономические шоки, обратные связи между участниками. Как может двумерная картинка вместить всё это?
Никак. Но есть способ обмануть ограничения плоскости. Он называется теорема Такенса — и это, возможно, самый элегантный математический трюк из всех, что применялись к финансам.
Представьте, что вы смотрите на трёхмерный предмет через узкую щель. Вы видите только его проекцию — тень на стене. Можно ли по этой тени восстановить форму предмета?
Интуиция подсказывает: нет. Тень двумерна, предмет трёхмерен — информация потеряна.
Но математик Флорис Такенс доказал обратное. Если система детерминирована (пусть даже хаотична), её полная динамика закодирована в любой наблюдаемой переменной. Цена акции, объём торгов, волатильность — неважно. Выберите одну, и в ней уже содержится весь портрет системы. Надо только знать, как его проявить.
Фокус в том, чтобы развернуть одномерный ряд в многомерное пространство — не добавляя новых данных, а используя саму историю цен.
Возьмите дневные цены SPY: x₁, x₂, x₃, ..., xₙ. Пока это просто цепочка чисел. А теперь сделайте следующее:
(xₜ, xₜ₊₁).Вы только что восстановили фазовый портрет — проекцию аттрактора рынка. Вместо плоского графика «цена от времени» вы видите геометрию самой динамики: где система «любит» находиться, как она переходит из одного состояния в другое, где у неё резкие развороты.
Двух измерений, правда, маловато. Настоящий аттрактор может требовать трёх, четырёх или даже пяти измерений. Поэтому общая формула для точки в m-мерном пространстве выглядит так:
X(t) = [x(t), x(t+τ), x(t+2τ), ..., x(t+(m−1)τ)]
Каждая точка — это не одна цена, а срез истории длиной в m шагов. Рынок «помнит» себя — и эта память проявляется в геометрии облака.
Фокус работает при одном условии: τ и m должны быть выбраны правильно. Слишком маленькая задержка — точки слипаются в диагональ, аттрактор вырождается. Слишком большая задержка — связь между координатами теряется, структура рассыпается в белый шум.
Выбор τ — взаимная информация. Для каждого возможного τ считается, насколько xₜ и xₜ₊τ «знают» друг о друге. При τ = 1 знание максимально (вчерашняя цена сильно связана с сегодняшней). С ростом τ связь падает. Нужен первый локальный минимум — момент, когда точки уже достаточно независимы, чтобы развернуть аттрактор, но ещё не потеряли структурную связь.
Взаимная информация I(τ) для дневных цен SPY. Кривая быстро спадает, и первый локальный минимум приходится на τ = 4 торговых дня — это и есть задержка, при которой соседние точки развёртки уже не слипаются в диагональ, но ещё не потеряли структурную связь.
Для дневных данных SPY это τ = 4.
Выбор m — ложные ближайшие соседи. Представьте, что вы смотрите на клубок ниток через трубку малого диаметра. Нити, которые в реальности далеко друг от друга, кажутся соседями — потому что третье измерение сплющено. Это ложные соседи. Увеличивайте m, пока доля таких «обманок» не упадёт ниже 5%.

Доля ложных ближайших соседей FNN(m) для дневных цен SPY. При m = 6 кривая падает до нуля — ложных соседей больше нет, размерность вложения достаточна. Порог 5% (красная пунктирная линия) пройден уже при m = 3.
Для SPY на сырых дневных данных это m = 6.
Здесь кроется главный подвох. Казалось бы: чем больше m, тем больше информации — бери m = 20 и не парься. Но с ростом размерности работает проклятие размерности: соседей становится катастрофически мало, расстояния между точками выравниваются, и любая структура тонет в пустоте.
Для типичного финансового ряда из 1000–2000 точек m = 10 — уже потолок, выше которого NN-прогноз теряет смысл просто потому, что у каждой точки слишком мало настоящих соседей.
Практическое правило: m должно быть минимальным, при котором ложные соседи исчезают. Не больше.
В предыдущей статье мы обсуждали очистку сигнала от шума. Теперь понятно, почему это критично: зашумлённый аттрактор — это «пушистое» облако, в котором ложных соседей гораздо больше. Шум добавляет ложную сложность: точки, которые в чистом сигнале лежали бы рядом благодаря общей динамике, на зашумлённом ряду разбрасываются в стороны, и алгоритм FNN вынужден поднимать m, чтобы отличить настоящих соседей от случайных.

Поэтому правильный порядок действий: сначала фильтрация, потом реконструкция, потом прогноз. Без первого второй шаг теряет смысл, без второго третий — тоже.
Восстановленный аттрактор — это не просто красивая картинка. Это функциональный инструмент:
Если после реконструкции вы видите бесформенное облако без структуры — скорее всего, никакого аттрактора нет, и рынок действительно ближе к случайному блужданию.
Важная оговорка: то, что ряд можно реконструировать по Такенсу, ещё не доказывает, что рынок — детерминированный хаос. Та же геометрия иногда возникает у чисто стохастических процессов. Такенс здесь работает как диагностический инструмент, а не как приговор: реконструкция задаёт вопрос «есть ли здесь структура?», а ответ даёт уже проверка прогнозом (см. ниже).
В R — пакет nonlinearTseries: функции timeLag (взаимная информация → τ), falseNearestNeighbours (FNN → m), buildTakens (построение фазового пространства), estimateEmbeddingDim (автоматический подбор m). Плюс plot — и вы видите свой первый фазовый портрет за 20 строк кода.
В Python — nolds для размерности и Ляпунова, scikit-learn для поиска соседей, ручная реализация Такенса через np.column_stack.
Порядок для первого эксперимента:
X(t) — готово, вы смотрите на портрет рынкаТеорема Такенса — это билет в мир, где рынок перестаёт быть плоской линией и становится геометрическим объектом. Вы не добавляете новых данных. Вы просто перестаёте смотреть на цену как на цепочку чисел и начинаете видеть её как траекторию в многомерном пространстве — со своими изгибами, плотностями и переходами.
Это не гарантирует прибыльных прогнозов. Но это даёт то, чего не даёт ни одна линейная модель: возможность увидеть структуру там, где другие видят только шум. А иногда увидеть — уже наполовину понять.
Мы рассмотрели, как строится портрет рынка — но пока не использовали его по прямому назначению: прогнозировать. В следующей статье разберём метод ближайших соседей — тот самый «самый честный тест» из раздела выше, доведённый до рабочего прогноза. Берём текущую точку на восстановленном аттракторе, находим её исторических соседей, смотрим, куда они пошли на следующем шаге, — и усредняем их траектории как прогноз.
Кажется простым, но здесь скрывается несколько подводных камней: какой горизонт прогноза покрывает хаос до того, как вступить в силу эффект бабочки, сколько соседей брать и как не обмануть себя утечкой данных из будущего. Поэтому заодно обсудим, как честно оценивать такой прогноз и почему даже правильная реконструкция не гарантирует, что он обойдёт банальную стохастическую модель.
Полезные статьи по теме:
1. Порядок в хаосе. Почему рынок не подчиняется линейным правилам и как это использовать трейдеру
2. Охота на призраков. Зачем и как отделять сигнал от шума на рынке