Skip to content
All strategies

Strategies

LINK Bybit 15分钟 PUBU 三线排列双向策略

Outcome: Abandoned

LinkBybitPubuWaterfallLS

Outcome Summary

LinkBybitPubuWaterfallLS tested a 15-minute, two-direction PUBU adaptation in one iteration. Its backtest reported -100% return and Sharpe of -3.41 across 8,233 closed positions, with losses already present before reported liquidation. Review identified unresolved accounting and exposure discrepancies and abandoned the tested adaptation before optimization because its executed economics were negative. This outcome does not establish that alternative periods or PUBU strategies generally are unprofitable.

Hypothesis

Derived by the Research Lead from "瀑布线交易策略在发明者量化平台的实现与应用" by 善 (fmz) https://www.fmz.com/digest-topic/4109: 保留文章明确给出的交易代码及15分钟周期;研究负责人选择LINK、Bybit、缺失的EMA周期基准值、EMA初始化及权益相对仓位规则。 依据善在《瀑布线交易策略在发明者量化平台的实现与应用》中“实现一个瀑布线策略”的 My语言代码提炼,保留15分钟周期、三组EMA平均线、排列入场、反向换仓及两类平仓规则。源码页面128420未能读取,文章和两张配图已检查:第一张是封面;第二张展示OKCoin BTC季度期货、PUBU三线及开多、平多、平空标记,未显示可核实的N1/N2/N3默认值,图中业绩不作为证据。正文的MACD叙述与代码不一致,本实验以可执行代码为准,不加入MACD、MFI或随机指标。平台选择LINKUSDT.BYBIT,补全缺失参数为N1=4、N2=9、N3=24,并明确允许优化;这些不是作者已核实的默认值。使用收盘市场订单和单一净持仓。风险配置由平台补全:每笔参考风险为权益的0.5%,单笔名义敞口最高20%,杠杆1倍;源码平仓是收盘判断,不改成盘中止损。

这是对提交源码的可检验提炼,不以历史失败拒绝其测试。Bybit占2.8%,低于5%目标,双向交易补充当前20.2%的双向占比。保留来源的15分钟周期,因此没有迁往历史受限的Hyperliquid低周期,也没有为填充期权或跨场所配额改造源机制。corpus_concentration为空,无法确认LINK的近期占比;选择LINK避开已知BTC集中,并不声称LINK未经测试。与失败LTC双均线实验相比,本实验检验三组复合EMA排列和源码特有的盈利退出,但不声称这种差异保证收益。

negative_expectancy: decline optimization of this Research Lead LINK Bybit 15-minute PUBU operationalization. Executed economics lose substantially after costs, including before reported liquidation. No verified developer repair supports iteration. This rejects the tested adaptation, not the source author's strategy or PUBU strategies generally; alternative periods remain untested.

Implementation

PUBU 瀑布线 strategy on LINKUSDT.BYBIT 15m, long and short. Each waterfall line is the average of three EMAs, PUBUk = (EMA(C,Nk)+EMA(C,2Nk)+EMA(C,4Nk))/3, with N1=4, N2=9 and N3=24. Go long when C>PUBU1>PUBU2>PUBU3 and short on the mirror arrangement (BPK/SPK; an opposite position is reversed in one market order). Exit a long when C<PUBU3, or when C<PUBU2 and PUBU1<PUBU2 while the close is above the entry price; exits for shorts are the mirror image. Every decision is taken on the bar close and filled with a market order. Size is 0.5% equity risk over the distance to PUBU3 (floor 0.2%), capped at 20% of equity notional, leverage 1.

Line-for-line port of the article's executable My-language code (the MACD/MFI/stochastic text is not used, per the hypothesis). The research plan sets N1/N2/N3, warmup, sizing and leverage, and those values are implemented under the plan's parameter names. Warmup is counted in bar_pos (entries need more than max(N3, 600) bars) rather than through min_bars_required, because the base bar buffer is capped at 500 and would otherwise never reach 600. The EMAs are recursive and seeded with the first close, which matches My language. All state is kept as scalar attributes, so it persists across restarts. BKPRICE/SKPRICE use the position's average fill price. Expected trade count on 15m LINK is high (hundreds per year), so the 0.25% per-trade target against about 0.11% round-trip taker cost is the main risk, not a zero-trade risk.

