跳至正文
全部策略

策略

陆港通重开后资金回流反弹,香港大盘股篮子(HKEQ日K线——在中国传统节假日内地陆港通SUSPENDED休市的最后HK个交易日,买入南向资金持股比例最高的10只H股,持有至南向资金通道重新开放,在陆港通恢复后的第3个交易日平仓;内地交易日心跳信号从CNEQ分钟K线流读取,2参数)

结局: 已放弃

StockConnectClosureFlowReboundHkeq

结局总结

StockConnectClosureFlowReboundHkeq 是该工厂在香港股票上的首次实验:它在每次内地假期休市期间的最后一个 HK 交易日,买入一个由 10 只南向持股比例较高的股票组成的组合,并持有至暂停的 Stock Connect 资金流恢复,期间使用时点一致的休市日历。该机制得到了忠实实现——所有 350 条腿均做多,在内地休市的最后一个工作日入场,在恢复后的第 3 个交易日退出——初始回测的毛收益数据看起来也不错(总收益 12.61%,PF 1.28,胜率 58.6%),因此回测评审给出了“优化”结论。优化随后揭示了实际统计情况:IS 0.910,对比 OOS 0.493;PBO 0.656;去膨胀夏普比率 0.0157;未通过项目检验 FDR;此外,OOS 的记录由单个窗口贡献,而 350 笔交易实际上归结为 35 个独立事件,t = 0.90。分析师在一次迭代后放弃该策略,并指出回测实际上从未计入 HKEQ 费用;扣除实际约 0.22% 的往返成本后,单笔交易收益低于交易场所下限。由于唯一有效参数是悬崖式阈值,且 Connect 暂停按法规每年约发生 7 次,因此没有可调优的路径。

假设

这是一个日历/资金流事件策略,所用数据资产此前工厂几乎从未触及(NEVER):香港股票(HKEQ、174 只流动性较好的股票,拆股调整干净的日线数据 2018-01-02 -> 2026-08,交易场所已在 venue_configs.py 中接入,账户类型为 CASH,单边成本为 0.11%)。机制:HK 大盘股的日成交额中,有很大且由机制决定的份额来自通过沪深港通南向流入的内地资金。内地交易所因多日公众假期休市时(春节、清明节、劳动节、端午节、中秋节、国庆节/黄金周、元旦),南向交易会暂停(SUSPENDED),而 HKEX 继续交易。在这些交易日里,持续且对价格不敏感的买方资金流因法规而从 HK 订单簿中消失,并非源于市场情绪;南向持股比例较高的 H 股交易清淡,价格逐渐走弱。内地重开后,暂停的资金流会集中回归。策略做多资金流回归:在休市窗口内第 LAST HK 个交易日收盘时,买入由 10 只南向持股比例较高的 HK 大盘股组成的等权组合,并持有至内地重开。这不是动量、均值回归、配对、ETF 轮动、资金费率或清算策略——1330-假设语料中没有类似策略族,也从未在 HKEQ(0 的 3068)上运行过任何实验。休市日历是已知历史,因此整整 8.7 年都可以立即回测,且没有数据可用性风险。内地假期状态是推导得出(ONLINE),而非硬编码:订阅 000001.CNEQ 作为 SIGNAL-ONLY 心跳(从不交易)——若连续至少 mainland_closed_days 个日历日没有新的 CNEQ 日线 bar,而 HK bar 仍持续到达,则判定内地休市。如果额外的 CNEQ 交易场所在引擎中不易使用,可采用允许的备用方案:内地假期窗口静态表 2018-2027(事前已知,无前视偏差)。

