Files
tick-stock-panel/操作说明书.md
T
shy3130 ae30b0cb85 docs(deploy): 快速开始按推荐度重排,新增 GHCR 镜像与 AI 代部署方式
- 核心功能表改 HTML 表格并给模块/详见列加 nowrap,修复 GitHub 渲染换行
- 快速开始新增方式 C(本机 AI 代部署)与 GHCR 现成镜像,重排为 A=GHCR / B=Compose / C=AI / D=Dev
- 修正过时表述:Docker/GHCR 镜像默认不含 stock-sdk(与 Dockerfile/CI 实际一致)
- docs/deployment.md 四方式同步重排,补镜像直跑用户的更新流程
- 操作说明书新增 2.5 GHCR 镜像启动,25.1 补镜像更新命令
2026-09-06 09:54:24 +08:00

51 KiB

TickFlow A 股智能量化工作台操作说明书

适用前端版本:0.1.87

文档用途:面向部署者、普通使用者和策略使用者,说明系统安装、配置、数据准备、各功能页面操作、维护与排错方法。

风险提示:本项目用于数据分析和策略研究,不构成任何投资建议。历史表现不代表未来收益,实盘决策及其风险由使用者自行承担。

目录

1. 项目概览

TickFlow A 股智能量化工作台是一套本地优先的 A 股数据分析与策略研究工具,主要功能包括:

  • A 股、ETF、指数日 K 与分钟数据管理。
  • 自选股管理、行情查看和标的详情分析。
  • 内置策略、自定义策略和 AI 创建策略。
  • 策略回测与验证(参数优化、步进优化),以及因子检验、自定义因子与因子挖掘。
  • 个股、概念、行业、连板梯队及财务分析。
  • 策略、价格、涨跌、个股信号和市场异动监控。
  • AI 个股分析、财务分析和盘后复盘。
  • TickFlow、数据源插件、自定义 HTTP 数据源和扩展数据接入。

系统默认将主要业务数据保存在本机 data/ 目录。除调用所配置的数据源、AI 服务和通知服务外,页面操作与数据管理均围绕本地数据进行。

1.1 使用前须知

  1. 页面是否显示某项功能,取决于当前版本、TickFlow 能力检测结果及本地是否已有对应数据。
  2. 分钟 K、五档盘口、财务数据等功能需要相应数据权限。
  3. 第一次运行后必须先同步基础数据,否则策略、分析和回测页面可能没有结果。
  4. AI 功能需要单独配置兼容的模型服务或 Codex CLI。
  5. 策略结果是研究结果,不等同于实盘委托或成交记录。

2. 安装与启动

零基础用户可以让本机 AI 编程助手代为部署(见项目 README「快速开始 · 方式 C」);已装 Docker 的用户推荐直接拉取 GHCR 现成镜像(见 2.5),无需本地构建。

2.1 环境要求

开发模式建议准备:

  • Python 3.11 或更高版本。
  • Node.js 20 或更高版本。
  • uv,用于 Python 依赖与后端运行。
  • pnpm,用于前端依赖与前端运行。
  • Git,用于获取和更新代码。

使用 Docker 部署时,需要安装 Docker 与 Docker Compose。

2.2 准备环境配置

进入项目根目录,复制环境变量模板:

cp .env.example .env

按需编辑 .env。密钥、访问密码和 Webhook 等敏感信息不要提交到 Git。

2.3 macOS/Linux 开发模式

在项目根目录执行:

./dev.sh

默认访问地址:

  • 前端:http://localhost:3011
  • 后端:http://localhost:3018

开发模式下,前后端通常分别输出日志。遇到启动或接口问题时,先查看对应终端中的错误信息。

2.4 Windows 开发模式

在 PowerShell 中执行:

.\dev.ps1

默认访问地址与 macOS/Linux 开发模式一致。

2.5 GHCR 镜像启动

已安装 Docker 的用户可以直接拉取 GitHub Actions 自动构建的现成镜像,无需克隆代码,也不用本地构建:

docker run -d --name tsp -p 3018:3018 -v ${PWD}/data:/app/data ghcr.io/shy3130/tick-stock-panel:latest

启动完成后访问 http://localhost:3018。需要配置时,从 .env.example 复制出 .env,并在命令中追加 --env-file .env

现成镜像默认不含 stock-sdk 插件和老 CPU 兼容内核;有这些需求时请改用 Docker 部署并按 docs/deployment.md 传入构建参数。

2.6 Docker 部署

在项目根目录执行:

cp .env.example .env
docker compose up --build

启动完成后访问:

http://localhost:3018

后台运行可使用:

docker compose up --build -d

查看运行日志:

docker compose logs -f

Docker 中的 /app/data 应映射到宿主机持久化目录。不要仅将数据保存在容器可写层,否则重新创建容器后可能丢失数据。

2.7 停止系统

开发模式可在启动终端中按 Ctrl+C 停止。

Docker 模式执行:

docker compose down

docker compose down 默认不会主动删除已挂载的数据目录,但执行带卷删除参数的命令前必须确认数据备份情况。

3. 首次进入系统

3.1 首次配置向导

首次打开页面时,系统会依次引导完成:

  1. 声明:阅读项目用途和风险说明。
  2. 欢迎:了解基础功能和使用流程。
  3. TickFlow Key:填写并检测数据服务 Key;也可以暂时跳过。
  4. 能力探测:确认日 K、实时行情、分钟 K、财务数据等实际可用能力。
  5. 完成:进入主界面。

跳过 Key 后仍可进入系统,但依赖 TickFlow 的数据能力会受限。之后可在“设置 → TickFlow”补充配置。

3.2 访问密码

公网或多人可访问的部署必须设置访问密码。首次初始化密码的入口仅应在本机或可信内网使用,密码至少 6 位。也可以通过 .env 中的 AUTH_PASSWORD 预先配置。

3.3 首次同步数据

进入主界面后,优先打开“数据”页面并点击“立即同步”。建议至少准备:

  1. 个股维表。
  2. A 股日 K。
  3. 除权因子。
  4. Enriched 策略分析表。

需要使用 ETF、指数、分钟 K 或财务分析时,再同步对应数据。

同步任务应等待完成后再进入策略或回测页面。任务失败时查看页面任务记录及后端日志,不要连续重复提交相同任务。

4. 推荐使用流程

新用户建议按照以下顺序使用:

  1. 在“设置 → TickFlow”保存 Key,并执行“重新检测”。
  2. 在“数据”页同步个股维表、日 K、除权因子和 Enriched 数据。
  3. 在“自选”页添加关注标的,熟悉行情和详情对话框。
  4. 在“策略”页先运行内置策略,确认本地数据链路正常。
  5. 在“回测”页验证策略历史表现和交易时序;如需研究自定义因子,可在“因子”页编写公式并检验(第 10 章)。
  6. 在“设置 → 实时监控”配置实时刷新、飞书或企业微信。
  7. 在“监控中心”创建规则并观察触发记录。
  8. 配置 AI 后,再使用个股分析、财务分析和 AI 复盘。
  9. 定期备份 data/.env

5. 通用界面与操作

5.1 左侧菜单

左侧菜单用于切换看板、自选、策略、因子、回测、个股与板块分析、监控、复盘、信号库、持仓提醒、指数、数据和设置等页面。菜单显示和顺序可在“设置 → 菜单设置”调整。

动态扩展分析页面也会出现在左侧菜单中,其内容来自“扩展页面”配置。

5.2 日期口径

策略、分析和连板梯队等页面通常按交易日期展示数据:

  • 最新日期不一定是自然日当天,休市日会回退到最近交易日。
  • 当日数据未完成同步时,结果可能为空或不完整。
  • 切换日期后,应等待页面重新加载对应交易日的数据。

5.3 股票详情对话框

在自选、策略、监控记录、连板梯队和成分股列表中点击股票,通常会打开统一的个股详情对话框。可查看日 K、分时、成交量、量比及其他可用指标。

成交量对比可按前 1 至 20 个交易日设置;大于 1 日时使用对应交易日的平均成交量,不按自然日计算。关闭量比开关或缩小图表显示密度后,辅助标注会按界面规则隐藏。

5.4 概念与行业标签

点击页面中的概念或行业标签,会打开统一的成分股对话框。可在弹窗内查看对应板块成分并继续打开个股详情。该弹窗只负责展示和导航,不改变原页面的筛选状态。

5.5 搜索、筛选和排序

  • 搜索一般支持代码、名称或关键词。
  • 多个筛选条件可能同时生效,结果异常少时先清除筛选。
  • 点击表头或排序控件可切换升序、降序。
  • 页面刷新后是否保留筛选取决于对应页面的配置保存方式。

6. 看板

看板用于集中查看市场摘要、监控通知和常用分析入口。

6.1 主要内容

  • 市场与指数概览。
  • 自选或关注标的摘要。
  • 监控通知列表。
  • 常用功能入口和业务状态。

6.2 监控通知操作

点击监控通知中的股票名称或代码,会直接打开个股详情对话框,不会在监控卡片内部嵌入个股内容。需要管理规则或查看完整触发历史时,进入“监控中心”。

6.3 数据刷新

看板数据来自本地数据和实时行情服务。数据不更新时依次检查:

  1. 数据页是否已完成同步。
  2. “设置 → 实时监控”是否开启实时行情。
  3. 当前是否处于交易时段。
  4. TickFlow 能力检测是否包含对应行情权限。

7. 自选

自选页用于维护个人关注标的,并快速查看行情、日 K、分时和常用指标。

7.1 添加标的

  1. 打开“自选”。
  2. 使用搜索框输入股票或 ETF 的代码、名称。
  3. 从结果中选择标的并添加。

也可以使用截图 OCR 导入功能识别截图中的股票,再确认识别结果后批量加入。OCR 结果可能受到图片清晰度影响,提交前应检查代码和名称。

7.2 查看方式

  • 表格视图:适合排序、筛选和对比多个字段。
  • 卡片视图:适合快速查看单个标的摘要。
  • 自定义列:选择需要展示的基础指标、日 K 或分时列。

点击任一标的可打开详情对话框。

7.3 筛选与排序

可按板块和数值条件过滤自选标的,并按指定字段排序。若结果为空,先检查是否存在多个筛选条件叠加。

7.4 列表管理

支持:

  • 将标的移到顶部。
  • 从自选中移除。
  • 清空自选列表。

清空是批量删除操作,执行前应确认。清空自选不会删除行情数据或策略数据。

7.5 实时与分时限制

  • Free 能力下,仅自选列表前 5 个标的进入实时监控范围。
  • 分时列通常需要 Pro+ 分钟数据能力。
  • 有分钟数据权限并不等于页面会自动刷新,还需在“设置 → 实时监控”开启对应刷新开关。

8. 策略

策略页用于运行和管理选股策略,查看指定交易日的候选标的及评分。

8.1 股票与 ETF 策略

页面顶部可切换股票和 ETF。两类策略池相互独立:

  • 切换到 ETF 时只展示适用于 ETF 的策略。
  • 切回股票时应恢复股票策略列表。
  • 当前资产类型会影响数据范围、可用策略及结果。

8.2 策略卡片

策略卡片通常展示策略名称、状态、结果数量和监控状态。策略列表先加载摘要,点击卡片后再按需加载明细,以减少进入页面时的等待时间。

常用操作:

  1. 点击卡片查看选股结果。
  2. 切换交易日期查看历史结果。
  3. 调整基础参数或策略参数后重新计算。
  4. 开启或关闭该策略的监控。
  5. 编辑、复制或删除允许管理的用户策略。

监控开关只控制监控行为,不应改变策略选股结果或结果数量。

8.3 “全部”结果

选择“全部”可查看多个策略的合并结果。相同股票可能被多个策略命中,应结合策略名称、评分和命中原因判断,而不是把合并结果当作一个独立策略。

8.4 结果表格

在结果区可进行:

  • 按评分、涨跌幅或其他字段排序。
  • 使用基础指标与策略字段筛选。
  • 调整列表列配置。
  • 点击股票查看详情。
  • 将标的加入自选。

评分是策略定义的一部分。自定义评分字段若未直接落表,系统会在策略执行时基于可用字段临时计算;若评分仍为空,应检查评分表达式所需字段是否存在、字段名是否正确以及当日数据是否完整。

8.5 参数调整

参数分为两类:

  • 基础参数:系统通用的市值、价格、交易状态等过滤条件。
  • 策略参数:由具体策略定义的阈值、窗口和信号参数。

