阅读提示
这篇是 Dashboard 实操手册,带你走一遍”选择因子 → 修改参数 → 运行 → 查看结果 → 下载报告”的完整操作流程。如果你想跳过 Python API 直接用浏览器做研究,这篇是最佳起点。
导言
Dashboard 的价值在于让你在浏览器里完成所有操作——不需要写 Python 代码,只需要会填表单。不过,理解底层发生了什么,能让你在结果不对时更快找到问题。
完整操作流程
步骤 1:打开 Dashboard
1 | http://127.0.0.1:5173 |
首页会显示因子列表(按家族分组)。
步骤 2:选择因子
左侧菜单有”截面因子”和”择时策略”两个入口。
进入”截面因子”,选择一个因子,比如 alpha101/ALPHA1。
每个因子卡片显示:
- 因子名称和来源
meta.formula:公式或逻辑描述meta.logic:因子设计思路
步骤 3:配置参数
点击因子卡片,进入参数配置页。
因子配置(factor_spec):
| 参数 | 含义 | 调优建议 |
|---|---|---|
compute_kwargs |
因子计算参数 | 因子的核心调参点 |
direction |
因子方向 | positive=越高越好,negative=越低越好 |
table_name |
数据来源表 | 通常 daily_market |
use_industry |
是否做行业中性化 | 因子有行业偏好时开启 |
use_mktcap |
是否做市值中性化 | 小市值效应明显时开启 |
运行配置(run):
| 参数 | 含义 | 建议 |
|---|---|---|
start_date |
回测开始日期 | 至少 3 年数据 |
end_date |
回测结束日期 | 不要用最近 1 个月(数据可能不完整) |
rebal_freq |
调仓频率 | D=日,W=周,M=月,Y=年 |
n_quantiles |
分组数 | 选股用 10,检验用 5 |
initial_amount |
初始资金 | 至少 100 万 |
benchmark_code |
对比基准 | 如 000906.SH(中证800) |
include_profiling |
是否做因子画像 | 开启(有助于分析) |
步骤 4:提交运行
点击”运行”,Dashboard 会:
- 把参数写入
outputs/runs/<run_id>/run_config.yaml - 用该 YAML 构造
FactorSpec和 run 参数 - 执行
FactorPipeline.run() - 将结果写入
outputs/runs/<run_id>/
运行状态实时更新,完成后显示结果入口。
步骤 5:查看结果
Dashboard 结果页包含:
指标卡:
- 累计收益率 / 年化收益率
- 夏普比率 / 最大回撤
- ICIR / 分组收益差距
图表:
- 净值曲线(策略 vs 基准)
- 回撤曲线
- IC 时间序列(如果开启了 profiling)
表格:
- 月度收益热力表
- 最新持仓明细(Top 10)
- 交易记录(最近 20 笔)
步骤 6:下载报告
Dashboard 提供以下下载入口:
| 下载类型 | 内容 | 用途 |
|---|---|---|
dump |
完整回测数据(parquet) | 二次分析 |
report |
Excel 绩效报告 | 存档/分享 |
html |
交互 HTML 报告 | 浏览器打开 |
profiling |
因子画像详情 | 质量评估 |
1 | # API 下载方式 |
常见问题
1. 运行报错”因子脚本不存在”
原因:因子脚本的 YAML 路径不对,或者 compute_kwargs 的 key 和 factor_*.py 的参数名不匹配。检查 YAML 中 inputs 的 key 是否和 Python compute 函数参数名完全一致。
2. 结果页面空白
1 | # 检查 API 是否正常返回 |
3. 下载的 Excel 打开是空的
可能是运行过程中出错,产物没有正常写入。看 outputs/runs/<run_id>/ 下有没有 report.xlsx,如果没有,看 logs/ 下的错误日志。
延伸阅读
- Betalens 新手系列 · 21:Dashboard 启动与发现机制——架构详解。
- Betalens 新手系列 · 16:Analyst 报告解读——绩效指标详解。
- Betalens 新手系列 · 23:团队协作约定——YAML 规范与版本管理。
docs/guide/dashboard.rst——官方 Dashboard 文档。