Wat is 'Fundamental Data' en hoe krijg je het in je Python script?

Portret van Alex de Vries, Quantitatief Analist & Algo-Trading Expert
Alex de Vries
Quantitatief Analist & Algo-Trading Expert
Data Acquisitie & Opschonen · 2026-02-15 · 5 min leestijd

Stel je voor: je hebt een prachtige strategie bedacht voor je algoritmische trading bot. Je backtests draaien soepel, de risicomanagement-regels zijn strak.

Maar er mist iets. Je bot reageert alleen op prijsbewegingen, terwijl de echte markt wordt bewogen door winstcijfers, omzetcijfers en economische rapporten.

Dit is het domein van 'Fundamental Data'. Het is de brandstof voor de markt, en als je het slim in je Python script krijgt, geef je je bot een veel rijkere context om beslissingen op te nemen. Laten we eens kijken hoe we die data voor je kunnen laten werken.

Wat is Fundamental Data eigenlijk?

Voordat we in de code duiken, even een helder beeld. Fundamental Data is de financiële en economische informatie over een bedrijf of de markt als geheel. Denk aan kwartaalrapporten, balanscijfers, dividenduitkeringen, of een renteverhoging door de centrale bank.

Het is de 'waarde' achter de prijs. In de wereld van trading bots draait het vaak om de vraag: is deze beweging gebaseerd op echte waarde of op hysterie?

Voor je Python script draait het erom dat je deze data op een gestructureerde manier binnenhaalt. Je wilt niet handmatig websites afspeuren.

Je wilt een API die deze data netjes aanlevert, zodat je bot kan reageren op een stijgende omzet of een dalende rente. Dit maakt het verschil tussen een bot die alleen achter prijsacties aanrent en een bot die de markt echt begrijpt.

Je gereedschap klaarzetten: de basis

Voordat je een regel code schrijft, zorg je dat je omgeving stabiel is. Niets is frustrerender dan een script dat crasht omdat library-versies botsen.

De tip van de Python Academy is hier goud waard: gebruik Virtual Environments.

  1. python -m venv my_trading_env (Dit maakt de map aan)
  2. source my_trading_env/bin/activate (Op Mac/Linux) of my_trading_env\Scripts\activate (Op Windows)

Het is een soort aparte bubbel voor elk project, zodat je geen conflict krijgt tussen bijvoorbeeld een oude versie van een trading-library en een nieuwe. Een virtual environment opzetten is simpel. Open je terminal of command prompt en typ:

Zie je het groene (my_trading_env) staan? Dan zit je goed. Vanaf nu installeren alle packages in deze bubbel. Handig en overzichtelijk.

Stap 1: Kies je bron (API)

Deze stap is cruciaal. Je kunt de mooiste code schrijven, maar als je data-onderwerp onbetrouwbaar is, faalt je bot.

Voor fundamental data zijn er verschillende API's. Denk aan Alpha Vantage, Quandl (nu Nasdaq Data Link), of een broker-API die deze data ook aanbiedt, zoals Interactive Brokers of TradingView (als je hun data via een wrapper gebruikt). Wil je meer weten over het ontsluiten van deze informatie? Lees dan onze financiële data voor algoritmische trading: de complete gids. Voorbeeld: Stel je wilt fundamentele data voor aandelen zoals Apple (AAPL).

Je kiest een API die eenvoudig toegang geeft tot kwartaalrapporten. Je meldt je aan en krijgt een API-sleutel.

Dit is je pasje. Zonder deze sleutel kom je de digitale deur niet door. Bewaar deze sleutel dus veilig, nooit in je code plakken! Gebruik environment variables.

Stap 2: De verbinding leggen met Python

Nu het leuke werk. We gaan exclusieve alternative data ophalen voor je trading bot.

We gebruiken hiervoor de populaire 'requests' library. Als je die nog niet hebt: pip install requests.

import requests
import pandas as pd
import os

# Haal je API-sleutel op uit de environment (veilig!)
API_KEY = os.getenv('FUNDAMENTAL_API_KEY')

