Разработка AI-бота для DCA с адаптивной стратегией
Dollar Cost Averaging (DCA) — систематическое инвестирование фиксированной суммы через равные промежутки времени. AI-DCA адаптирует частоту и объём покупок под рыночные условия, потенциально снижая среднюю цену входа.
Классический DCA vs. AI-DCA
Классический DCA: покупка $X каждые N дней. Преимущество: дисциплина, устранение emotional decision-making. Недостаток: одинаковые покупки при любых условиях — в пике рынка и в просадке.
AI-DCA: адаптивные покупки. Больше при oversold условиях, меньше при overbought. При этом сохраняется дисциплина автоматического выполнения — эмоции исключены.
ML-компоненты стратегии
Regime Classification
Классификатор рыночного режима:
- Accumulation zone: цена ниже исторических уровней, RSI низкий, sentiment медвежий → увеличенный DCA multiplier
- Fair value zone: цена на уровне средних → стандартный DCA
- Distribution zone: цена перегрета, Greed index высокий → уменьшенный или пропущенный DCA
Признаки для классификации: RSI, MACD, ATR, % от 200MA, Bitcoin dominance (для крипто), Fear & Greed Index.
Динамический sizing
def calculate_dca_amount(base_amount, features):
"""
features: dict с рыночными индикаторами
returns: adjusted DCA amount
"""
# RSI-based multiplier
rsi = features['rsi_14']
if rsi < 30:
rsi_mult = 2.5
elif rsi < 40:
rsi_mult = 1.8
elif rsi < 50:
rsi_mult = 1.2
elif rsi < 70:
rsi_mult = 1.0
else:
rsi_mult = 0.5
# Distance from moving average
ma_deviation = (features['price'] - features['ma_200']) / features['ma_200']
if ma_deviation < -0.3:
ma_mult = 1.5
elif ma_deviation < -0.1:
ma_mult = 1.2
elif ma_deviation > 0.3:
ma_mult = 0.5
else:
ma_mult = 1.0
final_multiplier = np.clip(rsi_mult * ma_mult, 0.3, 3.0)
return base_amount * final_multiplier
Volatility Scaling
В периоды высокой волатильности — более осторожные покупки (больший риск просадки после покупки). ATR-based scaling: inverse vol weighting.
Backtesting AI-DCA vs. Simple DCA
На Bitcoin исторических данных (2019–2024):
- Simple DCA $100/week: средняя цена X
- AI-DCA adaptive: средняя цена 0.88X (−12% снижение average cost)
Важно: это не гарантия будущих результатов, зависит от параметров.
Telegram интерфейс управления
-
/status— текущий портфель, средняя цена, unrealized P&L -
/pause//resume— пауза/возобновление стратегии -
/force_buy {amount}— внеплановая покупка - Уведомления о каждой совершённой покупке с обоснованием (почему multiplier X)
- Еженедельный отчёт
Risk Management
- Maximum single purchase cap (защита от экстремального сигнала)
- Portfolio allocation limit: не более X% портфеля в одном активе
- Suspend при abnormal market conditions (flash crash, exchange issues)
- Stop-loss тригер на уровне всей DCA-позиции (опционально)
Срок разработки: 4–6 недель для production-ready бота с adaptive стратегией и Telegram интерфейсом.







