Sequoia-X
A股量化选股神器,6种技术形态自动扫描,飞书实时推送
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
A股量化选股神器,6种技术形态自动扫描,飞书实时推送
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
每个交易日收盘后,总有一批 A 股玩家重复着同样的流程:打开行情软件、逐个翻看 K 线、寻找符合条件的标的——追涨、突破、回调、放量……一个人盯 5000 只股票,眼睛都快瞎了,结果还不一定准。
Sequoia-X 正是为解决这个问题而生的。它是一款面向 A 股市场的量化自动选股系统,支持 6 种经典技术分析策略,每日收盘后自动扫描全市场股票,并通过飞书 Webhook 将符合条件的标的直接推送到手机或群里。你只需要配置一次,之后每天坐在家里等结果。
这个项目的作者 sngyai 显然是一名有实战经验的 A 股交易者。他没有选择用商业量化平台(年费动辄几千元),也没有直接去买通联、同花顺的选股服务,而是基于 baostock 这个免费数据源,从零写了一套 Python 工程化的选股框架。
sequoia-x 的 V2 版本是一次彻底的重构——从早期版本迁移到现代 Python 工程标准:OOP 架构、策略基类抽象、向量化计算、Pydantic 配置管理、Rich 结构化日志。与很多 GitHub 上的"玩具项目"不同,这个系统的目录结构非常清晰,数据层、策略层、通知层完全解耦,新增一个策略只需要写一个继承 BaseStrategy 的类即可。
目前该项目已有 4,293 Stars,在 A 股/量化交易主题下属于头部项目,说明确实有人在生产环境使用它。
Sequoia-X 内置了 6 种经过实战检验的选股策略,原理各不相同,适用的市场场景也有差异:
1. TurtleTrade(海龟交易) 追踪"20日新高 + 成交额过亿"的突破型标的,同时用阳线过滤假突破。经典的趋势跟踪策略,适合有明显方向的市场。
2. MaVolume(均线放量) 均线多头排列 + 成交量异常放大,捕捉主升浪启动点。适合趋势确认后的加速阶段。
3. HighTightFlag(高窄旗形) 识别高而窄的旗形整理突破,是欧奈尔体系中非常经典的结构,需要股票在整理期间波动极小、量能萎缩,突破时量能爆发。
4. LimitUpShakeout(涨停洗盘) 涨停后高位震荡洗盘、回踩确认的形态。适合强势股第二波行情的捕捉,但需要结合位置和板块判断。
5. UptrendLimitDown(上升趋势跌停反包) 在整体上升趋势中出现跌停后的反包信号,是强势股中常见的日内反转形态。
6. RpsBreakout(RPS强度突破) 基于欧奈尔 Relative Price Strength(相对价格强度)的选股,选取近阶段涨幅最强的那批股票。RPS 是欧奈尔 CANSLIM 体系的核心指标之一。
每种策略都可以独立配置飞书 Webhook,实现"海龟策略推一个群、RPS 推另一个群"的精准分流。
项目的工程化程度是它区别于其他散户量化脚本的核心优势:
Sequoia-X/
├── main.py # CLI 入口,argparse 分发日常/回填两种模式
├── sequoia_x/
│ ├── core/ # 配置管理(Pydantic-settings)+ Rich 日志
│ ├── data/engine.py # 数据引擎:baostock 数据拉取 + SQLite 存储
│ ├── strategy/ # 7个策略实现(base.py 定义抽象基类)
│ └── notify/feishu.py # 飞书 Webhook 推送
└── tests/ # pytest + hypothesis 属性测试
数据层使用 baostock(免费、无需注册、无限流 API),数据全部后复权后存储在本地 SQLite 中,首次运行约 12 分钟回填 5200 只股票历史 K 线,日常增量同步只需 2~3 分钟(8 进程并行)。完全不需要付费数据源,也不需要券商接口。
策略层基于 BaseStrategy 抽象基类,定义统一的 run() 接口,所有策略返回符合条件股票代码列表即可。新增策略只需要实现继承类并在 main.py 中注册——遵循开闭原则。
通知层支持策略级别的飞书 Webhook 路由,未配置的策略 fallback 到默认 Webhook。推送卡片包含股票名称 + 雪球链接,点击即可跳转到对应股票页面查看详情。
依赖管理使用 uv(现代 Python 包管理器,速度比 pip 快 10 倍),pyproject.toml 声明所有依赖,开发环境一键 uv sync。
部署难度:★★☆☆☆(简单)
Sequoia-X 是一个纯命令行工具,没有 Web UI,不需要 Docker,直接在本地 Python 环境中运行。部署步骤:
git clone + uv sync 安装依赖(1~2 分钟).env 填入飞书 Webhook URL(2 分钟)python main.py --backfill 回填历史数据(~12 分钟)python main.py 即可建议配合 crontab 在每个交易日 19:15(收盘后 15 分钟)自动执行:
15 19 * * 1-5 cd /path/to/Sequoia-X && .venv/bin/python main.py >> log.txt 2>&1
系统要求极低:不需要 GPU,不需要大内存,512MB RAM + 2GB 磁盘即可。一台树莓派都能跑。
不过有一点需要注意:飞书 Webhook 需要自己申请(飞书开放平台 → 创建自定义机器人),不太懂技术的用户有一定门槛。
诚实地看这个项目,它有几个不可回避的问题:
策略有效性无法保证。 内置的 6 种策略都是经典技术分析形态,但"形态选股"在 A 股的有效性长期存在争议——大量散户在使用类似策略时,实际上是在追逐已经涨了很多的标的,面临严重的均值回归风险。
缺乏风控模块。 系统只负责选股,没有任何仓位管理、止损、盈亏比计算逻辑。选出股票之后怎么买、买多少、什么时候卖,完全依赖使用者自己判断。
数据质量依赖 baostock。 baostock 是业余爱好者维护的开源项目,数据准确性和完整性没有商业数据源高,可能存在复权错误、停牌日期缺失等问题,对于需要精确回测的场景有一定风险。
不适合高频交易。 日线数据 + 日收盘后运行,天然决定了它只能做趋势跟踪型策略,无法用于短线或日内。
没有实盘接口。 选股结果需要手动操作,没有和券商账户打通(这其实也是很多开源量化项目的共同局限)。
Sequoia-X 的存在说明了一件事:在 A 股市场,量化工具正在从机构专属走向个人开发者。作者用不到 2000 行 Python 代码,实现了一套完整的"数据获取 → 策略计算 → 结果推送"链路,年成本几乎为零(数据源免费、飞书免费)。
从技术趋势看,这类工具的演进方向可能是:
对于有一定 Python 基础的 A 股投资者来说,Sequoia-X 是一个值得研究的参考实现,它的代码质量和工程化程度在同类开源项目中属于上乘。对于完全不懂代码的用户,则建议先了解量化基础再上手,避免"选了股票就买"的冲动交易。
项目地址: https://github.com/sngyai/Sequoia-X 技术栈: Python 3.10+ / baostock / pandas / SQLite / Pydantic / Rich