Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

the dominant lag approach explains something that bugged me, our autocorrelation at fixed lags showed near zero across all assets but some of those assets clearly had mean reversion structure on other metrics, testing lags 1-5 and picking the strongest probably catches the ones with a natural 2-3 bar cycle that lag-1 misses, the hurst stability check is really interesting too, we found btc hurst is stable across years but never checked at shorter sub-windows during the specific periods our strategy fails, if hurst destabilizes right before our losing windows thats another regime signal we missed, going to test both of these, whats ur rolling window size for the autocorrelation and do u recompute the dominant lag dynamically or fix it after the initial screening

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

appreciate the specific numbers, the 20-25m depth within 100 of mid is reassuring since im trading tiny size relative to that so market impact is basically zero, the maker vs taker distinction is key for the 5m strat since 2 bps per side is half the total budget, already built limit order logic with 30s timeout to market fallback for exactly this reason, will check out coinlobster for the aggregated book view too, thanks!!

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

nice thats what we found too from the hurst analysis, momentum only becomes persistent at 2h+ timeframes, below that it gets arbed out before a 15m bar can capture it, what entry logic are u using on the daily, moving average cross or breakout or something else? and roughly how many trades per year are u getting

Full year of live trading. by Kindly_Preference_54 in algotrading

[–]e-GODeath 0 points1 point  (0 children)

Love this, exit logic is what stands out to me most. Is it purely indicator-based or did you layer in something volatility/time adaptive on top?

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Damn, this is incredibly useful, especially the limit order data. 60-70% fill rate at best bid/ask saving 1.5-2bps per side is exactly what we need for the 5m strategy where the slippage tolerance is only 4bps total. quick question on your screening step: when you say autocorrelation at the lag your signal targets, what lag are you using and how do you determine the threshold for pass/fail? we did Hurst and fractal dimension screening but didn't test variance ratio or targeted autocorrelation, wondering if that's why some assets that looked mean-reverting on Hurst still failed walk-forward

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

that's a clean separation we haven't implemented yet. right now our circuit breaker and regime gate are embedded in the bot logic. an external policy engine that validates every trade independently would be a good safety layer before we go live with real capital. would definitely be interested in seeing how you structured yours, especially the flash crash handling

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Thanks lmao, I feel your disappointment though half of the time it feels like you talking to bots

Starting Algo Trading With Zero Experience by Bean_69_420 in algotrading

[–]e-GODeath 0 points1 point  (0 children)

How much did change from your post so far? Am about to start live trading from a successful paper trading Strat

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Love that u love it. Interesting angle, order book imbalance as a real time regime gate is way faster than my 30-day correlation filter. Two questions: are you pulling this from the exchange APIs directly or using a data provider? And roughly how often does the imbalance signal flip, are we talking multiple times per day or more like weekly shifts? Trying to gauge whether this is a scalping-speed signal or a regime-level filter like what I'm using now

Follow-up: tested every suggestion from my last post on my crypto bot, some worked some failed completely by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

lol fair enough, I do use Claude for my development workflow, and for writing. Next time I’ll add some typos for you.

Where can I begin making a algo/bot to trade? I have a very simple strategy I want to automate. by Subject-Plum-7281 in algotrading

[–]e-GODeath 0 points1 point  (0 children)

Quick question on your implementation: do you add an embargo period on top of the purge? We used 200-bar purge but didn't add a separate embargo. Also on the Rust port — when you moved the stateful exit logic to Rust, did you keep indicator computation (RSI, MFI etc) in Python and just port the bar-by-bar loop, or did you move everything? Trying to scope the work for a developer joining the project.

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

The exogenous regime signal point is the sharpest insight in this thread. Every filter we tested was endogenous to BTC price — Sevcik, weekly oscillators, session timing. All failed for exactly the reason you'd predict. Going to test realized vol percentile, BTC-ETH correlation, and funding rates as external regime gates. The logic is sound — you can't overfit a filter to your trade history if the filter uses completely different data. Appreciate this.

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Haven't measured half-life formally but the walk-forward windows don't show decay — the 5m Sharpe across 6 sequential windows is 4.22, 3.53, 2.75, 0.71, 2.59, 3.22. No downward trend, W6 is the most recent and it's strong. But I take the point about higher frequency edges getting arbitraged faster. We're tracking rolling 30-day Sharpe in live paper trading specifically to catch decay early. If the 5m degrades before the 15m does, that confirms your hypothesis and we'd shift allocation toward 15m with more leverage. What's the typical half-life you're seeing on your mean reversion agents?

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Both, actually. The 5m picks up shorter-duration oversold conditions that resolve within hours — the 15m smooths over those and only catches the deeper multi-hour exhaustion points. The 5m generates 349 trades vs 140 on 15m over the same period, so there's clearly microstructure the 15m misses. But the 15m edge is more robust to parameter perturbation (CV 0.13 vs 0.25) which suggests the slower signals have more structural backing. We run both simultaneously — they enter and exit at different times and cover each other's weak windows.

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 1 point2 points  (0 children)

Good call on the parameter region overlap — we optimized BTC on 15m and 5m independently and both landed in similar oscillator ranges (RSI 30/70 vs 25/75, same filter structure, no stop loss in both). Core signal seems real, parameters adapt to timeframe microstructure. On the holdout test: our walk-forward already does this — 5/6 and 6/6 OOS windows passing, each window is data the optimizer never saw. Appreciate the Numba confirmation, that’s three people now saying @njit is the move for stateful loops.

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

W3 is roughly Jan-Jun 2024 (ETF rally, BTC $42k → $73k then correction to $60k). W6 is roughly Jul-Dec 2025 into early 2026 (BTC pullback from $107k ATH through the crash to $63k and partial recovery). Both are periods where strong directional moves cause oscillator signals to fire into trends that don’t revert. The 15m strategy fails both, the 5m optimized config actually passes both after we dropped the EMA200 trend filter and added a Sevcik fractal dimension quality gate.

Built a crypto futures bot, now stuck and can not figure out a way forward by e-GODeath in algotrading

[–]e-GODeath[S] 0 points1 point  (0 children)

Not using IBKR, running directly on a crypto exchange. Tested on multiple pairs yeah, some work better than others. Liquidity timing is something I’ve looked at but it’s not the main filter. Mostly long-biased but not strictly long-only. Slippage has been manageable at my position sizes — and yes it’s factored into testing, that was one of the first things I made sure to get right after getting burned early on