验证超额收益
用信息比率看策略是否持续跑赢基准、跑赢多少,而不是只看绝对涨幅。信息比率越高,说明单位跟踪风险换来的超额越稳定,越能证明主动管理能力。
衡量「相对基准」的绩效,而非只看绝对收益。
| 指标 | 方法 | 含义 | 适用场景 | 注意点 |
|---|---|---|---|---|
| 信息比率 | qs.stats.information_ratio(returns, benchmark) | 单位跟踪误差的超额收益 | 判断主动管理是否持续跑赢基准 | 基准不匹配时结果失真 |
| R² | qs.stats.r_squared(returns, benchmark) | 与基准的相关程度(0-1) | 看策略是否只是「复制」基准 | 高 R² 说明超额主要来自 beta |
| 滚动 beta | qs.plots.rolling_beta(returns, benchmark) | 相对基准的滚动敏感度 | 看风格暴露随时间变化 | 需足够长的收益序列 |
| 对比 | qs.stats.compare(returns, benchmark) | 策略与基准并列对比 | 快速并排查看两者指标 | 需传基准收益序列 |
| 累计收益对比 | qs.stats.compsum(returns) | 收益序列转为累计净值 | 画策略与基准净值叠加曲线 | compsum 本身不含基准,需分别对两者调用后叠加 |
| 回撤序列 | qs.stats.to_drawdown_series(returns) | 收益序列转为回撤序列 | 对比策略与基准的回撤深度/时长 | 可与 plots.drawdowns_periods 配合看回撤区间 |
1. 导入并取策略收益:import quantstats as qs; stock = qs.utils.download_returns('META') —— 得到策略的日收益序列。
2. 取基准收益:benchmark = qs.utils.download_returns('SPY') —— 得到基准日收益序列,与策略同频。
3. 生成带基准的 HTML 报告:qs.reports.html(stock, benchmark) —— 报告内并排展示策略与基准的净值、回撤、指标。
4. 单独算相对指标:qs.stats.information_ratio(stock, benchmark) —— 返回信息比率数值。
5. 看滚动暴露:qs.plots.rolling_beta(stock, benchmark) —— 画出滚动 beta 曲线,观察风格暴露变化。
基准要与策略的市场、风格匹配,否则相对指标失真。
| 策略类型 | 建议基准 | 为什么这么选 |
|---|---|---|
| 美股多空/选股 | SPY(标普500) | 代表大盘 beta,衡量选股带来的超额 |
| 美股成长/科技 | QQQ(纳斯达克100) | 与科技成长风格更匹配,避免把风格误判为 alpha |
| A股组合 | 沪深300 等宽基指数收益序列 | 覆盖大盘蓝筹,衡量相对 A股市场整体 |
| 加密货币 | BTC 或主流指数收益序列 | BTC 是加密市场主导资产,衡量相对加密大盘 |
| 绝对收益/CTA | 可无基准,或选同类策略指数 | 目标是绝对收益,不追求跑赢单一指数 |
先分清要看「跑赢多少」还是「赚了多少」。
| 维度 | 绝对绩效 | 相对绩效 |
|---|---|---|
| 关注点 | 赚了/亏了多少 | 跑赢/跑输基准多少 |
| 核心指标 | 夏普比率、最大回撤、CAGR | 信息比率、滚动 beta、超额收益 |
| 适用 | 绝对收益目标(如 CTA) | 相对收益目标(如指数增强、选股) |
| 例子 | 策略年化 15%,最大回撤 10% | 策略年化 15%,跑赢 SPY 5 个百分点 |
用信息比率看策略是否持续跑赢基准、跑赢多少,而不是只看绝对涨幅。信息比率越高,说明单位跟踪风险换来的超额越稳定,越能证明主动管理能力。
用滚动 beta 看策略相对基准的敏感度随时间怎么变,识别策略是否在某段行情悄悄加杠杆或转向,避免把市场 beta 当成自身 alpha 来汇报。
报告里同时展示策略与基准的净值、回撤、相对收益,让读者一眼看清「跑赢还是跑输」,比只报绝对收益更有说服力,也更能对齐投资者预期。
可传基准 ticker(如 'SPY')或 pandas Series,官方 README 示例用 'SPY';传 Series 时需与策略收益同频同口径。具体以官方 README/实现为准。
qs.stats.information_ratio(returns, benchmark) 返回单位跟踪误差的超额收益,衡量主动管理的质量,口径以官方实现为准。
不必。绝对收益类策略(如 CTA)可不设基准;但若要衡量相对绩效、算信息比率/滚动 beta,则必须传基准收益序列。
EasyClaw 的 quant-analyst 技能也能做回测并输出 Sharpe/最大回撤等指标,但 QuantStats 是独立的 Python 库,两者无已证实集成;QuantStats 的 benchmark 参数可精细对比基准相对绩效,EasyClaw 技能输出形式不同,选择前以各自能力为准。
不能。相对绩效仅代表历史表现,信息比率/滚动 beta 都基于历史收益序列,不构成收益保证或投资建议。