# Het endpoint (het adres) van de data
url = f'https://api.fictieve-data-provider.com/v1/overview?symbol=AAPL&apikey={API_KEY}'

try:
    response = requests.get(url)
    response.raise_for_status()  # Foutafhandeling: stopt bij een error
    data = response.json()
    
    # We kijken even naar de beschikbare data
    print("Data succesvol opgehaald!")
    print(data.keys())

except requests.exceptions.RequestException as e:
    print(f"Er ging iets mis met de verbinding: {e}")

Laten we een fictieve API-call maken om fundamentele data op te halen. Stel je API-sleutel is 'JOUW_SLEUTEL_HIER'. Dit script is je basis.

Het opent een verbinding, vraagt de data op en controleert of het gelukt is. De 'try-except' blok is je veiligheidsnet. De markt is nooit perfect, dus je code moet dat ook niet zijn.

Stap 3: Data omzetten naar bruikbare informatie

Ruw JSON is niet handig voor analyse. Je wilt een overzichtelijke tabel.

Hier komt de kracht van Pandas om de hoek kijken. Zodra je de data binnen hebt, stop je het in een DataFrame. Dit is een soort Excel-sheet in je code, maar dan veel krachtiger.


# Stel de API geeft een lijst met data, zet dit om in een DataFrame
if 'quarterlyReports' in data:
    df = pd.DataFrame(data['quarterlyReports'])
    
    # We willen alleen relevante kolommen, en misschien een andere volgorde
    kolommen = ['fiscalDateEnding', 'reportedCurrency', 'grossProfit', 'totalRevenue']
    df_clean = df[kolommen].copy()
    
    # Zorg dat getallen echt getallen zijn (soms zijn het strings)
    df_clean['grossProfit'] = pd.to_numeric(df_clean['grossProfit'])
    
    print(df_clean.head())
else:
    print("Geen kwartaalrapporten gevonden in de data.")

Met een paar regels code heb je nu een net overzicht van de financiële gezondheid.

Je kunt nu eenvoudig berekeningen doen, zoals de winstmarge per kwartaal. Dit is de gedetailleerde tick data die je uiteindelijk aan je trading bot geeft als extra parameter.

Veelgemaakte fouten (en hoe je ze voorkomt)

Er zijn een paar valkuilen waar bijna iedereen in trapt. De eerste is te technisch focussen op syntax.

Je leert een cursus van 1 dag bij Connected Data Academy (€595) of 2 dagen bij Python Academy (€1075), en je bent geneigd om alle functies te willen gebruiken. Doe dat niet. Focus op wat je nodig hebt: de data ophalen en opschonen.

De rest is afleiding. Een tweede fout is het negeren van het BTW-tarief bij het budgetteren. Een cursus van €1075 bij Python Academy is excl. 21% BTW. Dat tikt aan. Bereken altijd het totaalbedrag.

Tot slot: vergeet niet dat fundamentele data vaak vertraagd is. Een kwartaalrapport komt pas maanden na het kwartaal uit.

Gebruik dit niet voor super-korte-termijn trades. Het is context, geen seconde-tot-seconde signaal.

Checklist: Is je script klaar?

Voordat je je bot live laat draaien met deze nieuwe data, loop je even deze punten na.

  • Veiligheid: Is je API-sleutel uit het zicht (environment variable) en niet hardcoded?
  • Stabiliteit: Zit er een 'try-except' om je API-aanroep voor het geval de server down is?
  • Conversie: Zijn alle getallen in je DataFrame omgezet naar numerieke waarden (geen tekst)?
  • Reinheid: Heb je onnodige kolommen verwijderd en de data gesorteerd op datum?
  • Test: Heeft je code de test met de API-sleutel overleefd?

Dit voorkomt onaangename verrassingen. Als je hier allemaal 'ja' op kunt zeggen, heb je een solide basis. Je hebt nu de kracht om je trading bot te voeden met de echte economische realiteit. Dat is een stuk krachtiger dan alleen naar lijntjes op een scherm staren. Veel succes met je volgende trade!

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.