跳至正文
全部策略

策略

ADA OKX 10 天通道突破,采用 12 小时时钟:多空事件交易,约有 91% 的时间空仓(ADAUSDT.OKX 1H,纯 OHLCV,1x)

结局: 已放弃

AdaOkxTenDayChannelBreak12hClock

结局总结

AdaOkxTenDayChannelBreak12hClock 测试了在 ADA 的 OKX 永续合约上,10 天通道突破后,价格是否会在约 12 小时内继续向突破方向漂移。第二次迭代修复了先前的仓位规模缺陷,并重现了预研中的单笔交易漂移(+0.63%,预测值为 +0.61%),但夏普比率仅为 0.20,且 CI 跨越零;2023、2024 和 2026 均亏损。优化使规则偏离真正的突破(entry_level 0.66,channel_bars 154),使换手率增至三倍,并产生了 -15.9% 已实现账本;它也未通过过拟合和 OOS 夏普比率硬性底线,样本外夏普比率为 0.061。分析师以 no_edge 放弃该策略,并另行标记成对出现且未反转的每日 MTM 记录,提交引擎审查;该标记未改变结论。

假设

单一标的、单一腿、纯粹的OHLCV事件触发交易,交易对象为OKX USDT永续掉期ADAUSDT.OKX,使用1-HOURK线(OKX上的历史数据始于2020-03)。触发条件为:价格高于此前240根1小时K线(10天)的最高HIGH,且持续1小时CLOSE,此时做多LONG;或者收盘价低于此前240根K线的最低LOW,此时做空SHORT。仓位按固定的12小时计时退出。没有突破计时运行时,资金配置为FLAT:约394笔交易 x 每笔12小时,总计约55,000小时,因此约有9%的时间处于市场中,约有91%的时间为空仓。无市场状态过滤,无补充数据源,无排序(L130)。研究前分析(时点数据,由研究负责人使用目录中ADAUSDT.OKX的1小时K线完成,时间范围为2020-05至2026-09,每24小时最多一个事件):事件数n=394(约62/年)。有符号前瞻对数收益的均值在6小时为+0.33%,在12小时为+0.61%(t=2.5,命中率0.53),在24小时为+0.57%,在36小时为+0.70%,在48小时为+0.78%。按小时计算的曲线在12小时首次达到t统计量峰值,据此确定计时长度(L166)。扣除0.11%的双边交易成本后,按12小时计时的均值为每笔交易+0.50%,PF 1.35。年份2020/21/22/25/26为正,2023/24略为负值(-0.16%,每笔交易-0.18%)。多头方向+0.73%(n=210),空头方向+0.24%(n=184)。同一规则用于BTCUSDT.OKX时,在12小时为+0.22%,在24小时为+0.43%(t=2.1);方向相同但效应较弱,这支持其背后存在某种机制,而非ADA伪象。SELECTION DISCLOSURE(L122):本研究单元是从5种事件机制扫描中选出的(6小时/24小时尾部延续、72小时突破、波动率压缩后的72小时突破、10天突破)x 2个标的(ADA、BTC;目录中唯一具有多年历史记录的流动性充足的OKX 1小时序列)x 5种计时长度 = 50个单元。因此,在考虑这次多重检验后,最佳单元的t值2.5具有NOT统计显著性;进行去膨胀时应将其视为从-50中选出的最佳结果。选择交易场所(OKX)是由样本库配额(OKX次实验中的0.2%)以及OKX拥有6+年1小时ADA历史数据所决定的。这并非声称该交易场所具有优势。

第 2 次迭代仅按分析师要求调整仓位规模。现在名义金额上限为 max_notional_usd=25000,低于 $66.6k 的容量,因此每笔交易的模型冲击成本保持在有限范围内,不会吞噬约 0.55% 的 +0.625% 波动。position_size 设置了硬性保护:当权益 <= 0 或为 NaN,或名义金额/权益 > config.leverage(1.0)时,返回 0,因此权益达到 0 后,账簿无法继续以 10-15x 交易。每次入场时都会记录权益和名义金额,以追踪读取到的陈旧权益值。channel_bars、hold_hours、cooldown_hours、entry_level 和退出逻辑均保持不变。ATR 风险预算仓位规模和 2xATR 止损暂缓实施,以便本次迭代只测试一项改动。

