许多 A 股投资者的第一套量化直觉来自美股教程:信号出现当日收盘买入,止损触发当日卖出;回测里每根 K 线都能成交,流动性无限。把同一套假设搬进 A 股,曲线往往系统性偏乐观——不是因为策略「在美国有效、在中国无效」,而是因为交易制度与可成交性完全不同

A 股个人投资者面对的核心约束至少包括:T+1(当日买入次日才能卖)涨跌停(价格触及涨跌幅限制时往往买不到或卖不出)板块差异(主板 10%、创业板/科创板 20% 等),以及后复权常规回测与打板未复权专项的分工。忽视这些约束,回测年化 30%、实盘半年亏 15% 的落差(系列前文「可信度自检」)里,有一大块本可在研究阶段就被看见。

本文是 A 股交易约束与回测口径的深度指南:讲清每条约束如何改变买卖时序与成交假设,LemonPicking 里常规后复权回测能验什么、不能验什么,打板为何必须未复权(系列 06 专文延伸),以及如何用批量/单账户与动画复盘把「买不进、卖不出」从幻觉里剥离。示例界面来自 LemonPicking 历史回测与打板回测模块;打板未复权回测需专业版授权,常规日线回测免费版近约 3 年日 K 可跑通。


一、制度差异一张表:A 股 vs 常见美股假设

维度常见美股回测假设A 股现实对回测的影响
卖出时机当日可卖(T+0)T+1:当日买入次日才能卖日内止损、当日止盈在 A 股不可执行(除非昨日已有持仓)
涨跌幅多数无日涨跌幅硬限制涨跌停板涨停常买不到,跌停常卖不出
价格口径调整后价格常见趋势策略用后复权;打板用未复权混用口径会得出错误结论
成交规则收盘价/ VWAP 各异LemonPicking 常规:收盘确认,下一根开盘成交 + 佣金滑点比「信号当根收盘立刻成交」更保守
流动性大盘股深度好小票、一字板、封板排队批量回测易高估(系列批量 vs 单账户)

核心结论: A 股回测不是「少几个函数」的问题,而是默认假设集不同。用 LemonPicking 做零代码 A 股策略时,应先在脑子里切换到 A 股约束,再读夏普和年化。


二、T+1:持仓约束如何改写出场与风控

T+1 的含义:你在 T 日(通常按收盘确认信号、T+1 日开盘成交买入)建立的仓位,最早在 T+1 日才能卖出——更严谨地说,T 日买入的份额,T 日不能卖

2.1 对策略 SDL 的直接影响

规则类型美股思维写法A 股可回测写法
固定止损「跌破 -5% 当日卖出」需明确:持有满 T+1 后下一可卖日按规则卖;或仅用收盘价止损于可卖日
日内止盈「冲高 3% 卖」日线回测通常无法表达精确 intraday 止盈,除非分钟线(专业版)
信号反转「死叉当日全平」可卖日若仍持仓,按出场信号于下一根开盘卖(与 LemonPicking 成交规则一致)
打板当日炸板止损「炸板即走」打板专项模块处理;常规日线需知边界

2.2 T+1 决策树:你的出场规则是否「假执行」

出场条件触发
    │
    ├─ 触发日 = 买入当日?
    │       │
    │      是 ──► **常规日线回测无法当日平仓**
    │              应改为:次日及以后可卖日执行
    │       │
    │      否
    │       │
    ├─ 出场信号是否「收盘确认 + 次日开盘卖」?
    │       │
    │      是 ──► 与 LemonPicking 默认一致 ✓
    │       │
    │      否(例如「 intraday 触及即卖」)──► 需分钟线或接受口径偏差
    │
    └─ 是否依赖「当日买入当日止损」?
            │
           是 ──► 回测会**高估**风控;实盘做不到

常见反例: 策略写「买入后若当日收盘跌破 MA5 则卖出」。若买入发生在 T+1 开盘(由 T 日收盘信号触发),则「买入当日」实际是 T+1——这条规则在 T+1 日收盘才可卖,逻辑上可行;但若理解成「信号日当日可卖」,则与 T+1 冲突。动画复盘逐 K 线核对买入日与卖出日是否间隔至少一个可卖周期,是排查 T+1 误设的最快方法。


三、涨跌停与可成交性:买不到、卖不出的数学

