账户 PnL
返回用户在日期范围内的每日与累计盈亏(PnL)统计。供账户仪表盘的每日与累计 PnL 卡片及概览指标使用。
GET /account/pnl
Authorization: Bearer <token>
请求参数
| 名称 | 类型 | 必需 | 说明 |
|---|---|---|---|
symbol | string | 否 | 过滤到单个市场(如 BTC-USDT)。缺省时聚合全部市场。 |
start_date | string | 否 | 下界(含),格式 YYYY-MM-DD(UTC)。 |
end_date | string | 否 | 上界(含),格式 YYYY-MM-DD(UTC)。 |
days | int64 | 否 | 回看窗口天数,在 start_date 与 end_date 未同时提供时生效。只提供两者之一时该日期会被忽略,回退到 days。默认 30。 |
解析顺序:
- 若
start_date与end_date都已设置,使用该显式范围。 - 否则(包括只设置了其中一个的情况 —— 那个单独的日期会被忽略),服务端使用 UTC 下的
[today − days, today]。today 始终取Utc::now().date_naive()。
响应
{
"daily": [
{
"date": "2026-05-10",
"realized_pnl": "125.30",
"volume": "10000.00",
"trade_count": 12,
"fees": "5.00"
}
],
"cumulative": {
"total_realized_pnl": "320.50",
"total_unrealized_pnl": "-12.40",
"total_pnl": "308.10",
"total_volume": "85000.00",
"total_trades": 87,
"total_fees": "42.50",
"win_rate": "62.50",
"avg_profit_per_trade": "3.68"
},
"symbol": null
}
窗口内某天没有任何活动时,该天仍会出现在 daily 中,所有数值字段为 0、trade_count 为 0。序列在 UTC 下从 start_date 到 end_date 连续无缺口。
用户在窗口内完全没有成交时,daily 是一串连续的全零行,cumulative 各项均为零。
响应字段
顶层
| 字段 | 类型 | 说明 |
|---|---|---|
daily | DailyPnl[] | 每个 UTC 日一行,在 start_date 与 end_date 之间连续。 |
cumulative | CumulativePnl | 同一窗口上的聚合统计。 |
symbol | string | null | 回显 symbol 请求参数。 |
DailyPnl
| 字段 | 类型 | 说明 |
|---|---|---|
date | string | UTC 日期,格式 YYYY-MM-DD。 |
realized_pnl | Decimal |