某只票隔夜利好,集合竞价直接高开 4%,K 线上留一条空白——老股民叫跳空,后面跌回去把空白填平叫回补。两派吵了几十年:一派说动量还在,开盘追;一派念「缺口必补」,等回落再买。我两边都跟过,也两边都挨过:追过秒板次日低开,等过三个月都不补的趋势缺口。吵归吵,条件选股得先把话写成可检验的规则,再承认日线能看见什么、看不见什么。

界面示例来自 青柠量化。先说一句扫兴但要紧的:策略编辑器里没有名叫「缺口」的组件,也没有「开盘价对比昨日收盘价」这种带偏移的现成比较项可以直接点出来。数值比较两侧是同一根 K 线上的开高低收、涨跌幅、成交量,或你已添加的指标。所以下面所有「缺口条件选股」,在日线上都是近似——诚实写进备注,比假装分钟级精度更专业。常规历史验证仍按后复权、收盘确认、下一根开盘成交,加佣金滑点。

产品与本地回测入口:缺口研究从可复现规则开始
产品与本地回测入口:缺口研究从可复现规则开始

口语里的缺口,K 线上长什么样

向上跳空的严格视觉:今日最低价仍高于昨日最高价,两根 K 线之间留空。宽松一点:开盘明显高于昨收,盘中是否留白另说。向下跳空对称。回补则是价格回到缺口区间,空白被填上。

日线一根 K 只有开高低收。你看不到盘中是先冲高再回落,还是低开后拉升。因此「开盘缺口是否日内已补」在日线上常常含糊:严格定义下开盘高于昨高,但当日最低价可能已经打回昨高以下——日线仍显示「有过跳空开盘」,路径却已部分回补。研究「开盘缺口持续未补」时,条件要更严,命中会骤降。

除权日还会造出假跳空:开盘相对昨收大幅偏离,却不是市场动量。常规 A 股研究用后复权;除权附近信号仍建议复盘肉眼打问号。

编辑器里实际能写什么(别硬编 Ref)

做不到的事先写清楚:不能直接写「开盘价 > 前一日收盘价 × 1.02」,因为比较条件两侧取的是当前 bar 的字段,没有「昨收」下拉项。

能老实做的近似有几条,语义不同,条件选股命名必须分开,别都叫「缺口」。

用涨跌幅做「大阳/强势日」代理:数值比较或区间判断,pct_chg 大于 3(或 5)。这是收盘相对昨收的涨幅,不是开盘缺口本身——很多大阳从平开拉起,也有高开低走最后涨幅不大。它适合当「强势事件日」的粗筛,不能冒充精确缺口宽度。

用开盘与收盘关系过滤路径:开盘价 > 收盘价,是高开低走的日线痕迹;开盘价 < 收盘价且涨跌幅大,更像强势收束。追强势时我会要求收阳(收盘 > 开盘),并把高开低走剔掉一截——这不是缺口定义,是执行层风控。

用均线与放量收紧池子:收盘价 > MA20,成交量 > 20 日均量 × 1.5,减少逆势脉冲。大涨日扎堆在题材期,不加趋势过滤,列表会很难看。

策略编辑器:用涨跌幅、开收比较与 AND 近似强势跳空日
策略编辑器:用涨跌幅、开收比较与 AND 近似强势跳空日

若你本地后续版本支持「昨收」或偏移引用,再升级到 Open 对昨收、Open 对昨高的严格写法;在那之前,文章和策略备注里写「pct_chg 代理 / 强势日代理」,比写「精确缺口回测」诚实。

专业版若有分钟线,可对子样本二次验证:日线筛出的强势日,开盘相对昨收到底跳了多少、日内是否回补。全市场分钟成本高,抽样几十笔往往够建立直觉。

规则一:追——强势确认后次日跟进

口语逻辑:跳空或大涨代表资金抢筹,不补就继续走,确认日收盘仍强时跟进。落到可回测的条件选股版本,我常用这套最小骨架:

入场日(D0)满足:pct_chg 大于阈值(如 3),且收盘价 > 开盘价,且收盘价 > MA20。可选再加放量。信号在 D0 收盘确认,引擎按下一根开盘买入——这和「集合竞价看见高开就追」不是一回事,心理预期要改。

出场示例:收盘跌破 MA10,或固定持有 5~10 个交易日,或均线死叉。先定能跑通的,别入场出场同时大改。

核心风险非常 A 股:T+1 下你最早次日才能卖。D0 大涨、D1 低开,回测按 D1 开盘买仍可能套在短顶。滑点设太低会美化追价;一字板买不到,常规后复权回测也不模拟排板——动画里对涨停日打叉。