修改后需要重新运行或触发页面重算。历史已保存结果不会因为修改当前参数而自动改写,除非主动对对应日期重新计算。

8.6 创建策略

点击“创建策略”后,可选择:

  • AI 创建:描述选股目标,由 AI 生成符合项目规范的策略。
  • 自定义代码:根据策略模板编写逻辑、参数、评分及元数据。

创建前建议明确:

  1. 适用资产类型。
  2. 选股条件。
  3. 评分标准与排序方向。
  4. 可调参数及默认值。
  5. 所需数据字段。

每次打开创建窗口都会创建新的草稿,不应沿用上一次已创建策略的 ID。若出现 ID 重复,关闭窗口后重新打开,并确认正在使用最新前端;仍有问题时执行“设置 → 系统设置 → 刷新前端缓存”。

8.7 自定义策略目录

默认目录:

data/strategies/custom/
data/strategies/ai/

页面删除用户策略时,会删除相应用户策略文件并更新列表;Docker 用户无需进入容器手工删除。内置策略受保护,不会通过用户策略删除操作移除。

删除前应确认策略是否仍被监控规则、回测配置或其他功能引用。

8.8 自动运行

是否在进入策略页时自动运行策略,可在“设置 → 系统设置”调整。策略数量较多或本地数据量较大时,关闭自动运行并按需点击策略卡片,可减少进入页面的计算压力。

9. 回测

回测页包含“策略”和“验证”两个视图:策略视图做策略回测,验证视图提供参数优化 Beta 与步进优化 Beta。因子检验(IC / 分层 / 多空)在“因子”页进行,见第 10 章。开始前应确保回测区间内的数据已同步完整。

9.1 策略回测

用于把策略信号转换为持仓和交易记录,评估完整交易过程。

基础配置

  • 策略与资产类型。
  • 股票池。
  • 起止日期。
  • 基础过滤条件。
  • 策略参数。

成交时序

建仓和清仓应分别选择成交口径。日线数据无法证明信号发生后的日内准确成交价,因此通常使用下一可成交时点、当日收盘或次日开盘等明确口径。

开启分钟成交后,如策略支持卖出信号,可选择在信号触发后的下一分钟开盘成交。这里的“下一分钟”表示:信号在当前分钟确认后,使用下一根分钟 K 的开盘价模拟成交,避免使用尚未确认的数据和产生未来函数。

分钟成交需要:

  1. TickFlow Pro+ 或等效分钟数据能力。
  2. 回测区间内完整的分钟 K。
  3. 标的已纳入分钟数据获取范围。

未开启分钟成交时,仍按所选日线成交口径运行,不会影响原有日线回测。

交易约束

  • A 股 T+1 约束。
  • 佣金。
  • 印花税。
  • 滑点。
  • 最大持仓数量。
  • 总敞口。
  • 仓位分配方式。
  • 止损规则。
  • 最大持有期。

结果解读

结果通常包括:

  • 净值曲线。
  • 总收益与年化收益。
  • 夏普比率与索提诺比率。
  • 最大回撤。
  • 胜率与盈亏比(平均盈利单收益 ÷ 平均亏损单收益,≥1 显示红色、<1 绿色;判断期望需与胜率一起看)。
  • 蒙卡回撤(中位 / 95% 边界,把已完成的交易按不同顺序重放 1000 次,估计“仅因成交顺序运气,回撤能有多坏”;中位值对照实际回撤可判断序列运气,资金管理按 95% 边界准备)。
  • 交易记录和持仓变化。

若策略评分引用了因子,结果区还会出现「因子归因」标签页:对比盈利单与亏损单在入场信号日的因子均值。胜单均值明显高于败单,说明该因子在本轮交易中贡献了正筛选力;反之在拖后腿。因子名显示为「英文 id + 中文标签」,不同因子量纲不同,只看相对差异。

历史策略结果与回测交易记录不是同一口径:策略结果表示某个交易日“哪些股票被选中”,回测记录还会叠加成交时序、资金、持仓上限、T+1、费用、止损和卖出规则。因此两者数量或日期不完全一致并不代表系统使用了两套选股逻辑。

9.2 参数优化 Beta

参数优化用于在指定范围内搜索策略参数组合。

操作流程:

  1. 选择策略、资产类型和回测区间。
  2. 选择优化目标。
  3. 选择优化模式。
  4. 勾选需要扫描的参数并设置范围、步长或候选值。
  5. 启动任务,查看每组参数的结果。

优化任务由独立 worker 执行,可取消并在页面恢复任务状态。参数组合数量会随参数维度快速增长,应从少量参数和较小范围开始。

不要直接把历史区间最优参数视为未来最优参数,需结合样本外验证和稳定性判断。

9.3 步进优化 Beta

步进优化即 Walk-Forward Optimization,用于检验参数在滚动样本外区间的稳定性。

主要参数:

  • 训练天数:每一折用于选择参数的历史长度。
  • 测试天数:紧接训练区间的样本外验证长度。
  • 步进天数:下一折向前移动的长度。

每一折会在训练区间内优化参数,再把选出的参数用于相邻测试区间。重点关注:

  • OOS 样本外复利表现。
  • IS 到 OOS 的收益退化。
  • 各折参数和收益方向的一致性。
  • 有效折数量。

如果回测区间太短,无法覆盖训练窗口与测试窗口,任务会失败。此时应延长总区间或缩短训练、测试天数。

10. 因子

因子页(/factors)包含五个 tab:检验、因子库、编辑器、组合和挖掘。研究线的自定义因子在这里创建、检验和管理,并与策略线联动。

10.1 检验

用于评估单个因子在历史截面上的区分能力。

主要配置:

  • 因子。
  • 股票或 ETF。
  • 回测起止日期。
  • 分组数量。
  • 等权或因子加权。
  • 佣金等成本参数。

主要结果:

  • IC:因子与未来收益的相关性。
  • IC 胜率:IC 方向符合预期的比例。
  • 分层收益:各因子分组的收益差异。
  • 多空表现:高分组与低分组组合的相对表现。

服务端提供 Newey-West 稳健 t 值与 BH-FDR 多重校正 q 值判读,批量检验可一次评估多个因子。回测前必须确认因子方向,例如“值越大越好”和“值越小越好”会影响排序和多空定义。

