← 返回研究报告库
固定规则对照 · 2026-10-08

北交所开盘还是收盘调仓:同信号对照回测

全历史统一使用前一交易日收盘定名单,隔日开盘执行并未改善收益。周度现金账本年化从55.09%降到45.07%,双周从42.91%降到38.66%;下降集中在少数调仓日,不能外推成永恒规律。

价格样本:2021-11-15—2026-09-30持10只 · 单边0.3% · 不调参数

相同名单,开盘收益更低

两个版本共享同一套前日信号、目标股票、交易日历和选股参数。每个周期首个实际交易日调仓,周度与双周分别对照。现金账本在调仓时等权,此后股数保持不变、权重自然漂移;保留股票的加减仓也收取费用。

频率执行时点年化收益最大回撤夏普累计收益
周度收盘55.09%−38.27%1.23685.97%
周度开盘45.07%−40.80%1.07474.28%
双周收盘42.91%−42.56%1.04435.21%
双周开盘38.66%−42.06%0.97364.43%

周度开盘少10.02个百分点年化,最大回撤扩大约2.53个百分点;双周开盘少4.25个百分点年化,回撤略小约0.50个百分点。周度期末财富为收盘版本的73.07%,双周为86.78%。这是本段历史、这套参数的结果。

周度及双周同信号开盘和收盘调仓的净值与回撤对照,虚线标出财务缓存缺失影响较大的2026年8月起区间

为什么不是直接拿页面60.55%和开盘比较?

原页面的历史部分用当日收盘数据选股、又假设当日收盘成交。此次先逐日复现它,周度与双周全部1185个净值点一致;再把全历史信号移到前一交易日,区分信号修正与成交时点的作用。

频率页面接近的指数口径年化收益最大回撤夏普
周度旧版当日信号+收盘60.55%−40.41%1.33
周度前日信号+收盘55.48%−37.72%1.24
周度前日信号+开盘48.18%−40.12%1.13
双周旧版当日信号+收盘51.37%−42.81%1.19
双周前日信号+收盘46.80%−41.55%1.11
双周前日信号+开盘43.74%−40.98%1.07

这一表沿用页面每日隐含等权的近似口径。前日信号+收盘一栏与原计算程序切换到前日信号后的净值差异不超过0.0000011;因此55.48%→48.18%的周度下降才是这个近似模型中的开盘时点影响。现金账本进一步计入持仓漂移及保留股票重新等权的交易费,所以主表的数值不同。

统一前日信号后,周度与双周首次建仓均为2023-02-20;之前合格股票不足10只而空仓。全期年化保留2021-11以来的空仓期,2023年的收益也包含年初空仓。2026-10-08起的线上规则仅向前修正信号时点,本报告为了公平研究,对全历史统一重算。

开盘调仓当天,谁承担涨跌?

前一交易日收盘后,使用当时市值、PE、公告财务、安全分和20日平均成交额确定名单。开盘版本先将旧仓从上一收盘计价到当日开盘,卖出旧仓、买入新仓,再将新仓计价到当日收盘;收盘版本保留旧仓到当日收盘,再换仓。隔夜缺口始终属于旧仓,没有把开盘前的涨幅送给新买入的股票。

参数固定为:上市满180日、市值至少1亿元、0<PE≤50、净利润同比增长>10%、20日平均成交额≥500万元,按原脚本安全分剔除末30%,再取最小市值10只。合格不足10只时,沿用原策略:未建仓则继续持现金,已有持仓则等待下一次有效目标,不临时加入清仓规则。财务公告日≤信号日,供应商未提供披露时刻。

价格使用同一供应商缓存的原始开盘与收盘,并对两者应用相同复权因子。实际开盘价格全部存在,没有用收盘填造开盘价格。持仓使用复权股数核算,股息等由原复权口径处理;允许零股、没有本金容量和整手约束。费用对每笔实际交易额收取,不额外优化参数。

差异从哪里来?

