Inzichten en nieuws

Blog

Diepgaande verkenningen van AI-handel, marktanalyse en de toekomst van DeFi.

Browse collections →
Filter by tag:
July 4, 2026
#algotrading

Random vs Smart Search: De Crossover Zit in de Eval-kosten, Niet in het Algoritme

Als één backtest goedkoop is, wint domme scrambled Sobol op pure doorvoersnelheid — slimme samplers (TPE, CMA-ES, ASHA) betalen een Python ask/tell-belasting die ze 20x vertraagt, waardoor ze bij gelijke wall-clock veel minder punten evalueren en verliezen. Maak elke eval duur (multi-TF + walk-forward-folds) en de crossover keert om. We hebben beide regimes gemeten, en waarom fold-rank-fidelity (ρ@1 stijgend van 0.03→0.43) de voorwaarde is waaraan voldaan moet zijn wil pruning zich uitbetalen.

#algotrading#backtest#hyperparameteroptimalisatie
Lees artikel →
July 3, 2026
#algotrading

De parameterruimte met twee assen: waarom het grootste deel van je sweep bijna gratis zou moeten zijn

Niet alle parameters kosten evenveel om te doorzoeken. De parameters van een strategie splitsen zich in een dure as (indicatoren — herberekend over de hele reeks) en een goedkope as (beslissingsdrempels — een O(n)-pass over vooraf berekende signalen). Omdat indicatoren invariant zijn ten opzichte van drempels, bereken je ze eenmalig en sweep je duizenden drempelconfiguraties met ~5.600 cfg/s — ruwweg 1.600x goedkoper dan per configuratie herberekenen. Een herprijzing van de vloek van de dimensionaliteit.

#algotrading#backtest#parameterzoektocht
Lees artikel →
July 2, 2026
#algotrading

De framework-belasting: wanneer je backtestbibliotheek trager is dan een naïeve pandas-loop

We hebben acht backtest-engines gebenchmarkt op één identieke parameter-sweep — 150k bars, 80 HMA-cross-combinaties, trade-count-pariteit vastgezet op 2707. Twee van de populairste event-driven frameworks kwamen trager uit dan een met de hand geschreven pandas-loop, terwijl een gevectoriseerde/gecompileerde engine hetzelfde werk ~13,000× sneller draaide. Een studie van de per-bar overhead die populaire bibliotheken nooit gebouwd waren om te amortiseren.

#algotrading#backtest#prestaties
Lees artikel →
July 1, 2026
#algotrading

The Probability of Backtest Overfitting: Did Your Search Beat a Coin Flip?

The Deflated Sharpe Ratio prices the winning strategy; PBO prices the search that picked it. Combinatorially Symmetric Cross-Validation runs C(16,8) = 12,870 train/test splits over a 1000x200 performance matrix and asks: does the in-sample winner land in the bottom half out of sample? The catch almost everyone misses — PBO's null is 0.5, not 1. On 200 zero-edge strategies the best in-sample annualized Sharpe of 1.98 collapses to 0.06 out of sample and PBO = 0.476: a coin flip, fully overfit. Plant a real edge (annualized Sharpe 2.38) and PBO drops to 0.001, the in-sample 3.73 surviving to an out-of-sample 2.34. A moving-average grid on a pure random walk has no out-of-sample skill either — PBO 0.463 averaged over 60 matrices, statistically indistinguishable from the null — and on one representative matrix the mirage is vivid: a best in-sample Sharpe of 2.33 collapses to a median out-of-sample -0.22, PBO 0.573, a 63% chance of a loss.

#algotrading#backtest#overfitting
Lees artikel →
June 30, 2026
#algotrading

De IPC-belasting: zet de backtest-engine achter een socket en verlies 13% — bijna niets daarvan komt door de socket

We hebben een numba-backtestkernel regel voor regel naar Rust geport en op vier manieren over een procesgrens aangeroepen, met een equivalentiepoort die identieke PnL tot de laatste trade bevestigt. Het versturen van de volledige 1,2 MB prijsserie via een Unix-socket kost ~2 ms — ongeveer 0,1% van de taak. JSON-codering van dezelfde payload kost 1348x meer dan ruwe bytes, chatty aanroepen per combinatie versturen de data 80 keer opnieuw, en een aanroeppatroon per bar zou 2,1 s pure IPC kosten op een taak van 2,0 s. De grens is goedkoop; de belasting zit in hoe je hem oversteekt.

#algotrading#backtest#performance
Lees artikel →
June 29, 2026
#algotrading

De Deflated Sharpe Ratio: Hoeveel van je Backtest-'Winnaars' Overleven Multiple Testing?

Een parameterzoektocht is een machine voor het fabriceren van geluk. Op pure ruis — 1.000 strategieën met nul echte edge — behaalt de beste jaarlijkse Sharpe gemiddeld 1,63 en signaleert de naïeve significantietoets 100% van de tijd een ontdekking. We bouwen een gecontroleerde ground truth en laten zien dat de Deflated Sharpe Ratio, de Harvey-Liu haircut en White's Reality Check de eerlijkheid herstellen: valse ontdekkingen dalen van 1,000 naar 0,001-0,057, echte edges boven het ruisplafond blijven behouden met een power van ~1 — en één echte valkuil (gecorreleerde grids) waar de rauwe DSR overdeflateert en het oordeel over een hele band van effectieve-trials-schattingen gelezen moet worden, niet over één getal.

#algotrading#backtest#overfitting
Lees artikel →
June 28, 2026
#algotrading

Objective-Function Design: de metriek die je optimaliseert kiest stiekem je strategie

Om naar de 'beste' strategie te zoeken, moet je eerst 'beste' definiëren — en die scalair kiest in stilte de winnaar. Op synthetische data met een bekende edge (600 seeds, T=2000, 80 drempels) kroont een naïeve per-trade Sharpe een loterij: hij kiest in 56% van de seeds een winnaar met minder dan 5% exposure en degenereert in 57% — bij de meest extreme seed leveren 8 trades een in-sample Sharpe van 21.09 op die out of sample instort tot 0.13. De eerlijke reparatie is bijna saai: meten over de volledige tijdlijn, die nooit degenereert (out-of-sample 1.71). Een trade-count (conf_k) shrinkage en een exposure floor kunnen een per-trade metriek repareren, maar zelfs volledig gerepareerd evenaren ze slechts de full-timeline Sharpe (1.70 tegen 1.71) — nooit meer dan dat. De wet van Goodhart, in een backtest, met gecontroleerde grondwaarheid.

#algotrading#backtest#overfitting
Lees artikel →