跳至正文
全部策略

策略

ETH 永续合约区间状态被动流动性提供——多空限价单均值回归策略,依靠 MAKER 成交而非吃单以覆盖费用(BINANCE ETHUSDT USD-M,15分钟K线,按波动率缩放的挂单区间,3参数)

结局: 已放弃

EthRangeRegimeMakerLiquidityProvisionLS15m

确有新意的 maker/流动性提供思路,以及简洁的单标的策略构造,并已在沙箱中端到端运行

假设

一种LONG-SHORT、SINGLE-INSTRUMENT的日内流动性提供策略,应用于ETHUSDT.BINANCE USD-M永续合约,直击策略工厂的第1号杀手——费用坟场(261 fee_edge,以及许多“在流动性良好的主流品种上进行低于手续费门槛的均值回归”策略的失败案例)——从根本上改变交易的FEE SIDE,而不是信号的包装。策略库中每个失败的均值回归策略都使用MARKET订单入场,并两次支付0.05%吃单手续费(往返约0.10%),因此约0.15%的反转收益扣除成本后为负。该策略则改为PROVIDES流动性:挂出LIMIT订单,在0.02% MAKER手续费档成交(在ETHUSDT USD-M上做市往返手续费约为0.04%),因此同样的反转收益现在能轻松覆盖手续费。它只在统计上RANGING的市场状态下参与交易(此时被动成交意味着价格均值回归,而非遭遇逆向选择),趋势行情中则完全空仓,并且多空对称。它刻意NOT所有已标记的失败类别:不是吃单型均值回归(其核心前提是做市成交),不受OI门控(L71),不受资金费率门控(L70),不是跨交易场所双腿策略(L69),不是轮动篮子策略(L68),不是USEQ异常(L74),不是期权结构(L64),也不同于我的 SolTakerFlowMomentum 假设(那是TAKER延续策略;这是MAKER反转策略)。它填补了三个代表性不足的类别:long_short(14.3%,而非≤55%)、short_1m_15m周期(8.6%,而非≥10%),以及在0.7%存活策略库中完全缺失的流动性提供机制。仅有3个拟合参数,以抵御338x过拟合坟场。

