Files
easy_tdx_max/docs/web-ui.md
T
awayingsandClaude d8b3a1afb5 docs: README Web 章拆至 web-api/web-ui,WebSocket 帧规范并入 web-api
- web-api.md:REST/WebSocket/SSE 端点与示例;吸收 api_reference.md 的
  WebSocket 帧表/控制消息/行为约定/前端接入,消除两处互补重复
- web-ui.md:行情终端与回测工作台零代码操作手册(原错位嵌套在
  「本地 K 线仓库」章节下的 Web UI 块,补全章节结构)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-08 23:21:30 +08:00

7.5 KiB
Raw Blame History

Web UI 使用手册

概述

行情终端 + 回测可视化 Web UI(v1.17 新增,v1.23 升级为行情终端)。不想写命令行?用浏览器。easy-tdx serve 一条命令启动,浏览器自动打开 http://localhost:8000

Web UI 截图 1 Web UI 截图 2 Web UI 截图 3

Web UI 包含两大模块:

  • 行情终端——侧边栏专业终端布局(行情:市场看板 / 行业总览 / 概念总览 / 自选行情 / 龙头池 / 期货持仓排名):
    • 市场看板:五大指数实时行情(SSE 推送)、全市场涨跌统计(涨/跌/平/涨停/跌停 + 堆叠条)、行业/概念板块热度榜、涨幅榜/跌幅榜、两市异动雷达(加速拉升/封涨停板/大单托盘等),点击个股打开五档盘口 + 分时/日K 对话框;
    • 行业总览 / 概念总览(v1.32.1):全部行业(一级/二级可切)/概念板块一屏尽览——板块广度统计条、涨跌幅分布直方图、热力图与表格双视图、搜索过滤、涨幅/跌幅/涨速异动三榜、翻红/翻绿轮动时间线,30s 自动刷新(休市暂停);点击板块复用详情弹窗(分时/日K + 成分股涨跌榜直达个股);
    • 自选行情:输入 6 位代码一键加自选(SQLite 持久化),全表实时刷新(SSE),行内迷你分时图,点击行看个股详情;
    • 龙头池:159 只核心龙头名单一键只扫龙头(名单仅为扫描范围,不构成任何推荐);
    • 期货持仓排名(v1.29.1):中金所每日成交/持仓前 20 名会员一键采集(品种下拉 + 日期选择 + 自动回溯最近交易日开关),合约页签自动标注主力,前 20 名合计多单/空单/净持仓概览,三组排名并排表格;附「品种一览」「多单空单加减仓怎么看」新手科普(重点:排名看不出套保还是投机,空单多 ≠ 看空市场);
    • 实时推送架构:后端单条轮询循环 fan-out 到所有 SSE 连接(交易时段 ~8s 一拍,盘外降频 60s,无人订阅自动休眠),前端指数退避重连。
  • 回测工作台——浏览器里选标的、挑策略、调参数,K 线买卖点、净值回撤、25 项绩效指标一目了然。支持组合回测、参数网格寻优、多策略结果对比、策略库(SQLite 持久化)与多策略资金分仓、信号雷达、Walk-Forward / 一条龙附加分析、AI 解读与解读历史(分析:单标的回测 / 组合回测 / 参数寻优 / 结果对比 / 策略库 / 信号雷达 / AI 解读历史),全程零代码。

启动

前置条件:

# 需安装 web 可选依赖(FastAPI + Uvicorn
pip install -e ".[web]"

启动(一条命令):

# 启动后端 + 自动打开浏览器(默认 http://localhost:8000
easy-tdx serve

# 自定义端口/不自动开浏览器
easy-tdx serve --port 8080 --no-open-browser

后端启动后约 1-2 秒会自动弹出浏览器。前端界面已编译进 web-ui/dist/,由后端同源托管,无需单独跑前端开发服务器。后端行情连接失败时回测路由仍可用(用内联数据),但取行情功能需要后端连通通达信服务器。