涨跌停制度下,价格触及涨跌幅上限时,往往缺乏对手盘——涨停时散户常见「排板买不到」,跌停时「挂卖卖不出」。回测若默认「只要有信号就能按开盘价/收盘价成交」,在强势涨停策略上会严重高估

场景市场现象若回测忽略约束LemonPicking 中的应对
一字涨停开盘即涨停,排队难成交假设开盘买到打板回测可配置成交概率/跳过原因
尾盘涨停封板晚,可能可买一律成交打板模块看封板时刻;常规回测不模拟排板
跌停卖不出持仓遇跌停无法离场假设收盘卖出常规回测部分场景按规则;打板/极端行情需专项
连续涨停连板加速每日都能买打板未复权 + 可成交假设
涨跌停与封板:打板回测中的专项约束
涨跌停与封板:打板回测中的专项约束

常规后复权历史回测主要服务均线、MACD、突破等趋势/指标策略,默认口径是后复权 + 收盘确认 + 下一根开盘成交 + 费用。它对涨跌停的处理是研究级保守近似,而非逐笔撮合——因此:

  • 不要用常规回测去验证「追涨停、打首板」类规则,然后与实盘打板对比;
  • 应该使用专业版打板回测(未复权)专项模块(系列 06 已讲原理,本篇强调与 T+1、可成交性联动)。

四、后复权常规回测的边界:能验什么、不能验什么

LemonPicking 历史回测模块采用后复权价格,目的是让 MA、MACD 等指标在除权除息日连续,避免假突破。这与打板研究的未复权需求并行不悖——各管各的策略类型。

模块价格口径适用策略能较好回答的问题不能可靠回答的问题
历史回测后复权趋势、均线、MACD、共振过滤等长区间收益、回撤、胜率(在默认成交假设下)涨停能否买到、封板率、连板层级
打板回测未复权首板、连板、封板率、炸板止损连板表现、封板时刻、跳过原因与后复权趋势策略直接比收益率
历史回测配置:后复权、区间、批量与单账户模式
历史回测配置:后复权、区间、批量与单账户模式

边界清单(务必内化):

  1. 1. 后复权回测的收益率 ≠ 当时账户若用未复权报价交易的收益率——它检验的是「规则在复权连续价格 + 约定成交假设下」的表现。
  2. 2. T+1 与涨跌停在常规模块中是制度-aware 的近似,不是 Level-2 逐笔仿真。
  3. 3. 分钟线(专业版)可细化部分 intraday 逻辑,但仍受涨跌停与流动性假设限制。
  4. 4. 两种模块的胜率、年化不可直接争论「哪个对」——口径不同,问题不同。

五、打板未复权专项:与常规回测如何配合

打板策略关心:是否首板/连板、封板时刻、炸板、一字板能否成交。涨停幅度绑定实际报价(未复权),除权后后复权价格会把历史涨停位「拉变形」——用后复权判定「那天是否涨停」会系统性错误(系列 06 专文)。

专业版打板回测三步流:

  1. 1. 选股与资金 — 标的池、初始资金、区间;
  2. 2. 打板策略 — 连板层级、封板率、成交假设、炸板止损等;
  3. 3. 回测结果 — 胜率、连板层级、封板时刻分布、跳过原因(买不到的关键证据)。
打板回测入口与未复权口径说明
打板回测入口与未复权口径说明

与 T+1 的交叉: 打板买入若发生在 T 日,T 日不能卖;炸板止损、次日低开止损等规则必须在模块语义下理解「最早可卖日」。读交易明细时对照买入日期与卖出日期,比只看汇总胜率更重要。

研究组合建议:

你的策略成分建议模块
纯趋势(金叉、突破)历史回测(后复权)
纯打板(首板、连板)打板回测(未复权,专业版)
趋势筛选 + 打板执行分拆验证:趋势用后复权,打板用未复权;勿混成一个数字

六、批量 vs 单账户:约束叠加后谁更「诚实」

系列前文「批量回测 vs 单账户模拟」指出:批量模式每只票独立本金,信号可全部成交;单账户共享资金与最大持仓,会出现「信号有了但买不进」。

当叠加 T+1 + 涨跌停 + 仓位上限 时,差距进一步放大:

模式T+1 体现涨跌停体现典型误读
批量单标的每票独立时间线,仍可能高估「同日多票可买」不一定模拟涨停买不到把平均年化当账户预期
单账户线性统一账户时间线,卖出释放资金后才能再买与引擎规则一致的部分更可见若只做批量会忽视

