bybit-ws
by poliakarmai
README.md
# bybit-ws — AI-Native Trading Engine
**24/7 автотрейдинг на фьючерсах Bybit. Bollinger Grid + AI-фильтры. Подключил — зарабатывает.**
[](https://python.org)
[](./test_smoke.py)
[](./LICENSE)
[](./CHANGELOG.md)
---
## Что это
Автономный трейдинг-движок, который:
- Находит точки входа по Bollinger Bands + 9-метричному AI-скорингу
- Входит LONG/SHORT автоматически
- Управляет рисками: стоп-лоссы, тейк-профиты, трейлинг, DCA
- Защищает депозит: Circuit Breaker, BlackSwan, Anti-ludomania, корреляционный блок
- Самообучается: LSTM-классификатор рынка, Thompson Sampling, Dynamic Bandit, Drift Detector, Ensemble (20+ механик)
Работает **24/7 на VPS за $5/мес**. 52 smoke-теста, атомарный деплой.
---
## Результаты (на v11)
> **Важно:** результаты конкретной инсталляции (авто-трейдинг, `strategy='auto'`). Не гарантия доходности. Backtest на своих параметрах через `paper_trade`.
| Период | Сделок | Винрейт | PnL | Примечание |
|--------|--------|---------|-----|-----------|
| Август 2026 | 138 | 70% | +$10 | Фазы 9.1–9.3 |
| Сентябрь 2026 | 47 | 75% | −$49 | до 09.09, SHORT-просадка ZECUSDT |
> **Срез после Фазы 9.1 (15.08+, 131 сделка):** PF **1.38**, WR 77%. LONG — PF 9.64 (WR 90%, +$240). SHORT — PF 0.70 (WR 67%): TP-выходы +$230 съедаются SL −$270 (ZECUSDT/USELESSUSDT), avg_loss $14.11 vs avg_win $4.85.
*Авто-трейдинг Bollinger Grid LONG/SHORT, риск 5% на сделку, плечо до 10x. Всего 301 закрытая сделка (185 auto).*
---
## Быстрый старт (3 шага)
### 1. Клонируй и настрой
```bash
git clone https://github.com/poliakarmai/bybit-ws.git
cd bybit-ws
pip install -r requirements.txt
```
### 2. Добавь ключи Bybit
```bash
cp config.example.yaml ~/.config/bybit-ws/config.yaml
mkdir -p ~/.config/bybit-ws
# Создай .env с API-ключами (chmod 600!)
cat > ~/.config/bybit-ws/.env << 'EOF'
BYBIT_API_KEY=your_key
BYBIT_API_SECRET=your_secret
RPC_TOKEN=your_random_token_32_chars
TG_BOT_TOKEN=optional_telegram_bot_token
TG_CHAT_ID=optional_chat_id
EOF
chmod 600 ~/.config/bybit-ws/.env
```
### 3. Запусти
```bash
# Тестовый прогон (без реальных сделок — убедись что всё ок)
python3 -m bybit_ws.paper_trade SOLUSDT --days 30
# Боевой запуск
python3 test_smoke.py # 52 теста → PASS
bash deploy.sh # атомарный деплой с canary-проверкой
```
Готово. Движок работает. Позиции открываются автоматически при сигналах.
---
## Возможности
### 🤖 Авто-трейдинг
- **Bollinger Grid** LONG/SHORT на дневном таймфрейме
- **9-метричный скоринг**: BB%, объём, падающие дни, фондинг, волатильность, качество + ML Gate
- **LSTM-классификатор** рынка (82.3% точность, 5 режимов)
- **Авто-входы** с MTF-подтверждением, orderbook-анализом и Entry Judge (DeepSeek → Qwen → Nemotron, fail-closed)
- **Auto-TP**: 20% на Middle BB + 80% на Upper BB
- **Unified SL**: 5 механизмов → один приоритетный (tight > simple > hard > BE > default)
### 🛡️ Защита депозита
- **Circuit Breaker** при 80% дневного лимита
- **BlackSwan v2**: 5+ красных позиций + uPnL < -$150 → алерт (без авто-закрытия)
- **Anti-ludomania**: 3 убытка за час → блок авто-входов на 30 минут
- **Корреляционный блок**: запрет входа при >80% корреляции с открытой позицией
- **Pump Detection**: детект пампов +24ч/+230% нед → блок входа
- **Kill Switch**: мгновенное закрытие всех позиций через RPC
### 📊 Бэктестинг
- **Paper Trading** на исторических данных (`paper_trade.py`)
- 6-метричный скоринг, LONG/SHORT, SL/TP с RR
- Метрики: Sharpe, макс. просадка, profit factor, винрейт
### 🔌 Интерфейсы
- **RPC API** (порт 8766): `/scan`, `/enter`, `/close`, `/positions`, `/metrics`
- **JSON-RPC** для ботов и интеграций
- **MCP Server** для AI-агентов (Claude Code, Hermes, Codex)
- **Telegram-алерты**: входы, SL, TP, DCA, пампы, ошибки
- **One-click trading** через Hermes-чат: «просканируй SOL» → «бери 5%»
### 🧠 AI & Self-Learning (v10 — 20+ механик)
- **Thompson Sampling**: Dynamic Bandit — авто-прунинг + генерация рук, Uncertainty-aware selection
- **Ensemble Learning**: отдельный bandit для каждого режима рынка (6 режимов)
- **Drift Detector**: per-regime окна с EMA baseline, Causal inference (market vs parameters)
- **Stress Testing**: 4 исторических backtest-сценария + 1000 Pareto Monte Carlo симуляций
- **Composite Score**: WR+PF+Sharpe+MaxDD+AvgHold с adaptive per-regime весами и exponential decay
- **Micro-updates**: обучение после каждой сделки с outlier-защитой (>3σ)
- **Canary mode**: Bayesian A/B тест, адаптивный 5-20%, авто-rollback
- **Entry Judge**: cross-model validation (DeepSeek → Qwen → Nemotron), fail-closed
- **LSTM Market Regime**: 5 классов, авто-адаптация LONG/SHORT (82.3% точность)
- **LSTM World Model**: multi-task OHLCV prediction для скоринга входов
---
## Для кого
| Ты | Как использовать |
|----|-----------------|
| 🧑💻 **Трейдер** | Поставил на VPS, подключил алерты в Telegram — двигатель крутит 24/7 |
| 🤖 **Квант/разработчик** | Форкни, подключи свою модель, используй RPC API |
| 💼 **Провайдер сигналов** | Подключи @Gridbolbot к RPC — клиенты получают сигналы |
| 🏢 **Фонд/команда** | Multi-instance, общий RPC, shared мониторинг |
---
## Архитектура
```
┌───────────── MAIN LOOP (async, 30s) ─────────────┐
│ Каждый цикл: │
│ • unified_sl.py — Unified SL (5 механизмов) │
│ • time_exit.py — Time exit (каждый цикл, макс 24ч)│
│ • auto_tp.py — ATR-based TP │
│ • risk_manager.py — Circuit Breaker + BlackSwan │
│ │
│ Каждые 10 циклов (HEAVY, ~5 мин): │
│ • auto_entry.py — LONG с AI-скорингом │
│ • auto_short.py — SHORT + JUNK tier │
│ • pump_detect.py — детект пампов │
│ • correlation.py — корреляционная матрица │
│ • dca.py — DCA-докупки │
│ │
│ Раз в 24 часа (self-learn): │
│ • self_learn.py — Dynamic Bandit, Drift, Ensemble│
│ • canary mode — Bayesian A/B-тест параметров │
└─────────────────────────────────────────────────────┘
```
[Подробная архитектура →](docs/ARCHITECTURE.md)
---
## Проекты экосистемы
| Проект | Назначение |
|--------|-----------|
| **bybit-ws** | Трейдинг-движок (этот репо) |
| [@Gridbolbot](https://t.me/Gridbolbot) | Telegram-бот сигналов (Pro-подписка: безлимит + алерты) |
| [hermes-trader](https://github.com/poliakarmai/hermes-trader) | Встроенный трейдинг в Hermes Agent |
| [Paper Trading](bybit_ws/paper_trade.py) | Бэктестинг на истории |
| [OpenWiki](openwiki/quickstart.md) | Детальная документация |
---
## Документация
| Файл | Содержание |
|------|-----------|
| [ONBOARDING.md](ONBOARDING.md) | **Пошаговая инструкция:** от нуля до первой сделки |
| [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) | Архитектура, потоки данных, Mermaid-диаграммы |
| [docs/API.md](docs/API.md) | RPC API: 20 эндпоинтов, curl-примеры |
| [docs/SECURITY.md](docs/SECURITY.md) | Безопасность: секреты, модель угроз, аудит |
| [docs/TROUBLESHOOTING.md](docs/TROUBLESHOOTING.md) | Решение проблем: 60+ причин |
| [docs/PRD-one-click.md](docs/PRD-one-click.md) | One-click trading через чат |
| [AGENTS.md](AGENTS.md) | Навигация для AI-агентов |
| [CHANGELOG.md](CHANGELOG.md) | История версий |
---
## Требования
- **Python 3.11+**
- Bybit Unified Trading Account + API ключи (read/write + trading)
- Linux-сервер (VPS $5/мес) или Docker
- Минимальный депозит: $50 на testnet, $200 на mainnet
---
## Безопасность
- API-ключи через `.env` (chmod 600) — никогда в коде
- RPC write-эндпоинты требуют Bearer-токен
- IP-whitelist на уровне Bybit
- Атомарный деплой: 6 pre-deploy проверок + 8 canary checks
- Kill Switch: мгновенное закрытие всех позиций
[Подробнее →](docs/SECURITY.md)
---
## Дисклеймер
**Этот софт торгует реальными деньгами на фьючерсах с плечом до 10x. Можно потерять весь депозит.** Авторы не несут ответственности за финансовые потери. Начинайте с testnet. Бэктестите через `paper_trade.py`. Прошлые результаты не гарантируют будущих.
---
## Лицензия
AGPL-3.0
---
*Built for traders. Hardened by AI. Вопросы: [@Poliakarm](https://t.me/Poliakarm).*
This server cannot be deployed
Maintenance
ActivityActive
ResponsivenessUnresponsive