Методы Проекции Цены на Основе Теории Хаоса
Теория хаоса в финансовых рынках фокусируется на нелинейных динамических системах, где цены рассматриваются как хаотические временные ряды с аттракторами и чувствительностью к начальным условиям (эффект бабочки). Это позволяет прогнозировать цены через реконструкцию фазового пространства, выявление хаотических характеристик и моделирование будущих траекторий. Топовые решения включают гибридные модели, сочетающие хаос с машинным обучением, для улучшения точности в нестационарных данных.
Топовые Методы и Модели
Fractal Market Hypothesis (FMH): Альтернатива эффективной рыночной гипотезе, предполагает, что рынки фрактальны и имеют долгосрочную память. Проекция цен через идентификацию самоподобных паттернов (фракталов) на разных масштабах.
- Математика: Экспонента Херста (H) для измерения персистентности: H = log(R/S) / log(n), где R — диапазон кумулятивных отклонений, S — стандартное отклонение. Если H > 0.5, ряд трендовый — прогнозировать продолжение; H < 0.5 — антиперсистентный, ожидать разворотов.
- Применение: В неопределенных рынках (кризисы) для проекции на основе повторяющихся паттернов. Топовое решение: Интеграция с индикаторами вроде Williams Fractal в TradingView.
Phase Space Reconstruction и Lyapunov Exponents: Реконструировать аттрактор из временного ряда для прогнозирования.
- Математика: Метод ложных ближайших соседей (False Nearest Neighbors, FNN) для определения размерности вложения (embedding dimension). Экспонента Ляпунова λ = (1/N) ∑ log(|dF/dx|), где λ > 0 указывает на хаос — проекция через минимизацию дивергенции траекторий.
- Шаги проекции: 1) Реконструкция фазового пространства с задержкой τ (по mutual information). 2) Вычисление chaotic measures (Lyapunov, Correlation Dimension). 3) Прогноз, минимизируя разницу в chaoticity между историей и будущим.
- Топовое решение: Chaos-based Portfolio Selection — метод для портфельного инвестирования, превосходящий benchmarks по прибыли/риску. Использует BDS Statistic для нелинейных структур и Mutual Information для зависимостей.
Гибридные Модели с ML: Комбинируют хаос с нейронными сетями для forecasting chaotic series.
- Топовое решение: I Know First Algorithm — использует AI, ML, chaos theory и fractals для ежедневных прогнозов на 1–365 дней. Математика: Нелинейные взаимодействия факторов через neural networks и genetic algorithms. Вывод: Signal (тренд) и Predictability (уверенность, heat map: green — up, red — down).
- Другое: LSTM для high-dimensional chaotic systems — recurrent neural networks для предсказания на основе исторических данных. Формула: h_t = σ(W_h x_t + U_h h_{t-1} + b_h), где σ — sigmoid, для захвата долгосрочных зависимостей.
- Применение: Прогноз волатильности (e.g., flash crashes) с учетом fat tails (Power Law распределения).
Готовые Функции и Библиотеки в Python
Топовые библиотеки для chaotic forecasting: PyTorch (LSTM), SciPy (signal processing), Hurst (экспонента Херста), PyEMD (Empirical Mode Decomposition для chaotic decomposition).
Пример кода для Phase Space Reconstruction и Lyapunov (SciPy + NumPy):
import numpy as np
from scipy.spatial.distance import pdist, squareform
def embed_series(series, dim, tau):
"""Реконструкция фазового пространства с задержкой tau и размерностью dim."""
N = len(series) - (dim - 1) * tau
embedded = np.empty((N, dim))
for i in range(N):
embedded[i] = series[i:i + dim * tau:tau]
return embedded
def lyapunov_exponent(embedded, eps=1e-3):
"""Оценка экспоненты Ляпунова."""
dists = squareform(pdist(embedded))
neighbors = np.argmin(dists + np.eye(len(dists)) * 1e10, axis=1)
divergences = []
for t in range(1, len(embedded) // 2):
div = np.log(np.abs(embedded[neighbors + t] - embedded[t:]) / eps)
divergences.append(np.mean(div))
return np.polyfit(range(len(divergences)), divergences, 1)[0] # Линейная аппроксимация
# Пример использования: prices — массив цен
embedded = embed_series(prices, dim=3, tau=1)
lambda_exp = lyapunov_exponent(embedded)
if lambda_exp > 0:
print("Хаотический ряд, проекция возможна.")
Это позволяет спроектировать будущие цены, минимизируя дивергенцию.
Готовый инструмент: Kats (Facebook): Для time series с chaotic элементами, включает Prophet для additive models. Установка: pip install kats. Пример:
from kats.consts import TimeSeriesData
from kats.models.prophet import ProphetModel, ProphetParams
ts = TimeSeriesData(df) # df с колонками time и value
params = ProphetParams(seasonality_mode='multiplicative')
model = ProphetModel(ts, params)
model.fit()
forecast = model.predict(steps=30) # Проекция на 30 шагов
Методы Проекции Цены на Основе Гармонического Анализа
Гармонический анализ в трейдинге — это harmonic patterns, геометрические формации на основе Fibonacci ratios для предсказания разворотов. Паттерны (Gartley, Bat и т.д.) определяют Potential Reversal Zones (PRZ) для входа, с проекцией целей через extensions. Топовые решения используют confluence Fib уровней для high-probability trades.
Топовые Паттерны и Методы Проекции
Паттерны — 5-точечные (XABCD), с embedded ABC/ABCD. Проекция: Вход на D (PRZ), SL за X, TP на 61.8–161.8% retracements.
| Паттерн | Тип (Bullish/Bearish) | Ключевые Fibonacci Ratios | Проекция Цены |
| Gartley | Оба | AB=61.8% XA; BC=38.2–88.6% AB; CD=78.6% XA | Вход на D (0.786 XA), TP на C или 61.8% AD. |
| Bat | Оба | AB=38.2–50% XA; BC=38.2–88.6% AB; CD=88.6% XA | Вход на D (88.6% XA), SL за X, TP на 61.8% AD. |
| Butterfly | Оба | AB=78.6% XA; BC=38.2–88.6% AB; CD=127–161.8% XA | Вход на D (127–161.8% XA), TP на C. |
| Crab | Оба | AB=38.2–61.8% XA; BC=38.2–88.6% AB; CD=161.8% XA | Вход на D (161.8% XA), TP на 38.2–61.8% AD. |
| Shark | Оба | AB=113–161.8% XA; BC=113–161.8% AB; CD=88.6% XA | Вход на D, TP на 50% AD. |
| Cypher | Оба | AB=38.2–61.8% XA; BC=127–141.4% AB; CD=78.6% XA | Вход на D (78.6% XA), TP на 38.2% CD. |
- Математика: Retracement = High - (High - Low) * ratio (e.g., 0.618). Extension = Low + (High - Low) * (1 + ratio) (e.g., 1.618).
- Шаги: 1) Идентификация swing highs/lows (ZigZag). 2) Проверка ratios в пределах tolerance (e.g., ±5%). 3) PRZ как confluence levels. 4) Подтверждение (RSI divergence, volume).
Топовое решение: Harmonic Scanners в TradingView/MT4 для авто-детекции.
Готовые Функции и Библиотеки в Python
Топовые: stock-pattern (CLI для сканирования), HarmonicPatterns (GitHub djoffrey) для поиска.
Пример кода для Детекции Gartley (SciPy + NumPy):
import numpy as np
from scipy.signal import argrelextrema
def find_extrema(prices, order=5):
"""Находит локальные max/min."""
highs = argrelextrema(prices, np.greater, order=order)[0]
lows = argrelextrema(prices, np.less, order=order)[0]
return highs, lows
def check_gartley(points, tolerance=0.05):
"""Проверяет Gartley: points = [X, A, B, C, D] цены."""
xa = abs(points[1] - points[0])
ab = abs(points[2] - points[1]) / xa # Должен быть ~0.618
bc = abs(points[3] - points[2]) / ab # 0.382-0.886
cd = abs(points[4] - points[3]) / xa # ~0.786
if abs(ab - 0.618) < tolerance and 0.382 < bc < 0.886 + tolerance and abs(cd - 0.786) < tolerance:
return True
return False
# Пример: prices — массив цен
highs, lows = find_extrema(prices)
# Итерация по потенциальным точкам для поиска паттерна
Это детектирует паттерн; для проекции добавить Fib extension.
Готовый инструмент: stock-pattern CLI: Установка pip install stock-pattern. Команда: stock-pattern scan data.csv --pattern gartley — сканирует и плотирует.