实操顺序:

  1. 1. 批量看策略在标的池上是否普遍有效(中位数收益、回撤分布);
  2. 2. 单账户设置真实最大持仓、固定比例仓位(系列 23 仓位专文);
  3. 3. 看跳过/未成交比例与资金曲线——若大量信号因槽位或资金被丢弃,批量年化没有参考意义。
单账户与批量:同一策略在约束下的曲线差异
单账户与批量:同一策略在约束下的曲线差异

打板策略更极端:涨停日多信号扎堆,单账户下排板资金分配买不进是常态——必须以打板回测的跳过原因 + 单账户(若适用)为准,而非全市场批量「每只都买到」。


七、动画复盘:在约束条件下做「行为质检」

汇总指标告诉你「赚多少」;动画复盘告诉你「是不是在涨跌停/T+1 规则下仍然说得通的赚法」。

动画复盘:逐 K 线核对买卖日与涨跌停附近行为
动画复盘:逐 K 线核对买卖日与涨跌停附近行为

复盘核对清单(约束专项):

  • 买入是否发生在信号收盘确认后的下一根开盘(而非信号当根收盘立刻买,除非你明确接受更乐观假设)
  • 卖出日是否 ≥ 买入日后的第一个可卖日(T+1)
  • 买入点是否频繁落在一字涨停或连续涨停——若是,常规回测可能过度成交,打板需专项
  • 大跌日是否有「跌停卖不出」仍显示当日全平——若有,查出场规则与模块口径
  • 单账户模式下,同日多信号是否只成交部分——与资金/持仓一致

系列前文强调:数字好看但点位怪异,优先查未来函数口径;本篇补充:点位怪异还要查涨跌停与 T+1


八、决策树:我该用哪种回测、哪种口径?

你的策略主要依赖什么?
        │
        ├─ 均线/MACD/突破/多指标共振
        │       │
        │       ▼
        │   历史回测(后复权)
        │   + 收盘确认 / 次日开盘 / 佣金滑点
        │   + 批量 → 单账户
        │   + 动画复盘
        │
        ├─ 首板/连板/封板率/炸板
        │       │
        │       ▼
        │   打板回测(未复权,专业版)
        │   + 配置成交假设与封板率
        │   + 读跳过原因
        │   + 勿与后复权年化直接比
        │
        ├─ 日内精细止损/止盈(分钟级)
        │       │
        │       ▼
        │   专业版分钟线 + 接受流动性近似
        │   + 仍受 T+1 卖出限制
        │
        └─ 混合(趋势选 + 涨停买)
                │
                ▼
            拆成两段验证,禁止单曲线糊弄

九、常见反例:六种「像 A 股、其实是美股脑回路」的写法

反例错误假设后果修正
1. 当日止损T 日买 T 日卖回测风控偏乐观可卖日再止损;或分钟线明确假设
2. 后复权打板用后复权判涨停封板率、连板层全错打板模块未复权
3. 批量年化上实盘忽略涨停买不到预期虚高单账户 + 打板跳过原因
4. 混比两种模块收益口径不同错误决策分开报告
5. 信号当根收盘成交比 LemonPicking 默认更乐观比实盘早半拍对齐下一根开盘 + 费用
6. 忽视板块涨跌幅统一 10%创/科 20% 策略失真打板模块按板块配置

反例 3 的真实故事模板: 全市场批量回测「突破 + 放量」,平均年化 28%;单账户最大 5 只、30% 仓位,年化 11%,且大量信号在涨停日无法买入——这不是策略「失效」,是约束与资金终于进入方程。


十、可执行步骤:从规则到可信 A 股回测

第 1 步:给策略贴标签

在策略说明里写清:趋势型 / 打板型 / 混合;决定进历史回测还是打板回测。

第 2 步:对齐 LemonPicking 默认口径

后复权(常规);收盘确认、下一根开盘成交、佣金滑点;出场规则不与 T+1 冲突。

第 3 步:批量建立普适性

标的池、免费版约 3 年或专业版更长历史;看中位数指标,不盯单票。

第 4 步:单账户加压

最大持仓、固定比例仓位;记录跳过信号与资金占满天数。

第 5 步:打板类走专项

专业版未复权打板回测;导出跳过原因统计。

第 6 步:动画复盘

至少 20 笔交易,按第七节清单核对 T+1 与涨跌停附近行为。