完全按假设实现:在已声明的 10-名称 HK 大盘股组合上做多资金回流,在陆股通暂停的最后一个 HK 交易日入场,在南向资金恢复后的第 3 个交易日退出。假设的两个参数分别映射为 min_closure_weekdays(暂停多久才可交易)和 hold_sessions_after_resume(恢复后的退出窗口期);二者均在 _param_bounds 中与唯一另一个受限值 gross_exposure 一同声明。我采用假设明确允许的回退方式,从静态闭市表中推导内地节假日状态,而非订阅 000001.CNEQ 作为心跳腿,因为在该引擎中 CNEQ 腿不仅尴尬,而且是致命的,体现在两次:(1)基础模板中同时间跨腿屏障会推迟主信号,直到每个同时间附加腿在 PRIMARY K线的精确时间戳上各有一根 K线,而 CNEQ 日 K线以内地收盘时刻盖戳(07:00 UTC),HKEQ 日 K线以 HK 收盘时刻盖戳(08:00 UTC)——两者永远不会重合,因此策略将评估零根 K线、下零笔单;(2)BacktestRunner 为每个额外场所分配独立的 100k 资金账户,并以起始余额的 SUM 作为收益/回撤的分母,因此一个闲置的 100k CNY 心跳账户将使所有报告的业绩数字减半。该表以同样的信息、无前瞻偏差地承载了这些:2018-01..2026-06 是已实现的 A 股交易日历(我已验证其精确复现了内地假期窗口——57 个窗口,无数据缺口噪声),尾部是官方公布的日程,监管机构提前约一年发布。使用已发布的日历还可使入场遵循假设的字面规则——窗口内的 LAST 交易日——而纯在线心跳永远无法在无前瞻条件下识别这一点,因为“内地明日复市”只能从(公开的)日历中获知。场所:HKEQ 如声明所示(venue_type 'spot' — CASH,仅做多,杠杆 1.0,代码中从未引用)。成本考量:0.11%/单边 + 约 4bp 半价差 ≈ 每腿 0.30% 来回成本,因此持有期内约 0.5% 的均值 / 约 1.2% 的中位数组合涨幅只是一个薄但为正的边际——机制是监管资金流的伪影,而非价格模式,因此无任何可扩大的逐笔优势,除非放弃该事件。性能契约:所有逐 K线工作均为 O(1)(一次字典查找,无历史扫描,无增长列表)。

无可度量的优势(35 个独立事件,t = 0.90),三项不可豁免的硬性有效性失败,逐笔优势在扣除未计费的法定成本后低于 HKEQ 下限,且无可调路径——单一机制参数为一处悬崖,而互联互通暂停按监管每年约 7 次,因此任何重构都无法增加独立观测。并非 revise_hypothesis:约束瓶颈在于内地节假日历的事件数上限,任何 HK-组合重构都会继承这一约束。

实现

香港大盘股的日历/资金流事件策略(HKEQ 日线,仅做多 CASH 市场,法定成本为每边 0.11%)。中国内地公众假期期间,法规暂停沪深港通南向交易 SUSPEND,而 HKEX 仍继续交易,使 HK 订单簿中持续存在、对价格不敏感的内地买盘消失;内地市场重开后,这类资金流会集中回归。策略在暂停窗口内第 LAST 个 HK 交易日收盘时,买入南向持股比例最高的 10 只 H 股/HK 只大盘股组成的等权组合(0700、0939、1398、0941、0883、0388、2318、1288、0386、0857),并在内地重新开放后的第 HK 个 3 交易日收盘时退出(hold_sessions_after_resume)。内地休市状态来自静态的内地市场休市窗口表:已实现的 A 股交易日历 2018-01..2026-06,加上公布至 2027 的前瞻日程——均为事前公开信息,按每根 bar 自身日期进行时点读取,每根 bar 只需一次 dict 查找。calculate_signal 以工作日为单位返回连续阶段分数:暂停期间仍在持续时为 -rem_after,资金流恢复前夕为 +window_len(信号强度 = 资金流被暂停的工作日数),资金流恢复后为 -(10 + sessions_since_resume)——因此入场阈值(min_closure_weekdays)和出场阈值(hold_sessions_after_resume)均以信号自身单位进行比较。历时 8.7 年发生 35 次事件(约每年 4 次,10 条腿对应 350 次腿级往返交易),平均持有约 4 个交易日,每次入场时仅快照一次每条腿的预算,以保持组合等权,按整股计算仓位,90% 总敞口,不使用杠杆,不做空。

验证结果

若内地休市最后一个工作日没有 bar 打印,则回退至窗口结束时或之前最近的 HK 交易日——仍为事前信息,可找回约 6 个事件。

入场只会在内地休市的最后一个 WEEKDAY 触发,而非在窗口内最后一个 HK SESSION 触发。回放显示,有 6 个窗口被跳过;这些窗口在暂停期间包含 1-3 个 HK 交易日,因为最后一个休市工作日本身也是 HK 假期(2018-04-30..05-01、2018-12-31..2019-01-01、2019-10-01..07、2022-04-04..05、2025-05-01..05)——约有 15% 的可交易事件被舍弃,其中包括一个黄金周事件。该处理较为保守(无前视偏差),但会进一步缩小本已很小的样本。