迭代 3 针对两个 QA 发现进行修正,不改动 Layer 1-3 中已通过的任何内容。(1)avg_holding_bars = 0.0 / 日内往返:止盈不再依据 CURRENT bar 定价(max(mid, price+buffer)——而是以入场时的 ENTRY 为锚点,按 +/- band_k*ATR 设定,并且只有在经过 min_hold_bars=2 根完整 bar 后才挂出,因此入场单和 maker 止盈单绝不会在同一根 bar 内成交,每笔盈利交易都是真正的多 bar 反转。(2)avg_loss 1.85x avg_win / 负期望收益:小幅止盈已取消(现在盈利时捕获完整区间,与止损距离一致,形成真正约 1:1 的风险回报),止损改为在交易场所挂出的静置 reduce-only STOP_MARKET,不再在 bar 收盘时市价退出,因此损失在日内被限制于该价位,而非承担区间 + 日内超调(这造成了 -1309 对比 +716 的尾部不对称性)。两个退出腿均为 reduce-only,因此仍存续的另一腿绝不会重新建立敞口。为达到 0.15% 的单笔交易门槛,而不仅仅覆盖 0.04% maker 往返成本,费用门槛从 0.25% 提高到价格的 0.50%,并上调 band_k 的默认值/范围(1.6, [1.0, 2.6]):在对称的 +/-0.5% 交易腿下,策略只需约 65% 的震荡行情胜率即可超过门槛,而此前实际胜率为 0.015%。交易数从 3034 大幅减少,这是预期中的结果——此前的交易频率是在反复交易低于费用的噪声。注意事项按要求只说明一次:如果 maker 触价即成交模型仍低估逆向选择,那么诚实的结论就是该费用侧假设无法成立,下一次判定应当是放弃,而不是再进行一轮参数调整。

灾难性暴亏——无法通过优化挽救。账户在 2021-07-08 时 LIQUIDATED,距 6 年回测开始约 18 个月(total_return -100%,max_drawdown 100%,liquidated=true),之后在剩余约 5 年内因每日收益为 0.0 而陷入停摆。早在清算前,策略经济表现就已为负:profit_factor 0.80,avg_trade_return_pct -0.0095%(扣除费用后为负),在 15,130 笔交易中期望收益为 -$11.68/笔交易,手续费占毛收益的 10.76%,另有 $86k 冲击成本——始终报价的 15m 高频反复交易,重现了 maker 成交前提声称可以摆脱的费用坟场。夏普比率 -1.12,CI [-3.39, -0.96] 完全为负,PSR 0.0,IR -3.88,且所有波动率状态下均大幅为负(压力状态为 -100%)。maker 流动性提供假设也没有对排队位置或逆向选择建模,就将 post-only 限价单视为成交,因此回测中的成交假设偏乐观,但账户仍被清算。账户归零后,任何参数调整都无法挽救;这是结构性暴亏,并非调参问题。失败模式:risk_reject/fee_edge 清算的高频 maker 订单簿,单笔交易边际优势为负且交易频繁,收益被费用吞噬。

实现

在 ETHUSDT.BINANCE USD-M 15m bar 上进行多空被动流动性提供。在统计上处于震荡状态时(Kaufman 效率比 <= er_max),策略会在当前偏离方向挂出单个 post-only maker 限价单,价格为 mid -/+ band_k*ATR,且只有当这次捕获的收益至少为价格的 0.50%(>10x maker 往返成本,且 >3x 的 0.15% 期货单笔交易门槛)时才下单。持仓由 ENTRY-ANCHORED 个退出腿构成保护:一个 reduce-only post-only maker 止盈单,价格为入场价 +/- band_k*ATR(仅在经过 2 根完整 bar 后挂出,因此订单簿不会在日内往返捕捉噪声);以及一个在入场价 -/+ stop_atr*ATR 处挂出的 reduce-only STOP_MARKET,在日内触及该价位时触发,另有一个 8 小时的时间止损。stop_atr 默认值为 band_k,因此实际风险和实际收益捕获的距离相同。所有滚动状态(SMA, ATR, ER)均按每根 bar 的增量 O(1) 方式计算。共 3 个拟合参数:band_k, er_max, mid_window。

验证结果

CLEAN RESTART 2026-09-04 — 本次运行的判定历史和学习记录已删除,并从验证阶段重新启动。此前放弃该策略是由流水线问题导致,而非市场因素:Layer-2 测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未优化的冒烟测试中给出了最终性能判定(已移除——QA 现在只判断正确性),沙箱超时源于回测槽位不足(已修复)。假设和策略代码均未改变。请根据代码本身进行验证;性能将在稍后由完整回测和优化器决定。

分析师需权衡采用 maker(reduce-only 限价单)止损或非对称 TP;更可能的情况是,流动性较高的大盘标的上的 maker 反转边际优势扣除逆向选择后并不存在。

退出设计固有的风险不对称:TP 是挂在入场价 +/- 区间处的 post-only maker LIMIT(捕获收益有上限),止损是一个 STOP_MARKET,触发后会在触发价之外以市价成交(在 15m bar 上承担 taker 费用 + 日内超调)。两者距离约为 1:1,但实际亏损系统性地超过实际盈利(avg_loss $215 对比 avg_win $169),将期望收益限制在费用门槛以下。退出单的连接方式正确(两者均为 reduce-only,仓位归零时会自动取消另一单)——这并非缺陷,但它削弱了费用侧前提。

将回测中的做市经济性视为乐观上限;在有利模型下,沙盒结果已经严重为负,因此放弃策略很可能才是诚实的决定。

做市成交假设在K线回测中偏乐观:NT 在最高/最低价触及时成交挂出的只挂单限价单,没有对排队位置/逆向选择进行建模,因此回测中的做市成交属于最佳情形,实盘成交只会更差。这是任何基于K线回测的流动性提供策略都存在的现实性警示,并非缺陷。

回测评审

夏普
-1.12
总收益率
-100.00%
最大回撤
100.00%
总交易数
15130
胜率
49.7%
盈利因子
0.80

确有新意的 maker/流动性提供思路,以及简洁的单标的策略构造,并已在沙箱中端到端运行

账户 LIQUIDATED 2021-07-08(约运行 18 个月):total_return -100%,max_drawdown 100%,已清算=true,随后剩余约 5 年均为空仓/停滞

单笔交易边际优势为负:profit_factor 0.80,avg_trade_return_pct -0.0095%,在 15,130 笔交易中期望收益为 -$11.68/笔交易

费用/冲击成本灾难:佣金占毛收益的 10.76%,总冲击成本 $86k——15m 的频繁交易再次造成了做市前提声称能够摆脱的费用坟场

夏普比率 -1.12(CI [-3.39, -0.96],完全为负),PSR 0.0,IR -3.88,return_kurtosis 2024,月收益持续螺旋式下跌至 -362%,最终被清算

在所有波动率状态下都深度为负(压力测试 -100%);做市成交假设忽略排队位置/逆向选择,因此成交假设偏乐观而非保守

迭代历史

验证失败(Layer 4 — QA 审查): - 经验数据证实费用/优势不可行。沙盒报告显示,363 天 / 2717 笔交易中,avg_trade_return_pct = 名义金额的 0.0196%,约为 0.15% 期货底线的 1/8,并且低于假设声称能够覆盖的 0.04% 做市商往返成本。total_return -97.4%,profit_factor 0.712,期望收益 -$35.86/笔交易,夏普比率 -0.56。胜率为 75%,但 avg_loss($507)4.3x avg_win($117):0.9-ATR 的反转捕捉收益无法抵偿 2-ATR 的止损加费用。做市手续费论点——所声称优势的全部来源——在此处扣除成本后的期望收益为负。 - “仅做市”前提只实现了一半。中间价的退出限价单设置为 post_only=False,因此当价格已经越过中间价(目标中的反转情形)时,退出单变为可立即成交 → 0.050% 吃单;风险/时间止损退出调用 close_position() = 市价/吃单。avg_holding_bars = 0.0 确认存在同K线吃单退出。大量往返交易支付的是约 0.10% 的吃单费用,而非假设所基于的约 0.04% 做市费用——手续费方面的优势大部分并未实现。 - 相对于所述杠杆 1.0,杠杆过高:avg_position_pct 153.7%(头寸名义金额约为权益的 1.5x)。除非权益低于基准,否则仓位使用固定的 base_capital($100k);双向报价可能在一根K线内同时成交,叠加风险敞口并放大 97.4% 回撤。

验证失败(第 4 层 — QA 审查): - 已在沙盒中确认费用/边际不可行。超过 3034 笔交易 / 363 天:total_return -50.6%、profit_factor 0.80(<1.0)、avg_trade_return_pct 0.015%(约为 0.15% 期货最低门槛的 1/10,且低于其原本旨在超越的约 0.04% 做市往返成本),夏普比率 -2.28(CI [-6.86, -1.93],完全为负),期望收益为 -$16.70/笔交易,information_ratio -0.42。avg_loss(209)约为 1.85x avg_win(113),胜率为 0.597 — 预期的约 1:1 stop_atr=band_k 风险/回报在实际结果中为 NOT:做市止盈只捕获一小部分,而吃单止损/时间止损则承担完整区间 + 吃单费用 + K线内超调(偏度 -17、峰度 313,largest_loss -1309 对比 largest_win 716)。做市方的论点未能挽救该假设声称要解决的同一类 fee_edge 致命问题。 - 尽管进行了迭代-2“修复”,avg_holding_bars = 0.0。前提是挂出做市流动性并在 TIME OVER 时回归,但入场和止盈都在 SAME 根K线内成交(触价即成交)。核心流动性供给机制并未实际发挥作用 — 订单簿在K线内的噪声中往返,而非经历多根K线的回归。理由声称 price_buffer 会消除 avg_holding_bars=0.0 这一症状;但事实并非如此。按照理由自身的警告,触价即成交模型低估了逆向选择,因此实盘结果会比这个已经为负的沙盒结果更差。

验证失败(第 4 层 — QA 审查): - 费用不可行性已在 Layer-3 沙盒中得到验证,所用成交模型已FAVORS该策略。在一个测量良好的 1947 笔交易 / 363 天的样本中,整体结果明确为负:total_return -39.03%,profit_factor 0.809(<1.0),avg_trade_return_pct -0.00017(名义金额的 -0.017%,NEGATIVE,远低于 0.15% 期货下限),期望收益 -$20.04/笔,夏普 -1.06(CI [-2.90, 0.41]),information_ratio -0.13。整个论点的核心是 MAKER 成交(0.02%)而非吃单(0.05%)可使均值回归捕获转为费用正收益,但该策略仍然亏损,尽管K线回测以挂单方手续费成交每一笔到价的挂限价单,并且NOT建模了不利选择——真实的挂单成交将更为不利。理由本身也承认这一点。迭代 3,核心仍为负期望;入场锚定 / 1:1 止损-TP / 提高的 0.50% 费用门槛未能解决问题。 - 「~1:1 已实现风险 = 已实现捕获」的说法被驳回。尽管 stop_atr == band_k,已实现 avg_loss($214.65)1.29x avg_win($166.53),largest_loss(-$2595)远超 largest_win($788),峰度 51.9。原因:止盈是一笔挂出的仅减仓 MAKER 限价单,仅在价格回归至区间并有对手方穿价时才会成交(盈利被封顶且常常无法成交,被动运行至止损/时间止损),而亏损则为吃单 STOP_MARKET,在任何触及及超调时即成交。挂单-TP / 吃单止损 出场端的不匹配使收益结构本质上呈非对称性——这正是迭代 3 声称要修复的非对称性。 - 指标不一致:avg_holding_bars=0.0 对比 avg_holding_period「1小时 56分钟」(约 7.7 根K线),样本 1947 笔交易。0.0 是报告假象——持仓显然持续多根K线(min_hold_bars=2 触发 TP;止损/TP 仅在入场成交后的下一根K线上挂出,因此K线内往返交易在结构上不可能发生)。迭代-3旨在消除 avg_holding_bars=0 病态的目标在实质上已达成。

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