lzf_0626
9dd2802d67
客户看板「今日盈亏」不再是硬编码 0:按行情/净值基准真实计算(含当日买卖)
- 口径:今日盈亏 = 今日市值 − 昨日持仓市值 − 今日买入金额 + 今日卖出金额(不含费用,与「持有盈亏」同口径)
- 昨日持仓数量由当日成交反推,不需要新表新字段
- 基准优先场内行情最近两个交易日收盘价(与同页 latest_price/market_value 同源、客户可核对),
行情只有一天时回退基金净值(15911/159991-159995 的行情本身就来自净值序列)
- 只认 transaction_type ∈ {买入,卖出}:演示库里混进的风控场外申购/赎回(RISKDEMO-*)
会把「昨日持仓数量」抬到 76 万份、今日盈亏从 -21.22 变成 -1612.72
- 接口字段与前端一行未改:HoldingItem.today_profit_loss / PortfolioSummary 两个字段数值变真
- 新增 tools/check_today_profit_loss.py:纯 SQL 独立复算并与接口逐只比对(实测 9001 = -132.70 / -0.2528%)
- 新增 6 条单测;pytest tests/unit tests/contract → 1466 passed, 0 failed
2026-09-15 00:03:23 +08:00
..
2026-09-11 16:57:47 +08:00
2026-09-11 14:44:29 +08:00
2026-09-11 19:20:32 +08:00
2026-09-11 20:28:21 +08:00
2026-09-09 21:55:37 +08:00
2026-09-09 21:55:37 +08:00
2026-09-09 21:55:37 +08:00
2026-09-14 21:40:05 +08:00
2026-09-11 20:22:59 +08:00
2026-09-11 17:16:43 +08:00
2026-09-11 15:08:37 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 18:42:44 +08:00
2026-09-11 13:25:00 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 19:37:18 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 16:11:30 +08:00
2026-09-10 22:53:29 +08:00
2026-09-11 16:11:30 +08:00
2026-09-11 14:47:08 +08:00
2026-09-11 15:27:16 +08:00
2026-09-11 14:14:50 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 14:44:29 +08:00
2026-09-10 09:23:22 +08:00
2026-09-10 09:23:22 +08:00
2026-09-14 22:32:26 +08:00
2026-09-09 23:40:35 +08:00
2026-09-09 23:40:35 +08:00
2026-09-09 23:40:35 +08:00
2026-09-09 23:40:35 +08:00
2026-09-11 16:12:38 +08:00
2026-09-11 15:06:44 +08:00
2026-09-10 15:55:54 +08:00
2026-09-10 17:36:39 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 13:11:58 +08:00
2026-09-10 18:42:44 +08:00
2026-09-10 22:29:23 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 18:42:42 +08:00
2026-09-11 14:46:40 +08:00
2026-09-10 22:08:15 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 14:46:40 +08:00
2026-09-11 19:47:14 +08:00
2026-09-12 14:11:42 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 15:55:54 +08:00
2026-09-14 21:26:03 +08:00
2026-09-11 17:16:43 +08:00
2026-09-11 16:57:47 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 14:46:40 +08:00
2026-09-09 21:55:37 +08:00
2026-09-14 22:16:29 +08:00
2026-09-14 01:07:43 +08:00
2026-09-14 01:07:43 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-11 16:57:47 +08:00
2026-09-14 18:13:10 +08:00
2026-09-11 13:20:09 +08:00
2026-09-11 19:20:32 +08:00
2026-09-11 18:39:57 +08:00
2026-09-11 12:47:01 +08:00
2026-09-14 20:14:50 +08:00
2026-09-12 10:45:40 +08:00
2026-09-11 16:42:31 +08:00
2026-09-14 18:13:10 +08:00
2026-09-14 18:13:10 +08:00
2026-09-11 16:57:47 +08:00
2026-09-14 18:13:10 +08:00
2026-09-14 18:13:10 +08:00
2026-09-14 18:13:10 +08:00
2026-09-11 16:57:47 +08:00
2026-09-10 21:03:44 +08:00
2026-09-10 21:03:44 +08:00
2026-09-10 21:03:44 +08:00
2026-09-11 14:16:07 +08:00
2026-09-11 11:42:53 +08:00
2026-09-11 13:49:57 +08:00
2026-09-11 14:24:45 +08:00
2026-09-11 13:48:08 +08:00
2026-09-11 13:45:51 +08:00
2026-09-10 21:03:44 +08:00
2026-09-10 21:03:44 +08:00
2026-09-11 15:25:45 +08:00
2026-09-14 10:50:48 +08:00
2026-09-14 01:41:02 +08:00
2026-09-12 15:56:50 +08:00
2026-09-12 15:56:50 +08:00
2026-09-11 13:35:58 +08:00
2026-09-11 09:49:21 +08:00
2026-09-11 14:24:45 +08:00
2026-09-11 19:37:26 +08:00
2026-09-12 15:56:50 +08:00
2026-09-11 16:57:47 +08:00
2026-09-14 18:13:10 +08:00
2026-09-12 12:50:14 +08:00
2026-09-09 21:55:37 +08:00
2026-09-11 13:10:04 +08:00
2026-09-09 21:55:37 +08:00
2026-09-15 00:03:23 +08:00
2026-09-09 21:55:37 +08:00
2026-09-09 21:55:37 +08:00