shy3130 cd7a08c1ce docs(release): 添加 v0.1.60 发布说明
 新增
- 实时行情分档:None 仅历史日K / Free 监控自选前 5 / Starter+ 全市场
- 自选股移到顶部,调整监控优先级
- 复盘页(Beta)
- 盘后管道数据范围页面化配置

🛠 优化
- Free 自选股实时卡片高亮 + 显示代码名称
- 档位说明弹层补充权益包含关系,更新各档描述
- 实时行情入口图标改设置齿轮,None 档补注册链接
- README 同步档位边界与数据通道说明

🐛 修复
- 盘后管道 _prefs 变量作用域崩溃
- 轮询间隔滑动条请求风暴(2 秒防抖)
- 自选股实时卡片只显示代码不显示名称
2026-06-27 23:41:41 +08:00
2026-06-27 23:23:34 +08:00
2026-06-27 23:35:31 +08:00
2026-06-27 23:23:34 +08:00
2026-06-26 11:06:59 +08:00
2026-06-27 23:27:20 +08:00
2026-06-27 23:23:34 +08:00
2026-06-25 00:28:56 +08:00

📈 A股智能量化工作台

自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台

License: MIT Python React Data: TickFlow Deploy: Docker GitHub stars

基于 TickFlow 数据 · 🚀 开箱即用(单容器 / None 模式) 能力驱动,适配 None → Expert 全档位订阅 · 🔌 自由接入第三方扩展数据(例如 Tushare、自有量化项目数据)

核心功能 · 快速开始 · 配置 · 路线图

⚠️说明:目前项目基于TickFlow数据源。无需付费即可使用策略+回测等功能.自有个性化数据源可接入扩展数据使用。

如果觉得有用,请Star支持一下,蟹蟹🌹


🎯 项目定位

让任何个人散户 / 量化爱好者,零运维地拥有一套属于自己策略定制的 A 股分析、选股、监控工作台。
基于 TickFlow Key 零成本获取数据,并使用策略定制+监控+回测功能。 内置ths概念、ths行业数据。可接入第三方自有个性化扩展数据(人气、资金流向等)。

项目所需配置:

配置项 说明 是否必填
TickFlow API Key 数据源凭证,留空启用 None 模式;免费注册 Key 后进入 Free 模式,可使用历史日K与自选股实时监控 可选
AI 大模型 API Key 用于 AI 生成策略、个股分析、财务分析等,任意 OpenAI 兼容接口,留空关闭 可选
看板 Dashboard 策略 Screener
看板页面 策略页
回测 Backtest 监控中心 Monitor
回测页 监控中心
连板梯队 Limit Ladder 概念分析 Concept
连板梯队页 概念分析

⚠️ 🚧 项目持续优化,功能陆续开放,敬请期待。

明确不做:不对标同花顺/通达信的全功能股票软件;不内置任何「AI 荐股 / 涨停预测」。


核心功能

🔍 选股引擎(Screener)

20 个内置策略 —— 每个策略是一个独立 Python 文件(backend/app/strategy/builtin/),基于 Polars 表达式实现:

类型 代表策略
趋势 趋势突破 · 均线多头 · 缩量回踩
形态 MA 金叉 · MACD 金叉放量 · 布林突破
量价 量价齐升 · 高换手强势 · 强势高开
涨停 连板股 · 断板反包 · 逼近涨停 · 涨停动量
反转 超跌反弹 · 超卖反转 · 新低反转
波动 低波动龙头 · 回踩 MA20 反弹
  • 自定义信号系统 —— 在 UI 上用 字段 + 操作符 + 阈值 组合(entry / exit / both),编译成 Polars 表达式热加载,无需写代码即可定义自己的买卖信号。
  • 策略商店 —— 内置策略 + 用户自定义策略统一管理,支持参数覆盖(params 暴露阈值)。

添加自己的策略

除 20 个内置策略外,你可以用两种方式扩展:

方式 说明 前提
🤖 AI 生成 用自然语言描述策略思路,LLM 读取 strategy-guide.md 自动生成完整 Polars 策略文件(经 ast 安全校验,限定 import polars as pl)。生成后落入 data/strategies/ai/,即刻可用 需先在 配置 中填入 AI Key
📝 代码自定义 / 策略迁移 参照 策略开发指南 的文件结构模板,把你已有的自有策略改写为 Polars 文件放入 data/strategies/custom/(文件名/ID 建议 custom_时间戳),引擎自动发现加载——轻松迁移你现成的量化项目策略,无需从头重写
🎛️ 自定义信号配置 不写代码,在 UI 上用 字段 + 操作符 + 阈值 组合(entry / exit / both),编译成 Polars 表达式热加载,即可定义自己的买卖信号

