Wat is 'Backtest.py' en hoe verhoudt het zich tot Backtrader?

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Software & Platform Reviews (Jim's Pivot) · 2026-02-15 · 7 min leestijd

Stel je voor: je hebt een briljant idee voor een trading bot, gebaseerd op een pivot-strategie.

Je wilt niet meteen met echt geld aan de slag, dus je besluit te backtesten. Maar welke tool kies je? In de Python-wereld draait alles om Backtrader.

Maar wat is die mysterieuze 'Backtest.py' eigenlijk? Is het een concurrent, een vervanger of gewoon een andere naam? Laten we dit samen uitzoeken, alsof we aan de keukentafel zitten met een bak koffie en een scherm vol code.

Wat is Backtest.py precies?

Als je zoekt naar 'Backtest.py' kom je vaak een library tegen die simpelweg 'backtest' heet, meestal geïnstalleerd via pip install backtest.

Dit is niet één specifiek, officieel package, maar eerder een verzamelnaam voor lichte backtesting-scripts die vaak door developers zelf worden gebouwd. In de kern is het een eenvoudig Python-script dat historische data (zoals CSV-bestanden van brokers zoals Interactive Brokers of Binance) laadt, handelslogica toepast en resultaten berekent zonder de uitgebreide structuur van Backtrader. Veel algoritmische traders gebruiken een eigen 'backtest.py' om snel ideeën te testen zonder overhead.

Stel je voor: je hebt een pivot-punt strategie op de S&P 500. Je schrijft 50 regels code die koersen inladen, signalen genereren en winst berekenen.

Dat is je 'Backtest.py'. Het is flexibel, maar je moet alles zelf bouwen: risicomanagement, orderuitvoering en rapportage.

Geen fancy dashboards, gewoon rauwe data. Een veelgemaakte fout is denken dat 'Backtest.py' een standaard library is zoals NumPy. Nee, het is vaak maatwerk. Voor prijzen: gratis natuurlijk, maar je betaalt met tijd – uren tot dagen om bugs te fixen. Tijdsindicatie: een simpele versie bouwen duurt 2-4 uur als je Python kent.

Backtrader: de krachtpatser

Backtrader is een open-source Python-framework specifiek voor backtesting van trading strategies. Het bestaat al sinds 2015 en wordt breed gebruikt door quants en retail traders.

Je installeert het met pip install backtrader en het biedt een gestructureerde manier om je strategie te definiëren, data te laden van brokers zoals Alpaca of OANDA, en resultaten te visualiseren.

Denk aan candlestick-charts, drawdown-analyses en risicometrieken zoals Sharpe-ratio. Backtrader voelt als een complete toolkit. Je maakt een 'Strategy'-klasse, definieert parameters (bijvoorbeeld een 20-dagen moving average crossover), en Backtrader regelt de rest: orderbeheer, portefeuillesimulatie en rapportage.

Het ondersteunt meerdere timeframes (van seconden tot dagen) en is compatibel met datafeeds vanuit brokers via API's. Kosten? Nul, maar je betaalt met een leercurve – verwacht 1-2 dagen om vertrouwd te raken. Een common mistake: beginners proberen complexe optie-strategieën direct te backtesten zonder de documentatie te lezen, wat leidt tot errors in de orderlogica. Backtrader is robuust maar vereist discipline. Het is ideaal voor risicomanagement, met ingebouwde functies voor stop-loss en position sizing.

Verschillen en overeenkomsten

Laten we de twee naast elkaar leggen, zonder technisch geneuzel. Backtest.py (het simpele script) is als een fiets: licht, snel voor korte ritten, maar je moet zelf trappen.

Backtrader is een motor: krachtig, met navigatie en brandstofmeting, maar je leert eerst schakelen. Beide gebruiken Python en pandas voor data-verwerking, maar Backtrader voegt een event-driven engine toe, wat betekent dat het marktgebeurtenissen simuleert in chronologische volgorde – essentieel voor realistische backtests. Overeenkomsten? Beide laten je historische data testen (bijv.

EUR/USD van 2020-2024 via Yahoo Finance of een broker-API). Beide berekenen metrics zoals winstpercentage en max drawdown.

Maar Backtest.py is vaak statisch: je voert een batch data in en krijgt een eindresultaat.

Backtrader is dynamisch: het simuleert elke tick, wat nauwkeuriger is voor hoge-frequentie trading bots. Qua tijd: een Backtest.py-script voor een eenvoudige pivot-strategie bouw je in 1 uur, maar uitbreiden naar meerdere assets kost 4+ uur. Backtrader: basisstrategie in 2 uur, geavanceerd in een dag. Prijzen?

Beide gratis, maar Backtrader heeft community-support via forums – een plus voor beginners. Veelgemaakte fout: Backtest.py overschatten als 'genoeg' voor live trading; vergeet niet dat live markten chaos zijn, dus gebruik de juiste backtesting tools voor risicomanagement cruciaal is.

Backtest.py is je snelle notitieblok; Backtrader is je professionele dagboek.

Stap-voor-stap: bouw een eenvoudige Backtest.py voor een pivot-strategie

Oké, genoeg uitleg. Laten we praktisch aan de slag. Wat heb je nodig?

Python 3.8+ geïnstalleerd, kies de juiste Python IDE voor traders, en historische data – download een CSV van de S&P 500 (gratis via Yahoo Finance of een broker-API zoals Interactive Brokers).

  1. Installeer benodigdheden (5 minuten): Open je terminal en typ pip install pandas numpy matplotlib. Deze libraries laden data, rekenen wiskunde en plotten grafieken. Geen extra's nodig voor Backtest.py – houd het licht. Veelgemaakte fout: vergeten matplotlib te installeren, waardoor je geen grafieken ziet. Test met python -c "import pandas" of het werkt.
  2. Laad de data (10 minuten): Maak een bestand backtest.py. Schrijf: importeer pandas, laad je CSV (bijv. 'AAPL.csv' met kolommen Date, Open, High, Low, Close, Volume). Codevoorbeeld: df = pd.read_csv('AAPL.csv', parse_dates=['Date'], index_col='Date'). Gebruik 1 jaar data (2023) voor snelheid – ongeveer 250 handelsdagen. Fout: data niet sorteren op datum, wat chaos geeft in je backtest.
  3. Definieer de pivot-strategie (20 minuten): Bereken pivot-punten: pivot = (High + Low + Close)/3. Voeg logica toe: koop als price onder pivot is en stijgt boven R1 (eerste weerstand); verkoop bij omgekeerd. Schrijf een simpele loop door de data. Tijdsindicatie: 15 minuten voor de formules, 5 minuten testen. Gebruik numpy voor snelle berekeningen. Fout: vergeten rekening te houden met transactiekosten (bijv. €0.01 per aandeel), wat je resultaten vertekent.
  4. Simuleer trades en bereken metrics (15 minuten): Loop door de data, houd een virtuele portefeuille bij (start met €10.000). Tel winst/verlies per trade. Bereken totaalrendement, max drawdown en winstpercentage. Plot een equity curve met matplotlib. Specifieke maat: riskeer max 1% per trade (bijv. €100 op €10.000). Fout: negeren van slippage (verschil tussen verwachte en werkelijke prijs), wat live resultaten slechter maakt.
  5. Voeg risicomanagement toe (10 minuten): Implementeer stop-loss (bijv. 2% onder instapprijs) en position sizing (gebaseerd op ATR – Average True Range, bereken met numpy). Test met verschillende parameters. Tijdsindicatie: 5 minuten coderen, 5 minuten testen. Veelgemaakte fout: te grote posities nemen zonder risicobeperking, wat tot grote verliezen leidt bij een foutieve pivot.
  6. Run en evalueer (10 minuten): Voer python backtest.py uit. Bekijk de output: winst/verlies, aantal trades, Sharpe-ratio (als je die berekent). Als het niet klopt, debug je data of logica. Fout: alleen kijken naar totaalwinst, niet naar drawdown – een strategie kan 50% winnen maar 30% drawdown hebben, wat riskant is.

Reken op 1-2 uur voor deze handleiding. We bouwen een simpele pivot-punt bot voor daghandel op aandelen (bijv. Apple, AAPL).

Deze Backtest.py is minimalistisch maar effectief. Voor complexere strategieën kun je onze favoriete backtesting software verkennen of upgraden naar Backtrader.

Stap-voor-stap: integreer met Backtrader voor vergelijking

Nu vergelijken we met Backtrader. Installeer eerst pip install backtrader (5 minuten). Gebruik dezelfde AAPL-data.

  1. Zet een Backtrader-script op (10 minuten): Maak backtrader_test.py. Importeer backtrader en creëer een cerebro-engine (het hart van Backtrader). Laad data met bt.feeds.YahooFinanceData(dataname='AAPL', fromdate=2023-01-01, todate=2023-12-31). Fout: verkeerde datumaanduiding, waardoor lege data ontstaat – altijd checken met print(df.head()).
  2. Definieer de strategie-klasse (20 minuten): Maak een classe die van bt.Strategy erft. In next()-methode: bereken pivot en voer trades uit met self.buy() of self.sell(). Kopieer de pivot-logica uit je Backtest.py. Tijdsindicatie: 15 minuten voor de klasse, 5 minuten voor parameters zoals stop-loss op 2%. Gebruik ingebouwde risicofuncties voor position sizing. Fout: vergeten de strategy toe te voegen aan cerebro met cerebro.addstrategy(JouwStrategie).
  3. Voeg data en brokersimulatie toe (10 minuten): Voeg de datafeed toe aan cerebro. Simuleer een broker met cerebro.broker.setcash(10000) en commissies (bijv. 0.1% per trade, €0.01 minimum). Run met cerebro.run(). Specifieke maat: startcapital €10.000, net als Backtest.py. Fout: geen commissies instellen, wat te rooskleurige resultaten geeft.
  4. Visualiseer en analyseer (15 minuten): Plot met cerebro.plot() – krijg interactieve charts. Bereken metrics via backtrader's analyzers (bijv. SharpeRatio). Vergelijk met Backtest.py: zie je hetzelfde rendement? Tijdsindicatie: 10 minuten plotten, 5 minuten vergelijken. Veelgemaakte fout: niet opslaan van de plot, waardoor je resultaten kwijt raakt.
  5. Optimaliseer en test (10 minuten): Gebruik cerebro's optie voor parameter-sweep (bijv. test pivot op 5, 10, 20 dagen). Meet tijd: Backtrader is trager voor grote datasets (bijv. 5 jaar data), maar nauwkeuriger. Fout: over-optimizen (curve-fitting), wat leidt tot slechte live prestaties.
  6. Vergelijk resultaten (5 minuten): Draai beide scripts op dezelfde data. Backtest.py geeft snelle cijfers; Backtrader voegt diepte toe zoals trade-log en risico-analyse. Als resultaten matchen, weet je dat je Backtest.py betrouwbaar is.

Dit toont hoe Backtrader gestructureerder is. Met Backtrader voelt je bot professioneler, vooral voor live integratie met broker-API's.

Verificatie-checklist

Check of je setup werkt: Als dit klopt, ben je ready voor echte trading bots.

  • Python draait zonder errors? Test met python --version.
  • Data geladen? Print eerste 5 rijen – kloppen datum en kolommen?
  • Strategie trades uit? Tel aantal trades (>0 voor een werkende pivot).
  • Rendement positief? Voor AAPL 2023: verwacht 20-30% (afhankelijk van pivot).
  • Drawdown <10%? Zo niet, voeg risicomanagement toe.
  • Beide scripts geven vergelijkbare resultaten? Max 5% verschil.
  • Geen crashes? Check geheugen gebruik voor grote datasets.
  • Grafieken zichtbaar? Als niet, herinstalleer matplotlib.

Backtest.py is je startpunt; Backtrader tilt het naar het volgende niveau. Probeer het uit en deel je resultaten – wat vond je van de pivot-strategie?

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Over Alex de Vries

Alex is een ervaren quantitatief analist en Python-ontwikkelaar die complexe trading concepten vertaalt naar begrijpelijke, praktische handleidingen voor zowel beginners als gevorderden.

Volgende stap
Bekijk alle artikelen over Software & Platform Reviews (Jim's Pivot)
Ga naar overzicht →