Verification Results

No change needed for verification. Optionally persist bar_pos and the EMA scalars in the paper snapshot.

min_bars_required() returns 1, and the warmup is enforced through bar_pos > max(N3, warmup_bars=600) instead. This is deliberate and correct for the backtest, because the base buffer is capped below 600. In paper/live, the EMA state is only warm if the warmup replay runs calculate_signal (the base does this under _in_warmup). After a restart with a short replay, entries wait until bar_pos passes 600 again, about 6.25 days. This affects restarts only, never the backtest.

None required. If the analyst questions exposure, reconcile peak_qty*avg_px_open against equity at entry.

A reversal (BPK/SPK) is sent from inside should_exit() as one market order of size open_qty + new_size through _submit_entry, and should_exit() then returns False. On a NETTING account this closes the old position and opens the opposite one in a single fill, which matches the source's reverse-in-one-order semantics. The min-notional check applies only to the new leg, which is fine. Note that the reported avg_position_pct of 32.7% is above the 20% cap. Traded notional per fill (about $18k on about $100k capital) fits the cap. The gap appears to come from the metric's equity denominator (cumulative realized PnL only, with impact folded in after the run) shrinking as equity fell 74%. It does not appear to be a sizing breach.

The sandbox run (204 days, 790 closed positions, unoptimized baseline N1/N2/N3 = 4/9/24) shows a mean net trade return of -0.515% of notional, PF 0.28, a 20.8% win rate and 28 losses in a row. Commission was 54.7% of gross, plus about $54k of folded impact cost. Average hold is about 4h49m on 15m bars. The PUBU1/PUBU3 'C<PUBU3' exit sits close to price on 15m LINK, so the strategy is whipsawed in and out. At ~0.11% round-trip taker cost plus spread and impact on BYBIT, the per-trade move needed to clear the 0.15% floor looks unlikely at this turnover. The tunable ranges (n1 3-6, n2 8-15, n3 20-30) keep all three lines fast, so the optimizer may not be able to cut turnover enough. The analyst should check whether the gross per-trade return, before costs, is positive at all.

Backtest Review

Sharpe
-3.41
Total return
-100.00%
Max drawdown
100.00%
Trades
8233
Win rate
24.3%
Profit factor
0.52

Code implements the disclosed three-line arrangements and exits; recorded trades include both directions.

QA's economic concern is borne out: 8,233 closed positions, PF 0.520 and mean net trade return -0.418% versus the +0.15% BYBIT review floor.

The 1,054 positions entered before the liquidation date already average -0.457% net, losing $91,832. Negative expectancy precedes the terminal account failure.

Adding reported commissions and impact back to aggregate trade PnL yields approximately +$31,919. Gross profitability therefore exists in aggregate, but execution costs overwhelm it; this is not evidence that every parameter configuration is unprofitable.

Accounting requires separate review: 7,179 positions enter on or after the reported liquidation date, and closed-trade losses total $428,693 despite a $100,000 account. The mechanism is not independently verified. Reported average exposure of 84.2% also conflicts with the intended 20% cap.

Benchmark return is +5.16%, with approximately 89.27% drawdown on the sampled detail curve; strategy return is -100%. No optimization sweep has been evaluated.

Outcome Summary

Any future iteration needs verified exposure and accounting behavior alongside evidence of an edge that survives execution costs; alternative EMA periods remain untested.

Backtest review issued an abandon verdict because execution costs overwhelmed aggregate gross profitability and negative expectancy preceded reported liquidation. Optimization and subsequent analyst and risk reviews were not reached.

Trade LINKUSDT on Bybit using 15-minute PUBU three-line EMA arrangements for long and short entries, reversals, and bar-close exits.

The backtest reported a -100% return, Sharpe of -3.41, and 8,233 closed positions, with a profit factor of 0.520 and average net trade return of -0.418%. Accounting and exposure concerns remained unresolved, but positions entered before reported liquidation already averaged -0.457% net.

Analysis

瀑布线交易策略在发明者量化平台的实现与应用

Backtest and paper results are hypothetical. Trading involves risk of loss.