Skip to content
All strategies

Strategies

Committed-Flow Accumulation Continuation, Single-Venue Long-Short (Single-Instrument AVAXUSDT.BINANCE USD-M — Enter WITH the Direction of Aggressive TAKER Flow ONLY When Open Interest Is Simultaneously EXPANDING = New Positions Being Opened by the Aggressor (Genuine Accumulation/Distribution), Skip When OI Is Flat/Falling = Mere Position-Closing; Two Non-Price Feeds, ATR-Trailing Exit, 3-Parameter)

Outcome: Abandoned

AvaxCommittedFlowAccumulationContinuationLS

Outcome Summary

This strategy combined two orthogonal non-price feeds — aggressive taker flow and open-interest expansion — to distinguish genuine committed accumulation from mere position-closing, riding OI-backed taker agreement on AVAX rather than chasing naked flow or fading exhaustion. Across three iterations the developer used an event study to raise the flow threshold to 2 sigma and widen the ATR trail to match the signal's 12-24h horizon, and the iteration-3 fix succeeded in clearing the fee floor (0.357% per trade). But that fix only revealed there was no risk-adjusted edge beneath it: a Sharpe of 0.082 straddling zero, profit factor 1.13, a 30% return resting on a few outlier trades (kurtosis 114), and — decisively — market impact consuming 51.9% of gross PnL at a $372k capacity. The analyst abandoned it at backtest review as a near-zero-edge, capacity-crippled member of the near-zero-survival OHLCV+OI+taker continuation family, noting the threshold lever had converged with nowhere left to go and optimization would only overfit the outliers.

Hypothesis

A LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE strategy on AVAXUSDT.BINANCE USD-M perpetual whose entry trigger uses TWO orthogonal, non-price feeds in confluence — the change in OPEN INTEREST and the direction of aggressive TAKER flow (taker buy/sell volume ratio) — neither of which is the price series, so the signal is not a re-derivation of trend (satisfies L42). Core mechanism: to distinguish genuine ACCUMULATION/DISTRIBUTION from noise, both conditions must agree. Aggressive taker BUYING (aggressors lifting……Show moreShow less

A LONG-SHORT, SINGLE-INSTRUMENT, SINGLE-VENUE strategy on AVAXUSDT.BINANCE USD-M perpetual whose entry trigger uses TWO orthogonal, non-price feeds in confluence — the change in OPEN INTEREST and the direction of aggressive TAKER flow (taker buy/sell volume ratio) — neither of which is the price series, so the signal is not a re-derivation of trend (satisfies L42). Core mechanism: to distinguish genuine ACCUMULATION/DISTRIBUTION from noise, both conditions must agree. Aggressive taker BUYING (aggressors lifting offers) WHILE open interest is EXPANDING means new long positions are being opened by the aggressor — real committed capital entering long, which tends to continue → go LONG. Aggressive taker SELLING while OI expands means new shorts are being opened → go SHORT. Critically, if taker flow is one-sided but OI is FLAT or FALLING, the aggressor is merely CLOSING existing positions (short-covering or long-liquidation) with no new commitment — this is filtered out (no trade), which is the edge that separates this from naive taker-flow chasing. This is materially different from (a) the price-channel OI-breakout (that requires a Donchian price break + rising OI; this has NO price-breakout trigger — entry fires on the flow/positioning event itself), (b) the taker-EXHAUSTION reversal (that FADES extreme taker imbalance; this RIDES OI-backed taker agreement — opposite direction), and (c) any single-feed OI or taker idea. Single-venue, single-instrument — no cross-venue leg problem (L44), no options feed (L43). AVAXUSDT chosen for high liquidity + high volatility (continuation moves clear the 0.10% USD-M round trip with margin) and to diversify instrument away from BTC/ETH/SOL/DOGE already in flight. 3 parameters. ENTRY (1h bars + same-venue OI and taker-ratio feeds): compute taker_buy_ratio z-scored over `lookback`, and oi_change = OI_now/OI[`lookback`]-1; ENTER LONG when taker_buy_ratio_z >= `flow_thresh` AND oi_change >= `oi_grow_thresh`; ENTER SHORT when taker_buy_ratio_z <= -`flow_thresh` AND oi_change >= `oi_grow_thresh` (OI expanding on EITHER side confirms new positions); skip if oi_change < oi_grow_thresh (position-closing, not accumulation) or if either feed is stale. Risk 2% equity/trade, stop 1.5×ATR(14), max exposure 25%, leverage 2x. EXIT on first of: ATR trailing stop (1.5×ATR behind best close); OI rollover (OI contracts back below pre-entry level within 6 bars = commitment withdrawn); opposite-side committed-flow signal; 18-bar (~18h) time stop. Instruments: ["AVAXUSDT.BINANCE"]. venue_type: futures. data_requirements: ["ohlcv", "open_interest", "taker_ratio"].

ITERATION 3 — three parameter defaults changed, ZERO structural code change (imports, class shape, signal/entry/exit/sizing logic byte-identical to previous_code apart from the defaults and their explanatory comments), so Layers 1-3 cannot regress; the fixed config still produces ~76 trades in the 365-day sandbox, far above the >=1 requirement. Rather than blindly loosening or tightening, I first tested whether the continuation premise exists at all, because QA's diagnosis ('the continuation premise is……Show moreShow less

ITERATION 3 — three parameter defaults changed, ZERO structural code change (imports, class shape, signal/entry/exit/sizing logic byte-identical to previous_code apart from the defaults and their explanatory comments), so Layers 1-3 cannot regress; the fixed config still produces ~76 trades in the 365-day sandbox, far above the >=1 requirement. Rather than blindly loosening or tightening, I first tested whether the continuation premise exists at all, because QA's diagnosis ('the continuation premise is absent/negative in AVAX data at these parameters') admits two very different conclusions. I built the exact signal offline from the real AVAXUSDT 1H catalog bars plus the real taker/OI mirrors over the same 365-day window and ran an event study. At the SHIPPED threshold (flow_thresh 1.0) the premise is indeed dead: 839 events, gross forward return -0.03% to +0.13% across 1-48h, win rates 46-51%, nothing significant — a coin flip that cannot pay a 0.10% round trip. But the edge is a monotone function of signal strength, not absent: 18h gross runs 0.13% -> 0.32% -> 0.80% -> 1.16% as flow_thresh goes 1.0 -> 1.5 -> 2.0 -> 2.5, and the same ordering holds at 12h and 24h. That dose-response in the CONDITIONING variable is the opposite of the isolated-single-cell signature that marks a deflated-Sharpe/PBO trap, so the honest fix is to move the default to where the mechanism actually lives. Second finding: a 1.5x ATR trail on 1H AVAX is noise-width and truncated nearly every trade long before the 12-24h horizon at which the event study shows the edge accumulating — the exit was fighting the signal's own horizon. I validated all of this with a full trade simulation including the 0.10% round trip that reproduces the reported failure closely (n=396 vs QA's 390, avg_net -0.169% vs -0.151%, win 34.8% vs 35%), which makes the simulator trustworthy. At the new defaults it gives n=78, avg_net +0.377%, PF 1.41. Crucially I checked sub-period stability over TWO years rather than fitting the one window: the old defaults are negative in 3 of 4 half-year sub-periods and -0.139% over the full 2 years, while the new defaults are positive in 3 of 4 (+0.656%, +0.114%, +0.804%; the oldest half-year is -0.188%) and +0.354% with PF 1.35 over the full 2 years. I deliberately did NOT ship the grid optimum: atr_mult 4.0 / time_stop 24 scored best (+0.537%) but I chose the mid-plateau 3.0, and I left oi_grow_thresh and lookback untouched. Two honest caveats for the Analyst: the t-statistics remain weak (0.55-1.42, n=73-86 per year) so this clears the fee floor but is not yet a strong edge, and the deviation from the hypothesis's literal '1.5xATR / 18-bar' exit is a measured horizon-alignment change, not a free-parameter hunt. If the walk-forward and holdout do not confirm the flow_thresh gradient out-of-sample, the right call is abandon rather than a fourth iteration — the mechanism only exists in the top ~1.5% of flow readings, and that tail is thin.

The iteration-3 fee-viability fix succeeded (avg_trade_return_pct now 0.357%, above the 0.15% floor) but exposed that there is no risk-adjusted edge underneath. Sharpe is 0.082 with a 95% CI [-0.595, 0.736] straddling zero, profit_factor 1.13 (below the 1.2 meaningful line), and information_ratio -0.48. The capacity/impact analysis is a hard blocker: market impact consumes 51.9% of gross PnL and capacity_usd is only $372k, so whatever tiny edge exists is real only at toy scale and evaporates at any deployable……Show moreShow less

The iteration-3 fee-viability fix succeeded (avg_trade_return_pct now 0.357%, above the 0.15% floor) but exposed that there is no risk-adjusted edge underneath. Sharpe is 0.082 with a 95% CI [-0.595, 0.736] straddling zero, profit_factor 1.13 (below the 1.2 meaningful line), and information_ratio -0.48. The capacity/impact analysis is a hard blocker: market impact consumes 51.9% of gross PnL and capacity_usd is only $372k, so whatever tiny edge exists is real only at toy scale and evaporates at any deployable size. return_kurtosis 114 shows the 30% total return over ~5 years rests on a handful of outlier trades. This is the OHLCV+OI+taker continuation class (L9/L41 momentum-continuation family, near-zero survival), now on its third iteration — the fee fix worked only by thinning the signal (flow_thresh raised to 2.0), and two prior iterations have converged on a near-zero-Sharpe result with no remaining lever (raising the threshold shrinks the sample; lowering it reinstates the fee problem). Iteration is only warranted with a genuine edge (OOS Sharpe > 0.5) and a clear improvement path, neither of which exists. Best-of-225 selection on a Sharpe-0.08 signal would tune to the outlier trades and near-certainly fail deflated-Sharpe/holdout. Abandon at BACKTEST_REVIEW rather than spend 2 hours optimizing.

Implementation

Long/short continuation strategy on AVAXUSDT.BINANCE USD-M perpetual (1-HOUR bars, 2x leverage). Each bar it returns flow_z — the z-score of the aggressor imbalance (buy_vol - sell_vol)/(buy_vol + sell_vol) over `lookback` bars — as the continuous signal, and carries OI expansion (oi_change normalised by its own rolling standard deviation) as the commitment gate. Entry requires confluence: |flow_z| >= flow_thresh AND OI genuinely expanding (oi_change > 0 AND oi_z >= oi_grow_thresh). Aggressive taker buying while……Show moreShow less

Long/short continuation strategy on AVAXUSDT.BINANCE USD-M perpetual (1-HOUR bars, 2x leverage). Each bar it returns flow_z — the z-score of the aggressor imbalance (buy_vol - sell_vol)/(buy_vol + sell_vol) over `lookback` bars — as the continuous signal, and carries OI expansion (oi_change normalised by its own rolling standard deviation) as the commitment gate. Entry requires confluence: |flow_z| >= flow_thresh AND OI genuinely expanding (oi_change > 0 AND oi_z >= oi_grow_thresh). Aggressive taker buying while OI expands = new longs being opened -> BUY; aggressive taker selling while OI expands = new shorts being opened -> SELL. One-sided taker flow with flat/falling OI is position-closing (short-covering / long-liquidation), carries no new commitment, and is skipped. Exits, first to fire: a 3x ATR(14) trailing stop that ratchets from the running favourable extreme and is tested intrabar; OI rollover (OI falls back below the pre-expansion level within 6 bars); an opposite-side committed-flow signal; and a 24-bar (~24h) time stop. Sizing risks 2% of equity at the initial ATR stop, hard-capped at 25% x leverage (= 50%) of equity notional.

Verification Results

Verification failed (Layer 4 — QA review): - FEE VIABILITY FAILURE (demonstrated, not predicted): sandbox avg_trade_return_pct = -0.151% NET per trade over 390 trades — negative, i.e. the strategy loses money after fees on the average trade and does not clear the ~0.10% round trip, well under the 0.15% floor. Corroborating: total_return -57.7%, profit_factor 0.46, win_rate 0.35, max_drawdown 58.9%, turnover 204. Classic high-turnover / gross-edge-below-commissions failure: 390 round trips each bleeding ~-$148 net compound to -57.7%. The continuation premise is absent/negative in AVAX data at these parameters. Reject at Layer 4 rather than burning a full multi-year backtest to reconfirm a manifest loss.

Must survive walk-forward/holdout: the flow_thresh dose-response has to hold out-of-sample. Abandon if OOS is negative (developer agrees); do not spend a fourth iteration.

Weak risk-adjusted edge for the analyst (not a correctness fault, and NOT the fee-viability failure that blocked iteration 2 — that is resolved). Iteration-3 defaults turn the sandbox positive: avg_trade_return_pct +0.368% (above the 0.15% floor), PF 1.16, total_return +5.6%, 74 trades, turnover cut 204->48. But Sharpe is still ~zero (-0.059, CI [-1.58, 1.67], PSR 0.47) and the developer honestly reports weak t-stats (0.55-1.42) with the edge in the top ~1.5% of flow readings (thin tail). Per-trade clears fees, but the edge is weak and tail-dependent.

No action; confirm the walk-forward doesn't prefer a materially different exit horizon (which would indicate 3.0/24 was itself window-fit).

Exit magnitudes changed from the hypothesis's literal values (stop 1.5xATR->3.0xATR, time stop 18->24 bars). NOT a structural mismatch — the full exit structure (ATR trail, OI rollover, opposite-flow, time stop) is intact; only two design-constant magnitudes moved, which is allowed. Justified as horizon-alignment (a 1.5xATR trail on 1H bars truncated trades before the 12-24h edge horizon), with mid-plateau 3.0 shipped rather than grid-optimum 4.0.

Size within the ~$478k capacity; re-check net per-trade at intended deployment capital before promotion.

Capacity/impact note: impact_cost_pct 45.7%, capacity_usd ~$478k. The positive result folds impact in (impact_folded:true) at the tested size, so +0.368% is net of it, but impact eats a large share of gross and capacity is limited.

Backtest Review

Sharpe
0.08
Total return
30.00%
Max drawdown
20.59%
Trades
404
Win rate
43.8%
Profit factor
1.13

Iteration-3 fee fix worked: avg_trade_return_pct 0.357% now clears the 0.15% futures floor

Genuinely orthogonal two-feed confluence (taker flow + OI expansion), single venue/instrument, verification-safe; controlled max_drawdown 20.6%

Adequate trade count (404)

Sharpe 0.082 with 95% CI [-0.595, 0.736] straddling zero — no risk-adjusted edge; profit_factor 1.13 below the 1.2 line; information_ratio -0.48

impact_cost_pct 51.9% — market impact consumes half of gross PnL; capacity_usd only $372k (edge exists only at toy scale) — a promotion blocker

return_kurtosis 114 — the 30% total return rests on a few outlier trades

The fee-viability fix worked only by thinning the signal, exposing that the underlying edge is near zero; two prior iterations have converged here with no further lever

OHLCV+OI+taker continuation class (L9/L41, near-zero survival)

Iteration History

Verification failed (leverage_set_but_unused): config sets leverage=2.0 but the strategy never references leverage in sizing. Size positions on it — notional = equity * fraction * leverage / price (read self.config.leverage) — or set leverage=1.0. As written the leverage is inert and the backtest is identical to 1x.

Outcome Summary

Fixing fee viability by raising the entry threshold can just thin a signal down to its near-zero core rather than reveal an edge — and a strategy whose thin gross edge is 52% consumed by market impact at a $372k capacity is not deployable regardless, so capacity/impact must be checked alongside the fee floor, not after it.

It was abandoned at the BACKTEST_REVIEW gate: a Sharpe indistinguishable from zero and a sub-1.2 profit factor mean no risk-adjusted edge, and the capacity/impact analysis is a hard blocker (impact eats half of gross PnL, capacity only $372k, so any edge is real only at toy scale). The fee-viability fix worked only by thinning the signal, exposing a near-zero underlying edge with no remaining lever after three iterations, so it never reached optimization.

A long-short, single-instrument, single-venue continuation strategy on the AVAXUSDT.BINANCE USD-M perp that enters with the direction of aggressive taker flow only when open interest is simultaneously expanding (new positions being opened by the aggressor = genuine accumulation/distribution), skipping one-sided taker flow on flat/falling OI (mere position-closing), using two orthogonal non-price feeds in confluence with an ATR trailing stop, OI-rollover exit, and time stop.

The iteration-3 fee fix cleared the floor but exposed no edge underneath: avg_trade_return_pct 0.357% (above the 0.15% floor), but Sharpe 0.082 (CI [-0.595, 0.736] straddling zero), profit factor 1.13 (below 1.2), information ratio -0.48, total return 30% over ~5 years with max drawdown 20.6% across 404 trades. Impact cost consumed 51.9% of gross PnL at a tiny $372k capacity, and return kurtosis of 114 shows the return rests on a handful of outlier trades.

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