引擎按 source 标记来源:builtin(内置)/ custom(手写或迁移)/ ai(生成),三者统一进入策略商店管理。

📊 指标流水线(Indicators)

原生 Polars 向量化计算,全 A 股一次扫表落盘为 enriched Parquet:

分类 指标
均线系 MA(5/10/20/30/60)· EMA(5/10/12/20/26/30/60)
趋势系 MACD(DIF/DEA/HIST)· 动量(5/10/20/30/60d)· 布林带(上/下轨)
震荡系 RSI(可配周期)· KDJ(K/D/J)
波动系 ATR(14)· 年化波动率(20d)· 振幅
量能系 量比(5d/10d)· 量均线
涨跌停 涨停信号 · 连板数 · 涨跌幅 · 涨跌额
原子信号 MA 金叉/死叉 · MA20 突破/跌破 · MACD 金叉/死叉 · N 日新高/新低 · 布林突破
复权 基于除权因子自动计算前复权(ex_factor / cum_factor),回测与指标一致

🧪 回测引擎(Backtest)

基于 vectorbt:

  • 三种回测模式:个股 · 策略组合 · 自由信号组合
  • 真实约束:T+1 · 手续费 · 滑点(基点) · 止损 · 最大持仓天数
  • 组合管理:最大持仓数 · 最大敞口 · 等权 / 自定义仓位
  • SSE 流式进度:长任务实时推送进度,支持刷新 / 切页后重连恢复(相同参数任务只启动一次)
  • 统计输出:净值曲线 · 夏普 · 最大回撤 · 胜率 · 每笔交易明细

📡 监控中心(Monitor)

统一监控规则引擎 —— 一个页面管理所有类型的监控,实时推送 + 持久化触发记录:

  • 四类监控:策略监控 · 个股信号监控(选信号即加) · 个股价格/涨跌监控 · 全市场异动监控
  • 灵活条件:多条件 AND/OR 组合 + 冷却期去重(防刷屏) + 严重级别(info/warn/critical)
  • 多入口配置:监控中心页面新建规则 · 个股详情页「加监控」· 策略卡片一键开启
  • 实时 SSE 推送:命中规则后右下角弹窗通知(可配声效) + 持久化到 alerts.jsonl
  • 触发记录:时间倒序展示,支持按来源过滤 · 单条删除 · 清空 · 点击查看个股日K
  • 菜单未读徽标:离开监控中心后有新触发,菜单显示未读数;进入页面后清零

🤖 AI 策略生成(可选)

  • 自然语言 → 策略代码:用一句话描述策略思路,LLM 读取 docs/strategy-guide.md 生成完整 Polars 策略文件
  • 沙箱约束:生成代码经 ast 校验、限定 import polars as pl,避免逐行循环,优先向量化表达
  • 可插拔:留空 AI 配置即跳过整个模块,不影响核心功能

📈 个股分析(Beta)

以「行情 + 关键价位」为视觉主体的单标的决策页,与「财务分析」(财务质量评级)定位互补:

  • 专用日 K 图表:不复用行情浏览图表,主图 + 成交量 + 滑块三段布局,默认展示近 6 个月,9 类关键价位可逐组开关
  • 9 类关键价位(均纯函数实时计算,毫秒级):
类型 算法 说明
压力支撑 布林带上下轨 近期波动边界
成交密集区 成交量分布 POC + 高成交带 筹码密集价位
枢轴点 经典 Pivot P/R1R3/S1S3 可配档位(1~3 档)
前高前低 60/250 日极值 + swing 高低点 历史转折参照
Keltner 通道 MA20/60/120 ± n×ATR(短/中/长) 波动自适应趋势边界
ATR 止损 close ± 1.5/2×ATR 动态止盈止损位
缺口位 近 120 日未回补跳空缺口 天然支撑/阻力
斐波那契 近期波段 0.236~0.786 回撤 经典回撤位
整数关口 当前价附近心理整数位 自适应步长
  • AI 四维分析:技术面 / 基本面 / 财务面 / 消息面流式生成,NDJSON 推送,「实战派交易员」视角输出买卖区间与操作建议
  • 蓝色胶囊:与财务分析(紫色)并存的全局气泡,支持最小化后台生成、复制全文、历史报告(最多 50 条)
  • 记忆最近查看:进入页面自动回显上次查看的个股

