跳至正文
全部策略

策略

低波动横截面轮动,纯多头(BINANCEUSD-M,每周持有4只LOWEST已实现波动率最低品种,品种池为10只主流币——押注反Beta/低波动异常,一种无已部署组合使用的排序信号,防御性倾斜,2参数)

结局: 已放弃

LowVolAnomalyLongRotation10MajorsUsdmWeekly

结构良好的每周K-of-N轮动,带有机制门限;141笔交易,低费用拖累(总敞口的1.07%);相对已部署组合具有真正新颖的排序信号(已实现波动率)

假设

一个LONG-ONLY、每周再平衡的横截面轮动策略,覆盖10只具有深厚历史数据的BINANCEUSD-M品种池(BTCUSDT、ETHUSDT、SOLUSDT、BNBUSDT、AVAXUSDT、LINKUSDT、ADAUSDT、XRPUSDT、DOGEUSDT、LTCUSDT),其排序信号为REALIZEDVOLATILITY——明确是一种没有任何已晋升组合使用的信号(已部署的横截面优胜者按相对强度收益排序;已部署的carry组合按资金费率排序),满足L24对真正新输入而非相对强度重新加权的要求。每周按过去已实现波动率(回看期内日收益率的标准差)对品种池排序,并等权持有4只最低LOWEST波动的品种。机制/优势=低波动/押注反Beta异常:投资者系统性地为高波动“彩票”资产支付过高价格(在加密货币中即meme/高Beta山寨币),因此低波动品种带来更优的RISK-ADJUSTED回报。关键在于,与纯动量轮动不同,该倾斜是DEFENSIVE的——在高波动/熊市环境中,排序会集中到最稳健的主流币(BTC、ETH、LTC),并轮动AWAY远离跌幅最重的高Beta山寨币,这与已部署的多头动量组合在2022中存活下来、而波动率管理多头组合遭遇−60%式死亡所依靠的“远离最差者”机制相同。它复用了在此已被证明可存活的ONE纯多头结构(每周K-of-N轮动→可在沙盒中认证的交易笔数,低换手因而费用可行),基于纯OHLCV,无数据墙。它NOT单品种MR/反转(已确认死亡的家族),NOT资金费carry(已映射/饱和),NOT期权(L23),NOT市场中性多空组合(L12费用墙——本策略为纯多头),NOT趋势跟踪,也不NOT相对强度轮动的复制品(排序信号不同,风险特征不同)。2核心参数(波动率回看期、持有品种数量)。

我对报告的第-3层超时做了性能分析,而非猜测,诊断所假设的原因(随历史增长的逐K线工作量)并非此处实际情况。通过subprocess_entry运行此完全相同的配置,在runner.run()内用149秒完成了FULL历史,在2,438根主K线上仅有141笔交易。在1年窗口上的cProfile显示,209秒中有206花在ParquetDataCatalog.query -> fsspec glob/find/ls/stat上(遍历目录树的2.9M次info()和2.6M次stat()调用);引擎加策略执行仅约3秒,且按累计时间排名前35中没有出现任何策略函数。我随后直接计时了目录:一种K线类型耗时56.9秒,三种K线类型耗时45.2秒,因此成本是按每次CALL(全树glob)计算,而非按每条腿计算。runner将额外部分批量处理为约2次bars()调用加一次24秒的instruments()扫描,这就是本次运行在处理第一根K线之前就必须支付的约200秒I/O下限。这意味着缩小10只品种的品种池NOT解决超时,只会削弱假设的横截面广度,因此我保持品种池不变。我在策略代码中改动的两处真正的工作量削减是:(1)on_extra_bar不再调用_maybe_rebalance()——轮动时钟是主BTC日,因此9条额外腿每天重复9次门限检查纯属徒劳,而再平衡仍在记录完当天每条腿后按每根主K线触发一次;(2)再均衡现改为按目标名义值的15%做漂移门限,而非固定的$25下限,后者在每袖约$22.5k时几乎每周对每个品种都触发下单——这削减了引擎中的订单/成交/持仓工作,更重要的是对假设而言,削减了费用拖累,而该策略的全部可行性都建立在低换手上。所有状态仍保持O(1)有界(closes上限为_max_history,无全历史重扫),导入不变,信号、排序、机制门限和仓位大小均未动,因此第1层和第2层保持通过。HONESTCAVEAT给评审者:这些改动削减了引擎侧工作,但无法撼动约200秒的catalog-glob下限,且单机149秒在沙盒并发负载下会变为>300秒。持久的修复在运营侧的目录查询路径——get_file_list_from_data_cls每次查询都glob整个data/bar树,而直接路径列表(如InstrumentResolver已用单次stat调用所做的那样)可使其近乎瞬时。如果第3层再次超时,应去那里查找,而非在此文件中。

