阅读提示
这篇讲解 Betalens Dashboard 的架构、启动方式、因子发现机制,以及如何调试前端/后端问题。学完之后,你能独立解决 Dashboard 的常见启动和运行问题。
导言
Betalens Dashboard 是一个前后端分离的浏览器应用:
- 后端:FastAPI(Python),负责因子发现、参数配置、回测执行、API 输出。
- 前端:React + Vite(TypeScript),负责页面渲染、参数表单、结果图表。
- 通信:后端
http://127.0.0.1:8000,前端http://127.0.0.1:5173。
1 | 浏览器 ──→ 前端(Vite) ──→ 后端(FastAPI) ──→ betalens Python 代码 |
启动方式
方式一:一键脚本(推荐)
1 | cd C:\Users\Janis\OneDrive\betalens |
这会同时启动 FastAPI 后端和 Vite 前端。
方式二:分别启动
1 | # 终端 1:后端 |
启动成功的标志
后端日志:
1 | INFO: Uvicorn running on http://127.0.0.1:8000 |
前端日志:
1 | VITE v5.x.x ready in xxx ms |
打开浏览器访问 http://127.0.0.1:5173,能看到 Dashboard 首页。
因子发现机制
Dashboard 启动时会扫描 betalens-factor/ 下的所有 YAML 文件,按以下规则发现因子:
1 | 扫描规则: |
手动刷新因子列表(新增或修改因子后):
1 | # 方式 1:API 刷新 |
API 端点速查
| 端点 | 方法 | 含义 |
|---|---|---|
/api/factors |
GET | 获取因子列表 |
/api/factors/{class}/{name} |
GET | 获取单个因子配置 |
/api/run |
POST | 提交回测任务 |
/api/run/{run_id} |
GET | 查询运行状态 |
/api/result/{run_id} |
GET | 获取回测结果 |
/api/download/{run_id}/{type} |
GET | 下载报告(excel/html/profiling) |
/docs |
GET | Swagger API 文档 |
Swagger 文档地址:http://127.0.0.1:8000/docs,可以在里面直接测试 API。
目录结构
1 | dashboard/ |
开发者侧:新增因子的发现流程
当你在 betalens-factor/tdx/MY_FACTOR/ 下新增了一个因子:
- Dashboard 后端重启(或调用
/api/factors?refresh=true) discovery.py扫描所有 YAML 文件- 动态导入
factor_MY_FACTOR.py - 因子出现在前端列表里
调试发现问题的步骤:
1 | # 1. 直接调 discovery 服务 |
常见错误
1. 前端 502 / 后端连接失败
1 | # 检查后端是否在运行 |
2. 新因子不出现
1 | # 强制刷新 |
3. 回测任务卡住
1 | # 查看后端日志 |
4. npm install 失败
1 | # 切换 npm 镜像 |
延伸阅读
- Betalens 新手系列 · 03:从零安装——Dashboard 安装步骤。
- Betalens 新手系列 · 22:Dashboard 里跑一次回测——完整操作流程。
- Betalens 新手系列 · 23:团队协作约定——YAML 规范与 CI。
docs/guide/dashboard.rst——官方 Dashboard 文档。