把这版命名成 强势日追涨_pct3_v1,别叫 缺口必赚。名字诚实,以后对照「等回落」版才不会串台。

规则二:等——先有大涨,再等回落转强

「缺口必补」是经验格言,不是物理定律。利好驱动的趋势可以多日甚至数周不回补;情绪脉冲的小跳空反而常在一两周内回填。量化上不该把「必补」写进公式,而该写「若价格回到某支撑附近且转强,则买」——让数据回答等一等是否优于追。

用依次触发表达先后,大致三步:

第一步:出现强势日(同上,pct_chg 超阈值且收阳)。尽量写成事件,别用「收盘价 > MA60」这种长期为真的状态当第一步。

第二步:在窗口 W(如 5~20 根)内,价格回落到均线附近——例如最低价触及 MA5 或 MA10 附近带(数值比较加右侧乘数),或收盘价相对强势日高点有明显回撤(可用收盘价 < 近 N 日最高价 × 0.97 一类近似)。

第三步:再度转强——收盘重新站上 MA5,或 MA5 上穿 MA10,或收阳且涨跌幅转正。

窗口太短,合法回落来不及;太长,把无关下跌也算成「等补」。若全市场长期零命中,先检查窗口和带宽,再考虑是不是你的池子里大涨后根本不爱回踩——那可能是「等」策略天然稀疏,不是引擎坏了。

回测:追强势 vs 等回落转强的曲线与交易次数
回测:追强势 vs 等回落转强的曲线与交易次数

等回落版的踏空成本要正视:最强的那段趋势缺口(或连续大阳)从不给你舒服的回踩,Fill 版可能整段为零。回测里若 Chase 赚钱几乎全靠「从不回落的强势」,而 Fill 长期平庸,说明你的样本里动量端更有效——接受即可,别为了凑信号把窗口拉到离谱。

T+1 与成交假设:两版必须共用一套

买入:信号 K 线收盘确认,最早下一交易日开盘价。卖出同理,入场当日不可卖。佣金、滑点、仓位比例、最大持仓、回测区间全部对齐,只改入场逻辑。否则你分不清是「等回落哲学赢了」,还是滑点碰巧设不同。

涨跌停:一字高开可能买不到,一字低开可能卖不出。日线回测给的是可复现的近似,不是券商撮合仿真。动画复盘抽涨停样本,比再调一个参数有用。

两版条件选股并排对照时看什么

固定出场(例如跌破 MA10 或持有 10 日),只换入场:Chase 用强势日确认;Fill 用依次触发「强势 → 回落靠近均线 → 转强」。

批量看中位数收益、回撤、交易次数,别只晒单票妖股。单账户 30% 仓位、最多 5 持仓再跑——Chase 信号密时,换手与滑点拖累往往更狠;Fill 信号稀,槽位压力小,但踏空年份曲线会很难看。

分段比结论重要:题材牛里 Chase 常占优;宽幅震荡里 Fill 有时胜率更高、次数更少;单边阴跌里两个版本都可能磨,只是亏法不同。别用单一牛市年份给「追缺口」封神,也别用单一熊市说「等回补无敌」。

可视化:强势日与随后回踩、转强位置
可视化:强势日与随后回踩、转强位置

「缺口必补」怎么拆成能验的子命题

子命题一:大涨日(pct_chg > 阈值)之后 5 日内,是否出现明显回踩均线。用筛选或复盘统计比例,你会看到比例随阶段剧烈波动——震荡偏高,单边趋势偏低。

子命题二:未回踩的强势后续 N 日涨幅是否更高。若 Chase 盈利主要来自从不回踩的样本,动量假设成立;Fill 无信号或平庸,说明回补定义太理想。

子命题三:小涨幅日与大涨幅日,Fill 命中密度是否不同。常出现小阈值 Fill 信号多、大阈值 Chase 更有效——一口「必补」掩盖了结构差异。

动画各抽十笔:追成功、追失败(高开低走或次日跳水)、等到回踩、等待踏空。缺口研究最怕只活在口诀里,从不看踏空成本。

噪声:除权、毛刺、一字板

除权假跳空:后复权缓解,除权前后仍人工剔除或缩短窗口。0.x% 的毛刺:提高 pct_chg 阈值,或要求放量。一字涨停强势日:回测可能按次日开盘「买到」,实盘排不到,复盘标记不可成交。向下跳空若要做反弹,另写规则,别和向上 Chase 混名。

回测配置:后复权、佣金滑点、持有期与仓位
回测配置:后复权、佣金滑点、持有期与仓位