检验页还提供「自动挖掘」入口:按探索/均衡/严格三档门槛对因子目录做全量统计筛选,自动生成达标因子池,再走相关性剪枝与组合搜索,全部复用挖掘引擎。

10.2 因子库

因子目录包含 77 个内置因子,按动量、波动率、量价、收益形态等分组展示。自定义因子与复合因子也在库内统一管理。

  • 状态机:草稿 / 激活 / 观察 / 退役。编辑器保存的因子为草稿态,检验通过后手动激活。
  • 版本:修改公式保存为新版本并回草稿态;仅改名称、分组等元数据不影响状态。
  • 因子详情可「检验此因子」跳转检验页,也可「生成策略」一键产出单因子排名策略(见 10.6)。

10.3 编辑器

用 DSL 公式编写自定义因子,例如 rank(-ts_sum(change_pct, 5))

工作流四步:写公式 → 校验语法 → 试算 40 日 IC → 保存草稿。

  • 算子面板:全部 25 个算子按“时序 / 截面 / 工具”分组,点击插入到光标处,悬停显示签名与参数约束。
  • 可用字段:全部字段双语显示(英文 id + 中文标签),点击插入。
  • 模板:“从模板开始”下拉包含经典模板与“我的因子”(导入已保存因子公式作为起点);替换非初始公式前会弹确认。
  • 校验:错误可点击定位到出错字符附近;通过后显示依赖列与预热天数。

公式修改保存为新版本并回草稿态,需重新检验后激活。

10.4 组合

把多个因子按权重组合成一个复合因子。复合因子与策略评分共用同一条物化路径,检验口径与单因子一致。

10.5 挖掘

嵌套样本外因子与策略挖掘:训练区间因子方向重估、相关性去重、多因子排名组合搜索,自有策略作对照轨。候选入库后需显式确认才发布,永不自动上线。原 /mining 旧链接自动重定向到本 tab。

10.6 因子与策略联动

研究线(因子)与交易线(策略)之间有四条互通的桥:

  • 策略触发器 → 因子:在策略触发器编辑里点 Zap 按钮,从因子快速创建条件信号,阈值给建议值,自动挂接到入场/卖出触发器。
  • 因子 → 策略:因子库点「生成策略」,一键生成单因子排名策略(含入场/离场评分阈值、每日入选上限参数),保存为自定义策略后可直接回测。
  • AI → 因子:自定义信号的 AI 生成提示词包含全部因子分组,可直接写“因子·动量: momentum_20d > 0.8”类条件。
  • 回测 → 因子:策略评分引用了因子的回测,结果区提供「因子归因」tab,对比盈利单与亏损单入场信号日的因子均值,见 9.1。

11. 信号库与持仓提醒

11.1 信号库

信号库是独立页面(/signals),管理内置预计算信号与自定义条件信号,供策略触发器、回测和监控统一取用。

  • 内置信号只读,保证系统规则稳定。
  • 自定义信号由字段、运算符和值组成,启用后生成 csg_* 信号字段。
  • 支持因子条件:从因子创建条件信号,阈值给建议值。
  • 支持 AI 生成:按自然语言描述生成条件,可用的因子分组会自动注入提示词。

编辑信号前应确认字段的数据频率。日线字段不能准确替代分钟级触发条件。

11.2 持仓提醒

持仓提醒页(/lots)用于记录个股 / ETF 的买入批次(价格、数量、日期),并按批次自动生成止盈止损与到期监控规则,无需手动在监控中心逐条配置。

12. 个股分析

个股分析用于集中查看单只股票的行情、关键点位和 AI 报告。

12.1 基础分析

  1. 搜索股票代码或名称。
  2. 选择标的。
  3. 查看日 K、成交量和关键价位。
  4. 根据需要创建点位提醒。

点位提醒可用于价格到达、上穿或下穿指定位置后的监控。创建后应到“监控中心”确认规则状态和触发记录。

12.2 AI 四维分析

配置 AI 后,可对个股生成多维分析报告。报告使用本地可用行情与指标作为上下文,并发送给当前配置的 AI 服务。

同一交易日已有报告时,页面会提示查看现有报告或重新生成。重新生成会产生新的模型调用和费用。

12.3 历史报告

支持查看、复制、删除和重新分析历史报告。复制失败时应确认浏览器剪贴板权限;页面会在浏览器限制原生剪贴板接口时使用兼容方式。

13. 连板梯队

连板梯队用于查看涨停、跌停及其连续状态。

13.1 模式切换

  • 涨停模式:涨停、炸板、断板及连板梯队。
  • 跌停模式:跌停、翘板、止跌及连跌梯队。

可切换交易日期查看历史结果。涨跌停价格会根据市场、板块、ST 状态及对应日期规则计算,不能简单固定为 10%。

13.2 卡片信息

卡片可能展示:

  • 股票名称、代码和涨跌幅。
  • 连板或连跌高度。
  • 封单量和封单额。
  • 概念和行业标签。
  • 一字板标签。

“一字”表示当日价格形态满足一字涨停或一字跌停判断。该标签基于已有行情字段计算,不会额外发起高频数据请求。

13.3 五档盘口修正

有 Pro+ 五档能力时,可使用盘口数据修正真假封板状态。若关闭修正或权限不足,页面以日 K/实时行情的可用字段判断。

单股封单监控同样需要对应五档能力。

13.4 板块与成分股

页面会汇总概念与行业分布。点击概念或行业标签可打开成分股列表,再点击成分股查看个股详情。

14. 概念分析

概念分析使用内置的同花顺概念数据,观察板块轮动、强弱和龙头候选。

14.1 数据准备

没有概念数据时,页面会提供获取入口。首次获取完成后再进行分析。概念成分会随数据源更新,不应把旧成分永久视为最新状态。

14.2 主要功能

  • 涨幅与 RPS 轮动。
  • 领涨主线和领跌方向。
  • 概念矩阵。
  • 概念搜索和成分数量。
  • 龙头候选及评分拆解。

点击概念名称或标签可查看成分股。龙头评分是多个指标的综合结果,应结合成分股走势、流动性和市场环境判断。

15. 行业分析

行业分析使用内置的同花顺行业数据,按行业层级观察强弱、涨跌分布与龙头。