失败代码:no_edge,取自每个 L159 的首份测量报告。首份报告显示夏普比率为 0.20,自助法 CI 为 -0.59 至 0.94(跨越 0),PSR 0.60 和 PF 1.21,而 2023、2024 和 2026 为负。其 avg_trade_return_pct 为 0.63%,而往返交易成本约为 0.11% OKX,因此这是 NOT fee_edge。随后优化未通过两项 HARD 有效性门槛,二者均不可豁免。(1)CPCV 前向滚动验证存在过拟合:IS 0.99 对比 OOS 0.39。(2)OOS 夏普比率 0.386 低于 0.5 门槛。留出集夏普比率为 0.061,基于 251 笔交易(比率 0.16)。DSR 为 0.729,而 16 次有效试验下的预期最大夏普比率为 0.578;结果未通过项目 FDR(p=0.27)。此外,该假设自身已披露曾从 -50 个单元格中择优。这次优化器选出的单元格(entry_level 0.66,channel_bars 154)已不再是通道突破策略。它的交易频率提高了 3x,模型冲击成本占毛收益的 132%,其实际交易账簿为 -15.9%,PF 0.96,相较预注册的 25%,回撤为 34.5%。预注册预测通过了 5 项检查中的 1 项。它不是贝塔:贝塔为 0.03。根据 L126,重新优化同一机制不属于可接受的迭代,且扫描中的任何参数区域均未超过 0.5 OOS 门槛。在 ADA 上,10 天通道突破的 12h 漂移无法与多重检验噪声区分。另有一项未经核实的情况:日度 MTM 序列中反复出现成对的 -X/+X 记录,且其规模随权益变化(例如 2026-04-13/14);最后一根K线上还有一笔未反转的大额负向记录(2026-08-14:基础版为 -14.85%,优化版为 -84.7%)。因此 metrics_reliable=false,应提交引擎审查。这些情况不会改变本判定;本判定依据实际交易账簿以及 CPCV/留出集结果。

实现

ADAUSDT.OKX 1H:收盘价高于此前 240 根K线的最高价时做多,收盘价低于此前 240 根K线的最低价时做空;按固定 12小时计时退出,入场之间设置 24小时冷却期。约有 91% 的时间空仓。每笔交易名义金额 = min(权益*notional_fraction*杠杆, max_notional_usd=$25k)。

验证结果

可选:改为将冷却期锚点设为 on_position_opened / 从持仓开始算起.ts_opened,或者保持原样,并将其记录为基于事件的冷却期。

should_enter 一旦返回一个方向,就会立即将 _last_entry_ts 设为当前时间,早于 position_size 的运行。如果 position_size 随后返回 0(权益非正、名义金额保护),或者订单因最小名义金额检查而被丢弃,24小时冷却期仍会启动,但没有发生交易。这没有问题:它与预研究中“每 24小时一个事件”的规则相符,而且只会在退化的权益状态下触发。但诊断结果会显示有信号而没有成交。

本次迭代维持现状(这是一次只改仓位规模的测试)。如果完整回测的回撤未达到底线,再考虑将暂缓实施的 2xATR 止损作为单独迭代。

没有价格止损,只有 12 小时的时钟退出。这符合假设,假设中没有提及止损。仓位规模为权益的 1x,名义金额上限为 $25k。该账簿约有 91% 的时间处于空仓状态,因此这不是 L148 那种始终持仓并复利的模式。单笔交易在 12 小时内的风险仍无上限(沙盒中的最大亏损为 -$3.05k,对应名义金额约 $25k,约为 -12%)。

研究前分析单元格是 50 个中的最佳结果(t=2.5)。经此多重检验后并不显著,因此去膨胀时应按从 -50 个中择优的结果处理。完整回测中有两点需要检查。(1)funding_folded=false,且 OKX 上的 funding_events_available=0。每次持仓 12 小时都会跨越 1-2 个资金费率时间点,而多头方向(较强的一腿,+0.73%)在突破行情上涨期间支付正资金费率。报告的净优势因所支付的资金费率而高估了真实优势。(2)沙盒中的低波动率三分位组亏损(-6.4%,夏普比率 -1.16),且研究前分析显示 2023/24 为负。优势可能集中于特定市场状态,因此请检查年度集中度以及盈利年份占比。

