# wbt v0.3.2
> Release date: 2026-05-30
> Crate tag: `crate-v0.3.2` · Python tag: `v0.3.2`
## Summary
报告(`generate_backtest_report`)的完整性与视觉大幅增强,纯 Python / 报告与绘图层,
无 Rust 改动、无破坏性 API 变更。版本号沿用 PATCH(0.3.2)。
1. **报告内容更完整** — 新增「策略审核」与「稳健性分析」两个标签页,接入此前未利用
的现成数据与指标函数。
2. **Quant Terminal 双主题改版** — 深色(交易终端)/ 浅色(机构研报)可切换,IBM Plex
字体,金融级排版;图表与表格随主题联动。
3. **表格全部原生 HTML 化 + 策略判定结构化卡片** — 取代 plotly `go.Table`,可读性与
主题适配大幅提升。
## 新增公共 API(附加,无破坏)
- 绘图:`wbt.plotting.plot_yearly_returns`(年度绝对/超额收益分组柱状图)、
`plot_rolling_metrics`(252 日滚动夏普/年化/波动率双轴曲线)、
`plot_segment_comparison`(近1年 vs 全样本指标对比表)。
- 数据:`BacktestResult` 新增 cached 字段 `yearly_returns` / `rolling` /
`segment_comparison`(复用 verdict yearly_metrics / `rolling_daily_performance` /
`segment_stats`,绘图侧零计算);`to_dict(full=True)` 一并序列化。
- `HtmlReportBuilder.add_metrics` 支持 `neutral` 色调;`add_chart_grid_tab` 用于
tab 内 CSS 网格多图布局。
## 报告增强明细
### 标签页
- **回测概览**:回撤+累计、日收益分布、月度热力图(标注月度/年度胜率)、品种收益,
四图各占整行。
- **策略审核**(新):策略判定卡 + Top-10 回撤明细 + 完整 25 字段绩效指标。
- **稳健性分析**(新):年度收益柱状图、252 日滚动指标、近1年 vs 全样本分段对比。
- **多空对比**:原始/波动率归一累计曲线 + 关键指标对比表。
- **交易分析**:盈亏比例分布、持仓K线数分布、关键交易。
### 视觉与可读性
- 双主题(`[data-theme]` + CSS 变量),首屏前内联脚本防闪烁,默认深色,选择持久化。
- IBM Plex Sans + IBM Plex Mono(数值等宽 `tabular-nums` 对齐)。
- 核心指标卡重做为 stat-tile 网格,按指标数取整除列数(14→7×2)对齐无空位;
中式红涨绿跌 + 结构指标中性色。
- Plotly 图表画布透明,主题切换时 `Plotly.relayout/restyle` 同步网格/字体/工具栏/
表格颜色;modebar 背景透明。
- **报告内所有表格改原生 HTML**(`report/_html_tables.py`):随主题自动着色、等宽
数字、红涨绿跌、行 hover;完整绩效指标改紧凑键值网格。
- **策略判定**从英文 reason 堆叠改为结构化卡片:状态徽章 + 中文条件清单(逐年达标 /
超额回撤控制,含未达标年度、回撤 vs 阈值)+ 年度明细表(达标/未达标徽章)。
### 修复(合入本版的报告打磨)
- 表格数值按字段语义格式化(比率→%、计数/天数→整数千分位、None/NaN→「—」、
bool→是/否);修 `fmt_value` 对「交易日数」「日数」结尾字段的整数识别。
- `plot_pairs_pnl_dist` 盈亏轴误用 `tickformat=".1%"`(百分数字段放大 100×)已修。
- `plot_stats_comparison` / `plot_segment_comparison` 兼容基准/超额的 daily_performance
键名(年化/夏普/卡玛),消除 N/A。
- 月度热力图配色反转为红涨绿跌;胜率标注改 accent 胶囊清晰可见。
- 页面滚动标准化(`html` 不再 `height:100%`)。
## 兼容性
- 纯 Python;无 Rust 改动;公共 API 仅新增、无删除/签名变更(`plot_*` 既有签名不变)。
- `wbt.plotting` 的 plotly 表格函数(`plot_colored_table` / `plot_stats_comparison` /
`plot_segment_comparison` / `plot_drawdowns_table` / `plot_verdict`)保留供独立/编程
使用;报告内部改用原生 HTML 渲染。
- `get_performance_metrics_cards` 输出由 11 张改为 14 张(去重 + 补充字段)。
- Python ≥ 3.10;Rust edition 2024,`pyo3 = 0.28` / `numpy = 0.28`(不变)。
## 测试
- Python 全量 **280 passed / 1 skipped**;ruff / basedpyright 全绿;
`quick_start.ipynb` 端到端执行通过;Playwright 双主题逐 tab 目视复验。
## Known issues (carried forward from v0.2.0)
Unchanged; see `docs/release_notes/v0.2.0.md`.