Ваш бот показує 40% win rate, але баланс не зростає — це класичний симптом помилок у розрахунку P&L. Депозит тане через невидимі комісії та funding rate. Ми будуємо системи P&L моніторингу під ключ — з нульовою конфігурацією або нарощуємо функціонал поверх існуючої інфраструктури. Правильний облік P&L перетворює бота з чорного ящика на повністю прозорий інструмент. Середня економія на комісіях після впровадження — 15–25%.
Типи P&L: realized, unrealized, total
Realized P&L — прибуток від закритих угод. Факт — гроші зафіксовані. Unrealized P&L (mark-to-market) — поточна переоцінка відкритих позицій за ринковою ціною. Змінюється з кожним тіком. Fee-adjusted P&L — реальна дохідність після всіх комісій. Бот із 60% win rate може бути збитковим, якщо середній win занадто малий відносно комісії. Total P&L: realized + unrealized. Але для управління ризиками їх важливо розділяти — unrealized може випаруватися.
Як правильно розраховувати P&L з урахуванням комісій?
Стандартна помилка — рахувати P&L як поточна ціна × розмір − ціна входу × розмір. Це ігнорує:
- Funding rate для перпетуальних ф'ючерсів (може з'їдати 20%+ прибутку)
- Slippage при виконанні (відмінність execution price від planned price)
- Maker/taker fees (різні для різних ордер тайпів)
- Borrow rate для маржинальної торгівлі
Наше рішення включає коригування P&L на всі ці параметри, щоб ви бачили чистий результат. Відсутність коригування — причина втрати до 30% прибутку в багатьох ботів.
Часові зрізи та attribution
Attribution критичний: без нього ви не дізнаєтеся, що приносить збиток — стратегія A чи перекіс на користь maker-ордерів. Моніторинг P&L вимагає розбивки за часом та джерелами.
| Зріз | Призначення |
|---|---|
| Intraday (по годинах) | Бачити протягом дня, коли активна торгівля |
| Daily | Основний operational метрик |
| Weekly/Monthly | Оцінка стратегічної ефективності |
| Rolling 30/90 днів | Усунення сезонності |
P&L Attribution — розбивка P&L за джерелами. Скільки принесла стратегія A, скільки B, скільки втратили на funding, скільки на комісіях. Без attribution незрозуміло, що оптимізувати. Benchmark comparison: порівняння з пасивною стратегією Buy & Hold. Якщо бот заробив 15% за місяць, а BTC виріс на 25% — стратегія програє ринку.
Чому розділення realized і unrealized P&L критичне для ризик-менеджменту?
Realized відображає фактично зароблене, unrealized — паперовий прибуток, схильний до ринкових коливань. Якщо не розділяти, можна помилково збільшувати ризик, спираючись на unrealized. Наприклад, при open-позиції з unrealized +50% бот може здаватися успішним, але при різкому розвороті прибуток зникне. Ми налаштовуємо алерти на пороги unrealized drawdown, щоб вчасно зафіксувати прибуток.
Ключові метрики
Sharpe Ratio: (дохідність − безризикова ставка) / стандартне відхилення. Вище 2.0 — добре для торгового бота. Показує дохідність на одиницю ризику. Maximum Drawdown: максимальне падіння від піку до дна. Якщо drawdown досягає 20% — це сигнал, що щось йде не так. Calmar Ratio: річна дохідність / максимальний drawdown. Дозволяє порівнювати стратегії з різним ризиком. Win Rate vs Profit Factor: win rate без контексту марний. Profit Factor = сума виграшів / сума програшів. PF > 1.5 — хороший орієнтир.
Порівняння баз даних для P&L
| СУБД | Швидкість запису | Складність запитів | Рекомендація |
|---|---|---|---|
| TimescaleDB | ~100k row/s | Низька (SQL) | Для складної аналітики |
| InfluxDB | ~1M point/s | Середня (Flux) | Для високочастотних логів |
| PostgreSQL | ~50k row/s | Висока (ручне партиціонування) | Тільки для невеликих обсягів |
Реалізація сховища даних
P&L дані вимагають швидких запитів за часовими діапазонами та агрегаціями. TimescaleDB обробляє часові запити в 5 разів швидше за звичайний PostgreSQL, а InfluxDB забезпечує швидкість запису до 1 млн точок/сек. Ми використовуємо TimescaleDB для складної аналітики: він підтримує SQL, автоматичні гіпертаблиці та потужні віконні функції. InfluxDB хороший для логів з високою частотою, але менш гнучкий в агрегації. PostgreSQL без розширень вимагає ручного партиціонування і падає в продуктивності при мільйонах записів.
Структура даних:
CREATE TABLE pnl_snapshots ( timestamp TIMESTAMPTZ NOT NULL, bot_id UUID NOT NULL, strategy_id UUID, realized_pnl NUMERIC(18,8), unrealized_pnl NUMERIC(18,8), fees_paid NUMERIC(18,8), funding_paid NUMERIC(18,8), PRIMARY KEY (timestamp, bot_id) ); Детальніше про впровадження
- Збір даних з бірж — підключаємося до WebSocket і REST API (Binance, Bybit, OKX), збираємо угоди, ордери, позиції, funding history.
- Агрегація та розрахунок — у реальному часі обчислюємо realized/unrealized P&L, комісії, funding, attribution. Використовуємо стрімінг через Kafka або RabbitMQ.
- Зберігання — записуємо снапшоти в TimescaleDB з інтервалом 1 хвилина. Гіпертаблиці автоматично партиціонують за часом.
- Візуалізація — будуємо дашборди в Grafana: equity curve, daily P&L, drawdown chart, attribution pie.
- Алертинг — налаштовуємо сповіщення в Telegram/Discord при перевищенні threshold по daily loss (наприклад, -5%) або drawdown.
Візуалізація та алертинг
Equity curve — основний графік: кумулятивна дохідність у часі. Порівняння кількох стратегій на одному графіку, підсвічування drawdown періодів. Daily P&L bars — стовпчикова діаграма по днях, колірна диференціація прибуткових/збиткових днів. Drawdown chart — візуалізація поточної та історичної просадки. Alerts по P&L: якщо денний збиток перевищує threshold — алерт у Telegram/Discord/email. Це частина системи управління ризиками, не просто моніторинг.
Комплект поставки
Ми здаємо проєкт із повним набором deliverables:
- Документація архітектури зберігання та API
- Вихідний код агрегаторів P&L з підтримкою бірж (Binance, Bybit, OKX)
- Налаштовані дашборди в Grafana / Metabase
- Алерти за заданими порогами (daily loss, drawdown)
- Інтеграція з вашим ботом через REST/WebSocket
- Навчання команди (2 години воркшопу)
Наш досвід: 7+ років у розробці торгових систем, понад 50 реалізованих проєктів у крипто-сфері. Гарантуємо якість коду та підтримку після запуску. Якщо вам потрібна така система, отримайте консультацію за 2 дні.
Терміни та вартість
Терміни — від 3 до 8 тижнів залежно від складності інтеграції та кількості бірж. Вартість розраховується індивідуально. Зв'яжіться з нами — оцінимо ваш проєкт за 2 робочі дні.
Хороша система P&L моніторингу відповідає за 15-20% цінності всього проєкту торгового бота — саме вона дає розуміння, що відбувається і куди рухатися.







