Een 'VWAP' (Volume Weighted Average Price) strategie implementeren
Stel je voor: je zit achter je scherm, de markt beweegt en jij wilt niet elke seconde handmatig kijken. Een VWAP-strategie geeft je een rustig kompas in de chaos, gebaseerd op volume en prijs.
Je kunt hem bouwen in Python, testen via backtesting en aansluiten op een broker API. Handig voor daytrading op aandelen of crypto, met een duidelijk risicomanagement plan. In dit stuk leg ik je uit hoe je dat praktisch aanpakt, zonder poespas.
Wat is VWAP en waarom gebruiken traders het?
VWAP staat voor Volume Weighted Average Price. Het is een gemiddelde prijs waarbij het volume meetelt: handel met veel volume telt zwaarder.
Je krijgt dus een eerlijker beeld dan een simpel prijsgemiddelde. Voor daghandelaren is VWAP een soort benchmark: ligt de koers eronder, dan is de markt mogelijk zwak; erboven, dan is er kracht. Veel institutionele partijen gebruiken VWAP om orders te verspreiden.
Zij willen niet meteen de koers omgooien, dus kopen of verkopen ze rondom dit gemiddelde. Als particulier kun je diezelfde logica volgen: handel in de richting van het VWAP, of gebruik afwijkingen als triggers.
In Python bouw je dit snel met pandas en numpy, en je backtest het met packages als backtesting.py of vectorbt.
Je sluit het aan via een broker API zoals die van Interactive Brokers, Alpaca, of een crypto-exchange als Binance.
Hoe VWAP werkt: de kern uitgelegd
De formule is eenvoudig: VWAP = cumulatieve som(prijs × volume) / cumulatieve som(volume). Over een dag bereken je het vanaf de openingsbel.
In code bouw je een rolling window of een loop die per candle de cumulatieve som bijhoudt. Je kunt ook een intraday reset gebruiken: elke dag start je opnieuw, typisch om 9:30 uur voor Amerikaanse aandelen of om 00:00 UTC voor crypto. In de praktijk wil je een vloeiende lijn, niet een haperende curve.
Daarom pas je soms een smoothing toe, of je berekent VWAP per candle en plakt die aan elkaar.
VWAP is geen magische waarzegger. Het is een statistisch gemiddelde dat reageert op volume. Gebruik het als context, niet als heilige graal.
Je kunt een extra band toevoegen: standaardafwijking rondom VWAP, bijvoorbeeld 1% voor rustige markten of 2-3% voor volatiele crypto. Die banden geven je levels voor entries en exits. Backtesting is essentieel. Test op minuut- of vijfminuutdata, en kijk naar kosten en slippage.
Als je bijvoorbeeld een spread van €0,01 per aandeel en €2 transactiekosten per trade meeneemt, zie je snel of een strategie nog winstgevend is. Bij crypto tel je maker/taker fees mee, vaak 0,1% tot 0,2% per trade.
Stappenplan: bouw, backtest en sluit aan
Stap 1: data. Haal intraday data via je broker API of een dienst als Polygon, Alpaca of Binance.
Voor Europese aandelen kun je kijken naar LSEG of een broker met een API voor €X-Y per maand. Kies een resolutie die bij je past: 1 minuut voor snelle actie, 5 minuten voor meer rust.
Stap 2: codeer de indicator. In Python met pandas: pseudo-code
df['typical'] = (df['high'] + df['low'] + df['close']) / 3
df['vwap'] = (df['typical'] * df['volume']).cumsum() / df['volume'].cumsum() Voor intraday reset de cumsum per dag.
Je kunt ook een rolling venster gebruiken als je een kortere focus wilt, bijvoorbeeld de laatste 20 candles.
Sla de VWAP-waarde per candle op en teken die in je chart. Voeg eventueel bands toe met standaardafwijking. Stap 3: definieer entry en exit.
Voorbeeld: koop als de prijs boven VWAP komt en de candle sluit boven de bovenste band, met volume dat boven het gemiddelde ligt. Verkoop als de prijs onder VWAP zakt en de candle sluit onder de onderste band.
Stop-loss bijvoorbeeld op 1,5% onder je entry, take-profit op 2% boven. Pas percentages aan op basis van backtests voor je instrument.
Stap 4: backtest met kosten. Gebruik backtesting.py of vectorbt. Neem transactiekosten en slippage mee.
Bij een aandeel van €50 en een spread van €0,02 is je totale kosten per trade ongeveer €0,04 plus eventuele broker fee. Bij crypto tel je 0,1% taker fee en een minimale slippage mee, bijvoorbeeld 0,05%.
Stap 5: aansluiten op een broker. Kies een broker met stabiele API, zoals Interactive Brokers of Alpaca voor aandelen, of Binance/Bybit voor crypto.
Zorg voor API-sleutels met minimale rechten. Test eerst met een kleine positie, bijvoorbeeld 10 aandelen of €100 aan crypto. Gebruik order types slim: limit orders rond VWAP, market orders alleen als het echt moet.
Varianten en prijsindicaties: maak het je eigen
Je kunt VWAP combineren met andere signalen voor meer robuustheid, maar pas op voor de valkuil van te veel indicatoren toevoegen aan je model. Voeg een short-term moving average toe, bijvoorbeeld een 9-period EMA.
Koop alleen als de EMA ook boven VWAP ligt. Of gebruik RSI: koop als RSI onder 30 kruipt en de prijs boven VWAP sluit.
Deze combinaties helpen om valse doorbraken te filteren. Een andere variant: volume-spike VWAP. Kijk naar een volume-uitbarsting: als het volume in een candle meer dan 1,5x het gemiddelde van de laatste 20 candles is, en de prijs breekt boven VWAP, dan is dat een sterker signaal.
Je kunt dit automatiseren door een threshold in te stellen op basis van je backtestresultaten. Wil je een dynamische band?
Gebruik de standaardafwijking over een venster van 20-50 candles. Een smalle band op rustige dagen, een wijde band op drukke dagen. Voor aandelen kun je een band van 0,5% tot 1% proberen, voor crypto 1% tot 3%. Pas het aan per instrument en tijdframe.
Prijsindicaties: als de markt consistent boven VWAP handelt met stabiel volume, zie je vaak een stijgende trend.
Onder VWAP met piekvolume kan een snelle daling volgen. Gebruik een dashboard om per instrument de VWAP afwijking te monitoren, bijvoorbeeld 0,2%, 0,5% en 1%. Je kunt alerts instellen via je broker API of een tool als TradingView, zodat je niet elke seconde hoeft te kijken.
Voor risicomanagement: beperk je positiegrootte. Een vuistregel: riskeer maximaal 1% van je account per trade.
Als je account €10.000 is, is je maximaal verlies per trade €100. Bij een stop-loss van 1,5% betekent dat een positie van ongeveer €6.667. Pas dat aan op basis van je volatiliteit en comfort.
Praktische tips voor dagelijks gebruik
Test op meerdere markten en tijdstippen. Een VWAP-strategie werkt vaak beter tijdens de openingsuren, wanneer volume hoog is.
In de middag kan de markt rustiger zijn, dus pas je parameters aan of schakel over op een groter timeframe.
Monitor je kosten. Als je broker €2 per transactie rekent en je handelt 10 keer per dag, zijn dat €20 aan vaste kosten. Tel daar spreads en slippage bij op.
Je backtest moet deze kosten meenemen, anders is je resultaat te rooskleurig. Houd een logboek bij. Noteer per trade: entry, exit, reden, VWAP-positie, volume, kosten en emotie. Zo leer je snel bij.
Gebruik een simpel Excel- of Google Sheets-overzicht, of bouw een dashboard in Python met streamlit.
Automatiseer veilig. Begin met een paper trading account.
Zodra je strategie stabiel loopt, schakel over naar een kleine livepositie. Zorg voor een kill-switch: een script dat alle open posities sluit bij verlies van bijvoorbeeld 3% per dag. Je broker API moet deze functie ondersteunen.
Ken je instrument. Een VWAP op een aandeel van €10 met lage volume verschilt sterk van een crypto zoals BTC/USD op €50.000 met hoge volume.
Pas je bands, stop-loss en take-profit aan op basis van de historische volatiliteit en liquiditeit. Gebruik een backtest om de optimale waarden te vinden, en herzie deze maandelijks. Met deze aanpak bouw je een van de meest succesvolle algoritmische trading strategieën die werkt in de echte wereld.
Je codeert hem in Python, test hem via backtesting, koppelt hem aan een broker API en beheert je risico’s strak. Zo blijft handelen een stuk rustiger, ook als de markt onstuimig is.