通过对 bar 自身日期进行二分查找,统计距最近一次窗口结束以来无休市的工作日数,使信号成为时间戳的纯函数。

`_resume_age` 以运行时长为锚(在 __init__ 中以 resume_cap=60 播种),而非从 K线日期推导。回测安全,但在持仓中途的模拟/实盘重启会在第一根 K线上产生信号 -70,并将整个组合平仓而非持有至第 3 个交易日;重放一致性无法实现。

请注意最低可行资本约为 1M HKD,或将每条腿的数量向下取整至一手。

HK 股票以整手交易(0700=100 股 ≈ 每手 HKD 60k,0939/1398=1000,0386/0857=2000),但定量按单股计算,且交易场所没有模拟整手限制。以 100k HKD 期初余额计算,9% 份额对于大多数交易腿都不足一手——该资金规模下无法执行这些成交。

分析师在回测审查时必须权衡两点。(1)COSTS ARE NOT CHARGED:HKEQ 工具是 NautilusTrader `Equity` 对象,且 `BacktestRunner._apply_fees` 按原样返回 Equity(src/backtesting/runner.py:2178-2183),因此在 venue_configs.py 中为 HKEQ 声明的 0.1100%/单边法定成本是 NEVER 已应用——沙箱报告 total_commission 0.0。沙箱的 avg_trade_return_pct 0.482% 因此是 ~0.22% 来回印花税及征费的 GROSS 和 8bp 来回半价差(impact_folded=false)的 ~0.18%;实际单笔净收益略高于 0.15% HKEQ 下限,且 ROUND_TRIP_COST_PCT['HKEQ']=0.10 低估了场所约 3x。(2)EFFECTIVE SAMPLE IS 35,NOT 350:我将闭市表回放至真实 0700.HKEQ 序列——在 2018-01..2026-09 期间恰好触发 35 次入场事件;每次事件的 10 条腿构成一个相关观测,因此样本外将包含约 7 个事件。预期置信区间较宽、且会有大幅度的样本外衰减;将 min_closure_weekdays 提高至其上限(4)可将事件数削减至约 15。

回测评审

夏普
0.25
总收益率
12.61%
最大回撤
9.28%
总交易数
350
胜率
58.6%
盈利因子
1.28

机制得到忠实实现,并已通过交易记录验证:所有 350 条腿均为 LONG;每个事件都在内地最后一个休市工作日收盘时入场(例如 2018-02-21,最后一个 LNY 休市工作日),并在沪深港通恢复后的第 3 个 HK 交易日出场(2018-02-26)。方向、时机和仓位规模均符合假设;休市表满足时点要求,不存在前视偏差。

真正全新的数据资产(语料中的首个 HKEQ 实验);不属于任何已失效的策略族。

毛收益结果干净,不是杠杆/复利造成的假象:PF 1.28,胜率 0.586,DD 9.3%,avg_position_pct 9.1%(真正的等权 10 腿组合)。

成本在结构上未计入,且成本高于优势:`_apply_fees` 原样返回 NautilusTrader `Equity` 对象,因此 HKEQ 的 0.11%/侧从未生效(total_commission 0.0,全部 350 笔交易的佣金为 0.0)。实际 HK 往返成本约为 0.22% 法定费用 + 约 0.08% 价差,合计约 0.30%;扣除后的单笔交易收益约为 0.19%,低于 0.30% HKEQ 下限。ROUND_TRIP_COST_PCT['HKEQ']=0.10,低估了该交易场所约 3x,因此代码中的成本下限在此不起作用。

净经济效应约等于零:12,608 美元毛利 − 2,986 美元未折算冲击(毛利的 19.15%)− 约 7,000 美元法定成本 ≈ 在 8.7 年内为 2,600 美元 ≈ 每年 0.3%,相对 1.46% 毛利 CAGR。

没有调优空间:gross_exposure 仅能在 1x CASH 交易场所上调整一个低于成本的优势;hold_sessions_after_resume 不会增加单笔交易利润空间;将 min_closure_weekdays 设为其上限(4)会使 35 个事件降至约 15 个。