🧰 数据与扩展

  • 多源数据:TickFlow 日 K / 分钟 K / 指数 / 财务(利润 / 资产负债 / 现金流)/ 实时行情
  • 实时行情分档:None 仅历史日K(当日数据通常盘后 1-2 小时可用);Free 可监控自选页前 5 个标的(最低 6 秒刷新);Starter+ 使用全市场实时行情
  • 🔌 第三方数据接入(重点) —— TickFlow 之外的数据也能用:
    • 支持 Tushare 等第三方数据源,通过 HTTP 定时拉取自动入库
    • 支持 CSV / Excel 上传 · JSON 写入,自动 schema 发现与符号归一
    • 页面可视化配置扩展数据表,无需改代码
    • 可接入你自己的量化项目数据,统一并入 DuckDB 查询面,与内置数据同台分析
  • 盘后定时管道:APScheduler 15:30 CST 自动拉日 K + 重算 enriched 表 + 跑监控
  • 令牌桶限流:适配各档位 rpm / batch 上限,批量合并 + 增量拉取,同一份数据多面板复用

🚀 快速开始

前置依赖

工具 版本 安装
Python ≥ 3.11 python.org
Node ≥ 20 nodejs.org
uv latest curl -LsSf https://astral.sh/uv/install.sh | sh
pnpm 9 npm i -g pnpmcorepack enable && corepack prepare pnpm@9 --activate

方式 A:Dev 模式(二次开发,最推荐)

cp .env.example .env       # 填 TICKFLOW_API_KEY,留空则启用 None 模式

一键启动(推荐,自动检查\下载依赖 / 释放端口 / 同时起前后端,Ctrl-C 一并关闭):

平台 命令
macOS / Linux ./dev.sh
Windows (PowerShell) .\dev.ps1

方式 B:Docker(最省心,可部署)

cp .env.example .env       # 按需填写 Key(留空即 None 模式,可直接体验历史日K)
docker compose up --build
# 打开 http://localhost:3018

如果你的 VPS / 物理机 CPU 较老,docker compose up --build 时出现类似 Missing required CPU features: avx2, fma, bmi1... 或容器 exit code 132, 先在 .env 里打开 Polars 兼容运行时再重建:

BACKEND_EXTRAS=legacy-cpu
# 需要回测可同时启用(空格分隔):BACKEND_EXTRAS=legacy-cpu backtest
docker compose up --build

legacy-cpu 会让后端安装 polars[rtcompat],适用于不支持 AVX2/FMA 的老 CPU; 默认留空则保持 Polars 高性能运行时。该 wheel 约 50MB,启用后镜像体积会相应增大。

首次运行会自动安装前后端依赖(约 1-2 分钟),之后直接启动:

自定义端口:BACKEND_PORT=8000 FRONTEND_PORT=5173 ./dev.sh(Windows:.\dev.ps1 -BackendPort 8000 -FrontendPort 5173)

手动分别启动(备选)
# 终端 1:后端
cd backend
uv sync
uv run uvicorn app.main:app --reload --port 3018

# 终端 2:前端
cd frontend
pnpm install
pnpm dev                   # http://localhost:3011

启用回测:cd backend && uv sync --extra backtest vectorbt → numba 体积较大,故作为可选 extras。macOS / Intel 无预构建 wheel 时需 brew install cmake 现场编译。

老 CPU 兼容:cd backend && uv sync --extra legacy-cpu 当机器缺少 avx2/fma 等指令集时,给 Polars 切到 rtcompat 运行时。


🧭 第一次使用

  1. 打开面板 → 设置 → 凭据与能力 → 点 重新检测,确认 Tier Label
  2. 立即跑盘后管道 —— 拉日 K + 计算 enriched 表
    • None / Free 用户:历史日K走 free-api 通道;当日数据通常盘后 1-2 小时可用
    • Starter+:同步全 A 或可获取的 instruments 列表
  3. 自选页:添加跟踪标的;Free 档实时行情会自动监控自选页前 5 个标的,可用「移到顶部」调整优先级;点代码进 K 线页看蜡烛图 + 买卖点
  4. 选股页:点任一内置策略卡片即时扫描;或用自定义信号组合条件
  5. 回测页:选策略 / 信号 + 时间区间 → 跑回测 → 看净值 / 夏普 / 交易明细(SSE 实时进度)
  6. 监控中心页:配置监控规则(策略/个股信号/价格/市场异动),盘中 SSE 实时弹窗通知 + 持久化触发记录;或在个股详情页点「加监控」快速添加