15.1 主要功能

  • 切换行业层级。
  • 查看最强行业与涨跌行业数量。
  • 查看领涨、领跌行业。
  • 使用行业矩阵比较行业表现。
  • 查看行业成分股和龙头评分。

点击行业标签可打开成分股对话框。不同层级的行业分类范围不同,比较前应确认处于同一层级。

16. 财务分析

财务分析依赖 Expert 或等效财务数据能力。

16.1 数据内容

  • 核心财务指标。
  • 利润表。
  • 资产负债表。
  • 现金流量表。
  • 股本及历史股本。

历史股本用于改善历史换手率计算:当日数据优先使用最新维表;历史日期有可用历史股本时使用历史股本,没有时回退到最新维表股本。

16.2 同步与更新

可执行全部同步,也可对单张财务表执行更新。首次使用建议全部同步;后续只更新变化的数据可缩短等待时间。

数据页财务卡片支持按 Enriched 批次重新计算历史换手率并覆盖结果。执行前应确认历史股本同步完整;任务期间避免重复发起同一重算。

16.3 个股财务查看

搜索股票后,可查看各报告期指标和报表变化。财报日期、公告日期和交易日期含义不同,分析时应避免使用尚未公告的数据推断更早交易日。

16.4 AI 财务分析

配置 AI 后,可生成财务报告、关注点和风险摘要。支持:

  • 复制报告。
  • 最小化报告窗口。
  • 查看历史报告。
  • 重新生成。

本地最多保留 20 条相关历史报告时,应及时导出需要长期保存的内容。

17. 监控中心

监控中心用于管理规则和查看触发历史。页面通常左侧为触发记录,右侧为规则列表或编辑区。

17.1 监控类型

  • 策略监控:监控交易信号或选股结果变化。
  • 个股信号:监控信号库中的技术或自定义信号。
  • 价格/涨跌监控:监控价格、涨跌幅或上下穿条件。
  • 市场异动:监控涨跌停、连板或其他市场状态。
  • 板块监控:监控大盘指数、概念题材或行业板块的涨跌幅和分钟异动。

17.2 创建规则

  1. 点击新增规则。
  2. 选择规则类型与分类。
  3. 选择作用范围,例如指定标的、策略结果或全市场。
  4. 添加一个或多个条件。
  5. 选择条件组合方式:AND 或 OR。
  6. 设置冷却期、严重级别和提示内容。
  7. 保存并启用。

AND 要求所有条件同时成立;OR 表示任一条件成立即可。全市场规则计算范围大,创建前应确认数据权限和刷新频率。

板块监控中,一条大盘规则可选择多个指数,系统会对每个指数独立判断和触发。概念与行业按有效成分股等权计算,有效成分不少于 5 只且实时行情覆盖率达到 80% 时才会触发。分钟异动在收集到完整窗口后才开始判断,首份行情只用于建立基线。

17.3 内置信号示例

系统可提供日内分时价格上穿/下穿均价、指标上穿/下穿 0 轴等信号。涉及日内分时的信号需要:

  • 分钟 K 或日内分时权限。
  • 已开启对应实时监听。
  • 标的已加入分钟数据获取范围。

没有分钟数据时,不应使用日 K 猜测日内穿越时点。

17.4 规则管理

规则可启用、停用、编辑和删除。删除需要二次确认,删除规则不会删除股票数据或策略文件。

冷却期用于避免同一条件持续成立时重复发送通知。测试规则时可临时缩短冷却期,正式使用时再恢复合理值。

17.5 触发记录

触发记录支持筛选和清空。点击记录中的股票会打开个股详情对话框;点击概念或行业标签会打开成分股列表。

清空只删除触发历史,不会删除监控规则。

17.6 通知方式

可用通知包括:

  • 页面弹窗。
  • 通知声效。
  • 语音播报。
  • 飞书 Webhook。
  • 企业微信 Webhook。
  • 企业微信智能机器人长连接。

页面通知、声效和语音在“设置 → 系统设置”配置;飞书与企业微信在“设置 → 实时监控”配置。

发送到飞书或企业微信的内容会直接展示业务标题和正文,不添加无意义的产品前缀。类似 ladder 的内部类型会转换为用户可理解的连板/梯队描述。

18. AI 复盘

AI 复盘用于基于市场数据生成盘后总结。

18.1 使用前准备

  1. 在“设置 → AI 设置”完成模型配置并测试连接。
  2. 同步当日日 K 和指数数据。
  3. 如需通知,配置飞书或企业微信。

18.2 生成复盘

  1. 打开“AI 复盘”。
  2. 刷新市场数据。
  3. 可选填写特别关注的方向或问题。
  4. 开始生成。
  5. 页面以流式方式展示结果,并在完成后归档。

支持复制、下载 Markdown 和删除历史报告。

18.3 定时复盘与推送

可设置定时复盘。任务运行时需要服务持续在线、数据已更新且 AI 配置有效。生成完成后可推送到飞书或企业微信。

定时任务时间应晚于日 K 和指数数据完成时间,避免用不完整数据生成报告。

19. 指数

指数页用于管理指数列表、指数日 K 与分时行情。

19.1 数据同步

首次使用依次执行:

  1. 同步指数列表。
  2. 同步指数日 K。

指数数据与股票策略数据链路隔离,不会混入股票选股范围。

19.2 查看指数

  • 搜索并选择指数。
  • 设置日期范围。
  • 查看指数日 K。
  • 在支持时查看与日 K 联动的分时走势。

指数分时通常需要 Pro+ 能力。无权限时,日 K 功能仍可独立使用。

20. 数据

数据页是系统的数据管理中心。策略、回测和分析出现异常时,应先在此确认数据状态。

20.1 数据画像卡片

页面可能包含:

  • 个股维表。
  • 日 K。
  • 除权因子。
  • Enriched。
  • 指数。
  • ETF。
  • 分钟 K。
  • 财务数据与历史股本。
  • 扩展数据。

卡片会显示数据量、日期范围、更新时间或任务状态。卡片显示“有数据”不代表所有日期均完整,应结合起止日期判断。

20.2 立即同步

“立即同步”按当前配置更新数据。执行前可选择数据范围:

  • A 股。
  • 指数。
  • ETF。

同步可能包含多个阶段。关闭浏览器页面一般不会立即停止后端任务,但不要在任务进行中清除数据或重启服务。

20.3 修正数据