佐证:35 个独立事件(不是 350),sharpe_ci [-0.50, 1.03] 跨越零,PSR 0.536,Sortino 0.040,Calmar 0.157,DD 持续时间为 742 天,9 年中有 5 年为正。

分析

机制得到忠实实现且满足时点要求:所有 350 条腿均为 LONG,在每次暂停期间内地最后一个已收市工作日入场,在资金流恢复后的第 3 个 HK 交易日出场。

留出样本在技术上为正(夏普比率 0.075,70 笔交易),且与 WF-OOS 一致(z = -0.50)——失败原因并非留出样本表现恶化。

所有结构性参数的敏感性均为平坦;回撤较小(优化值为 2.7%),且处于预先登记的 15% 范围内;预先登记的 6 项标准中有 4 项达标。

真正全新的数据资产(首次运行 HKEQ 事件日历)——这是有参考价值的负面结果。

三项不可豁免的 HARD 失败项:过拟合(IS 0.910 -> OOS 0.493)、OOS 0.493 < 0.5、PBO 0.656 > 0.5。

350 笔交易实际上是 35 个事件 × 10 条相关腿。事件平均值 +0.41%,标准差 2.67%,t = 0.90——与零无法区分;这与 DSR 0.0157、sharpe_ci_low -0.48 以及失败的研究计划 FDR 相符。

VERIFIED 成本缺口:每笔交易记录显示佣金 0.0,total_commission 0.0,尽管 venue_configs.py 设置 HKEQ maker/taker = 0.0011——_apply_fees() 对所有 NT Equity 工具均提前返回。将约 0.22% 来回成本(约 3,664 美元 PnL 中的 2,080 美元,按 2,702 平均名义)加上未折算冲击一并扣除后,单笔收益从 0.490% 降至约 0.19%,低于 0.30% HKEQ 下限。

唯一的机制杠杆是一个悬崖式阈值:hold_sessions_after_resume 2 -> 0.092,3 -> 0.470,4 -> 0.137;其他所有参数均不起作用。

OOS 的收益由一个窗口贡献(1.895 / 0.066 / -0.480);CAGR 1.46%,Calmar 0.174,9 年中有 5 年为正,回撤持续 742 天。

对 285 个项目候选方案采用 Benjamini-Hochberg 方法,q=0.10,筛出 4。未能通过此检验的候选方案,无法与该项目自身的噪声区分开来,无论其单项统计数据看起来多么出色。

结局总结

日历事件策略受事件数量本身限制——跨越 8.7 年的 35 个假期窗口,加上 10 条相关腿,无法产生统计上可区分的优势;如果引擎不计入真实市场成本,就必须将单笔交易毛收益与真实市场成本进行核对。

分析师在 ANALYZING 给出的结论是放弃;此前回测评审的结论曾是“优化”。有三项不可豁免的硬性有效性失败(过拟合、OOS 夏普比率 0.493 低于 0.5 下限、PBO 0.656 高于 0.5),此外还发现 350 条腿实际上只是 35 个相关事件,事件均值为 +0.41%,t = 0.90。已核实佣金从未计入(尽管有 HKEQ maker/taker 0.11%,但 total_commission 0.0),扣除约 0.22% 的法定往返成本及未计入的冲击成本后,单笔交易收益从 0.490% 降至约 0.19%,低于 0.30% HKEQ 下限。

当中国公众假期导致内地 Stock Connect 暂停时,在暂停期间的最后一个 HK 交易日买入由 10 只南向持股比例较高的香港大盘股(HKEQ 日线)组成的等权组合,持有至重开,并在南向资金流恢复后的第 3 个交易日退出。

在 2018-01 至 2026-09 期间,初始回测总收益为 12.61%(CAGR 1.46%),夏普比率 0.245(CI -0.50 至 1.03),来自 35 次休市事件的交易腿数为 350,胜率 58.6%,盈利因子 1.28,最大回撤 9.3%,按名义金额计的单笔交易平均毛收益为 0.490%。优化后:CAGR 0.469%,夏普比率 0.269,最大回撤 2.69%,样本外滚动验证 OOS 夏普比率 0.493,对比 IS 0.910,PBO 0.656,去膨胀夏普比率 0.0157;留出样本通过,夏普比率为 0.075,共 70 笔交易。

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。