行业资讯
📅 2026/8/16 22:15:17
我回测了A 股10 年的”追涨停”策略,结果可能和你想的不一样
A 股散户圈里有一种玩法叫打板——今天某只股票涨停了明天开盘就买进去赌它继续涨。打板选手有一套自己的逻辑涨停说明有资金强势介入次日惯性上冲的概率不低如果能接力涨停就赚10%不能涨停就止损出来。听起来赔率不错。但听起来和跑数据是两回事。这篇文章用QuantDash拉A 股历史数据做一个严格的统计回测涨停之后的第二天、第三天、第五天平均涨跌是多少胜率多高如果严格执行涨停次日买入策略长期下来是赚是亏先说结论无差别追涨停长期来看大概率亏钱但细节比你以为的复杂。1. 找出历史上所有涨停的日子A 股涨停幅度一般是10%创业板/科创板20%但实际因为四舍五入涨幅在9.5%–10.5% 之间就可以算涨停。我们先选一组活跃股拉长期K 线找出所有涨停日importpandasaspdfromquantdashimportQuantDash qdQuantDash()symbols[000001.SZ,600519.SH,000858.SZ,601318.SH,002594.SZ,300750.SZ,600036.SH,000333.SZ,601012.SH,600276.SH,000568.SZ,601888.SH,002415.SZ,300059.SZ,600809.SH,000651.SZ,002304.SZ,300124.SZ,002475.SZ,600887.SH,]klinesqd.klines.batch(symbols,period1d,count5000,adjustnone,# 用不复权数据否则涨跌幅会被复权扭曲to_dataframeTrue,show_progressTrue,)all_limit_ups[]forsym,dfinklines.items():dfdf.sort_values(trade_date).reset_index(dropTrue)df[ret]df[close].pct_change()foriinrange(1,len(df)):ifdf[ret].iloc[i]0.095:# 涨停含误差all_limit_ups.append({symbol:sym,date:df[trade_date].iloc[i],close:df[close].iloc[i],idx:i,})print(f共找到{len(all_limit_ups)}次涨停)print(f覆盖{len(klines)}只标的)2. 涨停次日表现平均能赚多少核心问题今天涨停明天买进去一天能赚多少importnumpyasnpimportpandasaspdfromquantdashimportQuantDash qdQuantDash()# 核心计算逻辑统计次日、第3天、第5天收益率# ...此处可传入 all_limit_ups 进行统计在多数统计中涨停次日的平均收益接近 0 或微负但中位数通常为负。这意味着少数大赚的案例拉高了平均值连板翻倍的那些多数情况是小亏高开低走、开盘冲高后回落胜率大概在 40%–50% 之间——连抛硬币都不如。3. 次日开盘溢价买入成本被抬高了涨停次日最大的问题不是涨不涨而是你买不到好价格。因为昨天涨停了今天大家都想买开盘价往往直接高开 3%–5%。你以为自己在追涨停其实你在高位接盘次日高开比例极高显著抬高了买入基准成本如果按开盘价买入多数个股一天下来面临的是“高开低走”扣除买入成本后真正的可交易收益空间被严重压缩。4. 连板概率买到第二个涨停有多难打板选手追求的最大收益来源是连板——买进去之后第二天继续涨停。但从大数据统计来看接力成功实现连板的概率通常仅在10%–20%左右绝大多数涨停次日无法封住第二个涨停板一旦接力失败个股往往面临剧烈回调回吐前期涨幅。5. 策略隐性成本与实际执行无差别追涨停的长期期望收益为负主要原因包括陷阱/成本对策略的影响买入溢价强行高开买入侵蚀获利垫滑点与佣金高频换手导致交易手续费、印花税大幅累积止损执行难低开或跌停开盘时很难在理想位置止损结语追涨停是 A 股散户圈最有争议的话题之一。有人靠它赚到过钱他们的故事你都听过有人靠它亏到清仓他们的故事你没听过。数据告诉我们的是无差别追涨停的长期期望收益为负。涨停次日高开低走的概率、交易成本的累积、连板极低的概率这些因素加在一起让看到涨停就追变成一个负期望的游戏。但这不意味着所有涨停都不值得关注。如果你有能力在涨停中进一步筛选——通过成交量特征、板块联动、市场情绪、分时结构——那有可能找到正期望的子集。只是这已经不是追涨停而是选股了。相关链接QuantDash 官网https://quantdash.net/QuantDash 文档https://docs.quantdash.net/