我自己怎么排研究顺序

先定生意:做动量延续还是做回撤再上车。再定代理:接受 pct_chg 强势日近似,还是等到有昨收字段再写严格缺口。然后两版同池同出场对照,单账户压一遍,动画抽失败单。最后才动阈值:3% 还是 5%,窗口 10 还是 15——一次一个旋钮。

AI 生成草稿时,常直接写出「开盘价大于昨收乘以 1.02」这类带偏移的条件。验收时看比较两侧是不是当前 K 线字段;若模型编了界面没有的偏移,删掉,改成涨跌幅与开收关系。草稿省时间,不能省核对。

有人问:没有精确缺口,研究还有没有意义?有。你研究的是两种执行哲学在 A 股日线上的相对表现——追确认后的强势,还是等回撤后再上车。缺口只是口语入口;真正可复现的是事件定义、成交假设和对照实验。精确到昨高空白带,是增强项,不是起步的前置条件。

收束:别神化必补,也别神化必追

跳空高开追还是等回补,写进条件选股后不是道德题,是不同风险溢价下的入场位置。Chase 赌延续,Fill 赌回撤后再启动。日线用涨跌幅、开收比较和依次触发做近似,是现阶段可视化编辑器里老实的做法;有昨收或分钟线再升级精度。

历史会告诉你:有多少强势日后五日出现回踩,有多少从不回头——两个数字都比口诀有用。Fill 在你的池子里几乎无信号,可能是市场结构,不是你不够努力调参。

今天可做的最小实验:复制同一出场,一版 pct_chg>3 收阳追,一版依次触发等回踩转强,同一区间单账户跑完,再抽五笔失败单看图。比继续在群里站队快。

和打板、突破策略别混口径

缺口口语常和「竞价抢筹」「弱转强」缠在一起。打板类研究往往用未复权、分钟路径、涨停能否排到,和本文这种后复权日线、次日开盘成交的趋势/事件代理,不是同一套账。拿打板曲线和 Chase 版比年化,比的是两种宇宙。

突破策略(收盘创 N 日新高)和「强势日追涨」有重叠:大阳日经常同时创新高。对照时要么合并成一版,要么严格互斥——例如突破版要求创新高但不要求涨跌幅阈值,Chase 版要求涨跌幅但不要求新高——避免同一笔交易被两套规则各算一次,心理上觉得「两个策略都验证了」。

若你主要做题材脉冲,Chase 的持有期宜短,出场别用「跌破 MA60」这种趋势长持逻辑,否则脉冲利润会吐光。若你主要做中期趋势,Fill 等回踩更贴近二次上车,和 MA20 回踩策略会撞车——这时选一个主剧本即可,不必两个都上实盘。

样本外怎么留,才不像自我安慰

强势日策略最容易在牛市样本里显得无敌。我至少留一段「大涨日后容易高开低走」的年份做压力测试,再留一段单边趋势看 Fill 会不会长期零信号。免费版数据窗口短,就把结论写窄:「近三年样本内,Chase 交易次数是 Fill 的几倍,回撤差几个点」——别外推成十年规律。

同一阈值在不同市值池子里脾气不同。全 A 扫一遍,小票大涨日又多又假;缩到沪深 300 或自选流动性池,结论常温和得多。先固定规则换池子,再固定池子改阈值,顺序反了你会以为「3% 比 5% 神」,其实只是池子换了。

佣金滑点对 Chase 更伤:次数多、追价高。Fill 次数少,单笔成本占比低,但踏空的机会成本不体现在回测手续费里——那是另一本账,写在笔记里「2020 年 Fill 零信号期间指数涨了多少」,比只看策略净值完整。

筛选页可以当「缺口天气」:弱市里 pct_chg>5 的命中会突然变少,题材高潮日又会扎堆。连续三天 Chase 列表超过你能看完的数量,不是机会翻倍,是系统性 beta——这时单账户槽位会迅速占满,后面的信号名存实亡。宁可把阈值临时提高,或缩到自选池,也不要假装能买下全市场。

若你只想验证「高开低走是否该回避」,甚至不必上完整 Chase/Fill:在强势日条件上加一条「收盘价 > 开盘价」,对比去掉这条的版本。很多名义大涨日其实是冲高回落,次日低开概率更高——这条开收过滤,往往比纠结缺口宽度更立竿见影。

想在本机完成搭建、筛选、批量与单账户回测、动画复盘,可了解 青柠量化:策略本地保存,常规日线后复权与次日开盘成交开箱可研究。

免责声明: 本文仅作量化研究方法与软件使用说明,不构成投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。