桌面版(EXE

不想装 Python?下载 EXE 直接用(面向零基础用户):

Windows 用户可以下载打包好的单一 EXE(约 80-150MB),双击即可使用,无需安装 Python/Node 或任何依赖:

  1. Releases 页面 下载最新的 easy-tdx-<版本>-windows.exe
  2. 双击运行(首次会被 SmartScreen 拦截,点"更多信息 → 仍要运行")
  3. 等待 2-5 秒,浏览器自动打开回测界面
  4. 右下角任务栏出现小图标,右键 → "退出" 可关闭

EXE 打包方法见 packaging.md

回测工作台页面

打开浏览器后,「分析」分组下是回测工作台的核心页面:

1. 单标的回测(首页 /

左侧配置面板从上到下填写,右侧自动出图:

  • 取行情:选市场(深/沪/北),填 6 位代码,选周期(日线/周线/分钟线),设日期范围(默认最近 3 年),点「取行情」。超过 800 根会自动翻页拼接
  • 选策略:下拉选 18 个内置策略之一(双均线交叉、MACD、布林带、RSI、KDJ、唐安奇通道、CCI 等),选中后参数表单自动出现,按推荐范围调参
  • 资金与成本:初始资金、佣金率、滑点、成交模式(默认 next_open 下一根开盘成交)
  • 点「开始回测」,右侧依次出:K 线主图(红三角=买入、绿钉=卖出)、净值曲线与回撤双轴图、25 项绩效指标表(总收益/夏普/最大回撤/胜率/盈亏比/Ulcer/VaR/SQN 等)、成交记录明细
  • 结果区右上角有「💾 保存策略」按钮,把当前策略 + 标的 + 成绩快照存进策略库,下次直接载入或参与组合回测

2. 组合回测(/portfolio

  • 添加多只标的(如 SZ:000001、SH:600519),选策略和日期范围
  • 点「开始组合回测」,右侧出:组合整体绩效(加权收益率)、组合净值曲线(各标的按日期对齐求和)、各标的净值归一化叠加对比图、各标的绩效横向对比表
  • 同样有「保存策略」按钮,可把整个组合配置存进策略库

3. 参数寻优(/optimize

  • 先取行情(同单标的),选策略
  • 勾选 1-2 个想寻优的参数,填入取值列表(逗号分隔,如 fast 填 5,10,20,30),页面实时显示网格点数(上限 200)
  • 点「开始寻优」,右侧出:最优结果摘要、参数热力图(2 参数时,颜色映射收益率)、所有网格点排名表
  • 排名表每行有「查看」按钮,点击跳转单标的回测页,自动填充该参数组合跑完整回测

4. 结果对比(/compare

  • 左侧列出最近 20 个已完成的回测任务(含单标的和组合)
  • 勾选 2-4 个,右侧出:归一化净值叠加图(初始=1,看相对走势)、8 项核心指标横向对比表(总收益/夏普/最大回撤/胜率/盈亏比/交易数/年化/波动率)

5. 策略库(/strategiesv1.17.11 新增)

  • 保存你觉得不错的策略,下次直接载入或重跑。数据存在本地 SQLite 单文件(~/.easy_tdx/strategies.db,重启不丢)
  • 每张卡片展示策略名、标的、保存时的成绩快照(总收益/夏普/回撤)、标签、备注、创建时间
  • 载入:点「载入」跳转对应回测页(单标的/组合),自动回填标的、日期、策略参数,可直接重跑
  • 多策略组合回测:勾选多个单标的策略(卡片左上角复选框),点顶部「组合回测(N)」——每个策略各拿 1/N 资金、各跑在它保存时的原标的上(取最新行情),净值曲线按日期对齐求和,看综合表现。结果区展示:组合净值曲线、25 项完整绩效指标(与单标的同口径)、各策略绩效对比表、净值叠加图、各策略当前持仓表(回测结束时谁还套着票)

注意事项

⚠️ 任务不持久化:回测结果存在后端进程内存,重启 easy-tdx serve 后清空。对比页只能选当前运行期间产生的任务。策略库除外——保存到策略库的策略持久存在 SQLite,重启不丢。

技术栈:Vue 3 + Vite + TypeScript + Pinia + ECharts(按需引入,构建产物约 800KB)。前端代码在 web-ui/ 目录,独立 package.json,不依赖 Python 环境。