回测评审

夏普
0.20
总收益率
31.30%
最大回撤
18.24%
总交易数
382
胜率
51.8%
盈利因子
1.21

第 -1 次迭代中的仓位规模缺陷已修复。名义金额上限设为 $25k(约 0.25x),账户权益从未降至零,所有 382 个发出信号的入场均已提交,没有遗漏。

这些交易实现了该假设。每笔都是 12 小时的时钟交易,204 做多、178 做空,在收盘价突破 240 根柱的通道时入场。这相当于每年约 60 次事件,而预测值约为 62 次;实际敞口为 8.3%,预测值约为 9%。

avg_trade_return_pct 扣除费用、冲击成本和资金费率后为 0.63%。这大约是 0.15% OKX 下限的 4x,并与预研究在 12 小时时的 +0.61% 相符。佣金仅占毛收益的 5.4%。

资金费率已计入(funding_folded=true,共 566 次事件),因此 QA 的担忧(1)已反映在价格中。单笔交易的资金费率影响很小。

平仓账本核对为 +$31.3k,7 个日历年中有 5 个为正(2023 和 2024 为负)。利润并非由少数交易贡献:剔除前 3 笔交易后仍为 +$14.0k。

结果并非由贝塔造成。贝塔为 0.025,相关系数为 0.33;最大回撤为 18%,而买入并持有的最大回撤约为 80-90%,对应 ADA 周期。

测得的夏普比率为 0.20(CI -0.59 至 0.94,PSR 0.60),低于建议门槛。部分原因是大部分时间空仓导致的运行周期效应(L165)。

每日 MTM 序列看起来存在异常,但其机制尚未核实。反复出现成对抵消的日期,且数值随时间增大(从 -6.3/+6.5 增至 -14.1/+16.4);此外,2026-08-14 上最终出现了一条 -14.85% 记录,但账本中没有反映。账本显示 2026 为 +$4.2k,而 annual_returns 报告为 -12.1%。这会扭曲夏普比率、波动率和回撤。请提交引擎审查。

低波动率三分位组亏损(-30%),且 2023/24 为负。这与 QA 的担忧(2)相符,且部分得到了证实。

冲击成本占毛收益的 35%。

这个单元格是 50 格扫描中的最佳结果,且 PF 为 1.21,低于预注册的 1.35。

分析

费用不是问题:第一份报告的 avg_trade_return_pct 为 0.63%,而往返成本约为 0.11% OKX(2x时为 0.22%)。

第一份报告复现了预研究中的每笔交易漂移(+0.63%,预测值为 +0.61%),且 PBO 0.28,没有贝塔(0.025)。

样本外测试的交易样本量充足(251 笔交易),且夏普比率为正。

两个 HARD 有效性底线未达标。CPCV 前向滚动验证指出存在过拟合(IS 0.99 对比 OOS 0.39),且 OOS 夏普比率 0.386 低于 0.5 的底线。

样本外 Sharpe 为 0.061,处于 WF-OOS 的 16%。CI 与 OOS 一致,但与零也一致。

第一份报告中的优势在统计上并不真实。夏普比率为 0.20,CI 为 -0.59 至 0.94,且 PSR 0.60;2023、2024 和 2026 均亏损。低波动率三分位组亏损 30%。

优化器转向了 entry_level 0.66,位置在通道内而非突破,并且 channel_bars 154。交易次数增至原来的三倍,达到 1176,风险敞口也增至 30%。每笔交易的优势降至 0.29%,模型估算冲击成本达到毛收益的 132%,实际成交账本转为负值:总收益率 -15.9%,PF 0.963;相对于预先注册的 25%,回撤为 34.5%。

优化后的指标被标记为不可靠:MTM 夏普比率为 0.73,其符号与已实现收益不一致。每日序列显示反复出现成对的 -X/+X 记录,且随时间增大(例如,2026-04-13/14 上的 -91%/+1048%),并在 2026-08-14 出现一条最终未反转的记录(基础值 -14.85%,优化值 -84.7%)。其机制尚未核实;该问题已标记并提交引擎审查。

DSR 为 0.729,而 16 次有效试验(原始试验 57 次)的期望最大夏普比率为 0.578。结果不显著,且未通过项目 FDR(p=0.27)。该假设本身披露了从 -50 个结果中预先选出最佳结果。

