Обсуждение статьи "Форма ценового ряда: введение в топологический анализ данных и вложение Такенса в MQL5"

Опубликована статья Форма ценового ряда: введение в топологический анализ данных и вложение Такенса в MQL5:

В статье представлены практические основы анализа формы ценовых рядов в MQL5. Реализовано вложение Такенса с временной задержкой для построения облака точек в фазовом пространстве, а также вычисление полной матрицы попарных расстояний с возможностью выбора нормы. Классы CTDAPointCloud и CTDADistance сопровождаются демонстрационным скриптом, который выполняет вложение данных графика и выводит результаты, подготавливая входные данные для дальнейшей обработки топологическими инструментами.

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

Две диаграммы рассеяния рядом: трендовое окно образует вытянутое изогнутое облако точек, а окно с боковым движением — плотное скопление точек


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

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

Именно это и представлено в данной статье. В остальной части статьи объясняется, как это сделать.


Автор: Hammad Dilber