mirror of
https://ghfast.top/https://github.com/aeroxw/tick-stock-panel.git
synced 2026-09-12 16:44:15 +08:00
- 核心功能表改 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 补镜像更新命令
1389 lines
51 KiB
Markdown
1389 lines
51 KiB
Markdown
# TickFlow A 股智能量化工作台操作说明书
|
|
|
|
> 适用前端版本:0.1.87
|
|
>
|
|
> 文档用途:面向部署者、普通使用者和策略使用者,说明系统安装、配置、数据准备、各功能页面操作、维护与排错方法。
|
|
>
|
|
> 风险提示:本项目用于数据分析和策略研究,不构成任何投资建议。历史表现不代表未来收益,实盘决策及其风险由使用者自行承担。
|
|
|
|
## 目录
|
|
|
|
- [1. 项目概览](#1-项目概览)
|
|
- [2. 安装与启动](#2-安装与启动)
|
|
- [3. 首次进入系统](#3-首次进入系统)
|
|
- [4. 推荐使用流程](#4-推荐使用流程)
|
|
- [5. 通用界面与操作](#5-通用界面与操作)
|
|
- [6. 看板](#6-看板)
|
|
- [7. 自选](#7-自选)
|
|
- [8. 策略](#8-策略)
|
|
- [9. 回测](#9-回测)
|
|
- [10. 因子](#10-因子)
|
|
- [11. 信号库与持仓提醒](#11-信号库与持仓提醒)
|
|
- [12. 个股分析](#12-个股分析)
|
|
- [13. 连板梯队](#13-连板梯队)
|
|
- [14. 概念分析](#14-概念分析)
|
|
- [15. 行业分析](#15-行业分析)
|
|
- [16. 财务分析](#16-财务分析)
|
|
- [17. 监控中心](#17-监控中心)
|
|
- [18. AI 复盘](#18-ai-复盘)
|
|
- [19. 指数](#19-指数)
|
|
- [20. 数据](#20-数据)
|
|
- [21. 设置](#21-设置)
|
|
- [22. 数据源、扩展数据与插件](#22-数据源扩展数据与插件)
|
|
- [23. 权限与能力说明](#23-权限与能力说明)
|
|
- [24. 数据目录、备份与迁移](#24-数据目录备份与迁移)
|
|
- [25. 更新与维护](#25-更新与维护)
|
|
- [26. 常见问题与排错](#26-常见问题与排错)
|
|
- [27. 安全建议](#27-安全建议)
|
|
- [28. 常用术语](#28-常用术语)
|
|
|
|
## 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 准备环境配置
|
|
|
|
进入项目根目录,复制环境变量模板:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
按需编辑 `.env`。密钥、访问密码和 Webhook 等敏感信息不要提交到 Git。
|
|
|
|
### 2.3 macOS/Linux 开发模式
|
|
|
|
在项目根目录执行:
|
|
|
|
```bash
|
|
./dev.sh
|
|
```
|
|
|
|
默认访问地址:
|
|
|
|
- 前端:`http://localhost:3011`
|
|
- 后端:`http://localhost:3018`
|
|
|
|
开发模式下,前后端通常分别输出日志。遇到启动或接口问题时,先查看对应终端中的错误信息。
|
|
|
|
### 2.4 Windows 开发模式
|
|
|
|
在 PowerShell 中执行:
|
|
|
|
```powershell
|
|
.\dev.ps1
|
|
```
|
|
|
|
默认访问地址与 macOS/Linux 开发模式一致。
|
|
|
|
### 2.5 GHCR 镜像启动
|
|
|
|
已安装 Docker 的用户可以直接拉取 GitHub Actions 自动构建的现成镜像,无需克隆代码,也不用本地构建:
|
|
|
|
```bash
|
|
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](./docs/deployment.md) 传入构建参数。
|
|
|
|
### 2.6 Docker 部署
|
|
|
|
在项目根目录执行:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
docker compose up --build
|
|
```
|
|
|
|
启动完成后访问:
|
|
|
|
```text
|
|
http://localhost:3018
|
|
```
|
|
|
|
后台运行可使用:
|
|
|
|
```bash
|
|
docker compose up --build -d
|
|
```
|
|
|
|
查看运行日志:
|
|
|
|
```bash
|
|
docker compose logs -f
|
|
```
|
|
|
|
Docker 中的 `/app/data` 应映射到宿主机持久化目录。不要仅将数据保存在容器可写层,否则重新创建容器后可能丢失数据。
|
|
|
|
### 2.7 停止系统
|
|
|
|
开发模式可在启动终端中按 `Ctrl+C` 停止。
|
|
|
|
Docker 模式执行:
|
|
|
|
```bash
|
|
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 自定义策略目录
|
|
|
|
默认目录:
|
|
|
|
```text
|
|
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 章](#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 数据源插件
|
|
|
|
插件适合复杂鉴权、分页、签名、多个端点组合或特殊数据规范。插件应只承担数据获取和归一化职责,策略与页面不应依赖插件内部实现。
|
|
|
|
安装第三方插件前应检查来源和代码。插件运行在本地服务环境中,可能具备读取配置和访问网络的能力。
|
|
|
|
开发细节参见:
|
|
|
|
- [自定义数据源说明](docs/custom-data-source.md)
|
|
- [插件开发说明](docs/plugin-development.md)
|
|
|
|
### 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 主要目录
|
|
|
|
项目数据主要位于:
|
|
|
|
```text
|
|
data/
|
|
```
|
|
|
|
Docker 容器内通常为:
|
|
|
|
```text
|
|
/app/data
|
|
```
|
|
|
|
自定义和 AI 策略通常位于:
|
|
|
|
```text
|
|
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/` 目录后执行:
|
|
|
|
```bash
|
|
docker pull ghcr.io/shy3130/tick-stock-panel:latest
|
|
docker rm -f tsp
|
|
```
|
|
|
|
然后按 2.5 重新执行 `docker run`。Docker Compose 用户更新前先备份,再执行:
|
|
|
|
```bash
|
|
git pull
|
|
docker compose up --build -d
|
|
```
|
|
|
|
然后查看日志:
|
|
|
|
```bash
|
|
docker compose logs -f
|
|
```
|
|
|
|
### 25.2 开发模式更新
|
|
|
|
更新代码后,根据项目锁文件重新安装依赖并重启 `./dev.sh` 或 `.\dev.ps1`。如页面仍显示旧版本,使用“设置 → 系统设置 → 刷新前端缓存”。
|
|
|
|
### 25.3 更新后检查
|
|
|
|
1. 首页和设置页能否打开。
|
|
2. 当前版本号是否正确。
|
|
3. 数据画像是否正常。
|
|
4. 自选和策略结果是否正常加载。
|
|
5. 实时行情、AI 和通知连接是否有效。
|
|
6. 重要监控规则是否仍启用。
|
|
|
|
### 25.4 禁止使用的清理命令
|
|
|
|
不要在项目目录执行:
|
|
|
|
```bash
|
|
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.sh` 或 `dev.ps1` 的前后端终端。
|
|
|
|
Docker 模式:
|
|
|
|
```bash
|
|
docker compose logs -f
|
|
```
|
|
|
|
定位问题时建议同时记录:发生时间、页面、操作步骤、标的或策略 ID、选择日期、错误提示和相关日志。
|
|
|
|
## 27. 安全建议
|
|
|
|
### 27.1 敏感信息
|
|
|
|
以下内容不得提交到公开 Git 仓库:
|
|
|
|
- `.env`。
|
|
- TickFlow Key。
|
|
- AI API Key。
|
|
- 飞书与企业微信 Webhook。
|
|
- 访问密码。
|
|
- 含个人偏好或敏感数据的完整备份。
|
|
|
|
### 27.2 公网部署
|
|
|
|
- 必须设置访问密码。
|
|
- 建议通过 HTTPS 反向代理访问。
|
|
- 只开放必要端口。
|
|
- 限制管理页面和数据目录访问。
|
|
- 定期更新项目和基础镜像。
|
|
- 不在日志中打印完整密钥或 Webhook。
|
|
|
|
### 27.3 忘记访问密码
|
|
|
|
认证信息位于:
|
|
|
|
```text
|
|
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 股买入后通常需下一交易日才能卖出的交易约束 |
|
|
| 滑点 | 模拟成交价相对理论价格的不利偏差 |
|
|
|
|
## 相关文档
|
|
|
|
- [项目说明](README.md)
|
|
- [功能说明](docs/features.md)
|
|
- [配置说明](docs/configuration.md)
|
|
- [部署说明](docs/deployment.md)
|
|
- [策略开发说明](docs/strategy.md)
|
|
- [自定义数据源说明](docs/custom-data-source.md)
|
|
- [插件开发说明](docs/plugin-development.md)
|