用于重新获取或修复指定范围内的异常数据。适用于缺失交易日、字段异常或历史规则更新后的修正。

修正前应先缩小日期和标的范围。全量修正耗时较长,也会增加数据源调用量。

20.4 扩展历史

用于把本地日 K 等数据向更早日期扩展。扩展范围受数据源权限和服务端历史覆盖范围限制。

20.5 Enriched 重算

Enriched 是供策略和分析使用的增强数据表,包含基础行情衍生指标、信号和扩展字段。以下情况通常需要重算:

  • 更新了计算逻辑。
  • 补充了历史日 K 或除权因子。
  • 新增或启用了需要落入 Enriched 的字段。
  • 历史结果存在缺失。

可按配置批次计算,避免一次加载全部标的。重算会覆盖对应范围的 Enriched 结果,不会删除原始日 K。

20.6 财务换手率重算

财务数据和历史股本同步后,可点击财务数据卡片上的计算/更新图标,按照 Enriched 的批次设置重新计算历史换手率。

计算规则:

  • 当前日期优先使用最新维表股本。
  • 历史日期优先使用当时可用的历史股本。
  • 缺少历史股本时回退到最新维表股本。

重算会覆盖目标范围中的换手率字段,应等待任务完成并检查日志。

20.7 分钟 K 设置

分钟 K 数据量较大,应明确:

  • 需要同步的标的池。
  • 日期范围。
  • 时间周期。
  • 权限和调用频率。

开启日内监控并不自动补齐全部历史分钟 K。用于回测时,应单独确认回测区间覆盖完整。

20.8 扩展数据

可配置 HTTP 拉取、上传 CSV/Excel,或通过 JSON API 写入扩展数据。详细规则见第 22 章

20.9 测试端点

测试端点用于验证数据源地址、鉴权、响应格式和字段映射。测试成功只代表样例请求可解析,正式同步前还需确认分页、限流和历史范围。

20.10 页面设置与任务时间

可设置:

  • 盘前维表任务时间。
  • 盘后数据管道时间。
  • 实时行情开关。
  • 轮询间隔。
  • 同步批次等页面参数。

盘后管道应晚于数据源完成当日更新的时间。交易日内频繁运行全量管道可能得到不完整日 K。

20.11 切换数据源

切换后,未配置的数据集会按系统回退规则使用 TickFlow。切换前应先测试新数据源,并确认代码、日期、价格和复权字段能正确归一。

20.12 清除数据

清除数据用于重新初始化本地数据。此操作可能影响所有策略、回测和分析页面。

执行前必须:

  1. 备份整个 data/ 目录。
  2. 确认没有同步或计算任务运行。
  3. 明确清除范围。
  4. 预留重新同步时间。

Windows 或受限沙箱中若系统回收站不可用,页面会使用受控的直接删除回退流程;目标路径仍会受到安全校验,不能借此删除任意目录。

21. 设置

设置页包含 TickFlow、AI 设置、实时监控、数据源 Beta、扩展页面、菜单设置和系统设置。信号库已迁为独立页面,见第 11 章。

21.1 TickFlow

可进行:

  • 保存或替换 Key。
  • 清除 Key。
  • 重新检测能力。
  • 查看实际能力、RPM、批量限制和检测日志。

更换 Key 后应立即重新检测。页面功能以检测结果为准,不只依据套餐名称判断。

21.2 AI 设置

支持 OpenAI 兼容接口或 Codex CLI,也提供 DeepSeek、通义、GLM、Kimi 和自定义服务等配置预设。

常用配置:

  • API 地址。
  • 模型名称。
  • API Key。
  • 其他服务所需参数。

Codex CLI 模式可复用本机登录态。保存前先执行“测试连接”,确认地址、模型和认证有效。

AI 分析会把所需行情、指标、财务信息和用户输入发送给所配置的模型服务。使用第三方服务前应了解其数据和隐私政策。

21.3 实时监控

可设置:

  • 是否开启实时行情。
  • 轮询间隔。
  • 页面 SSE 刷新范围。
  • 自选日 K/分时图刷新。
  • 策略日 K/分时图刷新。
  • 左侧指数卡片刷新。
  • 连板五档盘口修正。
  • 飞书和企业微信 Webhook。
  • 企业微信智能机器人长连接。

Free 能力仅实时覆盖自选前 5 个标的。轮询间隔不应低于数据源允许的频率,否则可能触发限流。

实时刷新时,已有日 K/分时内容会保留到新数据返回后再更新,避免列表列短暂消失和闪烁。

21.4 数据源 Beta

支持:

  • TickFlow。
  • 数据源插件。
  • 自定义数据源。

插件可安装、启用、停用和卸载。自定义源可配置日 K、除权因子、实时行情和分钟 K 等数据集。

配置项通常包括 URL、请求方法、鉴权、RPM、批量大小、超时、响应数据路径和字段映射。未配置的数据集按回退规则使用 TickFlow。

21.5 扩展页面

扩展页面用于把扩展数据字段组合成动态分析页面,并加入左侧菜单。配置时应选择数据集、展示字段、筛选项和页面名称。

删除扩展页面只移除页面配置,不等同于删除扩展数据集。

21.6 菜单设置

支持拖动排序、显示/隐藏菜单和配置数字徽标。扩展页面也可以参与排序。

隐藏菜单只影响导航显示,不删除页面数据或功能配置。

21.7 系统设置

可设置:

  • 进入策略页是否自动运行。
  • 监控通知弹窗。
  • 通知声效。
  • 语音播报。
  • 播报语音选择。
  • 刷新前端缓存。
  • 查看当前版本和检查更新。

“刷新前端缓存”用于解决升级后仍显示旧页面的问题,不会清除用户配置和本地股票数据。

22. 数据源、扩展数据与插件

22.1 插件化原则

项目的数据接入已经插件化。新增第三方数据源时,应通过数据源插件或自定义数据源配置接入,不建议直接修改核心同步流程。

插件负责把来源各异的数据转换为项目统一格式,业务页面只依赖统一的数据接口。这样可以避免第三方接口变化影响策略、回测和分析逻辑。

22.2 自定义数据源