未能跑赢自身基准、且名义收益大多为未实现的加密货币多头Beta横截面篮子——不值得花费2小时优化。+2093%total_return由未退出的未平仓头寸主导(end_unrealized_pct623.9),因此并非已实现优势;按风险调整指标衡量不显著(夏普比率0.684,自助法CI[-0.011,1.173]横跨零线),且其相对等权篮子基准的information_ratio为NEGATIVE(-0.24)——低波动排序并未在朴素等权篮子之上增加风险调整价值,它只是加密货币多头Beta(Beta0.29,benchmark_correlation0.60)。它带有L36复利/杠杆伪影特征(avg_trade_return_pct12.29%——为主流币周波动的数倍——return_kurtosis410,exposure_pct222.95%超过所述0.90总敞口),39.1%最大回撤(CI至83%)集中在牛市年份(2021+347%,2022-10%,2026-6.8%,日元套息2024-19%)。这属于L45多品种横截面篮子家族(0/84个存活者)与L49由Beta承载的纯多头篮子的交叉;benchmark_meaningful成立,且它输给了该基准。优化只会使波动率排序过拟合牛市机制。失败模式:no_edge/risk_reject纯多头横截面篮子,由Beta承载,相对基准的IR为负(L45/L49/L36)。

实现

在1-DAYK线上,对10BINANCEUSD-M主流币的纯多头每周低波动横截面轮动。每rebalance_days(7)个主交易日,如果BTC位于其100日SMA之上(组合层面的风险开启门限),则按过去30日日收益率已实现波动率对品种池排序,并以90%总敞口等权持有4只最低LOWEST波动品种;如果BTC低于其机制SMA,则组合全部轮动至现金。先平仓掉出目标集合的品种,然后仅当存续优胜品种的头寸偏离目标名义值超过reequalize_drift_frac(15%)时,才将其再均衡至等权目标,使换手和费用与实际偏离成比例。上根K线距今超过max_staleness_days的腿将不参与当周排序。杠杆1.0,总敞口低于1x,因此不占用保证金。

验证结果

sandbox_timeout:验证失败(第3层——沙盒回测):冒烟测试在约20000根K线窗口(BTCUSDT.BINANCE-1-DAY-LAST-EXTERNAL的2400天)上超过300秒墙钟限制。这几乎总是意味着逐K线工作量随历史增长——例如重扫全部资金费/补充序列,或在每个K线上于calculate_signal()/on_bar()内重建列表并调用min()/sorted()。在__init__中预计算排序后的时间戳数组ONCE并使用bisect,或按时间戳缓存查找,使逐K线成本为O(log n)而非O(n)。

回测评审

夏普
0.68
总收益率
2093.03%
最大回撤
39.13%
总交易数
141
胜率
54.6%
盈利因子
1.54

结构良好的每周K-of-N轮动,带有机制门限;141笔交易,低费用拖累(总敞口的1.07%);相对已部署组合具有真正新颖的排序信号(已实现波动率)

深度历史的 10 大品种池,无数据墙

名义收益中约6x为未平仓头寸浮盈(end_unrealized_pct623.9对比total_return2093%)——并非已实现优势

不显著:夏普比率 0.684,CI [-0.011, 1.173] 横跨零值;information_ratio 相对其等权篮子基准为 NEGATIVE(-0.24)——未能跑赢简单篮子

