Data van de Fred (Federal Reserve) inladen voor macro-analyse
Stel je voor: je bouwt een algoritmische trading bot in Python, je backtest op data van de afgelopen 5 jaar en je broker-API knalt erdoor. Maar wat als de markt ineens een andere kant opgaat omdat de Federal Reserve de rente verhoogt?
Dan wil je weten wat er macro-economisch speelt. Data van de FRED (Federal Reserve Economic Data) geeft je die context. Je laadt ze in, koppelt ze aan je price data en je bot kan slimmere beslissingen nemen.
In deze gids leg ik je precies uit hoe je dat doet, zonder ingewikkelde woorden.
Je krijgt concrete code, prijzen voor API-toegang en praktische tips voor risicomanagement. Laten we beginnen.
Wat is FRED-data en waarom gebruik je het voor macro-analyse?
FRED is een enorme database met economische cijfers, rechtstreeks van de Federal Reserve Bank of St. Louis. Je vindt er rentetarieven, werkloosheid, inflatie, bbp, consumentenbestedingen en nog veel meer. Voor algoritmische trading bots is dit goud.
Je ziet niet alleen wat de markt doet, maar ook wat de macro-omstandigheden zijn die de markt bewegen.
Waarom is dat belangrijk? Omdat prijzen niet in een vacuum bewegen.
Als de Fed de rente verhoogt, beïnvloedt dat aandelen, obligaties en valuta’s. Als je bot alleen naar candlesticks kijkt, mist hij die context. Met FRED-data kun je patronen herkennen, zoals: “als de werkloosheid stijgt, dalen tech-aandelen vaak de volgende week.” Dat maakt je strategie robuuster.
Een concreet voorbeeld: je bouwt een Python-bot die handelt op de S&P 500.
Je laadt de FRED-data voor de rente (FEDFUNDS) en de werkloosheid (UNRATE). Je koppelt die aan je price data van je broker (bijvoorbeeld Interactive Brokers of Alpaca). Je backtest met die macro-features en ziet direct of je bot beter presteert. Het kost je een paar uur om op te zetten, maar het levert je een schat aan inzicht op.
De FRED-API is gratis voor basisgebruik. Je krijgt tot 125.000 oproepen per jaar.
Voor de meeste traders is dat ruim voldoende. Wil je meer, dan betaal je ongeveer €20-€50 per maand voor premium toegang.
Dat is een kleine investering voor een schat aan data.
Hoe laad je FRED-data in Python?
Om FRED-data in te laden, gebruik je de officiële Python-bibliotheek van FRED.
Eerst maak je een account aan op fred.stlouisfed.org en vraag je een API-sleutel aan. Die sleutel is gratis. Vervolgens installeer je de library met pip: pip install fredapi.
from fredapi import Fred
import pandas as pd
fred = Fred(api_key='jouw_api_sleutel')
rentes = fred.get_series('FEDFUNDS')
werkloosheid = fred.get_series('UNRATE')
df = pd.DataFrame({'rente': rentes, 'werkloosheid': werkloosheid})
df = df.resample('D').ffill() # dagelijks maken voor matching met price data
Nu ben je klaar om data op te halen. Stel, je wilt de rente (FEDFUNDS) en de werkloosheid (UNRATE) ophalen.
Dat doe je zo: Deze code haalt de data op en zet het in een DataFrame.
Je kunt het resamplen naar dagelijks, wekelijks of maandelijks, afhankelijk van je trading frequentie. Voor high-frequency trading wil je misschien hourly data, maar de meeste macro-data is dagelijks of maandelijks. Je kunt de data ook exporteren naar CSV voor backtesting met libraries als Backtrader of Zipline. Een handige tip: FRED-data bevat soms ontbrekende waarden.
Gebruik ffill() of bfill() om die op te vullen. Voor macro-analyse is dat prima, want economische cijfers veranderen niet elke seconde. Je bot krijgt zo een stabiele dataset om mee te werken.
Koppelen aan prijsdata en backtesting
Nu je FRED-data hebt, wil je die koppelen aan je price data.
Gebruik een broker-API zoals Interactive Brokers, Alpaca of CCXT voor crypto. Voorbeeld: je haalt de S&P 500-koersen via Alpaca’s Python SDK. Die SDK is gratis voor basisgebruik en je krijgt toegang tot real-time data.
- Haal price data op van je broker-API.
- Resample de FRED-data naar dezelfde frequentie.
- Merge beide datasets op datum.
- Maak features: bijvoorbeeld de renteverandering (diff) of de werkloosheidsgraad.
- Backtest met Python-libraries zoals Backtrader of VectorBT.
Je betaalt ongeveer €0,01 per aandeel voor transacties, maar data is inbegrepen. Stappenplan:
Concreet voorbeeld: je bot koopt aandelen als de rente daalt en de werkloosheid stijgt.
df['rente_diff'] = df['rente'].diff()
df['werkloosheid_maand'] = df['werkloosheid'].resample('M').last()
# Simpele strategie
df['signal'] = 0
df.loc[(df['rente_diff'] < 0) & (df['werkloosheid_maand'] > 5), 'signal'] = 1 # koop
df.loc[(df['rente_diff'] > 0) & (df['werkloosheid_maand'] < 5), 'signal'] = -1 # verkoop
In Python ziet dat er zo uit: Deze signalen kun je testen met Backtrader. Backtrader is een open-source library voor backtesting. Je betaalt niets, maar je moet wel je eigen data inladen.
Als je liever een professioneel platform gebruikt, kijk dan naar QuantConnect. Die kosten ongeveer €20-€50 per maand voor toegang tot meer data en een cloud-omgeving.
Risicomanagement: voeg stop-loss en position sizing toe. Bijvoorbeeld: riskeer maximaal 1% van je kapitaal per trade. Gebruik de FRED-data om je stop-loss aan te passen.
Als de rente stijgt, verlaag je je positie. Zo beperk je verlies tijdens macro-schokken.
Varianten en modellen met prijsindicaties
Er zijn verschillende manieren om FRED-data te gebruiken in je trading model.
Je kunt kiezen voor eenvoudige correlaties of complexe machine learning-modellen. Hieronder bespreek ik drie varianten, met concrete prijsindicaties voor tools en data.
1. Eenvoudige correlatie: Je berekent de correlatie tussen FRED-data en je price data. Bijvoorbeeld: financiële ratio's zoals P/E en EBITDA ophalen via Python’s pandas corr() functie. Kosten: gratis.
Je broker-API (Alpaca) is gratis voor data, transacties kosten €0,01 per aandeel.
Dit model is makkelijk te bouwen en geeft snel inzicht. Ideaal voor beginners. 2. Time-series forecasting: Je gebruikt FRED-data om toekomstige prijzen te voorspellen.
Bijvoorbeeld met ARIMA of Prophet (van Facebook). Je traint het model op historische FRED-data en price data.
Kosten: Prophet is gratis, maar je hebt een computer nodig met minimaal 8GB RAM.
Als je in de cloud wilt trainen, kijk naar AWS EC2 (vanaf €0,01 per uur) of Google Colab (gratis). Voor professionele tools zoals QuantConnect betaal je €20-€50 per maand. 3.
Machine learning: Gebruik FRED-data als features in een ML-model. Bijvoorbeeld: een gradient boosting model (XGBoost) dat voorspelt of de markt stijgt of daalt.
Je kunt libraries zoals Scikit-learn of TensorFlow gebruiken. Kosten: gratis, maar je hebt een krachtige computer nodig.
Als je liever een managed service gebruikt, kijk naar Numerai (gratis om mee te doen, je krijgt betaald als je model goed presteert) of QuantConnect (€20-€50 per maand). Een concreet voorbeeld van een model: je bouwt een bot die handelt op basis van de rente en de werkloosheid.
Je backtest met 5 jaar data en ziet een gemiddelde winst van 8% per jaar. Je risicomanagement omvat een stop-loss van 2% en position sizing van 1% per trade. De totale kosten: €0 voor data, €50 voor een broker-account, en €20 voor een cloud-omgeving. Een realistische investering voor een serieuze trader.
Praktische tips voor macro-analyse met FRED
Begin klein. Haal eerst twee of drie FRED-series op, zoals rente, werkloosheid en inflatie.
Bouw een simpele bot en backtest die. Gebruik Python en een gratis library zoals Backtrader.
Zo leer je de kneepjes zonder meteen veel geld uit te geven. Combineer FRED-data met andere bronnen. Gebruik naast FRED ook data van je broker, zoals volume en volatiliteit. Of ontdek hoe je fundamental data automatiseert door crypto-data toe te voegen via CCXT.
Zo krijg je een vollediger beeld. Let op: te veel data kan je model overfitting geven.
Test altijd op out-of-sample data. Focus op risicomanagement. Gebruik FRED-data om je stops en posities aan te passen.
Bijvoorbeeld: verlaag je positie als de rente stijgt, of verhoog je stop-loss als de werkloosheid daalt. Gebruik een risicomanagement-tool zoals RiskParity (vanaf €10 per maand) of bouw je eigen script in Python.
Blijf leren. Volg FRED-nieuws via hun blog of Twitter.
Experimenteer met nieuwe data-series, zoals de consumentenprijsindex (CPI) of de handelsbalans. Raadpleeg de ultieme gids voor financiële data en deel je resultaten met andere traders op forums zoals Reddit’s r/algotrading. Zo blijf je scherp en bouw je een betere bot.
