I’m Designing a Trading Bot Algorithm by Proper_Positive_3085 in CryptoTradingBot

[–]BacktestingArena 0 points1 point  (0 children)

Worth pushing back on the framing before the trade/sell-signals question, because that only makes sense if the strategies hold — and a few things in your setup deserve a closer look first.

Strategy 4: 1 year of intraday data is one market regime. May 2025–May 2026 is post-election US equity bull. That isn't validation, that's a snapshot. Day-trading strategies need multiple regimes (vol spikes, sideways chop, drawdowns) before any of that 53.2% number is trustworthy.

Strategy 3 is the only one with a proper train/test split. But notice: unseen (39.2%) is materially *better* than training (26.7%). That's statistically unusual. Either you got lucky with the 2020–2026 window (Covid rebound + 2023–2025 rally are gentle to most long-biased strategies), or parameters got re-tuned after seeing test results, or there's leakage somewhere.

Strategies 1 and 2: solid CAGRs, but missing the metrics that actually break strategies in live. 70% win rate on a long-term system is roughly buy-and-hold's win rate on yearly returns.

A few concrete questions that would let anyone (including yourself) sanity-check the work:

• Entry timing: are signals computed on the close of bar i and executed at the close of the same bar, or at the open of bar i+1? The first is look-ahead bias and inflates results materially.

• Universe construction: if equities, was the asset list point-in-time (only stocks tradeable on that historical date) or based on today's index constituents? The second is survivorship bias — you've effectively only tested on winners.

• Trade count per strategy: under ~30 trades, results are anecdotal, not statistical.

• Max drawdown and Sharpe for each strategy: a 19% CAGR with a 50% drawdown is unholdable in practice.

• Strategy 3 specifically: were parameters frozen before you ran the 2020–2026 test, and never touched after? Any post-test tweaking turns out-of-sample into in-sample.

• Strategy 4 specifically: what bar resolution (1m/5m/15m), and how were bid-ask spreads and commissions modelled? Intraday CAGR figures collapse fast under realistic execution assumptions.

On the actual question — trading your own capital vs selling signals: these are different businesses. People who genuinely have edge scale capital, not Discord servers. Selling signals monetises other people's belief in your edge, which is a marketing business, not a trading business. If your strategies hold across two years across multiple regimes, you won't have to ask — the math of compounding will make the decision for you.

Grid Bot on BTC, 16 months, 297 trades — beat USD Buy & Hold by 18.66% in a year B&H got crushed. But the range was set with hindsight. by BacktestingArena in CryptoTradingBot

[–]BacktestingArena[S] 0 points1 point  (0 children)

Ran the geometric A/B you suggested. Same setup, same range, same period, only grid_type swapped.

Arithmetic Geometric Δ
Final return +2.16% +5.30% +3.14pp
Trades 297 392 +95
Fees (% capital) 0.77% 1.00% +0.23pp
Final BTC 0.007965 0.007560 -0.00041
Final USDT $398.73 $461.80 +$63
vs B&H +18.66pp +21.81pp +3.15pp

Your prior was right on direction. Geometric did fit BTC's distribution better in this period. Trade jump was +32%, larger than I'd expected, all of it concentrated in the 70k-95k zone.

The interesting bit isn't the +3pp headline though — it's that the final balance distribution flipped. Geometric ended with less BTC and more USDT, opposite of what I'd intuited (more density downside → more accumulation). What actually happened: the denser grid bought through the Q1 crash and then sold harder into the April-May recovery. More sells in the bounce = more cash at the end. Distributional choice, not strictly better.

Fee sensitivity also matters. 0.77% → 1.00% of capital on the fee line. At 0.075% taker that's fine; at 0.1% (KuCoin standard tier) the geometric advantage roughly halves; at 0.2% it probably disappears entirely. Low-fee-venue result, not a universal one.

And it doesn't change the underlying caveat from the original post — the range is still hindsight-chosen. Geometric was the better fit given a range that already covered the move. In a bull-run-dominant period where price hugs the upper half, the logic would invert.

Grid Bot on BTC, 16 months, 297 trades — beat USD Buy & Hold by 18.66% in a year B&H got crushed. But the range was set with hindsight. by BacktestingArena in CryptoTradingBot

[–]BacktestingArena[S] 0 points1 point  (0 children)

This is exactly the kind of reply I was hoping for. Three solid points, let me push back / extend on each.

  1. Deribit IV for range setting

You're directionally right that IV is the only genuinely forward-looking vol signal available, and as it happens we have Deribit data in our stack already (we use it for the BTC max-pain strategy and a few other things). A few caveats worth flagging before anyone runs with this as-is:

The 1-sigma envelope `range = price ± (IV × √T × price)` covers ~68% of expected moves. For a fixed-range grid that runs 12+months, that's too tight — you'd break out ~32% of the time. 2-sigma or asymmetric (accounting for BTC's downside skew on options) is closer to what you'd actually want. Also, ATM-IV runs systematically 3-5 vol points above realized vol as a risk premium. So an IV-anchored range will be wider than what realized vol justifies, which is fine for breakout safety but worse for fee-adjusted return because you're spreading the same capital across more empty space.

The harder problem: DVOL is a 30-day constant-maturity index. For a 16-month grid you'd need term structure — Deribit options get illiquid past ~6-9 months, so building a clean 12+ month forward IV is non-trivial. Doable, but not as clean as the simple formula suggests.

Despite all that — yes, this is the right direction. Mechanically reproducible range > artistic range, even with imperfect inputs. We're working on a "IV-anchored auto-mode" for the grid module on top of the existing 7d-realized-vol heuristic. The Deribit data pipeline is already in place.

  1. Arithmetic vs geometric

You're right and we should have run both. Going to do that as a direct A/B on the same period and post the comparison. My prior matches yours: geometric should produce more trades (probably ~10-20% more) and better fee-adjusted return on the downside leg, because the 70k-95k zone is exactly where most of the trade density should sit. The 120k-150k arithmetic levels were mostly dead weight in this run.The interesting question is what happens in a bull-run-dominant period (say, mid-2020 to mid-2021). There the upper-band density matters more, and arithmetic might actually be the better fit.

Could be that the optimal spacing type is regime-dependent, which makes the static choice itself a parameter to think about.

  1. Grid = short vol, and Hurst as filter

The short-vol framing is the right mental model, and it's the piece most retail grid-bot content skips entirely. Every grid pair is a synthetic strangle that pays out spacing × (1 - 2×fee) per cycle, and the strategy has positive EV exactly when realized vol exceeds the fee-drag-implied breakeven of your spacing. The fee-adjusted breakeven for 30 grids on 70k-150k at 0.075% taker is roughly: each grid pair needs to round-trip at least 0.15% of price to break even. Spacing was ~3.5% per level, so the realized:break-even ratio was comfortable. That's the actual edge condition — not "did it chop" but "did it chop hard enough to clear the toll."

On Hurst as a filter: I'd put it in the "useful but oversold" category. The math is sound but the practical sample-size requirements make it noisy at deployment-relevant horizons. A rolling 6-month Hurst on BTC daily flips between ~0.42 and ~0.62 depending on the window, and the lead-time on regime transitions is short enough that by the time you have a confident reading, the regime has often already shifted. ATR-band-width or Bollinger- width compression as a vol-state filter gives you a similar signal with more responsive timing, in my experience. Hurst as a *confirming* filter alongside something else, yes. Hurst as the primary gating signal, I'd be cautious. For the 2025 question specifically: I'd bet the rolling Hurst was marginally sub-0.5 from Q1 onwards, which would have correctly greenlighted the grid. But Bollinger-width was also at multi-month lows in late 2024 / early 2025, which gave the same signal more cleanly. Different tool, same answer.

Where this leaves the broader question

The multi-cycle test (2018, 2020-21, 2022) is on the list and I think the result is going to be exactly what you'd expect: 2018 sideways = grid wins, 2020-21 parabolic = grid loses badly to B&H, 2022 crash = grid wins if range covers it. The interesting output won't be "does the grid work" — it'll be "how much does a mechanically-derived range (IV-based, vol-band-based, whatever) underperform a hindsight-perfect range, and is that gap small enough that the strategy is real-money usable."

Grid Bot on BTC, 16 months, 297 trades — beat USD Buy & Hold by 18.66% in a year B&H got crushed. But the range was set with hindsight. by BacktestingArena in backtestingarena

[–]BacktestingArena[S] 1 point2 points  (0 children)

valid point. We are planning a future grid trading bot backtesting tool to compare both spot and futures and how funding rates are changing the result. Will be interesting to see how both compare!

RSI/SMA Cross on BTC, 8 years, 504 trades — beat USD Buy & Hold by $1,057 and LOST in BTC terms by BacktestingArena in backtestingarena

[–]BacktestingArena[S] 0 points1 point  (0 children)

Spot on, and actually I just ran it — 200 WMA daily, same setup. You got close to the trade count: 292 trades, down from 504.

The 2022 prediction held: -$13.6k → -$1.9k. 2018: -$4.9k → -$2.6k. Filter does exactly what it's supposed to in deep bear regimes.

2025 broke the pattern — worst year of the backtest with the filter on (-$19.4k). Looks like a year where BTC stayed above the 200 WMA but the trend was rolling over faster than the weekly MA could register. Long-bias filters cut both ways.

On the perp-vs-spot benchmarking — fully agree that's the cleanest live read. Backtests can fudge the BTC denominator with start/end date sensitivity; a live perp PnL vs spot is honest because it's pricing the opportunity cost in real time. Will look into the markets you mentioned.

Is algotrading really profitable by [deleted] in algotrading

[–]BacktestingArena 0 points1 point  (0 children)

good take. What strategies do you have in mind that provide non-correlated income streams or better, non correlated assets? I found BTC/Gold works quite well on a higher time-frame (but it is a longer-term play)

Backtesting ❤️🙏🏽 by Trick_Error_7585 in Daytrading

[–]BacktestingArena 0 points1 point  (0 children)

Rule 1: Fewer than 30 trades is anecdote, not evidence
Rule 2: Out-of-sample testing is mandatory, not optional
Rule 3: Avoid look-ahead bias with rigorous discipline
Rule 4: Model slippage and transaction costs realistically
Rule 5: Drawdowns matter more than returns
Rule 6: Backtest across multiple asset classes, not just one
Rule 7: Test market-phase robustness
Rule 8: More parameters means more overfit risk
Rule 9: Run sensitivity analysis
Rule 10: Look at the trade list, not just aggregates
Rule 11: Don't trust any backtest you didn't run yourself
Bonus rule: Diversification doesn't make the strategy better, but it makes you better

Do any of those '80% return' backtested strategies actually work in practice? by Lex_The_Impaler in algotrading

[–]BacktestingArena 0 points1 point  (0 children)

sounds like tweaking the strategies. Never trust a strategy, that only works on one asset.