L36复利/杠杆伪影特征:avg_trade_return_pct12.29%,return_kurtosis410,exposure_pct222.95%(超过所述0.90总敞口)

由2021/2023/2025牛市承载的加密货币多头Beta(Beta0.29,相关性0.60);max_drawdown39.1%(CI至83%);日元套息2024-19%压力

L45横截面多品种篮子家族(0/84)+L49纯多头篮子大DD家族

迭代历史

验证失败(第4层——QA评审): - 灾难性负向优势——低波动异常在此加密货币品种池/窗口中被反转。total_return-51.12%,profit_factor0.190,win_rate0.231,avg_trade_return_pct-6.68%,max_drawdown60.69%。持有4只最低LOWEST已实现波动率主流币亏损惨重,因为在加密货币中,低trailing已实现波动率常常标志着一只一直在悄悄阴跌或在破位前横盘的品种——NOT论文假设的那种防御性“稳健”主流币——因此该排序选入了随后暴跌的品种。这是一个纯OHLCV横截面排序轮动,属于L7零存活者家族;开发者自己备注MOMENTUM排序版本曾存活,反而凸显了问题:动量排序持有具有正向漂移的品种,低波动排序持有停滞/阴跌的品种。防御性前提在此被证伪。 - 该组合的表现与所述90%总敞口、4条腿的纯多头主流币篮子不符——要么是再平衡/敞口错误,要么是执行不具代表性。avg_position_pct为26.3%,相对等权主流币基准的Beta为0.152,且benchmark_correlation为0.21。一个在0.90总敞口下正常投资的4只主流币纯多头篮子MUST紧密跟踪主流币(总敞口约90%,Beta约0.9);26%总敞口和Beta0.152表明其严重低配或在空转/冻结。可能的原因是再平衡对齐门限:_maybe_rebalance returns unless all(d == current_day for d in self._last_day_index.values()),因此ANY单个品种缺失日K线就会使最新品种的current_day永远无法等于滞后品种的日期,从而无限期停滞再平衡;reequalize_min_notional死区也可能导致腿未建仓。如果篮子实际并未按目标总敞口持有,则-51%结果甚至不是对假设的忠实检验。 - 363天内交易26笔,低于得出一般性优势结论所需的约100笔可衡量下限(L16),尽管亏损幅度(PF0.19,-51%)使此处的负向方向明确无疑。另请注意,上述敞口异常意味着换手/冲击数据可能无法反映正确规模的账本。

验证失败(第4层——QA评审): - 在防御性趋势门限之后,低波动排序仍具有负向优势。total_return-19.60%,profit_factor0.532,win_rate0.317,avg_trade_return_pct-2.14%,夏普比率-0.79,max_drawdown30.8%,伴随肥尾亏损(偏度-2.44,峰度31.8,largest_loss -$4,232)。即使在剔除低于其SMA的低波动品种后,入选的品种仍然跑输。趋势门限降低亏损(v1-51%->v2-19.6%)主要靠将账本停放在现金中,而非产生正向优势。两次迭代均为净负——低波动异常(一个股票市场结果)无法迁移到此加密货币品种池/窗口;低trailing已实现波动率持续标记随后跑输的品种。这属于纯OHLCV横截面排序轮动L7零存活者家族。 - 账本仍远低于设计总敞口,因此沙盒再次不是对4只品种90%总敞口篮子的忠实检验。开发者称其“现已持有预期的约90%总敞口”,但沙盒显示avg_position_pct22.77%,且相对等权主流币基准的Beta为0.045——即平均持有约1只品种,大部分为现金。停滞错误修复属实,但新增的防御性趋势门限在此下跌窗口中排除了大多数品种,因此策略持有高度集中的约1只品种账本,而非假设所述的多样化4只品种篮子。无论称之为“按设计工作”(防御性)还是投资不足,本次运行都未检验所述4只品种低波动篮子,而其实际持有的集中账本亏损了-19.6%。 - 363天内41笔交易,低于得出一般性优势结论所需的约100笔可衡量下限(L16),尽管PF0.532/-19.6%使负向方向明确无疑。集中且大多为现金的账本也意味着换手/冲击数据无法反映满仓篮子。

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