两种时点的年化费用消耗近似相同:周度约5.80%与5.78%,双周约4.12%与4.12%(按每次费用占成交前净值累加、再除以样本年数;不是从CAGR直接扣除的固定费用)。主要差异来自持有调仓日不同股票和成交时的持仓价格,而不是开盘版本多设了一档手续费。

频率对开盘最不利的日期开盘减收盘的当日对数收益
周度2025-04-07-11.50个百分点
周度2024-02-05-6.52个百分点
周度2024-10-28-4.86个百分点
双周2024-10-28-5.28个百分点
双周2024-02-05-5.18个百分点
双周2025-06-23-3.25个百分点

周度最差三天贡献约72.9%的全期对数财富差距,双周约96.7%。这些是看到结果后追加的解释性诊断,没有据此筛除日期或挑选新策略。开盘并非每年都差,2023年反而较好;因此不能把“收盘更好”解释成每天稳定获得的价差。

提高成本与截断样本,方向是否改变?

频率压力情景执行年化收益最大回撤
周度单边0.5%收盘49.21%−40.60%
周度单边0.5%开盘39.58%−43.03%
周度单边0.3%+涨跌停近似收盘56.05%−38.27%
周度单边0.3%+涨跌停近似开盘45.07%−40.80%
双周单边0.5%收盘39.04%−44.09%
双周单边0.5%开盘34.90%−43.61%
双周单边0.3%+涨跌停近似收盘43.07%−42.56%
双周单边0.3%+涨跌停近似开盘38.66%−42.06%

涨跌停压力使用成交价格相对供应商当日pre_close的±29.5%作为近似,买入接近涨停或卖出接近跌停就不成交,不是精确涨跌停价或盘口队列回放。卖不掉的股票继续持有,可用现金不足时缩减新买入;之后到下一次有效周期目标才重试。该压力下开盘也未胜出。

分年收益

频率年份收盘累计收益开盘累计收益
周度202340.71%49.14%
周度2024169.34%132.12%
周度2025146.19%108.35%
周度2026(至9月30日)-15.76%-20.38%
双周202335.49%42.51%
双周2024128.63%95.41%
双周2025119.77%111.89%
双周2026(至9月30日)-21.38%-21.29%

减少缺失半年报影响,及最近两年的历史切片

频率样本收盘年化开盘年化
周度截至2026-07-3156.20%45.93%
周度2024-10起,历史切片145.67%102.91%
双周截至2026-07-3143.58%39.16%
双周2024-10起,历史切片102.96%88.31%

截至2026-07-31的周度开盘年化45.93%,收盘56.20%,方向一致。最近两年仅作描述性检验,历史已被本项目多次研究,没有声称是新留出的样本外证据。

差距的抽样不确定性

频率开盘减收盘的年化对数差20日区块重抽样95%区间
周度-6.68个百分点-14.63 ~ -0.03个百分点
双周-3.02个百分点-8.69 ~ 1.71个百分点

采用配对日收益、20日环形区块、2000次重抽样。周度区间上界仅略低于零,双周跨零;区块长度、尾部日期、历史探索和供应商修订都会影响推断。它描述当前历史差异,不构成新样本验证或多重检验校正后的优势证明。

这份结果有哪些实际限制?

财务公告缓存最晚为2026-04-30。8—9月继续使用缓存内旧财务值,缺少半年报更新;截至7月的结果用于减少这个影响,但也不能保证财务数据完全新鲜。高历史年化不能直接作为未来收益预期。

结果支持继续保留收盘作为当前研究执行口径;如果要评估实盘成交质量,还需要盘口或分钟行情,而不是只更换回测标签。本次只新增一次性研究报告。

下载与复现

完整结果逐日净值各期目标名单逐笔交易与费用换仓与资金核对结果前固定设计校验结果回测源码原策略快照报告生成源码

需要本项目只读SQLite缓存,以及pandas、numpy、matplotlib。将本目录置于原仓库my-app/public/reports后运行backtest.py,再运行build_report.py;数据读取不会调用外部API或改写策略。结果取决于对应缓存版本。一次性研究截至2026-09-30,不接每日更新。