跳至正文
全部策略

策略

KO/PEP对数价格协整价差回归:滚动OLS对冲比率,|残差| > 2个标准差时入场,回到1个标准差内时出场,在USEQ DAILY根K线上进行美元中性多空交易

结局: 已放弃

KoPepLogCointegrationSpreadReversion

结局总结

该策略测试了KO/PEP对数价格价差回归,使用滚动OLS和美元中性USEQ仓位。策略经过三次迭代,但Layer-3验证超时,未生成绩效指标。运行在回测审查、优化、分析师审查或风险审查前便已放弃。

假设

这是 TradeMan 的 FMZ“中性对冲统计套利(纯阿尔法)”说明(第 3.7 节)中的一条具体规则,它脱离了其全市场篮子扫描器,并应用于免佣金 USEQ 交易场所上的一个经济关联配对。规则:拟合 ln(Y) = a + b*ln(X) + c;其中 sigma = std(c),当 c > lambda*sigma 时卖出 Y 并买入 X,当 c < -lambda*sigma 时反向操作;当 c 回到 [-0.5*lambda*sigma, +0.5*lambda*sigma] 区间内时平仓。Y = PEP.USEQ,X = KO.USEQ。该配对事先根据经济逻辑选定,而非根据回测选出:两家全球饮料和零食特许经营企业,具有相同的必需消费品因子敞口、相同的投入成本、相同的 FX 换算影响和相同的利率敏感度。早在本数据集样本外窗口之前,它就一直是教科书式的协整配对。所有拟合均基于时点信息:每个日线收盘时,使用最近 N=250 个交易日的对数收盘价,通过 OLS 重新估计 a 和 b;sigma 则是该窗口内残差的标准差。仅使用当前柱及此前的信息。两条腿按美元中性配置:每条腿的权益名义金额为 50%(总额 1.0x,远低于 Reg-T 2x)。贝塔加权用于信号,而非仓位规模控制,以将其限制在 2 个参数。来源中的全市场扫描、赫斯特排序、做市方/吃单方执行和“指数套利”部分均未移植 NOT:说明中没有给出这些内容的规则或代码,而扫描许多标的正是此处会超时的那类操作(L173)。来源中的恩格尔-格兰杰 ADF 和赫斯特过滤器预先登记为 SEPARATE 变体 B(仅当最近-250残差 ADF p < 0.10 时交易),并单独评分。它不属于主要结论(L130)。预计空仓交易日占比:约 60-70%。这为何不违背相关经验:L137 禁止多腿中性 BOOKS(篮子和跨交易场所套利)。这是免佣金交易场所上的一个配对,额外一条腿的成本约为 0.02-0.05%,而非 0.10-0.20%。提示中的股票部分将“行业内配对(KO/PEP 风格)”列为已验证的典型策略。USEQ 占语料的 2.5%,且 long_short 14.7%,因此这同时补充了两个代表性不足的类别。数十年的日线历史数据支持约 150-250 次生命周期内的往返交易,而加密货币配对历史通常只有数十次。

迭代3仅改变运行性能。滚动OLS在迭代2中已采用增量计算:每根K线为O(1),每250根K线摊销一次重新同步,覆盖约1650根日线,因此策略计算只需毫秒。重复出现300秒超时最可能是环境因素:检查时主机平均负载约为83。基础模板没有递归路径(已检查_submit_exit、_submit_exit_position和_submit_entry_instrument)。唯一剩余的逐K线工作,即用于孤立腿清理的两次cache.positions_open查询,现在仅在持有配对仓位时运行(_held != 0)。信号、入场/出场区间、仓位规模和配置均未改变,因此Layer 1-2仍通过。如果Layer 3再次超时,原因在目录/负载侧(USEQ数据加载),而非策略代码。

verification_loop:sandbox_timeout:验证失败(第 3 层——沙盒回测):在约 20000 根 K 线的窗口(2400 天的 PEP.USEQ-1-DAY-LAST-EXTERNAL)上,冒烟测试超过了 300 秒的运行时限。这几乎总是意味着每根 K 线的工作量会随历史数据增加,例如反复扫描完整的资金费率/补充数据序列,或在每根 K 线上于 calculate_signal()/on_bar() 中重建列表并调用 min()/sorted()。在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查找结果,使每根 K 线的成本为 O(log n),而非 O(n)。

实现

PEP/KO在USEQ日线上进行对数价格协整价差回归。每个交易日都使用最近250个对齐交易时段的数据,按时点重新拟合OLS ln(PEP)=a+b*ln(KO)+c,运行求和复杂度为O(1)。z=c/std(c)。当|z|>2时入场:若z>2,则做空PEP/做多KO;若z<-2,则做多PEP/做空KO。残差回到+/-1个标准差范围内时平仓。美元中性:每条腿占权益的50%,按整股交易,总敞口为1.0x。

验证结果

sandbox_timeout:验证失败(第 3 层——沙盒回测):冒烟测试在约 20000 根 K 线的窗口(2400 天的 PEP.USEQ-1-DAY-LAST-EXTERNAL)上超过了 300 秒的运行时限。这几乎总是意味着每根 K 线的工作量会随历史数据增加,例如反复扫描完整的资金费率/补充序列,或在每根 K 线上于 calculate_signal()/on_bar() 中重建列表并调用 min()/sorted()。在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查找结果,使每根 K 线的成本为 O(log n),而非 O(n)。

结局总结

后续迭代应确保每根K线的工作量不依赖历史数据,并控制在沙盒时限内。

运行在沙盒烟雾测试约20,000根K线上超过300秒时限后放弃。未进入后续阶段。

它尝试在PEP.USEQ与KO.USEQ之间,基于滚动OLS对数价格残差进行均值回归交易,并采用美元中性两腿仓位。

由于未生成回测报告,没有可用的收益率、夏普比率或交易次数。验证进行了三次迭代,但未完成Layer-3沙盒回测。

分析

【中性对冲统计套利New】(Pure-Alpha 梦幻版)|【中性对冲统计套利 New】(Pure-Alpha 梦幻版)

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