预注册预测满足 5 项检查中的 1 项(OOS Sharpe、回撤、PF 及平均交易收益均未达标)。

信号可靠,仓位规模存在问题。原始逐笔成交之间的带符号变动为 +0.625%/笔(预研预测为 +0.61%),但模型冲击成本约为 0.55%/笔,因为名义金额($95k-$450k)超过 $66.6k 的 capacity_usd。权益达到 0 后,账簿仍以约 $400k 的名义金额继续交易;在 1.0x 配置下,单笔杠杆字段为 10-15x。修复方案:(1)名义金额 = min(权益*notional_fraction, max_notional_usd),并新增参数 max_notional_usd,默认值为 25000。(2)在 position_size 中添加硬性保护:若权益 <= 0 或名义金额/权益 > config.leverage,则返回 0;并在每次入场时记录 get_account_equity(),以查找陈旧权益值的读取问题。(3)保持 channel_bars、hold_hours、冷却期和 entry_level 不变,不要重新调优退出规则。预期会变化的 ONE 指标是账本平均值 price_pnl_pct,从 0.07% 提高到至少 0.40%。冲击成本应降至毛收益的 25%……展开收起

信号可靠,仓位规模存在问题。原始逐笔成交之间的带符号变动为 +0.625%/笔(预研预测为 +0.61%),但模型冲击成本约为 0.55%/笔,因为名义金额($95k-$450k)超过 $66.6k 的 capacity_usd。权益达到 0 后,账簿仍以约 $400k 的名义金额继续交易;在 1.0x 配置下,单笔杠杆字段为 10-15x。修复方案:(1)名义金额 = min(权益*notional_fraction, max_notional_usd),并新增参数 max_notional_usd,默认值为 25000。(2)在 position_size 中添加硬性保护:若权益 <= 0 或名义金额/权益 > config.leverage,则返回 0;并在每次入场时记录 get_account_equity(),以查找陈旧权益值的读取问题。(3)保持 channel_bars、hold_hours、冷却期和 entry_level 不变,不要重新调优退出规则。预期会变化的 ONE 指标是账本平均值 price_pnl_pct,从 0.07% 提高到至少 0.40%。冲击成本应降至毛收益的 25% 以下,总收益应转为正值。若设置名义金额上限后账本平均值仍低于 0.15%,则放弃。详情见 workspace/discussions/f136b90e-8828-44c1-84c1-ce5711eafcae/iteration_1_feedback.md。QA 对冲击成本的担忧得到证实,这就是全部问题。由于本次运行已计入资金费率,QA 对资金费率的担忧无需考虑。 ## 库中改进方案(来自知识库;应进行测试,不要想当然地采用) 知识库支持分析师的诊断:它在 USD 中限制订单规模以控制滑点,其海龟突破代码则将每笔交易的固定风险预算除以 2xATR 来确定仓位规模,而不是依据全部权益。这里有两项有依据的改动:设置硬性名义金额上限并添加权益保护,以及采用 ATR 风险预算仓位规模。第三项改动,即设置 2xATR 保护性止损,为可选项,应等仓位规模修复经过测试后再考虑。 1。[成本] 设置单笔交易硬性 USD 名义金额上限,并添加权益/杠杆保护:在 position_size 中:名义金额 = min(权益 * notional_fraction * config.leverage, max_notional_usd),其中 max_notional_usd = 25000(远低于 $66.6k 的 capacity_usd)。若权益 <= 0,或名义金额 / 权益 > config.leverage(1.0),则返回 0。qty = 名义金额 / 收盘价,向下取整至 size_precision。每次入场时记录权益和名义金额。保持 channel_bars=240、hold_hours=12、cooldown_hours=24 和 entry_level=1.0 不变。— 每笔交易的带符号变动为 +0.625%,与预研结果相符,但由于名义金额增至 $95k-$450k,其中约 0.55% 被模型冲击成本吞噬。权益达到 0 后,账簿仍继续交易。套利课程的订单参数包括固定的单笔订单 USD 上限,trade_max_usd_every_time:“每次最多下单多少个USDT/BUSD的订单…防止对冲滑点过大”(限制每笔订单的 USDT 规模,避免滑点过大)。vn.py 的 CTA 文档同样将独立的目标持仓算法视为“拆分巨型委托,降低冲击成本”的方法。固定的 USD 上限可以在权益复利增长时保持每笔交易的冲击成本大致不变。(来源:套利软件策略参数说明和使用,第 1 页;CTA策略模块,第 1 页) 2。[仓位规模] 采用海龟式 ATR 风险预算仓位规模,而不是按权益的 95% 确定:根据已收盘的柱,在 1H 柱上计算 ATR(14)。每笔交易的仓位规模为 qty = (risk_pct * 权益) / (2 * ATR14),其中 risk_pct = 0.005(每次 2-ATR 变动时,风险占权益的 0.5%)。之后将名义金额限制为 min(权益 * config.leverage, max_notional_usd = 25000)。新增参数:atr_window = 14、risk_pct = 0.005、atr_stop_mult = 2.0。— 知识库中的海龟小时线突破策略将每笔交易的规模设为 trade_volume = risk_loss_money / (atr_value * 2),注释为“资本风险为 1% - 2%”。ADA 的小时波动率在 2020-21 与 2023-24 之间变化数倍。按波动率确定仓位规模,意味着推动策略优势和冲击成本的高波动突破年份不会产生过大的名义金额。这也意味着陈旧或虚高的权益读数不会导致 10-15x 有效杠杆,因为名义金额限制仍会生效。(来源:class_10_turtle_strategy.py,第 1 页;class_12_verify_and_optimize_strategy.py,第 1 页) 3。[止损] 在 12 小时时钟期限内设置 2xATR 保护性止损(仓位规模修复后再考虑):入场时,记录多头止损价 = entry_close - 2.0 * ATR14,或空头止损价 = entry_close + 2.0 * ATR14。在 should_exit 中,若首个 1H 收盘价突破止损价,则退出;否则仍在 12 小时时钟到期时退出。只有在名义金额上限回测确认账本平均值至少为 0.40% 后,才添加此项。分析师要求本次迭代不更改退出规则。— 在知识库的海龟代码中,每次突破入场都会立即设置固定的初始止损:long_stop_loss_price = long_entry_price - 2 * atr_value(空头则反向设置)。这与退出通道相互独立。当前策略完全没有止损,在 0.95 notional_fraction 下,ADA 上一个不利的 12 小时窗口就可能大幅侵蚀权益。基于收盘价的 2xATR 止损保留了时钟退出假设,并限制了尾部亏损。它会使少数在 12 小时内反弹的盈利交易提前退出,因此回测必须确认它不会降低 +0.6% 平均值。(来源:class_10_turtle_strategy.py,第 1 页;class_09_turtle_strategy.py,第 1 页)

