44 KiB
TickFlow A 股智能量化工作台操作说明书
适用前端版本:0.1.87
文档用途:面向部署者、普通使用者和策略使用者,说明系统安装、配置、数据准备、各功能页面操作、维护与排错方法。
风险提示:本项目用于数据分析和策略研究,不构成任何投资建议。历史表现不代表未来收益,实盘决策及其风险由使用者自行承担。
目录
- 1. 项目概览
- 2. 安装与启动
- 3. 首次进入系统
- 4. 推荐使用流程
- 5. 通用界面与操作
- 6. 看板
- 7. 自选
- 8. 策略
- 9. 回测
- 10. 个股分析
- 11. 连板梯队
- 12. 概念分析
- 13. 行业分析
- 14. 财务分析
- 15. 监控中心
- 16. AI 复盘
- 17. 指数
- 18. 数据
- 19. 设置
- 20. 数据源、扩展数据与插件
- 21. 权限与能力说明
- 22. 数据目录、备份与迁移
- 23. 更新与维护
- 24. 常见问题与排错
- 25. 安全建议
- 26. 常用术语
1. 项目概览
TickFlow A 股智能量化工作台是一套本地优先的 A 股数据分析与策略研究工具,主要功能包括:
- A 股、ETF、指数日 K 与分钟数据管理。
- 自选股管理、行情查看和标的详情分析。
- 内置策略、自定义策略和 AI 创建策略。
- 因子回测、策略回测、参数优化和步进优化。
- 个股、概念、行业、连板梯队及财务分析。
- 策略、价格、涨跌、个股信号和市场异动监控。
- AI 个股分析、财务分析和盘后复盘。
- TickFlow、数据源插件、自定义 HTTP 数据源和扩展数据接入。
系统默认将主要业务数据保存在本机 data/ 目录。除调用所配置的数据源、AI 服务和通知服务外,页面操作与数据管理均围绕本地数据进行。
1.1 使用前须知
- 页面是否显示某项功能,取决于当前版本、TickFlow 能力检测结果及本地是否已有对应数据。
- 分钟 K、五档盘口、财务数据等功能需要相应数据权限。
- 第一次运行后必须先同步基础数据,否则策略、分析和回测页面可能没有结果。
- AI 功能需要单独配置兼容的模型服务或 Codex CLI。
- 策略结果是研究结果,不等同于实盘委托或成交记录。
2. 安装与启动
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 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.6 停止系统
开发模式可在启动终端中按 Ctrl+C 停止。
Docker 模式执行:
docker compose down
docker compose down 默认不会主动删除已挂载的数据目录,但执行带卷删除参数的命令前必须确认数据备份情况。
3. 首次进入系统
3.1 首次配置向导
首次打开页面时,系统会依次引导完成:
- 声明:阅读项目用途和风险说明。
- 欢迎:了解基础功能和使用流程。
- TickFlow Key:填写并检测数据服务 Key;也可以暂时跳过。
- 能力探测:确认日 K、实时行情、分钟 K、财务数据等实际可用能力。
- 完成:进入主界面。
跳过 Key 后仍可进入系统,但依赖 TickFlow 的数据能力会受限。之后可在“设置 → TickFlow”补充配置。
3.2 访问密码
公网或多人可访问的部署必须设置访问密码。首次初始化密码的入口仅应在本机或可信内网使用,密码至少 6 位。也可以通过 .env 中的 AUTH_PASSWORD 预先配置。
3.3 首次同步数据
进入主界面后,优先打开“数据”页面并点击“立即同步”。建议至少准备:
- 个股维表。
- A 股日 K。
- 除权因子。
- Enriched 策略分析表。
需要使用 ETF、指数、分钟 K 或财务分析时,再同步对应数据。
同步任务应等待完成后再进入策略或回测页面。任务失败时查看页面任务记录及后端日志,不要连续重复提交相同任务。
4. 推荐使用流程
新用户建议按照以下顺序使用:
- 在“设置 → TickFlow”保存 Key,并执行“重新检测”。
- 在“数据”页同步个股维表、日 K、除权因子和 Enriched 数据。
- 在“自选”页添加关注标的,熟悉行情和详情对话框。
- 在“策略”页先运行内置策略,确认本地数据链路正常。
- 在“回测”页验证策略历史表现和交易时序。
- 在“设置 → 实时监控”配置实时刷新、飞书或企业微信。
- 在“监控中心”创建规则并观察触发记录。
- 配置 AI 后,再使用个股分析、财务分析和 AI 复盘。
- 定期备份
data/与.env。
5. 通用界面与操作
5.1 左侧菜单
左侧菜单用于切换看板、自选、策略、回测、分析、监控、数据和设置页面。菜单显示和顺序可在“设置 → 菜单设置”调整。
动态扩展分析页面也会出现在左侧菜单中,其内容来自“扩展页面”配置。
5.2 日期口径
策略、分析和连板梯队等页面通常按交易日期展示数据:
- 最新日期不一定是自然日当天,休市日会回退到最近交易日。
- 当日数据未完成同步时,结果可能为空或不完整。
- 切换日期后,应等待页面重新加载对应交易日的数据。
5.3 股票详情对话框
在自选、策略、监控记录、连板梯队和成分股列表中点击股票,通常会打开统一的个股详情对话框。可查看日 K、分时、成交量、量比及其他可用指标。
成交量对比可按前 1 至 20 个交易日设置;大于 1 日时使用对应交易日的平均成交量,不按自然日计算。关闭量比开关或缩小图表显示密度后,辅助标注会按界面规则隐藏。
5.4 概念与行业标签
点击页面中的概念或行业标签,会打开统一的成分股对话框。可在弹窗内查看对应板块成分并继续打开个股详情。该弹窗只负责展示和导航,不改变原页面的筛选状态。
5.5 搜索、筛选和排序
- 搜索一般支持代码、名称或关键词。
- 多个筛选条件可能同时生效,结果异常少时先清除筛选。
- 点击表头或排序控件可切换升序、降序。
- 页面刷新后是否保留筛选取决于对应页面的配置保存方式。
6. 看板
看板用于集中查看市场摘要、监控通知和常用分析入口。
6.1 主要内容
- 市场与指数概览。
- 自选或关注标的摘要。
- 监控通知列表。
- 常用功能入口和业务状态。
6.2 监控通知操作
点击监控通知中的股票名称或代码,会直接打开个股详情对话框,不会在监控卡片内部嵌入个股内容。需要管理规则或查看完整触发历史时,进入“监控中心”。
6.3 数据刷新
看板数据来自本地数据和实时行情服务。数据不更新时依次检查:
- 数据页是否已完成同步。
- “设置 → 实时监控”是否开启实时行情。
- 当前是否处于交易时段。
- TickFlow 能力检测是否包含对应行情权限。
7. 自选
自选页用于维护个人关注标的,并快速查看行情、日 K、分时和常用指标。
7.1 添加标的
- 打开“自选”。
- 使用搜索框输入股票或 ETF 的代码、名称。
- 从结果中选择标的并添加。
也可以使用截图 OCR 导入功能识别截图中的股票,再确认识别结果后批量加入。OCR 结果可能受到图片清晰度影响,提交前应检查代码和名称。
7.2 查看方式
- 表格视图:适合排序、筛选和对比多个字段。
- 卡片视图:适合快速查看单个标的摘要。
- 自定义列:选择需要展示的基础指标、日 K 或分时列。
点击任一标的可打开详情对话框。
7.3 筛选与排序
可按板块和数值条件过滤自选标的,并按指定字段排序。若结果为空,先检查是否存在多个筛选条件叠加。
7.4 列表管理
支持:
- 将标的移到顶部。
- 从自选中移除。
- 清空自选列表。
清空是批量删除操作,执行前应确认。清空自选不会删除行情数据或策略数据。
7.5 实时与分时限制
- Free 能力下,仅自选列表前 5 个标的进入实时监控范围。
- 分时列通常需要 Pro+ 分钟数据能力。
- 有分钟数据权限并不等于页面会自动刷新,还需在“设置 → 实时监控”开启对应刷新开关。
8. 策略
策略页用于运行和管理选股策略,查看指定交易日的候选标的及评分。
8.1 股票与 ETF 策略
页面顶部可切换股票和 ETF。两类策略池相互独立:
- 切换到 ETF 时只展示适用于 ETF 的策略。
- 切回股票时应恢复股票策略列表。
- 当前资产类型会影响数据范围、可用策略及结果。
8.2 策略卡片
策略卡片通常展示策略名称、状态、结果数量和监控状态。策略列表先加载摘要,点击卡片后再按需加载明细,以减少进入页面时的等待时间。
常用操作:
- 点击卡片查看选股结果。
- 切换交易日期查看历史结果。
- 调整基础参数或策略参数后重新计算。
- 开启或关闭该策略的监控。
- 编辑、复制或删除允许管理的用户策略。
监控开关只控制监控行为,不应改变策略选股结果或结果数量。
8.3 “全部”结果
选择“全部”可查看多个策略的合并结果。相同股票可能被多个策略命中,应结合策略名称、评分和命中原因判断,而不是把合并结果当作一个独立策略。
8.4 结果表格
在结果区可进行:
- 按评分、涨跌幅或其他字段排序。
- 使用基础指标与策略字段筛选。
- 调整列表列配置。
- 点击股票查看详情。
- 将标的加入自选。
评分是策略定义的一部分。自定义评分字段若未直接落表,系统会在策略执行时基于可用字段临时计算;若评分仍为空,应检查评分表达式所需字段是否存在、字段名是否正确以及当日数据是否完整。
8.5 参数调整
参数分为两类:
- 基础参数:系统通用的市值、价格、交易状态等过滤条件。
- 策略参数:由具体策略定义的阈值、窗口和信号参数。
修改后需要重新运行或触发页面重算。历史已保存结果不会因为修改当前参数而自动改写,除非主动对对应日期重新计算。
8.6 创建策略
点击“创建策略”后,可选择:
- AI 创建:描述选股目标,由 AI 生成符合项目规范的策略。
- 自定义代码:根据策略模板编写逻辑、参数、评分及元数据。
创建前建议明确:
- 适用资产类型。
- 选股条件。
- 评分标准与排序方向。
- 可调参数及默认值。
- 所需数据字段。
每次打开创建窗口都会创建新的草稿,不应沿用上一次已创建策略的 ID。若出现 ID 重复,关闭窗口后重新打开,并确认正在使用最新前端;仍有问题时执行“设置 → 系统设置 → 刷新前端缓存”。
8.7 自定义策略目录
默认目录:
data/strategies/custom/
data/strategies/ai/
页面删除用户策略时,会删除相应用户策略文件并更新列表;Docker 用户无需进入容器手工删除。内置策略受保护,不会通过用户策略删除操作移除。
删除前应确认策略是否仍被监控规则、回测配置或其他功能引用。
8.8 自动运行
是否在进入策略页时自动运行策略,可在“设置 → 系统设置”调整。策略数量较多或本地数据量较大时,关闭自动运行并按需点击策略卡片,可减少进入页面的计算压力。
9. 回测
回测页包含“因子回测”“策略回测”“参数优化 Beta”和“步进优化 Beta”。开始前应确保回测区间内的数据已同步完整。
9.1 因子回测
用于评估单个因子在历史截面上的区分能力。
主要配置:
- 因子。
- 股票或 ETF。
- 回测起止日期。
- 分组数量。
- 等权或因子加权。
- 佣金等成本参数。
主要结果:
- IC:因子与未来收益的相关性。
- IR:IC 的稳定性指标。
- IC 胜率:IC 方向符合预期的比例。
- 分层收益:各因子分组的收益差异。
- 多空表现:高分组与低分组组合的相对表现。
回测前必须确认因子方向。例如“值越大越好”和“值越小越好”会影响排序和多空定义。
9.2 策略回测
用于把策略信号转换为持仓和交易记录,评估完整交易过程。
基础配置
- 策略与资产类型。
- 股票池。
- 起止日期。
- 基础过滤条件。
- 策略参数。
成交时序
建仓和清仓应分别选择成交口径。日线数据无法证明信号发生后的日内准确成交价,因此通常使用下一可成交时点、当日收盘或次日开盘等明确口径。
开启分钟成交后,如策略支持卖出信号,可选择在信号触发后的下一分钟开盘成交。这里的“下一分钟”表示:信号在当前分钟确认后,使用下一根分钟 K 的开盘价模拟成交,避免使用尚未确认的数据和产生未来函数。
分钟成交需要:
- TickFlow Pro+ 或等效分钟数据能力。
- 回测区间内完整的分钟 K。
- 标的已纳入分钟数据获取范围。
未开启分钟成交时,仍按所选日线成交口径运行,不会影响原有日线回测。
交易约束
- A 股 T+1 约束。
- 佣金。
- 印花税。
- 滑点。
- 最大持仓数量。
- 总敞口。
- 仓位分配方式。
- 止损规则。
- 最大持有期。
结果解读
结果通常包括:
- 净值曲线。
- 总收益与年化收益。
- 夏普比率与索提诺比率。
- 最大回撤。
- 胜率。
- 交易记录和持仓变化。
历史策略结果与回测交易记录不是同一口径:策略结果表示某个交易日“哪些股票被选中”,回测记录还会叠加成交时序、资金、持仓上限、T+1、费用、止损和卖出规则。因此两者数量或日期不完全一致并不代表系统使用了两套选股逻辑。
9.3 参数优化 Beta
参数优化用于在指定范围内搜索策略参数组合。
操作流程:
- 选择策略、资产类型和回测区间。
- 选择优化目标。
- 选择优化模式。
- 勾选需要扫描的参数并设置范围、步长或候选值。
- 启动任务,查看每组参数的结果。
优化任务由独立 worker 执行,可取消并在页面恢复任务状态。参数组合数量会随参数维度快速增长,应从少量参数和较小范围开始。
不要直接把历史区间最优参数视为未来最优参数,需结合样本外验证和稳定性判断。
9.4 步进优化 Beta
步进优化即 Walk-Forward Optimization,用于检验参数在滚动样本外区间的稳定性。
主要参数:
- 训练天数:每一折用于选择参数的历史长度。
- 测试天数:紧接训练区间的样本外验证长度。
- 步进天数:下一折向前移动的长度。
每一折会在训练区间内优化参数,再把选出的参数用于相邻测试区间。重点关注:
- OOS 样本外复利表现。
- IS 到 OOS 的收益退化。
- 各折参数和收益方向的一致性。
- 有效折数量。
如果回测区间太短,无法覆盖训练窗口与测试窗口,任务会失败。此时应延长总区间或缩短训练、测试天数。
10. 个股分析
个股分析用于集中查看单只股票的行情、关键点位和 AI 报告。
10.1 基础分析
- 搜索股票代码或名称。
- 选择标的。
- 查看日 K、成交量和关键价位。
- 根据需要创建点位提醒。
点位提醒可用于价格到达、上穿或下穿指定位置后的监控。创建后应到“监控中心”确认规则状态和触发记录。
10.2 AI 四维分析
配置 AI 后,可对个股生成多维分析报告。报告使用本地可用行情与指标作为上下文,并发送给当前配置的 AI 服务。
同一交易日已有报告时,页面会提示查看现有报告或重新生成。重新生成会产生新的模型调用和费用。
10.3 历史报告
支持查看、复制、删除和重新分析历史报告。复制失败时应确认浏览器剪贴板权限;页面会在浏览器限制原生剪贴板接口时使用兼容方式。
11. 连板梯队
连板梯队用于查看涨停、跌停及其连续状态。
11.1 模式切换
- 涨停模式:涨停、炸板、断板及连板梯队。
- 跌停模式:跌停、翘板、止跌及连跌梯队。
可切换交易日期查看历史结果。涨跌停价格会根据市场、板块、ST 状态及对应日期规则计算,不能简单固定为 10%。
11.2 卡片信息
卡片可能展示:
- 股票名称、代码和涨跌幅。
- 连板或连跌高度。
- 封单量和封单额。
- 概念和行业标签。
- 一字板标签。
“一字”表示当日价格形态满足一字涨停或一字跌停判断。该标签基于已有行情字段计算,不会额外发起高频数据请求。
11.3 五档盘口修正
有 Pro+ 五档能力时,可使用盘口数据修正真假封板状态。若关闭修正或权限不足,页面以日 K/实时行情的可用字段判断。
单股封单监控同样需要对应五档能力。
11.4 板块与成分股
页面会汇总概念与行业分布。点击概念或行业标签可打开成分股列表,再点击成分股查看个股详情。
12. 概念分析
概念分析使用内置的同花顺概念数据,观察板块轮动、强弱和龙头候选。
12.1 数据准备
没有概念数据时,页面会提供获取入口。首次获取完成后再进行分析。概念成分会随数据源更新,不应把旧成分永久视为最新状态。
12.2 主要功能
- 涨幅与 RPS 轮动。
- 领涨主线和领跌方向。
- 概念矩阵。
- 概念搜索和成分数量。
- 龙头候选及评分拆解。
点击概念名称或标签可查看成分股。龙头评分是多个指标的综合结果,应结合成分股走势、流动性和市场环境判断。
13. 行业分析
行业分析使用内置的同花顺行业数据,按行业层级观察强弱、涨跌分布与龙头。
13.1 主要功能
- 切换行业层级。
- 查看最强行业与涨跌行业数量。
- 查看领涨、领跌行业。
- 使用行业矩阵比较行业表现。
- 查看行业成分股和龙头评分。
点击行业标签可打开成分股对话框。不同层级的行业分类范围不同,比较前应确认处于同一层级。
14. 财务分析
财务分析依赖 Expert 或等效财务数据能力。
14.1 数据内容
- 核心财务指标。
- 利润表。
- 资产负债表。
- 现金流量表。
- 股本及历史股本。
历史股本用于改善历史换手率计算:当日数据优先使用最新维表;历史日期有可用历史股本时使用历史股本,没有时回退到最新维表股本。
14.2 同步与更新
可执行全部同步,也可对单张财务表执行更新。首次使用建议全部同步;后续只更新变化的数据可缩短等待时间。
数据页财务卡片支持按 Enriched 批次重新计算历史换手率并覆盖结果。执行前应确认历史股本同步完整;任务期间避免重复发起同一重算。
14.3 个股财务查看
搜索股票后,可查看各报告期指标和报表变化。财报日期、公告日期和交易日期含义不同,分析时应避免使用尚未公告的数据推断更早交易日。
14.4 AI 财务分析
配置 AI 后,可生成财务报告、关注点和风险摘要。支持:
- 复制报告。
- 最小化报告窗口。
- 查看历史报告。
- 重新生成。
本地最多保留 20 条相关历史报告时,应及时导出需要长期保存的内容。
15. 监控中心
监控中心用于管理规则和查看触发历史。页面通常左侧为触发记录,右侧为规则列表或编辑区。
15.1 监控类型
- 策略监控:监控交易信号或选股结果变化。
- 个股信号:监控信号库中的技术或自定义信号。
- 价格/涨跌监控:监控价格、涨跌幅或上下穿条件。
- 市场异动:监控涨跌停、连板或其他市场状态。
15.2 创建规则
- 点击新增规则。
- 选择规则类型与分类。
- 选择作用范围,例如指定标的、策略结果或全市场。
- 添加一个或多个条件。
- 选择条件组合方式:AND 或 OR。
- 设置冷却期、严重级别和提示内容。
- 保存并启用。
AND 要求所有条件同时成立;OR 表示任一条件成立即可。全市场规则计算范围大,创建前应确认数据权限和刷新频率。
15.3 内置信号示例
系统可提供日内分时价格上穿/下穿均价、指标上穿/下穿 0 轴等信号。涉及日内分时的信号需要:
- 分钟 K 或日内分时权限。
- 已开启对应实时监听。
- 标的已加入分钟数据获取范围。
没有分钟数据时,不应使用日 K 猜测日内穿越时点。
15.4 规则管理
规则可启用、停用、编辑和删除。删除需要二次确认,删除规则不会删除股票数据或策略文件。
冷却期用于避免同一条件持续成立时重复发送通知。测试规则时可临时缩短冷却期,正式使用时再恢复合理值。
15.5 触发记录
触发记录支持筛选和清空。点击记录中的股票会打开个股详情对话框;点击概念或行业标签会打开成分股列表。
清空只删除触发历史,不会删除监控规则。
15.6 通知方式
可用通知包括:
- 页面弹窗。
- 通知声效。
- 语音播报。
- 飞书 Webhook。
- 企业微信 Webhook。
- 企业微信智能机器人长连接。
页面通知、声效和语音在“设置 → 系统设置”配置;飞书与企业微信在“设置 → 实时监控”配置。
发送到飞书或企业微信的内容会直接展示业务标题和正文,不添加无意义的产品前缀。类似 ladder 的内部类型会转换为用户可理解的连板/梯队描述。
16. AI 复盘
AI 复盘用于基于市场数据生成盘后总结。
16.1 使用前准备
- 在“设置 → AI 设置”完成模型配置并测试连接。
- 同步当日日 K 和指数数据。
- 如需通知,配置飞书或企业微信。
16.2 生成复盘
- 打开“AI 复盘”。
- 刷新市场数据。
- 可选填写特别关注的方向或问题。
- 开始生成。
- 页面以流式方式展示结果,并在完成后归档。
支持复制、下载 Markdown 和删除历史报告。
16.3 定时复盘与推送
可设置定时复盘。任务运行时需要服务持续在线、数据已更新且 AI 配置有效。生成完成后可推送到飞书或企业微信。
定时任务时间应晚于日 K 和指数数据完成时间,避免用不完整数据生成报告。
17. 指数
指数页用于管理指数列表、指数日 K 与分时行情。
17.1 数据同步
首次使用依次执行:
- 同步指数列表。
- 同步指数日 K。
指数数据与股票策略数据链路隔离,不会混入股票选股范围。
17.2 查看指数
- 搜索并选择指数。
- 设置日期范围。
- 查看指数日 K。
- 在支持时查看与日 K 联动的分时走势。
指数分时通常需要 Pro+ 能力。无权限时,日 K 功能仍可独立使用。
18. 数据
数据页是系统的数据管理中心。策略、回测和分析出现异常时,应先在此确认数据状态。
18.1 数据画像卡片
页面可能包含:
- 个股维表。
- 日 K。
- 除权因子。
- Enriched。
- 指数。
- ETF。
- 分钟 K。
- 财务数据与历史股本。
- 扩展数据。
卡片会显示数据量、日期范围、更新时间或任务状态。卡片显示“有数据”不代表所有日期均完整,应结合起止日期判断。
18.2 立即同步
“立即同步”按当前配置更新数据。执行前可选择数据范围:
- A 股。
- 指数。
- ETF。
同步可能包含多个阶段。关闭浏览器页面一般不会立即停止后端任务,但不要在任务进行中清除数据或重启服务。
18.3 修正数据
用于重新获取或修复指定范围内的异常数据。适用于缺失交易日、字段异常或历史规则更新后的修正。
修正前应先缩小日期和标的范围。全量修正耗时较长,也会增加数据源调用量。
18.4 扩展历史
用于把本地日 K 等数据向更早日期扩展。扩展范围受数据源权限和服务端历史覆盖范围限制。
18.5 Enriched 重算
Enriched 是供策略和分析使用的增强数据表,包含基础行情衍生指标、信号和扩展字段。以下情况通常需要重算:
- 更新了计算逻辑。
- 补充了历史日 K 或除权因子。
- 新增或启用了需要落入 Enriched 的字段。
- 历史结果存在缺失。
可按配置批次计算,避免一次加载全部标的。重算会覆盖对应范围的 Enriched 结果,不会删除原始日 K。
18.6 财务换手率重算
财务数据和历史股本同步后,可点击财务数据卡片上的计算/更新图标,按照 Enriched 的批次设置重新计算历史换手率。
计算规则:
- 当前日期优先使用最新维表股本。
- 历史日期优先使用当时可用的历史股本。
- 缺少历史股本时回退到最新维表股本。
重算会覆盖目标范围中的换手率字段,应等待任务完成并检查日志。
18.7 分钟 K 设置
分钟 K 数据量较大,应明确:
- 需要同步的标的池。
- 日期范围。
- 时间周期。
- 权限和调用频率。
开启日内监控并不自动补齐全部历史分钟 K。用于回测时,应单独确认回测区间覆盖完整。
18.8 扩展数据
可配置 HTTP 拉取、上传 CSV/Excel,或通过 JSON API 写入扩展数据。详细规则见第 20 章。
18.9 测试端点
测试端点用于验证数据源地址、鉴权、响应格式和字段映射。测试成功只代表样例请求可解析,正式同步前还需确认分页、限流和历史范围。
18.10 页面设置与任务时间
可设置:
- 盘前维表任务时间。
- 盘后数据管道时间。
- 实时行情开关。
- 轮询间隔。
- 同步批次等页面参数。
盘后管道应晚于数据源完成当日更新的时间。交易日内频繁运行全量管道可能得到不完整日 K。
18.11 切换数据源
切换后,未配置的数据集会按系统回退规则使用 TickFlow。切换前应先测试新数据源,并确认代码、日期、价格和复权字段能正确归一。
18.12 清除数据
清除数据用于重新初始化本地数据。此操作可能影响所有策略、回测和分析页面。
执行前必须:
- 备份整个
data/目录。 - 确认没有同步或计算任务运行。
- 明确清除范围。
- 预留重新同步时间。
Windows 或受限沙箱中若系统回收站不可用,页面会使用受控的直接删除回退流程;目标路径仍会受到安全校验,不能借此删除任意目录。
19. 设置
设置页包含 TickFlow、AI 设置、实时监控、数据源 Beta、扩展页面、信号库、菜单设置和系统设置。
19.1 TickFlow
可进行:
- 保存或替换 Key。
- 清除 Key。
- 重新检测能力。
- 查看实际能力、RPM、批量限制和检测日志。
更换 Key 后应立即重新检测。页面功能以检测结果为准,不只依据套餐名称判断。
19.2 AI 设置
支持 OpenAI 兼容接口或 Codex CLI,也提供 DeepSeek、通义、GLM、Kimi 和自定义服务等配置预设。
常用配置:
- API 地址。
- 模型名称。
- API Key。
- 其他服务所需参数。
Codex CLI 模式可复用本机登录态。保存前先执行“测试连接”,确认地址、模型和认证有效。
AI 分析会把所需行情、指标、财务信息和用户输入发送给所配置的模型服务。使用第三方服务前应了解其数据和隐私政策。
19.3 实时监控
可设置:
- 是否开启实时行情。
- 轮询间隔。
- 页面 SSE 刷新范围。
- 自选日 K/分时图刷新。
- 策略日 K/分时图刷新。
- 左侧指数卡片刷新。
- 连板五档盘口修正。
- 飞书和企业微信 Webhook。
- 企业微信智能机器人长连接。
Free 能力仅实时覆盖自选前 5 个标的。轮询间隔不应低于数据源允许的频率,否则可能触发限流。
实时刷新时,已有日 K/分时内容会保留到新数据返回后再更新,避免列表列短暂消失和闪烁。
19.4 数据源 Beta
支持:
- TickFlow。
- 数据源插件。
- 自定义数据源。
插件可安装、启用、停用和卸载。自定义源可配置日 K、除权因子、实时行情和分钟 K 等数据集。
配置项通常包括 URL、请求方法、鉴权、RPM、批量大小、超时、响应数据路径和字段映射。未配置的数据集按回退规则使用 TickFlow。
19.5 扩展页面
扩展页面用于把扩展数据字段组合成动态分析页面,并加入左侧菜单。配置时应选择数据集、展示字段、筛选项和页面名称。
删除扩展页面只移除页面配置,不等同于删除扩展数据集。
19.6 信号库
- 内置信号只读,保证系统规则稳定。
- 自定义信号由字段、运算符和值组成。
- 启用后生成
csg_*信号字段。 - 信号可用于策略、回测和监控。
编辑信号前应确认字段的数据频率。日线字段不能准确替代分钟级触发条件。
19.7 菜单设置
支持拖动排序、显示/隐藏菜单和配置数字徽标。扩展页面也可以参与排序。
隐藏菜单只影响导航显示,不删除页面数据或功能配置。
19.8 系统设置
可设置:
- 进入策略页是否自动运行。
- 监控通知弹窗。
- 通知声效。
- 语音播报。
- 播报语音选择。
- 刷新前端缓存。
- 查看当前版本和检查更新。
“刷新前端缓存”用于解决升级后仍显示旧页面的问题,不会清除用户配置和本地股票数据。
20. 数据源、扩展数据与插件
20.1 插件化原则
项目的数据接入已经插件化。新增第三方数据源时,应通过数据源插件或自定义数据源配置接入,不建议直接修改核心同步流程。
插件负责把来源各异的数据转换为项目统一格式,业务页面只依赖统一的数据接口。这样可以避免第三方接口变化影响策略、回测和分析逻辑。
20.2 自定义数据源
适合通过 HTTP API 提供标准数据的场景。接入步骤:
- 新建自定义数据源。
- 为需要的数据集配置端点。
- 设置请求方法和鉴权。
- 设置 RPM、批量大小和超时。
- 指定响应中的数据路径。
- 完成字段映射。
- 测试端点。
- 小范围同步并核对数据。
- 再切换为正式数据源。
至少要正确处理代码、交易日期、开高低收、成交量/额以及复权相关字段。日期、单位或代码格式错误可能不会立即报错,但会产生错误指标。
20.3 数据源插件
插件适合复杂鉴权、分页、签名、多个端点组合或特殊数据规范。插件应只承担数据获取和归一化职责,策略与页面不应依赖插件内部实现。
安装第三方插件前应检查来源和代码。插件运行在本地服务环境中,可能具备读取配置和访问网络的能力。
开发细节参见:
20.4 扩展数据接入
支持:
- HTTP 定时拉取。
- CSV/Excel 文件上传。
- JSON API 写入。
数据至少必须归一到 symbol,才能与股票维表和其他分析数据关联。
存储模式:
- Snapshot:只保留当前状态,适合标签、分类和最新属性。
- 时序模式:按日期保存历史值,适合每日指标、评分或事件。
选择错误的存储模式会影响历史回测。例如会随时间变化的指标不应只保存为当前快照。
20.5 扩展分析页面
扩展数据同步成功后,可在“设置 → 扩展页面”选择字段并生成动态分析菜单。页面只负责展示已接入数据,不会自动把字段加入所有策略。
需要在策略中使用扩展字段时,应确认该字段已进入对应策略数据链路或 Enriched 数据。
21. 权限与能力说明
下表用于快速理解常见能力,最终以“设置 → TickFlow → 重新检测”的实际结果为准。
| 能力级别 | 常见可用能力 | 主要限制或用途 |
|---|---|---|
| None | 历史日 K | 无需 Key;盘后通常约 1 至 2 小时更新 |
| Free | 历史日 K、自选前 5 个标的实时行情 | 实时刷新最低约 6 秒;覆盖范围有限 |
| Starter+ | 全市场实时能力 | 适合更广范围实时行情和监控 |
| Pro+ | 分钟 K、批量五档等 | 用于分时、分钟回测、封单与盘口修正 |
| Expert | 财务数据 | 用于财务分析、历史股本和相关重算 |
能力名称和服务策略可能变化,因此:
- 保存 Key 后执行“重新检测”。
- 查看检测日志、RPM 和批量限制。
- 页面提示权限不足时,以具体缺失能力为准。
- 使用第三方插件时,以插件实现的数据集能力为准。
22. 数据目录、备份与迁移
22.1 主要目录
项目数据主要位于:
data/
Docker 容器内通常为:
/app/data
自定义和 AI 策略通常位于:
data/strategies/custom/
data/strategies/ai/
22.2 备份内容
至少备份:
- 整个
data/目录。 .env。- 额外安装的数据源插件或自定义部署配置。
.env 含敏感信息,备份文件应加密或保存在可信位置。
22.3 备份时机
建议在以下操作前备份:
- 升级项目。
- 清除或全量重算数据。
- 更换数据源。
- 调整数据库或存储结构。
- 迁移服务器。
备份时最好先停止服务,或至少确认没有同步、回测和重算任务运行,以保证文件一致性。
22.4 迁移
迁移到新机器的一般步骤:
- 在原机器停止服务。
- 备份
data/、.env和额外插件。 - 在新机器获取相同或兼容版本代码。
- 恢复上述文件到对应位置。
- 启动服务。
- 重新检测 TickFlow 与 AI 连接。
- 抽查自选、策略、数据范围和监控规则。
跨系统迁移时,应检查文件权限和 Docker 挂载路径。
23. 更新与维护
23.1 Docker 更新
更新前先备份,再执行:
git pull
docker compose up --build -d
然后查看日志:
docker compose logs -f
23.2 开发模式更新
更新代码后,根据项目锁文件重新安装依赖并重启 ./dev.sh 或 .\dev.ps1。如页面仍显示旧版本,使用“设置 → 系统设置 → 刷新前端缓存”。
23.3 更新后检查
- 首页和设置页能否打开。
- 当前版本号是否正确。
- 数据画像是否正常。
- 自选和策略结果是否正常加载。
- 实时行情、AI 和通知连接是否有效。
- 重要监控规则是否仍启用。
23.4 禁止使用的清理命令
不要在项目目录执行:
git clean -fdx
该命令可能删除 Git 未跟踪和忽略的文件,包括全部本地用户数据、密钥配置与自定义策略。
24. 常见问题与排错
24.1 页面卡片没有数据
- 打开“数据”检查相应数据集是否存在。
- 确认日期范围覆盖当前选择日期。
- 查看同步任务历史和后端日志。
- 完成日 K 后确认 Enriched 是否已生成。
24.2 策略显示 0 个结果
依次检查:
- 当前是股票还是 ETF。
- 选择日期是否有数据。
- 基础过滤是否过严。
- 策略参数是否合理。
- 页面结果表是否还有额外筛选。
- Enriched 是否完成更新。
开启或关闭策略监控不应改变选股数量。如果数量随监控开关变化,应记录策略 ID、日期和操作步骤并查看后端日志。
24.3 策略卡片加载很慢
- 策略卡片摘要应批量加载,明细在点击后按需加载。
- 关闭“进入策略页自动运行”。
- 确认后端没有同时执行全量同步、重算或大量回测。
- 检查磁盘速度和 Enriched 数据量。
- 查看浏览器网络请求及后端耗时日志。
24.4 创建策略提示 ID 已存在
- 关闭创建对话框并重新打开。
- 确认表单没有加载上次完成的草稿。
- 在系统设置刷新前端缓存。
- 检查
data/strategies/custom/和data/strategies/ai/是否确有同名策略。
不要仅为消除提示而随意删除文件,先确认文件对应的策略。
24.5 分时或分钟回测不可用
- 重新检测是否有 Pro+ 或等效分钟能力。
- 检查分钟数据同步状态和日期范围。
- 确认标的已加入分钟数据池。
- 检查实时监控设置中的分时刷新开关。
- 回测时确认已开启分钟成交选项。
24.6 AI 功能不可用
- 在“AI 设置”重新测试连接。
- 检查 API 地址、模型名称和 Key。
- 检查模型账户余额、预算和调用限额。
- Codex CLI 模式检查本机登录状态。
- 查看服务端是否能访问所配置的 AI 地址。
24.7 “规范化 META 失败:找不到 META 字典”
这通常表示 AI 返回内容没有提供可识别的策略元数据。处理方式:
- 使用当前版本内置的策略提示词重新生成。
- 不要手工删除生成内容中的
META。 - 检查模型是否截断输出。
- 确认模型返回的是完整策略代码,而不是解释性文本。
24.8 财务数据不可用
- 确认检测到 Expert 或等效财务能力。
- 在数据页同步财务数据。
- 检查单表更新时间和任务日志。
- 历史换手率不正确时,先确认历史股本,再执行批次重算。
24.9 实时行情不刷新
- 确认当前处于交易时段。
- 确认 TickFlow Key 和实时能力。
- 开启“设置 → 实时监控 → 实时行情”。
- 检查轮询间隔是否符合服务限制。
- Free 用户确认标的是否位于自选前 5 个。
- 检查浏览器与后端之间的 SSE 连接。
24.10 跌停或涨停信号不准确
- 涨跌停规则会随板块、ST 状态和历史日期变化,不能固定按 10% 判断。
- 确认个股维表和名称/ST 信息已更新。
- 历史判断应使用对应交易日规则,而不是当前名称直接覆盖历史状态。
- 实时信号应优先使用合法涨跌停价与实时价格比较,并处理价格精度。
24.11 飞书或企业微信没有收到通知
- 测试 Webhook 是否有效。
- 检查监控规则是否启用且产生触发记录。
- 检查冷却期。
- 检查服务端网络能否访问通知地址。
- 查看后端日志中的发送状态。
24.12 前端仍是旧界面
- 打开“设置 → 系统设置”。
- 点击“刷新前端缓存”。
- 重新加载页面。
- Docker 部署确认镜像已重新构建。
24.13 删除策略失败或返回 500
- 确认删除的是用户策略,不是内置策略。
- 检查
data/strategies/挂载目录是否可写。 - Docker 部署检查宿主机目录权限。
- 查看后端错误日志中的文件路径和具体原因。
当前删除逻辑支持从页面删除用户策略文件,不要求用户进入 Docker 容器操作。
24.14 数据删除提示回收站不可用
Windows 沙箱或容器可能无法使用系统回收站。当前版本会在目标通过安全路径校验后使用受控直接删除。若仍失败,检查数据目录权限和挂载状态,不要手工扩大删除范围。
24.15 查看日志
开发模式:查看运行 dev.sh 或 dev.ps1 的前后端终端。
Docker 模式:
docker compose logs -f
定位问题时建议同时记录:发生时间、页面、操作步骤、标的或策略 ID、选择日期、错误提示和相关日志。
25. 安全建议
25.1 敏感信息
以下内容不得提交到公开 Git 仓库:
.env。- TickFlow Key。
- AI API Key。
- 飞书与企业微信 Webhook。
- 访问密码。
- 含个人偏好或敏感数据的完整备份。
25.2 公网部署
- 必须设置访问密码。
- 建议通过 HTTPS 反向代理访问。
- 只开放必要端口。
- 限制管理页面和数据目录访问。
- 定期更新项目和基础镜像。
- 不在日志中打印完整密钥或 Webhook。
25.3 忘记访问密码
认证信息位于:
data/user_data/auth.json
处理前必须停止服务并备份该文件和 data/。直接修改或删除认证文件属于高风险操作,可能改变访问控制状态;应由部署管理员在确认影响后执行,完成后立即重新设置密码。
25.4 第三方代码与插件
安装第三方策略或数据源插件前,应审查代码、依赖和网络访问行为。不要运行来源不明的插件,也不要向第三方提交不必要的本地数据。
25.5 AI 数据边界
使用 AI 功能时,相关行情、财务内容、策略描述和用户输入可能发送到所配置的模型服务。涉及私有策略或敏感数据时,应使用可信服务并确认其存储政策。
26. 常用术语
| 术语 | 说明 |
|---|---|
| 个股维表 | 股票代码、名称、市场、行业、股本等基础属性表 |
| 日 K | 以交易日为周期的开、高、低、收、量、额数据 |
| 分钟 K | 以分钟为周期的行情数据,用于分时和更精细的回测 |
| 除权因子 | 用于处理分红、送转、拆并股等价格连续性的调整因子 |
| Enriched | 在基础行情上计算指标、信号和扩展字段后的策略分析数据 |
| Snapshot | 只表达当前状态、不保留每日变化的快照数据 |
| RPS | 相对强弱指标,用于比较标的或板块在一段时间内的表现 |
| IC | 因子值与未来收益之间的相关性 |
| IR | IC 均值相对波动的稳定性指标 |
| IS | In-Sample,样本内训练或优化区间 |
| OOS | Out-of-Sample,样本外验证区间 |
| 步进优化 | Walk-Forward Optimization,滚动训练并在相邻区间验证 |
| SSE | 服务端向浏览器持续推送更新的连接方式 |
| 五档盘口 | 买卖盘各五档价格与数量,用于辅助判断封板状态 |
| 冷却期 | 规则触发后抑制短时间内重复通知的时长 |
| T+1 | A 股买入后通常需下一交易日才能卖出的交易约束 |
| 滑点 | 模拟成交价相对理论价格的不利偏差 |