news 2026/8/24 3:28:31

Sequoia-X 高而窄旗形量化选股策略:手把手跑通强势股旗形形态识别,收盘后自动推送飞书

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sequoia-X 高而窄旗形量化选股策略:手把手跑通强势股旗形形态识别,收盘后自动推送飞书

Sequoia-X 高而窄旗形量化选股策略:手把手跑通强势股旗形形态识别,收盘后自动推送飞书

【免费下载链接】Sequoia-XA股自动选股系统 — 多种技术形态自动扫描,收盘后自动运行并推送飞书项目地址: https://gitcode.com/GitHub_Trending/se/Sequoia-X

你盯盘时发现一只 A 股两个月涨了 70%,随后缩量趴了十天,是歇脚还是出货?手工翻五千只票不现实,你需要一套算得出来的规则替你筛。

📌 这个模块到底在解决什么问题

高而窄的旗形策略解决的是"从全市场系统性找出处于高位盘整阶段的强势股"这个形态识别问题。它处在 Sequoia-X 每日流水线的中段:上游数据引擎先把当日 K 线同步进本地 SQLite,下游推送模块把选中代码路由到专属飞书机器人。

说白了,整条流水线就是"同步数据 → 7 个内置策略并行扫描 → 结果推飞书",HighTightFlag 是其中专管"旗形"的那一个,选中结果由 main.py 统一调度。

🔍 判断逻辑拆解:它凭什么给你信号

策略 high_tight_flag.py 用 4 个硬条件加 1 个样本门槛做判断:

  • 强动量(旗杆要够高):近 40 天最高价/最低价 > 1.6。大白话:40 天内至少涨过 60%,没有旗杆谈不上旗形。
  • 极度收敛(旗面要够窄):近 10 天最高价/最低价 < 1.15。大白话:最近 10 天振幅压在 15% 以内,横得越窄,越像抛压消化完。
  • 高位抗跌(盘整得发生在高位):近 10 天最低点 ≥ 40 天最高价的 80%。大白话:回落不能太深,跌掉两成就不是歇脚而是出货。
  • 缩量确认(旗面要安静):今日成交量 < 20 日均量 × 0.6。大白话:盘整必须配缩量,"横而不缩"的旗面不算数。
  • 样本量门槛:K 线不足 40 根直接跳过,次新股和数据不全的票进不了候选池。

核心判断就是几行向量化运算,拿这一段看:

tail40, tail10 = df.tail(40), df.tail(10) momentum = tail40["high"].max() / tail40["low"].min() > 1.6 consolidation = tail10["high"].max() / tail10["low"].min() < 1.15 high_level = tail10["low"].min() >= tail40["high"].max() * 0.8 shrink = df["volume"].iloc[-1] < df["volume"].iloc[-21:-1].mean() * 0.6 if momentum and consolidation and high_level and shrink: selected.append(symbol)

关键参数都能按行情调:

参数默认值通俗解释
动量阈值1.6 倍"旗杆"多高才算:40 天高低点之比要超过它
收敛阈值1.15 倍"旗面"多窄才算:近 10 天振幅上限
高位抗跌下限80%旗面最低点不得低于 40 天最高价的这个比例
缩量倍数0.6 倍今日量要小于 20 日均量的这个比例
最少 K 线40 根样本量门槛,不够数的票直接跳过

📊 数据从哪来,中间做了哪些清洗

数据源是 baostock(免费、免注册、无限流),拉取的是后复权日 K:开盘、最高、最低、收盘、成交量、成交额,统一落在本地 SQLite。所有取数逻辑集中在 engine.py,分两个入口:

  • backfill() 全量回填:单线程保守拉取,每 200 只自动重连防长连接超时,单只失败重试 3 次、间隔递增,中断重跑会自动跳过已入库的;
  • sync_today_bulk() 日常增量:8 进程并行,每只股票只拉"最后入库日 + 1 天"到今天的缺口,全市场更新 2~3 分钟。

入库前还有三道清洗:

  • to_numeric统一转数值,收盘价缺失的行直接丢弃;
  • 只保留 volume > 0 的行,停牌无成交的交易日不会污染窗口统计;
  • 表级 UNIQUE(symbol, date) 约束 + 先删后插,杜绝重复脏数据。

选后复权而不是前复权,是因为历史价格不变、增量追加不会全库重算,除权除息也不会让旧数据错乱。

🚀 从克隆到出结果:最小可运行路径

四步出信号,时间大头在首次回填:

  1. 克隆仓库:git clone https://gitcode.com/GitHub_Trending/se/Sequoia(需 Python ≥ 3.10);
  2. 装依赖:uv sync(或pip install .);
  3. 配环境:cp .env.example .env,填入必填的feishu_webhook_url
  4. 回填 + 日常跑:python main.py --backfill(约 12 分钟,约 5200 只),之后每天python main.py(2~3 分钟),配 crontab 在每周五 15:15 收盘后执行即可。