第 7 步:与实盘监测衔接(可选)

系列「想法到盯盘提醒」第 6 站:规则通过约束检验后,再用飞书/桌面监测——监测不能替代回测约束,只能替代「人在不在场」。

产品主界面:历史回测、打板回测与复盘入口
产品主界面:历史回测、打板回测与复盘入口

十一、与系列其他概念的交叉索引(无外链,便于对照)

系列概念与本篇约束的关系
未来函数 / 前视偏差与 T+1 无关;但若用未来 K 线算指标,回测仍会「好看」——约束正确也救不了前视
批量 vs 单账户涨跌停买不到在批量里被平均掉;单账户 + 最大持仓才可见
后复权 vs 未复权趋势用前者,打板用后者;本篇第四节边界表
佣金滑点LemonPicking 默认下一根开盘成交 + 费用;比信号当根收盘成交保守
收盘后全市场选股筛选结果多 ≠ 都能买到;需单账户 + 涨停约束意识
打板未复权专文本篇第五节延伸;涨停判定必须用实际报价
分钟线回测可细化 intraday,仍受 T+1 卖与涨跌停限制
实盘监测约束检验通过后,监测只解决「提醒」,不解决「成交」

十二、案例对照:同一「突破买入」在三种假设下的差异

规则(口语): 收盘价突破 20 日高点买入,跌破 10 日低点卖出;每次 30% 仓位。

假设集模块可能结论
美股式假想:后复权 + 信号当根收盘成交 + T+0 当日可卖年化偏高、回撤偏低——非 A 股
LemonPicking 常规后复权 + 收盘确认/次日开盘 + T+1 + 费用中等年化——趋势策略基准
+ 涨跌停意识 + 单账户同上 + 最大 5 只 + 复盘核对涨停日年化再降、但更可信
若改成「突破涨停追入」必须打板未复权(专业版)与上表数字不可比

复盘会发现: 美股式假设下,不少「跌破 10 日线卖出」发生在买入当日——A 股做不到;LemonPicking 常规会把卖出推到可卖日,曲线更锯齿,但更诚实。


十三、FAQ:T+1 与涨跌停回测八问

Q1:T+1 是否意味着持有至少两个交易日?
若 T 日收盘确认、T+1 开盘买入,则最早 T+1 日收盘后(T+2 开盘)才可卖——至少跨一个完整持仓日,常理解为「买入后次日才能卖」。

Q2:常规回测会不会模拟涨停买不到?
对非打板策略是近似处理;追涨停类必须用打板模块。

Q3:创业板 20% 涨停在常规回测里?
趋势策略影响小于打板;打板模块按板块配置幅度。

Q4:跌停开盘卖不出,回测怎么显示?
可能延迟到可成交日;以引擎规则与交易明细为准,复盘核对。

Q5:后复权回测收益能否换算成「真实账户」?
不能简单换算;它回答的是复权连续价格下的规则表现。

Q6:打板与常规能否合并成一个策略文件?
编辑器可写复杂逻辑,但验证应分拆:趋势段走后复权,涨停段走打板。

Q7:免费版 3 年日线够吗?
够理解 T+1/涨跌停与单账户;更长牛熊与打板深度需专业版。

Q8:动画复盘要看的最低样本?
建议 ≥ 20 笔;其中刻意包含涨停附近、大跌日、多信号同日。


结语:A 股回测的「诚实」,始于承认买不到、卖不出

美股教程教的是方法;A 股实盘教的是约束。T+1 让风控慢一天,涨跌停让成交多一层概率,后复权与未复权让不同策略走不同验证通道——把这些写进研究流程,回测数字才会从「好看的故事」变成「可执行的假设」。

若你用 LemonPicking 做零代码 A 股量化,免费版即可完成后复权常规回测、批量/单账户与动画复盘;涉及打板、分钟线、更长历史时,专业版提供未复权打板回测与更细粒度数据——但任何模块输出均为历史假设下的研究参考,不构成投资建议或收益承诺。

下载与说明见产品页:
https://www.zpyztech.com/product/lemonpicking/


免责声明: 本文仅作 A 股交易制度与量化回测方法说明,不构成任何投资建议。历史回测在简化假设下产生,与实际成交可能存在差异,请独立判断并自行承担交易风险。

建议标签: A股 T+1 涨跌停 可成交性 打板 未复权 量化回测