Разработка AI-модели прогнозирования направления тренда

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
Разработка AI-модели прогнозирования направления тренда
Средняя
~3-5 рабочих дней
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    853
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Разработка AI-модели прогнозирования направления тренда

Предсказание направления движения цены (бинарная классификация: вверх/вниз) проще, чем точная оценка величины изменения. Даже умеренная точность 52-55% на горизонте нескольких дней даёт положительное математическое ожидание при правильном управлении рисками.

Постановка как классификационная задача

Таргет (бинарный):

df['target'] = (df['close'].shift(-N) > df['close']).astype(int)
# 1 = цена вырастет за N дней, 0 = упадёт или останется

Проблема несбалансированных классов: рынки часто имеют незначительный bias (например, акции в долгосрочном тренде роста). Нужна калибровка или балансировка.

Альтернативная постановка: 3-классовая (рост / боковик / падение) с зоной неопределённости ±0.2% — позволяет воздерживаться от торговли при неуверенном сигнале.

Feature Engineering

Momentum features (наиболее предсказательные):

  • Relative Strength: доходность за 1/3/6/12 месяцев
  • Rate of change (ROC): log return за разные горизонты
  • Acceleration: изменение momentum (momentum of momentum)

Mean reversion features:

  • Deviation from SMA: (Close - SMA_20) / SMA_20
  • Bollinger %B: (Close - Lower) / (Upper - Lower)
  • RSI: уровни перекупленности/перепроданности

Volatility-adjusted features:

  • Sharp/Smooth: ratio volatility на коротком vs. длинном окне
  • Price position в N-дневном диапазоне (Williams %R)

Regime features:

  • VIX уровень (risk-on / risk-off)
  • Market breadth: % акций выше SMA200
  • Treasury yield curve slope (10y-2y)

Ensemble модели

Базовые классификаторы:

from sklearn.ensemble import VotingClassifier
from lightgbm import LGBMClassifier
from xgboost import XGBClassifier
from sklearn.linear_model import LogisticRegression

ensemble = VotingClassifier(
    estimators=[
        ('lgbm', LGBMClassifier(n_estimators=300, class_weight='balanced')),
        ('xgb', XGBClassifier(n_estimators=300, scale_pos_weight=ratio)),
        ('lr', LogisticRegression(C=0.1, class_weight='balanced'))
    ],
    voting='soft'  # вероятностное голосование
)

Почему ансамбль: разные модели улавливают разные аспекты предсказуемости. LightGBM — нелинейные взаимодействия. Logistic Regression — линейные сигналы. Ensemble стабилизирует, снижает overfit.

Калибровка вероятностей

Raw предсказания моделей часто плохо откалиброваны. Для торговых стратегий это важно: предсказанная вероятность 0.6 должна означать реальную частоту 60%.

Плотность сигнала: Нас интересует правило торговли: торгуем только при уверенности модели > threshold. Precision-Recall кривая помогает выбрать порог.

from sklearn.calibration import CalibratedClassifierCV
calibrated = CalibratedClassifierCV(ensemble, method='isotonic', cv=3)
calibrated.fit(X_train, y_train)

Управление рисками при торговле по сигналу

Условия торговли:

  • P(up) > 0.55: лонг
  • P(up) < 0.45: шорт
  • 0.45-0.55: нет позиции

Position sizing по уверенности:

Position = (2 × P - 1) × Max_Position_Size × Volatility_Adjustment

Kelly-подобная формула: чем выше P, тем больше позиция.

Stop-loss: при лонге, stop при -2 × ATR(14). Это механический exit, не зависящий от переобучившейся модели.

Метрики и оценка

Метрика Значение Интерпретация
Accuracy 52-56% Лучше случайного
Precision Long > 55% Лонги прибыльны
AUC-ROC > 0.55 Ранжирование работает
IC (prediction correlation) > 0.03 Слабый, но стабильный edge

Backtesting с реальными параметрами:

  • Slippage: 0.05-0.1% на исполнение
  • Комиссия: 0.02-0.05% per side
  • Финансирование для шорта: annual rate / 365 per day

После учёта TC модель должна показывать Sharpe > 0.8 на out-of-sample для рассмотрения.

Распространённые ловушки:

  • Overfitting к историческим паттернам: CPCV (Combinatorial Purged CV) помогает
  • Нестабильность: переобучившаяся модель деградирует за 1-3 месяца
  • Regime change: модель, обученная на боковике, разрушается при трендовом рынке

Сроки: baseline модель с momentum features — 3-4 недели. Полноценная система с ensemble, calibration, backtesting и мониторингом — 8-12 недель.