Разработка AI-трейдинг-бота для Forex
Forex — крупнейший финансовый рынок: $7.5T дневного оборота. Децентрализованный, работает 24/5. Высокое кредитное плечо создаёт риски, но и возможности. ML-подходы на Forex имеют специфику.
Особенности Forex для ML
Макро-режимы
Валютные пары сильно зависят от макроэкономического режима: risk-on vs. risk-off, carry trade условия, монетарная политика ЦБ. Одна и та же техническая стратегия работает в одном режиме и проигрывает в другом.
Подход: regime detection → выбор соответствующей стратегии. Hidden Markov Model или clustering на macro features (vol, spread, correlation structure) для идентификации режима.
Carry Trade ML
Классический carry: long высокодоходная валюта / short низкодоходная. ML улучшает: динамическое взвешивание, volatility scaling, включение crash risk signals (когда carry unwind вероятен).
Фундаментальные факторы
Purchasing Power Parity (PPP) deviation, current account balance, relative interest rates, central bank communication (NLP на пресс-конференциях). Long-term mean-reversion models.
Микроструктурные факторы
Order flow: в Forex информированные участники двигают рынок через их ордера. Signed order flow — предиктор краткосрочного движения. Toxic flow vs. non-toxic flow classification.
Технические ML-подходы
LSTM на OHLCV данных
import torch
import torch.nn as nn
class ForexLSTM(nn.Module):
def __init__(self, input_size=20, hidden_size=128, num_layers=2):
super().__init__()
self.lstm = nn.LSTM(
input_size, hidden_size, num_layers,
batch_first=True, dropout=0.3
)
self.attention = nn.MultiheadAttention(hidden_size, num_heads=8)
self.fc = nn.Linear(hidden_size, 3) # Up/Flat/Down
def forward(self, x): # x: [batch, seq_len, features]
lstm_out, _ = self.lstm(x)
attn_out, _ = self.attention(lstm_out, lstm_out, lstm_out)
return self.fc(attn_out[:, -1, :])
# Features: OHLCV + RSI + MACD + ATR + Sentiment + Macro
Reinforcement Learning (RL)
RL-агент учится политике торговли напрямую. Особенности для Forex:
- State: технические признаки + макро + текущая позиция + unrealized P&L
- Action: buy/sell/hold + position size
- Reward: risk-adjusted return (Sharpe) или PnL с penalty за drawdown
Алгоритмы: PPO (Proximal Policy Optimization) — стабильнее для финансовых задач. SAC (Soft Actor-Critic) — для непрерывных action spaces (sizing).
Walk-forward optimization
Обучение на rolling window, валидация на following out-of-sample period. Минимизация in-sample overfitting. Параметры обновляются регулярно (ежемесячно/еженедельно).
Сессионность и время
Forex работает 24/5, но не все часы одинаковы:
- Азиатская сессия (Tokyo): низкая волатильность, JPY-пары
- Европейская сессия (London): высокая волатильность, EUR/GBP/CHF
- Американская сессия (NYC): вторая волна волатильности, USD доминирует
- Overlap London/NYC: наибольшие объёмы и движения
Модель учитывает time-of-day features и session дамми-переменные.
Риски специфичные для Forex
Overnight gaps и weekend gaps
Рынок закрыт в выходные, цены "прыгают" при открытии в воскресенье. Позиционирование перед выходными с учётом event calendar (выборы, референдумы).
Macro Events (News Trading)
NFP, CPI, FOMC, ECB — высоковолатильные события. Модель должна либо позиционироваться заранее (forecast модель) либо торговать реакцию (ultra-low latency + NLP парсинг). Нейтральная позиция перед событием — консервативный подход.
Liquidity gaps
Major pairs (EUR/USD, GBP/USD): ликвидность отличная. Exotics (TRY/USD, ZAR/USD): wide spreads, slippage. Модели тестируются с реалистичными spread assumptions.
Broker выбор: для algo trading — ECN/STP брокеры (LMAX, IC Markets, Pepperstone) с низким spread и быстрым execution. MetaTrader 4/5 или FIX API.







