De impact van 'Lookback Periods' op de stabiliteit van je bot
Een lookback period is de ruggengraat van je algoritmische bot. Het is simpelweg het aantal candles of datapunten dat je bot in de gaten houdt om een beslissing te nemen.
Te kort en je bot schrikt van elke rimpel. Te lang en je bot mist de boot. Dit getal bepaalt of je bot stabiel blijft of juist emotioneel wordt.
In Python backtesting is dit vaak de eerste parameter die je aanpast, maar de impact reikt veel verder dan een mooie equity curve.
Stel je voor: je bot kijkt naar de laatste 14 candles op de 1-uur grafiek van BTC/USDT. Dat is een lookback van 14 uur. In die tijd kan de markt flink bewegen. Als je lookback te klein is, bijvoorbeeld 5 candles, reageert je bot op elke prijsactie.
Dit leidt tot een overdaad aan transacties en hogere kosten. Je broker, bijvoorbeeld Interactive Brokers of Binance, lacht zich rot.
Je betaalt telkeens de maker/taker fee. Je bot rent achter de markt aan. Dit is een klassieke valkuil voor beginners.
Wat is een lookback period precies?
De lookback period is een venster in de tijd. Je bot scant dit venster voor signalen.
Denk aan een Simple Moving Average (SMA). Een SMA-20 berekent het gemiddelde van de afgelopen 20 periods. Die 20 is je lookback.
Je bot gebruikt deze data om te bepalen of de markt bullish of bearish is.
Dit werkt voor indicatoren zoals RSI, MACD en ATR. Maar het werkt ook voor patronen, zoals een 'hoofd-schouder' of simpelweg het aantal groene candles achter elkaar. Het doel is stabiliteit.
Een bot met een goede lookback ziet het bos door de bomen. Hij neemt geen beslissingen op basis van ruis.
In Python definieer je dit vaak als een variabele, bijvoorbeeld lookback = 50.
Deze waarde voed je aan je strategie. In een backtest met historische data van je broker (zoals de 1-minuut data van Kraken) test je verschillende waarden. De resultaten vertellen je wat werkt voor dat specifieke paar en die specifieke tijdsframe.
Waarom dit getal je bot kan maken of kraken
Een verkeerde lookback is de nummer één reden voor drawdown na een backtest. Je backtest ziet er perfect uit met een lookback van 15.
Je zet de bot live. De markt verandert licht. De bot gaat nu constant long en short.
Je verliest 2% op een dag. Waarom? Omdat de lookback te strak stond afgesteld.
Je bot had last van 'overfitting'. Hij kende de historie uit zijn hoofd, maar begrijpt de toekomst niet. Stabiele bots hebben een lookback die past bij de marktvolatiliteit. In een rustige markt (lage ATR) heb je een kleinere lookback nodig voor snelle instappers.
In een choppy markt (zijwaarts) heb je een grotere lookback nodig om vals signalen te filteren. Denk aan een EMA crossover strategie op ETH/USD.
Een EMA-12 / EMA-26 crossover is snel. Een EMA-50 / EMA-200 crossover is traag. De eerste reageert op elke beweging, de tweede mist de top en bodem vaak.
De kunst is de balans te vinden. Je risicomanagement hangt er direct van af.
Een bot met een korte lookback handelt vaker. Je hebt dus meer cash nodig om de margin calls van je broker te dekken. Een bot met een lange lookback handelt minder, maar de posities zijn vaak langer open.
Je loopt meer 'gap risk'. Als de Bitcoin prijs in een weekend van €60.000 naar €55.000 zakt, is je stop-loss ver weg. Je verliest meer per trade, maar je wint minder vaak.
Hoe je de juiste waarde vindt: de kern van de werking
De basis is simpel: testen, testen, testen. Gebruik een Python bibliotheek als Backtrader, VectorBT of Zipline.
Zorg dat je data hebt van minimaal 1 jaar, bij voorkeur van een broker als Binance of Coinbase. Je script moet een parameter accepteren, bijvoorbeeld lookback_period. Je laat de bot draaien over een range, bijvoorbeeld van 10 tot 200, met stappen van 10.
Je kijkt naar meer dan alleen de totale winst. Kijk naar de 'Sharpe Ratio'.
Dit is de risicovrije rente gecorrigeerd voor de winst. Een hoge Sharpe (boven de 1.5) duidt op een stabiele bot.
Kijk naar het aantal trades. Als je met een lookback van 30 er 500 trades uit haalt, en met een lookback van 100 maar 50 trades, weet je dat je kosten enorm oplopen bij de eerste. Bereken de totale transactiekosten. Stel je betaalt 0.1% per trade.
Bij 500 trades is dat 50% van je winst weg. Een andere cruciale metric is de 'Maximum Drawdown'.
Dit is het grootste verlies vanaf een piek tot een dal. Als je backtest een drawdown van 40% laat zien met een lookback van 20, maar 15% met een lookback van 60, dan kies je voor de stabiliteit van de 60. Zelfs als de totale winst iets lager is. Waarom?
Omdat een drawdown van 40% psychologisch onhoudbaar is. Je stopt ermee op het dieptepunt.
Gebruik 'Out-of-Sample' data. Dit is essentieel. Deel je data op. Gebruik 70% voor het vinden van de beste lookback (In-Sample).
Gebruik de overige 30% om te testen of die lookback nog steeds werkt (Out-of-Sample).
Werkt het niet meer? Dan was je 'optimale' waarde toeval. Je bot is niet stabiel. Je bent te ver doorgeslagen in het plotten van de lijnen op historische data.
Verschillende modellen en prijsindicaties
Er bestaat geen magische lookback voor alle markten. De ideale waarde hangt af van je strategie.
Laten we drie populaire modellen bekijken met concrete voorbeelden. 1. De Trendvolger (SMA/EMA Crossover):
Dit model wil de grote beweging meepakken.
Denk aan de 'Golden Cross' op de daggrafiek. De standaard is SMA-50 kruist SMA-200.
De lookback is hier 200 candles. Dit is een lang venster.
Je bot handelt misschien 2 of 3 keer per jaar. De winst per trade is hoog (denk aan duizenden euros bij BTC), maar je mist de bodem en top. Als je dit instelt op een 5-minuten grafiek, werkt het niet. De 'noise' is te groot.
De prijs van zo'n signaal is tijd. Je staat lang 'uit de markt'.
2. De Mean Reversion (RSI of Bollinger Bands):
Dit model zoekt afwijkingen en gokt op terugkeer naar het gemiddelde. Klassiek is RSI onder 30 (verkocht) kopen, en boven 70 (overbought) verkopen.
De lookback voor RSI is vaak 14. Dit is kort en gevoelig.
Op een 1-uur grafiek van ETH reageer je binnen een dag. De winst per trade is vaak klein, €50 tot €150, maar het aantal trades is hoog. Je bot draait constant.
Dit vereist een strakke risicomanagement, want in een sterke trend (FOMO) word je constant 'afgestopt'.
3. De Breakout Strategie (ATR Trailing Stop):
Dit model speelt in op volatiliteit. De Average True Range (ATR) meet de beweging van de afgelopen periode (vaak 14 of 20).
De bot zet een stop-loss op een veelvoud van de ATR. Een lookback van 14 op de 4-uur grafiek zorgt voor een stop-loss die meebeweegt.
Is de ATR hoog (€1000 bij BTC)? Dan staat je verder weg.
Is de ATR laag (€200)? Dan zit je strakker. De lookback bepaalt dus direct je defensieve linie. Een te lage lookback (bijv.
5) op een hoge ATR betekent dat je er bij elke normale beweging uitgegooid wordt. Prijsindicatie voor data en tools:
Voor een stabiele bot wil je goede data.
Een API key van Binance Pro kost ongeveer €0 per maand, maar je betaalt transactiekosten. Een abonnement op een data provider voor schone historische data (zoals voor VectorBT) kan €20 tot €50 per maand kosten. De Python libraries zijn gratis, maar je tijd is geld. Reken op 10 tot 20 uur coderen en testen om een solide lookback te vinden voor een enkele strategie.
Praktische tips voor een ijzersterke bot
Stap nooit in met een lookback die je niet begrijpt. Als je niet weet waarom je RSI op 14 staat, verander hem dan niet zomaar naar 21.
Pas hem aan op basis van data, niet op je onderbuik. Gebruik een 'Walk-Forward Optimization'. Dit is een stap verder dan backtesting.
Je optimaliseert op maand 1, test op maand 2. Optimaliseer op maand 2, test op maand 3, waarbij minder parameters de kracht zijn.
Zo simuleer je het echte leven. Combineer meerdere timeframes.
Dit is een gouden tip. Laat je bot op de 4-uur grafiek kijken met een lange lookback (bijv. EMA-50) voor de hoofdrichting. Alleen als die bullish is, mag de bot trades zoeken op de 5-minuten grafiek met een kortere lookback (bijv. RSI-14). Volg deze gids voor een robuuste trading bot om je strategie verder te verfijnen.
Dit heet 'top-down analysis'. Je bot filtert ruis op hogere niveaus voordat hij toeslaat op lagere niveaus.
Monitor de live performance. Een backtest is een simulatie. De live markt is harder.
Zie je dat je bot te vaak instapt en direct weer uitstapt?
Dan is je lookback op die tijdframe te laag. Zie je dat trades te lang open blijven staan en winst verliezen? Dan is je lookback voor je exit-strategie te hoog.
Pas live aan met kleine stapjes. Verander een lookback van 50 nooit direct naar 100.
Ga naar 55, 60, 65. Kijk hoe de transactiefrequentie daalt. Denk aan de kosten.
Een bot die 100 trades per dag doet op een account van €10.000 kost je bakken met geld. Bij 0.1% fee per trade (heen en weer) ben je €20 per dag kwijt.
Dat is €600 per maand. Je bot moet €600 winst maken om break-even te draaien.
Een bot met een langere lookback doet misschien 10 trades per week. Dan ben je €20 per week kwijt. De keuze voor de juiste lookback is dus direct een keuze voor je portemonnee, zeker als je een portfolio van meerdere bots tegelijk optimaliseert.
