tickflow-stock-panel
Health Uyari
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 6 GitHub stars
Code Uyari
- network request — Outbound network request in backend/app/api/data.py
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台 | 基于 TickFlow 数据 | 能力驱动适配全档位订阅 | 自由接入第三方扩展数据(Tushare 等)
📈 TickFlow Stock Panel
自托管、零运维的 A 股「选股 + 监控 + 回测」量化工作台
基于 TickFlow 数据 · 🚀 开箱即用(单容器 / Free 模式无需 Key)
能力驱动,适配 Free → Expert 全档位订阅 · 🔌 自由接入第三方扩展数据(例如 Tushare、自有量化项目数据)
🎯 项目定位
让任何个人散户 / 量化爱好者,零运维地拥有一套与自己订阅档位严格匹配的 A 股分析、选股、监控工作台。
基于 TickFlow Key 低成本获取数据。填写邀请码 V3KDKGXPEA 免费领取概念行业等扩展数据。
任意接入第三方数据(Tushare 等),页面可视化自定义配置扩展数据表。
项目所需配置:
| 配置项 | 说明 | 是否必填 |
|---|---|---|
| TickFlow API Key | 数据源凭证,留空启用 Free 模式(无需注册即可体验) | 可选 |
| AI 大模型 API Key | 用于 AI 生成策略、个股分析(开发中)、行情分析(开发中),任意 OpenAI 兼容接口,留空关闭 | 可选 |
| 看板 Dashboard | 选股 Screener |
![]() |
![]() |
| 回测 Backtest | 连板梯队 Limit Ladder |
![]() |
![]() |
⚠️ 🚧 项目持续优化,功能陆续开放,敬请期待。
明确不做:不对标同花顺/通达信的全功能股票软件;不内置任何「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(全项目唯一一处 pandas 出现地):
- 三种回测模式:个股 · 策略组合 · 自由信号组合
- 真实约束:T+1 · 手续费 · 滑点(基点) · 止损 · 最大持仓天数
- 组合管理:最大持仓数 · 最大敞口 · 等权 / 自定义仓位
- SSE 流式进度:长任务实时推送进度,支持刷新 / 切页后重连恢复(相同参数任务只启动一次)
- 统计输出:净值曲线 · 夏普 · 最大回撤 · 胜率 · 每笔交易明细
📡 实时监控(Strategy Monitor)
- 盘中 SSE 推送:行情刷新(
quotes_updated)+ 策略告警(strategy_alert)双事件流,前端实时弹通知 - 策略监控:订阅策略的 entry / exit 信号 + 自定义提醒条件(如
rsi_14 > 80),命中即推送 - Webhook 告警:命中规则后可选推送外部 webhook
🤖 AI 策略生成(可选)
- 自然语言 → 策略代码:用一句话描述策略思路,LLM 读取
docs/strategy-guide.md生成完整 Polars 策略文件 - 沙箱约束:生成代码经
ast校验、限定import polars as pl,避免逐行循环,优先向量化表达 - 可插拔:留空 AI 配置即跳过整个模块,不影响核心功能
🧰 数据与扩展
- 多源数据:TickFlow 日 K / 分钟 K / 指数 / 财务(利润 / 资产负债 / 现金流)/ 自选行情
- 🔌 第三方数据接入(重点) —— 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 pnpm 或 corepack enable && corepack prepare pnpm@9 --activate |
方式 A:Docker(最省心,生产推荐)
cp .env.example .env # 按需填写 Key(留空即 Free 模式,可直接体验)
docker compose up --build
# 打开 http://localhost:3018
方式 B:Dev 模式(二次开发)
cp .env.example .env # 填 TICKFLOW_API_KEY,留空则启用 Free 试用
一键启动(推荐,自动检查依赖 / 释放端口 / 同时起前后端,Ctrl-C 一并关闭):
| 平台 | 命令 |
|---|---|
| macOS / Linux | ./dev.sh |
| Windows (PowerShell) | .\dev.ps1 |
首次运行会自动安装前后端依赖(约 1-2 分钟),之后直接启动:
- 后端 → http://localhost:3018
- 前端 → http://localhost:3011
自定义端口: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现场编译。
🧭 第一次使用
- 打开面板 → 设置 → 凭据与能力 → 点 重新检测,确认 Tier Label
- 点 立即跑盘后管道 —— 拉日 K + 计算 enriched 表
- Free 用户:只同步内置 DEMO_SYMBOLS(浦发 / 招商 / 茅台等 10 只)
- Starter+:同步全 A 或可获取的 instruments 列表
- 自选页:添加跟踪标的;点代码进 K 线页看蜡烛图 + 买卖点
- 选股页:点任一内置策略卡片即时扫描;或用自定义信号组合条件
- 回测页:选策略 / 信号 + 时间区间 → 跑回测 → 看净值 / 夏普 / 交易明细(SSE 实时进度)
- 监控页:配置告警规则,盘中 SSE 推送行情与策略信号;命中后写入告警日志(可选 webhook)
⚙️ 配置
所有配置通过项目根目录的 .env 文件读取(复制 .env.example 开始)。配置也可在面板 设置 页面内修改。
数据源:TickFlow
TickFlow 提供订阅制 A 股数据。留空 TICKFLOW_API_KEY 即启用 Free 模式,无需注册即可体验。
TICKFLOW_API_KEY= # 留空 = Free 模式;填入 Key = 按订阅档位解锁
完整能力矩阵见 tickflow.org/pricing。系统启动时会自动探测你的真实能力集,UI 显示「≈ Pro」等友好标签。
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 盘后定时 | ✅ |
| v2 | 自定义信号 / 策略商店 / AI 策略生成 / 外部数据源插件 / 早晚报 / Onboarding | 🚧 |
📚 文档
- docs/strategy-guide.md —— 策略开发指南(AI 生成器与手写策略的规范)
- docs/ —— 策略构建步骤、示例
🤝 贡献
欢迎 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 提供数据服务,使用前请遵守其服务条款。
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi



