Real-Time P&L Monitoring System for Trading Bots

Your bot shows a 40% win rate, but the balance isn't growing — this is a classic symptom of errors in P&L calculation. Deposits melt due to invisible commissions and funding rates. We build turnkey P&L monitoring systems — zero configuration or layering on top of existing infrastructure. Proper P&L

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1450
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1309
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    1004
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1270
  • image_logo-advance_0.webp
    B2B Advance company logo design
    719
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1011

Your bot shows a 40% win rate, but the balance isn't growing — this is a classic symptom of errors in P&L calculation. Deposits melt due to invisible commissions and funding rates. We build turnkey P&L monitoring systems — zero configuration or layering on top of existing infrastructure. Proper P&L accounting turns your bot from a black box into a fully transparent tool. Average commission savings after implementation: 15–25%.

Types of P&L: realized, unrealized, total

Realized P&L — profit from closed trades. Fact: money is locked in. Unrealized P&L (mark-to-market) — current revaluation of open positions at market price. It changes with every tick. Fee-adjusted P&L — real profitability after all commissions. A bot with 60% win rate can be unprofitable if the average win is too small relative to the commission. Total P&L: realized + unrealized. But for risk management, separating them is critical — unrealized can evaporate.

How to correctly calculate P&L including commissions?

The standard mistake is to calculate P&L as current price × size − entry price × size. This ignores:

  • Funding rate for perpetual futures (can eat 20%+ of profits)
  • Slippage at execution (difference between execution price and planned price)
  • Maker/taker fees (different for different order types)
  • Borrow rate for margin trading

Our solution adjusts P&L for all these parameters, so you see the net result. Without this adjustment, many bots lose up to 30% of profits.

Time slices and attribution

Attribution is critical: without it, you won't know what causes a loss — strategy A or a bias towards maker orders. P&L monitoring requires breakdown by time and source.

Slice Purpose
Intraday (hourly) See within the day when trading is active
Daily Primary operational metric
Weekly/Monthly Assess strategic efficiency
Rolling 30/90 days Remove seasonality

P&L Attribution — breakdown by source. How much did strategy A bring, how much strategy B, how much was lost on funding, how much on commissions. Without attribution, it's unclear what to optimize. Benchmark comparison: comparison with passive Buy & Hold strategy. If the bot earned 15% in a month but BTC rose 25%, the strategy underperforms the market.

Why separating realized and unrealized P&L is critical for risk management?

Realized reflects actual earnings, unrealized is paper profit subject to market fluctuations. If you don't separate them, you might mistakenly increase risk based on unrealized. For example, an open position with unrealized +50% may make the bot seem successful, but on a sharp reversal the profit will disappear. We set alerts on unrealized drawdown thresholds to lock in profits in time.

Key metrics

Sharpe Ratio: (return − risk-free rate) / standard deviation. Above 2.0 is good for a trading bot. Shows return per unit risk. Maximum Drawdown: maximum decline from peak to trough. If drawdown reaches 20%, that's a signal something is wrong. Calmar Ratio: annual return / maximum drawdown. Allows comparing strategies with different risk. Win Rate vs Profit Factor: win rate without context is useless. Profit Factor = sum of wins / sum of losses. PF > 1.5 is a good benchmark.

Database comparison for P&L

DBMS Write speed Query complexity Recommendation
TimescaleDB ~100k row/s Low (SQL) For complex analytics
InfluxDB ~1M point/s Medium (Flux) For high-frequency logs
PostgreSQL ~50k row/s High (manual partitioning) Only for small volumes

Data storage implementation

P&L data requires fast queries over time ranges and aggregations. TimescaleDB handles time queries 5x faster than plain PostgreSQL, and InfluxDB provides write speeds up to 1 million points/sec. We use TimescaleDB for complex analytics: it supports SQL, automatic hypertables, and powerful window functions. InfluxDB is good for high-frequency logs but less flexible in aggregation. PostgreSQL without extensions requires manual partitioning and degrades in performance with millions of records.

Data structure:

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) ); 
More about implementation
  1. Collecting data from exchanges — we connect to WebSocket and REST APIs (Binance, Bybit, OKX), collect trades, orders, positions, funding history.
  2. Aggregation and calculation — in real time we compute realized/unrealized P&L, commissions, funding, attribution. We use streaming via Kafka or RabbitMQ.
  3. Storage — we write snapshots to TimescaleDB at 1-minute intervals. Hypertables automatically partition by time.
  4. Visualization — we build dashboards in Grafana: equity curve, daily P&L, drawdown chart, attribution pie.
  5. Alerting — we configure notifications in Telegram/Discord when daily loss exceeds threshold (e.g., -5%) or when drawdown is triggered.

Visualization and alerting

Equity curve — main chart: cumulative return over time. Compare multiple strategies on one chart, highlight drawdown periods. Daily P&L bars — bar chart by day, color differentiation of profitable/loss-making days. Drawdown chart — visualization of current and historical drawdown. Alerts by P&L: if daily loss exceeds threshold — alert in Telegram/Discord/email. This is part of the risk management system, not just monitoring.

Deliverables

We deliver the project with a complete set of deliverables:

  • Architecture documentation for storage and API
  • Source code of P&L aggregators with exchange support (Binance, Bybit, OKX)
  • Configured dashboards in Grafana / Metabase
  • Alerts based on specified thresholds (daily loss, drawdown)
  • Integration with your bot via REST/WebSocket
  • Team training (2-hour workshop)

Our experience: 7+ years in trading system development, over 50 projects in the crypto space. We guarantee code quality and post-launch support. If you need such a system, get a consultation within 2 days.

Timelines and cost

Timelines range from 3 to 8 weeks depending on integration complexity and number of exchanges. Cost is calculated individually. Contact us — we'll assess your project in 2 business days.

A good P&L monitoring system accounts for 15–20% of the total value of a trading bot project — it gives understanding of what's happening and where to go.