⚙️ 配置

所有配置通过项目根目录的 .env 文件读取(复制 .env.example 开始)。配置也可在面板 设置 页面内修改。

数据源:TickFlow

TickFlow 提供订阅制 A 股数据。留空 TICKFLOW_API_KEY 即启用 None 模式,可通过 free-api 使用历史日K;当日数据通常需盘后 1-2 小时可用。免费注册并填写 Key 后进入 Free 模式,可开启自选股实时监控。

TICKFLOW_API_KEY=              # 留空 = None 模式;填入 Key = 按订阅档位解锁

完整能力矩阵见 tickflow.org/pricing。系统启动时会自动探测你的真实能力集,UI 显示「Free / Starter / Pro / Expert」等友好标签。高等档位包含较低档位的全部权益。

当前面板使用的实时能力:Free = 自选页前 5 个标的实时监控(最低 6 秒刷新);Starter+ = 全市场实时行情;Pro = 分钟K + 盘口;Expert = WebSocket + 财务数据。

AI(可选):策略生成

AI 模块用于「自然语言生成策略代码」。所有配置留空即跳过 AI 功能,不影响核心使用。支持任何 OpenAI 兼容接口:

AI_PROVIDER=openai_compat              # openai_compat | ollama
AI_BASE_URL=https://api.deepseek.com/v1
AI_API_KEY=                            # 留空 = 关闭 AI
AI_MODEL=deepseek-chat
AI_DAILY_TOKEN_BUDGET=500000           # 每日 token 预算上限

切换 AI_PROVIDER=ollama 时无需 AI_API_KEY,适合本地部署大模型。

服务与数据

HOST=0.0.0.0          # 监听地址
PORT=3018             # 服务端口
LOG_LEVEL=INFO        # DEBUG | INFO | WARNING | ERROR
DATA_DIR=./data       # Parquet / DuckDB 数据存储目录

🏗️ 技术栈

选型
后端 FastAPI · Pydantic v2 · APScheduler · sse-starlette
数据 Polars(计算)· DuckDB(查询)· Parquet(存储)· PyArrow
回测 vectorbt(全项目唯一 pandas 边界)
数据源 TickFlow 官方 SDK(tickflow[all])
AI(可选) OpenAI 兼容接口(DeepSeek / 通义 / Ollama 等)
前端 React 18 · Vite · TypeScript · Tailwind CSS · Framer Motion · Tanstack Query · Lightweight Charts · ECharts · dnd-kit
部署 Docker 两阶段构建,前端 dist 拷进后端镜像,单容器

🗺️ 路线图

Phase 内容 状态
0 仓库骨架 / FastAPI 壳 / Vite + React SPA / Docker 一键起
1 能力探测 + Kline 同步 + K 线分析页
2 Polars enriched 流水线 + Screener + 信号扫描
3 vectorbt 回测 + T+1 + 手续费 + 止损 + max-hold
4 监控引擎 + 告警规则 + Webhook + APScheduler 盘后定时
5 统一监控中心 + 四类监控规则 + 实时推送 + 持久化触发记录 + 声效通知
6 个股分析(专用日 K + 9 类关键价位 + AI 四维分析 + 报告持久化)
v2 Webhook 推送(QMT/掘金下单) · 板块异动 · 早晚报 · 更多扩展 🚧

📚 文档


🤝 贡献

欢迎 Issue 和 PR。本地开发:

cd backend && uv sync --extra backtest   # 含回测依赖
cd ../frontend && pnpm install && pnpm dev

新增内置策略:在 backend/app/strategy/builtin/ 参照现有策略文件,实现 StrategyDef 即可被引擎自动发现。


⚠️ 免责声明

项目仅供学习与量化研究,不构成任何投资建议。回测结果不代表未来收益。A 股有风险,入市需谨慎。数据准确性以数据源 TickFlow 官方为准。


📄 License

MIT © tickflow-stock-panel contributors

本项目依赖 TickFlow 提供数据服务,使用前请遵守其服务条款。

社区

本开源项目已链接并认可 LINUX DO 社区

S
Description
mirror of github.com/aeroxw/tick-stock-panel (via ghfast.top)
Readme MIT
25 MiB
Languages
Python 60.5%
TypeScript 38.7%
Inno Setup 0.3%
PowerShell 0.2%
JavaScript 0.1%