Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏

N
News Editor
2026-09-08 01:39:33
Sequoia-X 是一个面向 A 股收盘后自动选股的 Python 项目,半年内 GitHub Star 从 3000 增至 6800 多个,并在 9 月初登上 GitHub Trending。该项目使用 baostock 获取数据、SQLite 本地存储、7 个技术形态策略批量扫描全市场,并通过飞书 Webhook 推送结果。作者 YangYuDong 将选股流程按工程化思路重写,V2 版本从依赖 akshare 转向 baostock,日常增量更新可在 2 至 3 分钟内完成。

A 股收盘后,面对 5000 多只股票,个人投资者很难靠人工把候选标的一一筛完。MarsBit 援引钛媒体APP刊发的文章称,一个名为 Sequoia-X 的开源项目,试图把这套「收盘后选股」流程改造成无人值守的自动化流水线。该项目上线半年,GitHub Star 已从 3000 增长到 6800 多个,并在 9 月初进入 GitHub Trending。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 2

项目地址为 https://github.com/sngyai/Sequoia-X。它的核心功能是:在收盘后自动执行选股、扫描全市场,并把结果通过飞书 Webhook 推送到群组,供用户在次日开盘前查看。

把收盘后选股做成一条自动流水线

报道指出,散户选股主要面临三类问题。首先是数量,A 股有 5000 多只股票,靠人工逐一覆盖并不现实;其次是数据,免费接口往往字段不完整或者限流,收费接口价格又可能达到几千元到上万元;如果选择自己爬取数据,还会遇到反爬机制。第三是时间,很多技术形态需要连续盯盘,上班族很难在盘中长期跟踪。

Sequoia-X 采用的方案是把数据、策略和推送串成一条自动执行的流程。数据源使用 baostock,特点是免费、无需注册、无限流;历史 K 线会被拉取并存入本地 SQLite 数据库,数据由用户自行掌握;系统在每天收盘后自动运行一次,使用内置的 7 个技术形态策略扫描全市场,再把结果推送到飞书。

按照文中披露的运行效率,项目首次回填历史数据大约需要 12 分钟,此后每个交易日的日常运行时间约为 2 到 3 分钟。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 3

作者从基础设施思路切入量化筛选

项目作者为 YangYuDong。文章提到,他在 GitHub 上还有 MQTT 中间件、即时通讯服务等基础设施类项目,关注点集中在海量数据和稳定性。对应到 A 股量化场景,他把选股流程当作一个消息系统来设计,即数据进入、结果输出,中间由一整套工程化模块衔接。

Sequoia-X 也经历过版本重构。V1 版本主要依赖 akshare,虽然功能比较全面,但依赖网页接口,运行中会遇到反爬和字段缺失问题。V2 版本则切换到 baostock,并按照现代工程标准重写,README 开头所写的「王者回归」,正对应这次重构。

三层架构:数据、策略与推送

文章把 Sequoia-X 的系统拆成三层。

第一层是数据层。项目通过 baostock 拉取后复权日 K 线。文中解释,后复权以最新价为基准,在除权除息后对历史价格做等比调整,这样后续追加新一天 K 线时,价格口径与已有数据保持一致,不会出现单日孤立跳变。基于这一设计,系统平时只需要补当天的一根 K 线,不必每次重拉全部历史数据。项目使用 8 个进程并行处理,全市场增量更新可在 2 到 3 分钟内完成,而全量重拉则需要十几分钟。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 4

文章将这种方式概括为「首次全量、日常增量」,并认为这是本地量化系统的标准做法。

第二层是策略层。报道称,项目内置的 7 个策略全部采用向量化计算,通过 pandas 的滚动窗口做批量处理,而不是逐根 K 线循环。代码中甚至直接写有「严禁 iterrows」,作为性能红线。原因在于,全市场数据规模达到 100 多万行时,Python 逐行循环效率过低,而底层 C 语言支持的批量运算在速度上会高出数十倍。

第三层是通知层。不同策略可以绑定不同的飞书机器人,例如海龟策略可以推送到「海龟」群,RPS 策略推送到「RPS」群,彼此独立。系统在推送时还会通过 baostock 反查股票名称,而不是只发送股票代码。文章认为,这些处理体现了项目在可用性上的细节设计。

在存储方案上,项目使用 SQLite。文章称,这种单文件数据库不需要额外部署服务,备份和迁移时直接拷走文件即可,比较适合个人维护。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 5

海龟突破是招牌策略,A 股版本加入三道过滤条件

