跳至正文
全部策略

策略

贵金属板块均值回归组合(Zhao 等人 2018 MRP 设计):在方差底线和L1杠杆预算约束下,以最小可预测性权重构建的3资产GDX/GLD/SLV价差;采用 Z 分数入场与离场,并明确设置空仓状态(USEQ DAILY,多空)

结局: 已放弃

GdxGldSlvMinPredictabilityMRP

结局总结

GdxGldSlvMinPredictabilityMRP 尝试交易一个由三种贵金属资产构成的价差(GDX/GLD/SLV)。策略使用可预测性最低的特征向量权重,每季度重新估计一次,并按 z 分数入场,预先估计每年约交易 7-10 次。代码经过 3 次迭代仍未通过验证。Layer 3 沙盒回测在约 20,000 根日线窗口上持续超过 300 秒限时。该运行在验证循环中因沙盒超时而放弃,因此未进入回测审查、优化、分析师审查或风险审查,也没有任何表现指标。

假设

来源:arXiv:1803.02974(Zhao 等,2018),摘要。摘要给出了一条构建规则:建立一个强均值回归、价差方差足以交易且杠杆不超限的组合。摘要没有给出交易规则、均值回归的具体度量或约束数值。下文补充了这些内容,须对照论文全文核实。论文中的表现声明均未经过验证。 该组合包含 3 个具有经济关联的资产:GDX.USEQ(黄金矿业股,主要交易标的)、GLD.USEQ 和 SLV.USEQ。它们在免佣金的 USEQ 交易,每日交易,历史数据约有 19-20 年。 权重:每 63 个交易日,使用过去 504 个日线对数收盘价,估计滞后 -0 阶协方差 S0 和滞后 -1 阶自协方差 S1。取 Box-Tiao 可预测性最低的向量;这对应一个 3x3 广义特征值问题。缩放该向量,使权重绝对值之和为 1(杠杆预算),并令 GDX 的权重为正。若价差日标准差低于总名义本金的 0.6%(方差下限),则使用下一个特征向量。若没有向量达标,则保持空仓。两次重新估计之间权重保持不变。论文中的完整 SCA 求解是单独预注册的变体,不属于此处的声明。 交易:计算价差 s = w' log P 及其过去 60 个交易日的 z 分数。满足 |z| >= 2 时入场,满足 |z| <= 0.25 时退出;持仓 30 个交易日后、满足 |z| >= 4 时或在重新估计日也退出。策略默认空仓,约占交易时段的 65-75%。总名义本金为权益的 100%。只有重新估计时段上的 3x3 特征值求解计算量较大;每根 K 线的计算量为 O(1)。 费用计算:每笔交易的预期捕获约为总名义本金的 0.8-1.2%。三条腿的成本约为 0.10-0.15%,每条腿约 0.03-0.05%,因此捕获额超过成本的 5x。预计每年交易约 7-10 次,整个历史区间约 140-190 次。

第 3 次迭代保留了此前通过验证的策略逻辑,只更改了额外腿的高开销读取路径。额外 K 线的价格在 on_extra_bar 中缓存一次,并按精确收盘时间戳以 O(1) 时间读取,从而避免在 20,000 根 K 线的沙盒运行期间反复访问累积的额外 K 线历史数据。

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

实现

一个基于日线的 USEQ 多空均值回归组合,覆盖 GDX、GLD 和 SLV。该策略定期根据滞后协方差结构估计可预测性最低的权重,设置价差波动率下限,并按 z 分数交易由此形成的价差。

验证结果

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

结局总结

每日多腿策略必须使每根 K 线的计算路径保持在calculate_signal级别,成本低廉,即 O(1) 或 O(log n),且绝不能在每根 K 线上基于完整历史数据重新计算。提交前,应根据20千根 K 线的沙盒预算对代码进行性能分析。

该策略在经过 3 次迭代后,于验证循环中放弃。Layer 3(沙盒回测)失败,因为烟雾测试在约 20,000 根 K 线、2400 天、GDX.USEQ 日线窗口上运行超过 300 秒时限,这表明每根 K 线的工作量会随历史长度增长。

参照 Zhao 等(2018)的设计,构建了一个基于日线 USEQ 周期、均值回归的 GDX/GLD/SLV 价差。权重取自 Box-Tiao 可预测性最低的特征向量,每 63 个交易日重新估计一次,并设置方差下限和 L1 杠杆预算。策略在 |z|>=2 时按 z 分数入场,在 |z|<=0.25 时退出,默认保持空仓。

没有任何表现数据。该策略从未完成回测:回测报告为空,优化从未运行,也没有记录交易、收益或夏普比率。

分析

金融统计套利的最优组合设计

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