AvaxCommittedFlowAccumulationContinuationLS
Hypotheses
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)
Hypotheses
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"].
Hypotheses
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.
Hypotheses
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 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.
Verification Results
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.
Verification Results
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.
Verification Results
No action; confirm the walk-forward doesn't prefer a materially different exit horizon (which would indicate 3.0/24 was itself window-fit).
Verification Results
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.
Verification Results
Size within the ~$478k capacity; re-check net per-trade at intended deployment capital before promotion.
Verification Results
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
Iteration-3 fee fix worked: avg_trade_return_pct 0.357% now clears the 0.15% futures floor
Backtest Review
Genuinely orthogonal two-feed confluence (taker flow + OI expansion), single venue/instrument, verification-safe; controlled max_drawdown 20.6%
Backtest Review
Adequate trade count (404)
Backtest Review
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
Backtest Review
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
Backtest Review
return_kurtosis 114 — the 30% total return rests on a few outlier trades
Backtest Review
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
Backtest Review
OHLCV+OI+taker continuation class (L9/L41, near-zero survival)
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.
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.
Outcome Summary
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.
Outcome Summary
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.
Outcome Summary
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.
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.
Backtest and paper results are hypothetical. Trading involves risk of loss.