在策略部分,文章重点介绍了海龟突破。其历史背景可追溯到 1983 年,传奇交易员理查德·丹尼斯曾通过招募 13 名背景各异的学员,进行两周训练并提供百万美元级实盘账户,验证交易能力能否通过规则训练获得。报道提到,四年下来,「海龟」学员平均年化收益约 80%。这套方法后来被柯蒂斯·费思在 2007 年写入《海龟交易法则》。

海龟突破的核心规则是:价格突破过去 20 天最高点时进场,跌破过去 10 天最低点时离场。文章称,这一方法不做预测,重点在于跟随趋势。

Sequoia-X 将这套规则用于 A 股后,又加入了 3 个防守条件:

  • 成交额必须过亿,以保证流动性;
  • 当天必须为实体阳线,用来排除高开低走的大阴线;
  • 当日收盘价必须高于前一日,用来过滤盘中冲高回落形成的假阳线。

在满足这些条件后,项目还会按流通市值从大到小排序,优先关注大市值股票,以降低被游资操纵的风险。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 6

文章还提到,代码注释中写有「【新增防守条件】拒绝郑州煤电式的高开低走大阴线!」,用以说明这些过滤规则来自实战经验积累。

7 个策略覆盖趋势、形态、情绪和事件

除海龟突破外,项目其余 6 个策略也被文章提及。文中指出,RPS 突破源自欧奈尔的《笑傲股市》,核心是只买相对强度排名靠前的股票,即相对大盘更强的品种。定增监控则属于事件驱动方法,通过跟踪公告寻找消息面信号。

按照原文说法,7 个策略覆盖了趋势、形态、情绪和事件四个维度。它们共同回答的并不是「明天会不会涨」,而是「当前应该先关注哪些股票」。文章把这种思路概括为:把「猜」换成「筛」。

环境要求为 Python 3.10 以上,可通过三步运行

对于希望自己动手的用户,文章给出了较低的上手门槛。环境要求只有 Python 3.10 以上。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 7

运行流程分为三步。第一步是安装依赖,文中推荐使用 uv;第二步是配置推送,将 .env.example 复制为 .env,并填入飞书机器人的 Webhook 地址;第三步是执行数据回填,使用 python main.py --backfill 回填历史数据,之后每天运行 python main.py 获取结果,再通过 crontab 配置定时任务,实现自动执行。

如果用户要添加自定义策略,文章称也不复杂:只需继承 BaseStrategy 基类,实现一个返回股票列表的 run() 方法,再到 main.py 中注册一行即可。数据获取、日志和异常处理等基础骨架已经由基类提供。

项目还展示了 AI 辅助开发的工作流

从工程角度看,文章把 Sequoia-X 视为一份「现代 Python 工程范本」。项目使用 Pydantic-settings 进行配置管理,日志用 rich 输出结构化信息,测试方面使用 hypothesis 做属性测试,代码质量门禁包括 ruff 和 pytest,依赖则通过 uv 锁定版本。

文章还提到,提交记录中可以看到 AI 的参与,不少 commit 署名为 claude。原文将其描述为「一个老程序员加一个 AI 助手,撑起了一个 6800 星的项目」。

Sequoia-X 以自动化选股流程吸引 GitHub 6800 多人收藏 8

作者认为项目走红来自三种趋势叠加

文章最后将 Sequoia-X 的走红归结为三种趋势。

第一是量化平民化。程序化交易不再只是机构工具,一台普通电脑加上免费数据源就可以开始。第二是数据源变化。baostock 这类免费且无限流的接口,为个人开发者提供了新的基础条件。第三是 AI 辅助开发走向常态化,作者与 Claude 的协作,被原文视为「一个人就是一支团队」的写照。

在总结 Sequoia-X 受欢迎原因时,文章认为关键在于其提供了几项稀缺组合:免费数据源、透明的策略逻辑、全自动流程,以及可自行修改的开源代码。它不直接替用户做决策,而是补上做决策所需的信息处理和纪律执行环节。

不过,原文也明确提醒,Sequoia-X 是工具,不是「印钞机」。技术形态属于概率游戏,任何策略都存在失效周期,系统输出的是一份观察名单,而不是买入指令。文章建议用户先以小仓位验证一段时间,再考虑增加投入。

本文最初由 Bit.Fan 发布。 欲了解更多加密货币新闻与市场洞察,请访问 www.bit.fan.
300

免责声明:

本平台展示的市场信息、项目资料与第三方内容仅用于行业信息分享,不构成任何形式的投资建议或收益承诺。

加密资产交易具有较高风险,用户应充分评估自身风险承受能力并独立作出决策,相关盈亏及法律责任由用户自行承担。