回测与调参方向:

  • 默认回填起点 2024-01-01(.env 里 start_date 可改),回测建议至少覆盖一段完整牛熊,两年到三年的日线数据起步;
  • 动量阈值 1.6:热闹行情抬到 1.8 压信号,冷清行情放到 1.45 放宽;收敛阈值 1.15 收紧到 1.1 能拿到更硬的旗面;缩量倍数 0.6 调 0.5 信号更敏感。

脱敏案例,某年某新能源龙头:

  • 信号出现:40 天高低点之比超过 1.7,急涨后进入 10 天窄幅盘整,量能缩到 20 日均量的一半左右;
  • 确认:4 个条件同时命中,收盘后代码被推送到 flag 专属飞书群;
  • 后续走势:6 天后放量阳线突破旗面上沿,同期海龟 20 日新高策略也选中了它,双重信号重叠提高了这笔操作的胜率。

和哪些模块搭配效果最好

高而窄旗形本质是"埋伏型"信号(盘整期),和"确认型"策略互补后胜率更高:

  • TurtleTrade(turtle_trade.py):20 日新高 + 成交额过亿 + 实体阳线,旗形负责找盘整股、海龟负责确认突破,一伏一跟形成接力;
  • RpsBreakout(rps_breakout.py):RPS-120 相对强度排序 ≥ 90,拿它做全市场强度过滤,验证旗形股相对大盘是不是真强;
  • LimitUpShakeout(limit_up_shakeout.py):涨停后次日放量收阴但不破支撑,突破后若出现回踩,它提供二次上车参考。

⚠️ 踩过的坑 & 一句话解法

  • 现象:第一次跑全策略 0 选股,日志提示"本地无股票数据"。原因:策略只读本地 SQLite,数据库是空的自然选不出票。解法:先执行python main.py --backfill回填,中断可重跑续传,已入库的自动跳过。
  • 现象:周末跑一遍,日志显示"无新数据",但推送的还是前一个交易日的票。原因:非交易日 baostock 没有数据,增量同步返回 0,策略照旧按最后交易日计算。解法:用 crontab 只在工作日收盘后运行,或先看日志里的同步条数再判断推送是否有效。
  • 现象:拿软件里的价格和算出来的涨幅对不上。原因:库存的是后复权价,和不复权的行情软件绝对值不同。解法:策略判断全部用价格比率,不受复权方式影响;手工核对时改用同源的复权数据。

这个模块把"找高位盘整的强势股"从盘感变成了 4 个可计算条件。后续版本计划接入盘中数据,把突破时点提前确认,信号从收盘推送升级为盘中预警。

【免费下载链接】Sequoia-XA股自动选股系统 — 多种技术形态自动扫描,收盘后自动运行并推送飞书项目地址: https://gitcode.com/GitHub_Trending/se/Sequoia-X

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 3:26:34

MySQL 慢查询治理:从零搭一套最小可用的索引自动分析脚手架

MySQL 慢查询治理&#xff1a;从零搭一套最小可用的索引自动分析脚手架阅读说明&#xff1a;本文以数据库索引中的典型故障链路说明排查和设计方法。文中的告警、数字与“线上”叙述如未给出来源&#xff0c;均应视为示例条件&#xff1b;落地前请在自己的版本、负载和资源约束…

作者头像 李华
网站建设 2026/8/24 3:25:37

FPGA与MCU通用SPI通信界面设计:从状态机到驱动封装

1. 项目缘起&#xff1a;为什么需要为FPGA和MCU设计一个“通用”SPI界面&#xff1f; 在嵌入式系统开发中&#xff0c;FPGA&#xff08;现场可编程门阵列&#xff09;和MCU&#xff08;微控制器单元&#xff09;的组合堪称黄金搭档。FPGA擅长并行处理、高速数据流和定制化硬件逻…

作者头像 李华
网站建设 2026/8/24 3:24:11

Lyra 2.0:从文本生成可探索3D世界的混合表示与扩散模型架构详解

最近在探索生成式3D内容领域时&#xff0c;发现许多研究者和开发者都面临一个共同挑战&#xff1a;如何从简单的文本或图像输入&#xff0c;快速、可控地生成一个可供探索的、高质量的3D场景&#xff1f;传统的3D建模流程复杂耗时&#xff0c;而早期的生成式模型又难以保证场景…

作者头像 李华
网站建设 2026/8/24 3:23:58

AI红包技术与大厂校招趋势解析

1. 春节AI红包大战背后的技术博弈去年春节期间&#xff0c;各大互联网平台的红包活动几乎都融入了AI元素。从AR扫福到语音识别红包&#xff0c;从AI绘画生成祝福到智能对话领红包&#xff0c;这些看似简单的互动背后&#xff0c;是各大厂在AI技术储备上的一次集中展示。以某电商…

作者头像 李华
网站建设 2026/8/24 3:23:56

PsychAgent:基于经验驱动与终身学习的AI心理咨询智能体架构解析

1. 项目概述与核心价值 最近在AI与心理学交叉领域&#xff0c;一个名为“PsychAgent”的项目引起了我的注意。它的全称是“PsychAgent: An Experience-Driven Lifelong Learning Agent for Self-Evolving Psychological Counselor”&#xff0c;直译过来就是“PsychAgent&#…

作者头像 李华