该策略是A 股短线涨停板套利系统,专注于捕捉 “首板转二板”,“首板低开分歧”,“弱转强” 三类强势股形态,通过 “每日选股 - 集合竞价买入 - 分时止盈止损” 的闭环实现交易。
每日运行时序:
- 9:01:基于前一交易日数据筛选候选股票池。
- 9:26:集合竞价结束后,对符合条件的股票执行买入。
- 10:00:对高位放量的股票强制卖出。
- 11:25:对上午有盈利的股票止盈。
- 14:50:对下午未涨停的盈利股止盈、破位股止损。
二、初始化函数:策略底层设置
- 关键参数解析:
- 使用真实价格:若关闭,模拟盘会用当日收盘价计算持仓,导致与实盘价差过大;开启后用分时成交均价,更贴近真实交易。
- 禁用未来函数:例如,若策略在 9:30 用 “当日收盘价” 判断买入,属于 “未来函数”,回测会虚高;开启后强制限制只能用历史数据。
三、选股函数:构建三类核心标的池
该函数是策略的 “大脑”,通过多轮筛选从全市场股票中提取符合形态的标的,分为一进二、首板低开、弱转强 三类。
1. 涨停股筛选核心函数
- 筛选当日涨停股(收盘价 = 涨停价)。
- 筛选当日曾涨停股(最高价 = 涨停价,无论是否封板)。
- 筛选曾涨停且未封板(最高价 = 涨停价,但收盘价≠涨停价),用于弱转强形态。
2. 三类标的池构建细节
- 一进二候选:
- 步骤 1:筛选昨日涨停股。
- 步骤 2:排除前两日曾涨停的股票(避免连续涨停的高位股)。
- 首板低开候选:
- 步骤 1:从昨日涨停股中,排除前日涨停的股票(确保是首板)。
- 弱转强候选:
- 步骤 1:筛选昨日曾涨停但未封板的股票。
- 步骤 2:排除前日涨停的股票(避免连续涨停后的回调)。
四、买入函数:三类标的的入场条件
在 9:26 执行,基于集合竞价数据和前一日数据,对三类标的进行最终筛选并买入。
1. 一进二买入条件
针对列表,需通过 7 重筛选:
- 条件 1:成交额与均价强度
- 昨日成交额:需在 5.5 亿~20 亿。
- 原因:低于 5.5 亿流动性不足,高于 20 亿可能过度炒作。
- 均价涨幅:均价较收盘价涨 7%+。
- 逻辑:均价反映当日真实成交成本,涨幅高说明日内买盘强势。
- 条件 2:市值过滤
- 总市值≥70 亿,流通市值≤520 亿。
- 原因:总市值过低易**控,过高则弹性不足;流通市值过高则资金难以推动。
- 条件 3:排除 “上涨未放量”
- 通过函数判断:若昨日成交量≤近 N 日最大量的 90%,则跳过。
- 逻辑:找到最近一次高点高于昨日高点的日期(date),计算近date
+5 日的最大成交量,若昨日量能不足 90%,则视为 “虚涨”。
- 条件 4:集合竞价强度
- 竞价成交量≥昨日成交量的 3%。
- 原因:确保有足够资金关注,避免无量高开。
- 高开幅度 1%~6%:
1 < 竞价价 / (昨日涨停价/1.1) ≤ 1.06 。
- 逻辑:“昨日涨停价 / 1.1” 是当日平开价(因 A 股涨跌幅限制 10%),对应高开 1%,过高易被砸盘,过低则强度不足。
2. 首板低开买入条件
针对列表,需通过 4 重筛选:
- 条件 1:相对位置低
- 过去 60 日相对位置≤50%:
(收盘价-60日最低价)/(60日最高价-60日最低价) ≤ 0.5 。
- 原因:确保股价处于中低位,降低追高风险。
- 条件 2:低开幅度适中
- 开盘价较昨日收盘价低开 3%~4.5%:
0.955 ≤ 开盘价/昨日收盘价 ≤ 0.97 。
- 原因:低开太少(如 1%)分歧不足,低开太多(如 5%+)可能是资金出逃。
- 条件 3:成交额达标
- 昨日成交额≥1 亿,确保流动性。
3. 弱转强买入条件
针对列表,需通过 6 重筛选:
- 条件 1:短期涨幅可控
- 过去 4 日累计涨幅≤28%:避免短期翻倍后的回调。
- 条件 2:前日分歧度低
- 前日收盘价较开盘价跌幅≤5%:避免前日极端弱势。
- 条件 3:成交额与均价
- 昨日成交额 3 亿~19 亿,均价跌幅≤4%(日内抛压不重)。
- 条件 4:集合竞价强度
- 高开 2%~9%,且成交量≥昨日 3%(与一进二逻辑类似,但幅度放宽)。
4. 买入执行细节
- 仓位分配:
- 若仅 1 只标的:买入可用资金的 20%,避免单一标的风险过大。
- 多只标的:平均分配可用资金,分散持仓。
- 价格过滤:当前价≤60 日最低价 ×1.25,避免追高至历史高位。
- 下单条件:可用资金需足够买 1 手(100 股),否则跳过。
五、卖出函数:三层止盈止损机制
策略设置三个卖出时间点,覆盖不同风险场景,严格控制亏损、锁定利润。
1. 10:00 高位放量卖出
针对 “高位放量下跌” 的风险场景:
- 筛选高位股:过去 60 日相对位置≥85%(处于历史高位)。
- 卖出条件:
- 成交量放大:今日成交量≥昨日 50%。
- 回调幅度大:收盘价处于昨日高低点的 65% 以下(即从昨日高点回调 35%+)。
- 当日下跌:当前价<昨日收盘价(确认弱势)。
- 逻辑:高位放量下跌通常是资金出货信号,需快速离场。
2. 11:25 上午止盈
针对 “早盘盈利但未涨停” 的标的:
- 条件:有利润但未封板,避免午后回落。
- 操作:清仓,锁定早盘利润。
3. 14:50 下午止盈止损
- 止盈:与 11:25 逻辑一致,清仓有盈利但未涨停的标的。
- 止损:股价跌破 10 日均线。
- MA10 计算:动态更新,快速响应短期趋势。
六、辅助函数:策略的 “基础设施”
这些函数负责数据处理、股票池过滤、指标计算,是策略运行的基础。
1. 日期处理函数
- 将日期转换为字符串(
str )、datetime(dt )或 date(d )格式。
- 计算偏移后的日期(
'T' = 交易日,'N' = 自然日)。
2. 股票池过滤函数
- 构建初始股票池,步骤:
- 排除科创板(688 开头)、北交所(8 开头),仅保留主板(60、00 开头)和创业板(30 开头)。
- 排除上市不满 50 天的新股),避免新股无规律波动。
- 排除 ST 股、停牌股、退市风险股(名称含 “退”)。
3. 技术指标函数
- 计算股票在 N 日内的相对位置,值越小位置越低,用于判断是否处于低位。
- 判断 “上涨未放量”(量价背离),避免买入虚高标的。
七、风险点与优化建议
核心风险
- 形态失效:若市场风格切换(如从 “炒连板” 转为 “炒价值”),涨停板策略可能持续亏损。
- 参数固化:5.5 亿成交额、7% 均价涨幅等阈值是固定的,牛市中可能错过机会,熊市中可能过度买入。
- 竞价波动:9:26 的竞价价可能与 9:30 开盘价差异大(如高开 5% 后开盘跌 2%),导致实际买入价高于预期。
优化方向
- 动态参数:根据市场成交额(如沪深两市总成交额)调整阈值(成交额高时放宽,低时收紧)。
- 大盘过滤:当上证指数跌幅≥2% 或创业板指跌幅≥3% 时,暂停买入,规避系统性风险。
- 分仓细化:对不同胜率的形态(如弱转强胜率低)分配更低仓位(如 10%),一进二胜率高则分配 30%。
- 止损升级:加入 “固定比例止损”(如亏损 5% 强制卖出),补充均线止损的不足。
通过以上解析,可见该策略是一套 “规则化的短线套利系统”,从选股到买卖点均有明确量化标准,适合对 A 股涨停板生态熟悉的交易者。 |