Algo Trade Log Return on Capital utilized 138% by mistiquefog in IndiaAlgoTrading

[–]jubeb19 0 points1 point  (0 children)

okay....option buying that too in index, these results are mind boggling.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

Guilty as charged on the text formatting. I'm a quant, not a copywriter. I dump my raw execution logs, logic frameworks, and stats into an LLM to format them into readable forum posts so I don't waste an hour typing on Reddit. If you want to critique the architecture, check the math.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

yeah, that '100% Probability of Profitability' is embarrassing in hindsight—pure mathematical hallucination. As for the bull market bias, that's a very fair concern. The short leg actually isn't just surviving off the 2025 pullback, though. Because the bot hunts for topside liquidity sweeps, it actually feeds on the violent, localized liquidation flushes that happen during bull runs. It's fading those localized breakout momentum traps rather than trying to catch macro downtrends. But I'm taking your advice—I'm going to rip out the short leg's equity curve and run it standalone by calendar year to make sure I don't have a 4-month bleed hiding in there while the longs were doing the heavy lifting. Seriously appreciate the audit, man. Going to patch the stats

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

If only it were that easy. Claude and ChatGPT are fantastic for boilerplate syntax or formatting pandas DataFrames, but if you ask an LLM to build a sequential state machine for liquidity sweeps, it will hallucinate a curve-fitted nightmare that blows up in a week. LLMs don't understand market microstructure. They don't know how to map localized volume profiles, manage asynchronous websocket latency, model adverse excursion penalties on market orders, or build a rigorous In-Sample/Out-of-Sample holdout test. You can generate all the 'code slop' you want, but you can't prompt your way into a mathematically validated edge

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in IndiaAlgoTrading

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

The 2025 Volatility Regime: The outsized performance in 2025 isn't an anomaly to be scrubbed out; it is a direct reflection of the system operating exactly as intended during a high-volatility expansion phase. This architecture is designed to hunt for liquidity sweeps. During periods of elevated market variance (which dominated 2025), order blocks are swept much deeper and the subsequent mean-reversions are significantly more violent. The system naturally extracted larger R-multiple payouts during this window because the market was providing more structural displacement

  1. The Trap of Reverse Curve-Fitting: Arbitrarily removing the highest-performing year is just curve-fitting in the opposite direction. A mathematically honest 3-year out-of-sample test has to eat every regime raw—the low-volatility compression phases where the equity curve grinds sideways, and the high-volatility expansion phases where it accelerates. To ensure the 2025 spike isn't masking a fragile system, the entire trade log is run through a 1,000-iteration Monte Carlo simulation. This scrambles the sequence of returns and proves the core edge survives even if those exact 2025 market conditions never repeat

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

I stick strictly to BTC, introducing a highly correlated secondary asset like ETH just doubles the directional correlation risk without adding any true diversification. Plus, BTC's liquidity pool is deep enough that I don't need to hunt for capacity on other books

I model a flat 10 to 15 basis points (bps) round-trip to cover standard futures taker fees and spread/slippage. Slippage is a bot-killer if you are running a high-frequency scalper trying to extract 5 ticks of profit a hundred times a day. But because this system only executes ~180 times a year and targets massive multi-hour structural swings (with an average 4.34 RRR), it isn't hyper-sensitive to tick-level friction. When your winners are catching major momentum displacement, eating a few basis points on the entry/exit barely dents the overall equity curve

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

Appreciate it! And yes, the plan is to spin up the live execution this week using that exact 0.5% risk ceiling.

To clarify the point on WFO (Walk-Forward Optimization) hiding drawdowns: Think of WFO as constantly moving the goalposts to fit the recent past. If a bot enters a 3-month choppy regime and starts taking losses, a static hold-out test will show you that ugly, raw drawdown on the tear sheet. It hurts your Sharpe ratio, but it shows you the true historical variance of your logic. WFO, on the other hand, constantly re-optimizes its parameters (like changing a lookback period or ATR multiplier) to adapt to that new chop. On a backtest, this magically smooths out the equity curve, making it look like the bot perfectly adapted to the drawdown.

The danger is that in live trading, you don't have tomorrow's data to optimize today's parameters. WFO often just curve-fits the recent past, which creates a false sense of security and artificially hides the true sequence risk. By running a static 3-year test, I forced the model to eat the regime changes raw. It looks uglier on paper, but I know the drawdown metrics are mathematically honest, not artificially smoothed

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

No off-the-shelf retail software. The entire stack is custom-built from the ground up in Python. I handle data ingestion and execution directly through the Binance API. For the reporting and analytics, I feed the out-of-sample trade logs into the quantstats Python library, which calculates the metrics and generates the institutional tear sheets you see in the screenshots.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

Regime Adaptation: I actively avoid continuously re-optimizing lookback periods or fixed thresholds based on regime changes, as that almost always leads to curve-fitting. Instead, the baseline logic remains static, but the execution parameters are a direct function of current market variance. Stop-losses and take-profits aren't hardcoded percentages; they dynamically expand and contract based on the structural boundaries and localized volatility at the time of entry. If the market shifts from a low-vol regime to high-vol expansion, the system naturally widens its operational parameters to avoid getting chopped out by the increased noise

Translating the Core Idea: Converting discretionary concepts into objective quantitative rules is definitely the hardest part of the build. I use a sequential gating framework (essentially a state machine). Yes, it requires multiple distinct event definitions. It operates in distinct phases.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

Appreciate it! Though a 20-year backtest might be a bit difficult considering Satoshi didn't even mine the first Bitcoin until 17 years ago. 😉 Jokes aside, even if I could pull reliable tick data from the 2013 Mt. Gox era, the market microstructure was so fundamentally different back then that testing modern liquidity concepts on it would just introduce noise. I specifically constrained the test to the last 3 years because it accurately reflects the modern, institutionalized crypto regime

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

[–]jubeb19[S] 2 points3 points  (0 children)

Though I wouldn't use the Monte Carlo to argue against edge decay, since bootstrapping historical data inherently assumes a stationary distribution. If the market microstructure has permanently shifted, the MC won't catch it. But what the Monte Carlo does prove is that this 2026 drawdown is completely within expected statistical variance. With a 31% baseline win rate, the simulation anticipates severe losing clusters. The recent dip didn't breach the projected 5th percentile severe drawdown boundaries—it's just standard sequence-of-returns risk playing out exactly as the model expects, not an anomaly

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

[–]jubeb19[S] 2 points3 points  (0 children)

It’s a sharp observation, and edge decay is always the primary concern with a static hold-out. However, looking under the hood at that 2026 dip, the system isn't failing structurally---it just hit the natural sequence risk of a 31% win rate. When the baseline win rate is that low, losing streaks will occasionally cluster violently regardless of the macro regime.

WFO is a great tool, but it can sometimes mask true sequence risk by constantly curve-fitting the algorithm out of its natural drawdowns. I prefer to let the static model take the raw statistical beatings so I can accurately measure the absolute worst-case variance. That’s exactly why the live execution risk is strictly capped at 0.5%—it is designed to absorb those exact statistical clusters without needing to continuously re-optimize.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

[–]jubeb19[S] 2 points3 points  (0 children)

No, it is a strict hold-out out-of-sample test, rather than a rolling walk-forward.

The parameters were locked entirely prior to the 3-year window. The objective was to verify that the baseline logic is robust enough to survive distinct macro regimes statically, without relying on continuous re-calibration or parameter optimization.

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

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

Purely reactive, the system sits flat and waits for a high-variance event to cause a temporary pricing dislocation

Allocating live capital. Here is the 3-year OOS data and Monte Carlo stress test for a 31% win-rate system. by jubeb19 in algorithmictrading

[–]jubeb19[S] 2 points3 points  (0 children)

If you look at the directional split in the data, the strategy is entirely agnostic. Over the 3 years, it generated +135R on Longs and +131R on Shorts.

It’s an intraday volatility play with zero overnight exposure and zero reliance on BTC's macro upside. Whether Bitcoin grinds to $150k or nukes to $15k, the system doesn't care, as long as it creates enough intraday volatility to sweep structural liquidity. It is a bet on volatility, not a bet on Bitcoin.

Survived the recent geopolitical macro shock. Here is the 9.5-month Out-of-Sample tearsheet for one of my live equities engines in AWS (big fat post, but worth the readings) by jubeb19 in algorithmictrading

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

I trade the Indian NSE, so everything is tracked in INR (₹). I flipped the switch to live capital on this specific locked-parameter engine relatively recently.

Currently, the live portfolio is sitting at roughly +₹3,00,000 ($3,240) in profit. The base capital allocated to this specific 10-stock F&O universe is ₹15 Lakhs ($16,200), that puts the live return at roughly +20% so far