结局总结

即使每笔交易的漂移收益高于费用(此处为 0.63%),只要夏普比率 CI 跨越零且该参数组合是从 -50 个结果中选出的最佳结果,就仍不能视为存在优势。优化器还偏移到了 entry_level 0.66,这会在通道内部入场,而不是在突破时入场,因此应限制参数范围,以保留原有机制。

分析师以失败代码 no_edge 放弃了该策略。两个硬性有效性底线未达标,且不可豁免:CPCV 前向滚动验证指出存在过拟合,OOS 夏普比率 0.386 低于 0.5 的底线。结果也未通过项目 FDR(p=0.27),折减夏普比率为 0.729,且 5 项预注册检查中仅有 1 项通过。

当收盘价突破此前 240 根柱(10 天)的高低通道上沿或下沿时,该策略以 1x 仓位交易 ADAUSDT.OKX 根 1H 柱,可做多或做空;并在固定的 12 小时时钟到期时退出,因此约有 91% 的时间处于空仓状态。该规则是在一项已披露的 50 格预研扫描中表现最佳的规则。

首次回测(2020-03 至 2026-08)在 382 笔交易中取得 +31.3%,其中 avg_trade_return_pct 0.63%、PF 1.21,夏普比率为 0.20(CI -0.59 至 0.94),最大回撤为 18.2%,贝塔为 0.025。优化后,前向滚动验证 OOS 的夏普比率为 0.386,样本内为 0.99;样本外夏普比率为 0.061,基于 251 笔交易(比率为 0.16);优化后的回测在 1,176 笔交易中亏损 15.9%,其中 PF 0.963,回撤为 34.5%,模型冲击成本相当于毛收益的 132%。

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