适合通过 HTTP API 提供标准数据的场景。接入步骤:

  1. 新建自定义数据源。
  2. 为需要的数据集配置端点。
  3. 设置请求方法和鉴权。
  4. 设置 RPM、批量大小和超时。
  5. 指定响应中的数据路径。
  6. 完成字段映射。
  7. 测试端点。
  8. 小范围同步并核对数据。
  9. 再切换为正式数据源。

至少要正确处理代码、交易日期、开高低收、成交量/额以及复权相关字段。日期、单位或代码格式错误可能不会立即报错,但会产生错误指标。

22.3 数据源插件

插件适合复杂鉴权、分页、签名、多个端点组合或特殊数据规范。插件应只承担数据获取和归一化职责,策略与页面不应依赖插件内部实现。

安装第三方插件前应检查来源和代码。插件运行在本地服务环境中,可能具备读取配置和访问网络的能力。

开发细节参见:

22.4 扩展数据接入

支持:

  • HTTP 定时拉取。
  • CSV/Excel 文件上传。
  • JSON API 写入。

数据至少必须归一到 symbol,才能与股票维表和其他分析数据关联。

存储模式:

  • Snapshot:只保留当前状态,适合标签、分类和最新属性。
  • 时序模式:按日期保存历史值,适合每日指标、评分或事件。

选择错误的存储模式会影响历史回测。例如会随时间变化的指标不应只保存为当前快照。

22.5 扩展分析页面

扩展数据同步成功后,可在“设置 → 扩展页面”选择字段并生成动态分析菜单。页面只负责展示已接入数据,不会自动把字段加入所有策略。

需要在策略中使用扩展字段时,应确认该字段已进入对应策略数据链路或 Enriched 数据。

23. 权限与能力说明

下表用于快速理解常见能力,最终以“设置 → TickFlow → 重新检测”的实际结果为准。

能力级别 常见可用能力 主要限制或用途
None 历史日 K 无需 Key;盘后通常约 1 至 2 小时更新
Free 历史日 K、自选前 5 个标的实时行情 实时刷新最低约 6 秒;覆盖范围有限
Starter+ 全市场实时能力 适合更广范围实时行情和监控
Pro+ 分钟 K、批量五档等 用于分时、分钟回测、封单与盘口修正
Expert 财务数据 用于财务分析、历史股本和相关重算

能力名称和服务策略可能变化,因此:

  1. 保存 Key 后执行“重新检测”。
  2. 查看检测日志、RPM 和批量限制。
  3. 页面提示权限不足时,以具体缺失能力为准。
  4. 使用第三方插件时,以插件实现的数据集能力为准。

24. 数据目录、备份与迁移

24.1 主要目录

项目数据主要位于:

data/

Docker 容器内通常为:

/app/data

自定义和 AI 策略通常位于:

data/strategies/custom/
data/strategies/ai/

24.2 备份内容

至少备份:

  • 整个 data/ 目录。
  • .env
  • 额外安装的数据源插件或自定义部署配置。

.env 含敏感信息,备份文件应加密或保存在可信位置。

24.3 备份时机

建议在以下操作前备份:

  • 升级项目。
  • 清除或全量重算数据。
  • 更换数据源。
  • 调整数据库或存储结构。
  • 迁移服务器。

备份时最好先停止服务,或至少确认没有同步、回测和重算任务运行,以保证文件一致性。

24.4 迁移

迁移到新机器的一般步骤:

  1. 在原机器停止服务。
  2. 备份 data/.env 和额外插件。
  3. 在新机器获取相同或兼容版本代码。
  4. 恢复上述文件到对应位置。
  5. 启动服务。
  6. 重新检测 TickFlow 与 AI 连接。
  7. 抽查自选、策略、数据范围和监控规则。

跨系统迁移时,应检查文件权限和 Docker 挂载路径。

25. 更新与维护

25.1 镜像与 Docker 更新

GHCR 镜像启动的用户,备份 data/ 目录后执行:

docker pull ghcr.io/shy3130/tick-stock-panel:latest
docker rm -f tsp

然后按 2.5 重新执行 docker run。Docker Compose 用户更新前先备份,再执行:

git pull
docker compose up --build -d

然后查看日志:

docker compose logs -f

25.2 开发模式更新

更新代码后,根据项目锁文件重新安装依赖并重启 ./dev.sh.\dev.ps1。如页面仍显示旧版本,使用“设置 → 系统设置 → 刷新前端缓存”。

25.3 更新后检查

  1. 首页和设置页能否打开。
  2. 当前版本号是否正确。
  3. 数据画像是否正常。
  4. 自选和策略结果是否正常加载。
  5. 实时行情、AI 和通知连接是否有效。
  6. 重要监控规则是否仍启用。

25.4 禁止使用的清理命令

不要在项目目录执行:

git clean -fdx

该命令可能删除 Git 未跟踪和忽略的文件,包括全部本地用户数据、密钥配置与自定义策略。

26. 常见问题与排错

26.1 页面卡片没有数据

  1. 打开“数据”检查相应数据集是否存在。
  2. 确认日期范围覆盖当前选择日期。
  3. 查看同步任务历史和后端日志。
  4. 完成日 K 后确认 Enriched 是否已生成。

26.2 策略显示 0 个结果

依次检查:

  • 当前是股票还是 ETF。
  • 选择日期是否有数据。
  • 基础过滤是否过严。
  • 策略参数是否合理。
  • 页面结果表是否还有额外筛选。
  • Enriched 是否完成更新。

开启或关闭策略监控不应改变选股数量。如果数量随监控开关变化,应记录策略 ID、日期和操作步骤并查看后端日志。

26.3 策略卡片加载很慢

  • 策略卡片摘要应批量加载,明细在点击后按需加载。
  • 关闭“进入策略页自动运行”。
  • 确认后端没有同时执行全量同步、重算或大量回测。
  • 检查磁盘速度和 Enriched 数据量。
  • 查看浏览器网络请求及后端耗时日志。

26.4 创建策略提示 ID 已存在

  1. 关闭创建对话框并重新打开。
  2. 确认表单没有加载上次完成的草稿。
  3. 在系统设置刷新前端缓存。
  4. 检查 data/strategies/custom/data/strategies/ai/ 是否确有同名策略。

不要仅为消除提示而随意删除文件,先确认文件对应的策略。

26.5 分时或分钟回测不可用

  • 重新检测是否有 Pro+ 或等效分钟能力。
  • 检查分钟数据同步状态和日期范围。
  • 确认标的已加入分钟数据池。
  • 检查实时监控设置中的分时刷新开关。
  • 回测时确认已开启分钟成交选项。

26.6 AI 功能不可用

  • 在“AI 设置”重新测试连接。
  • 检查 API 地址、模型名称和 Key。
  • 检查模型账户余额、预算和调用限额。
  • Codex CLI 模式检查本机登录状态。
  • 查看服务端是否能访问所配置的 AI 地址。

26.7 “规范化 META 失败:找不到 META 字典”

这通常表示 AI 返回内容没有提供可识别的策略元数据。处理方式:

  1. 使用当前版本内置的策略提示词重新生成。
  2. 不要手工删除生成内容中的 META
  3. 检查模型是否截断输出。
  4. 确认模型返回的是完整策略代码,而不是解释性文本。

26.8 财务数据不可用

  • 确认检测到 Expert 或等效财务能力。
  • 在数据页同步财务数据。
  • 检查单表更新时间和任务日志。
  • 历史换手率不正确时,先确认历史股本,再执行批次重算。

26.9 实时行情不刷新

  • 确认当前处于交易时段。
  • 确认 TickFlow Key 和实时能力。
  • 开启“设置 → 实时监控 → 实时行情”。
  • 检查轮询间隔是否符合服务限制。
  • Free 用户确认标的是否位于自选前 5 个。
  • 检查浏览器与后端之间的 SSE 连接。

26.10 跌停或涨停信号不准确

  • 涨跌停规则会随板块、ST 状态和历史日期变化,不能固定按 10% 判断。
  • 确认个股维表和名称/ST 信息已更新。
  • 历史判断应使用对应交易日规则,而不是当前名称直接覆盖历史状态。
  • 实时信号应优先使用合法涨跌停价与实时价格比较,并处理价格精度。

26.11 主线排行或情绪周期里没有 ST 板块

  • 市场环境页的「主线过滤」默认开启"统计剔除 ST 股":名称含 ST 的风险警示股不参与涨停梯队与主线统计,情绪周期驱动指标同口径。
  • 原因:ST 是跨行业的状态标签而非投资题材,且主板 ST 在 2026-07 前涨跌幅为 5%,封板成本减半,混入会系统性抬高涨停宽度与高度。
  • 如需恢复全市场口径,在「市场环境 → 情绪周期 → 主线排行 → 过滤」中关闭开关并保存(会自动全量重算,约 1-2 分钟)。
  • 修改开关或维表名称快照变化后,建议点「重算」使历史与新口径一致。

26.12 飞书或企业微信没有收到通知

  • 测试 Webhook 是否有效。
  • 检查监控规则是否启用且产生触发记录。
  • 检查冷却期。
  • 检查服务端网络能否访问通知地址。
  • 查看后端日志中的发送状态。

26.13 前端仍是旧界面

  1. 打开“设置 → 系统设置”。
  2. 点击“刷新前端缓存”。
  3. 重新加载页面。
  4. Docker 部署确认镜像已重新构建。

26.14 删除策略失败或返回 500

  • 确认删除的是用户策略,不是内置策略。
  • 检查 data/strategies/ 挂载目录是否可写。
  • Docker 部署检查宿主机目录权限。
  • 查看后端错误日志中的文件路径和具体原因。

当前删除逻辑支持从页面删除用户策略文件,不要求用户进入 Docker 容器操作。

26.15 数据删除提示回收站不可用

Windows 沙箱或容器可能无法使用系统回收站。当前版本会在目标通过安全路径校验后使用受控直接删除。若仍失败,检查数据目录权限和挂载状态,不要手工扩大删除范围。

26.16 查看日志

开发模式:查看运行 dev.shdev.ps1 的前后端终端。

Docker 模式:

docker compose logs -f

定位问题时建议同时记录:发生时间、页面、操作步骤、标的或策略 ID、选择日期、错误提示和相关日志。

27. 安全建议

27.1 敏感信息

以下内容不得提交到公开 Git 仓库:

  • .env
  • TickFlow Key。
  • AI API Key。
  • 飞书与企业微信 Webhook。
  • 访问密码。
  • 含个人偏好或敏感数据的完整备份。

27.2 公网部署

  • 必须设置访问密码。
  • 建议通过 HTTPS 反向代理访问。
  • 只开放必要端口。
  • 限制管理页面和数据目录访问。
  • 定期更新项目和基础镜像。
  • 不在日志中打印完整密钥或 Webhook。

27.3 忘记访问密码

认证信息位于:

data/user_data/auth.json

处理前必须停止服务并备份该文件和 data/。直接修改或删除认证文件属于高风险操作,可能改变访问控制状态;应由部署管理员在确认影响后执行,完成后立即重新设置密码。

27.4 第三方代码与插件

安装第三方策略或数据源插件前,应审查代码、依赖和网络访问行为。不要运行来源不明的插件,也不要向第三方提交不必要的本地数据。

27.5 AI 数据边界

使用 AI 功能时,相关行情、财务内容、策略描述和用户输入可能发送到所配置的模型服务。涉及私有策略或敏感数据时,应使用可信服务并确认其存储政策。

28. 常用术语

术语 说明
个股维表 股票代码、名称、市场、行业、股本等基础属性表
日 K 以交易日为周期的开、高、低、收、量、额数据
分钟 K 以分钟为周期的行情数据,用于分时和更精细的回测
除权因子 用于处理分红、送转、拆并股等价格连续性的调整因子
Enriched 在基础行情上计算指标、信号和扩展字段后的策略分析数据
Snapshot 只表达当前状态、不保留每日变化的快照数据
RPS 相对强弱指标,用于比较标的或板块在一段时间内的表现
IC 因子值与未来收益之间的相关性
IR IC 均值相对波动的稳定性指标
IS In-Sample,样本内训练或优化区间
OOS Out-of-Sample,样本外验证区间
步进优化 Walk-Forward Optimization,滚动训练并在相邻区间验证
SSE 服务端向浏览器持续推送更新的连接方式
五档盘口 买卖盘各五档价格与数量,用于辅助判断封板状态
冷却期 规则触发后抑制短时间内重复通知的时长
T+1 A 股买入后通常需下一交易日才能卖出的交易约束
滑点 模拟成交价相对理论价格的不利偏差

相关文档