Polygon.io koppelen aan Python voor ultra-snelle aandelen data
Stel je voor: je bouwt een Python trading bot die razendsnel moet reageren op aandelenbewegingen. Je hebt een backtest nodig met data van hoge kwaliteit en een broker API die geen vertraging tolereert.
Polygon.io is dan je beste vriend. Het geeft je toegang tot real-time aandelen data, historische prijzen en optie data via een API die perfect samenwerkt met Python.
In deze gids leg ik je uit hoe je die koppeling maakt, zonder gedoe en met direct resultaat.
polygon : A Complete Polygon.io API Wrapper
De Python wrapper van Polygon.io is een krachtige bibliotheek die je helpt om de API moeiteloos aan te spreken. Het ondersteunt Python 3.6 en hoger, dus je hoeft je geen zorgen te maken over oude versies.
De wrapper is open-source en valt onder de MIT License, wat betekent dat je hem vrij mag gebruiken en aanpassen voor je eigen algoritmische trading bots. Een van de grootste voordelen is de async-ondersteuning. De REST endpoints en de websocket streaming werken beide met callbacks en async functionaliteit.
Dit is cruciaal voor snelle datastromen, want je bot kan blijven draaien terwijl data binnenstroomt.
Quick Setup Guide With Examples
De async streamer heeft ook een built-in reconnect functie, zodat je verbinding automatisch herstelt bij onderbrekingen. Dat is essentieel voor risicomanagement, want je wilt geen trades missen door een kortstondige disconnect. De wrapper ondersteunt zes verschillende option symbol formats, wat handig is als je met complexe optie strategieën werkt.
Je API key haal je op via het Polygon.io dashboard. Zonder die key kom je niet verder, dus zorg dat je die direct regelt.
Om te beginnen, maak je een virtual environment aan. Dit houdt je project schoon en voorkomt dat packages conflicteren.
Gebruik de terminal en draai python -m venv venv. Activeer de environment met source venv/bin/activate op Mac/Linux of venv\Scripts\activate op Windows. Installeer de polygon wrapper met pip install polygon. Dat is alles. Nu kun je de library importeren in je Python script.
from polygon import RESTClient
client = RESTClient("JOUW_API_KEY")
aggs = client.get_aggs("AAPL", 1, "minute", "2023-01-01", "2023-01-02")
for agg in aggs:
print(agg.timestamp, agg.close)
Hieronder zie je een simpel voorbeeld van hoe je een REST client aanmaakt en data ophaalt: Dit haalt de minuutdata op voor Apple op 1 januari 2023.
Je ziet direct de timestamp en de slotkoers. Dit is de basis voor je backtesting en je trading bot.
Wat je nodig hebt
Je hebt een Polygon.io account nodig met een actieve API key. Ga naar het dashboard en kopieer je key.
Sla deze nooit hard-coded op in je Python code. Gebruik environment variables of een apart configuratiebestand.
Bijvoorbeeld via de library python-dotenv. Zo voorkom je dat je key per ongeluk in GitHub belandt. Je Python versie moet ten minste 3.6 zijn.
Als je ouder bent, werk dan eerst bij. Verder heb je een stabiele internetverbinding nodig.
De websocket streaming werkt het beste op een snelle verbinding, zeker als je meerdere streams tegelijkertijd draait voor verschillende aandelen. Je broker API kun je later koppelen. Denk aan Interactive Brokers of Alpaca. Die APIs werken naadloos samen met Polygon data voor order execution.
Installing polygon
Zorg dat je risicomanagement regels klaar hebt staan, zoals stop-loss en position sizing.
De installatie is eenvoudig. Open je terminal en draai pip install polygon. Als je virtual environment actief is, installeert de package zich daar.
Controleer met pip list of polygon verschijnt. Bij problemen kun je altijd de documentatie raadplegen.
Na de installatie test je de verbinding met een simpele API call. Haal bijvoorbeeld de markt status op met de REST client. Als je geen errors krijgt, weet je dat je key werkt.
Dit voorkomt verrassingen later tijdens het draaien van je bot. Gebruik de nieuwste versie van de package.
Polygon werkt regelmatig bij, met verbeterde performance en nieuwe endpoints. Houd je dependencies bij met pip install --upgrade polygon.
General guide for clients & functions
De wrapper biedt verschillende clients voor verschillende doeleinden. De REST client is ideaal voor historische data en snapshot queries.
De websocket client is voor real-time streaming. Beide ondersteunen async, wat je performance verbetert.
Je kunt de REST client gebruiken voor aggregaties, tick data, optie data en meer. Voor real-time aandelen data stream je via de websocket. Je stelt een callback in die reageert op nieuwe data.
Creating and Using REST HTTP clients
Bijvoorbeeld: elke keer als een nieuwe tick binnenkomt, verwerk je die in je trading logica. De async streamer heeft een built-in reconnect. Als de verbinding wegvalt, probeert hij automatisch opnieuw. Dit is handig voor lange sessies.
Je hoeft niet zelf herstellogica te bouwen. De REST client is je basis voor data ophalen.
Maak een instance aan met je API key. Gebruik de methoden zoals get_aggs voor aggregaties, get_ticks voor tick data, of get_options voor opties.
Elke methode retourneert een lijst van data punten die je direct kunt verwerken. Voor backtesting haal je historische data op en sla je die op in een DataFrame via pandas. Missende data interpoleren met Pandas is hierbij essentieel om je indicatoren accuraat te berekenen en strategieën betrouwbaar te testen.
Bijvoorbeeld: een moving average crossover bot. Je haalt 1 minuut data op, berekelt de gemiddelden en simuleert trades.
Voor live trading combineer je REST data met websocket streaming. Haal eerst de historische baseline op, en stream dan real-time updates. Je bot reageert zo binnen milliseconden op prijsveranderingen. Dit is essentieel voor high-frequency trading strategieën.
Varianten en prijzen
Polygon.io biedt verschillende plannen. De gratis starter geeft beperkte data, ideaal voor beginners.
Vanaf 19 dollar per maand krijg je toegang tot real-time aandelen data via de websocket. Benieuwd of er gratis real-time data beschikbaar is voor Python? Voor optie data en historische data betaal je meer, tot 99 dollar per maand voor het professionele plan.
Voor algoritmische trading bots is het Pro plan aan te raden. Het kost 99 dollar per maand en geeft je onbeperkte REST calls en real-time streaming. Dat is ongeveer 90 euro per maand. Vergelijk dit met brokers zoals Alpaca, die gratis data bieden maar beperkter zijn in diepte.
Je kunt ook API credits kopen voor extra requests. Bijvoorbeeld 1000 extra calls voor 10 dollar.
Handig als je intensief backtest. Let op: de prijzen kunnen wijzigen, dus check altijd de vergelijking tussen data providers in het Polygon.io dashboard.
Praktische tips voor je trading bot
Lees de documentatie voordat je begint. De wrapper heeft veel opties, en de documentatie legt ze duidelijk uit.
Gebruik async clients voor betere performance. Je bot kan zo meerdere streams verwerken zonder te wachten.
Test je code eerst met historische data voordat je live gaat. Zo voorkom je kostbare fouten. Combineer Polygon data met je broker API. Voorbeeld: gebruik Polygon voor prijsdata en Interactive Brokers voor order execution.
Zorg voor risicomanagement: stel stop-loss in en beperk je positiegrootte. Gebruik een Discord community voor hulp.
Er is een Nederlandse Discord groep waar je vragen kunt stellen over Python, API's en trading bots.
Sla je API key veilig op. Gebruik environment variables of een secrets manager. Nooit hard-coden. Test je reconnect logica door af en toe je internet te onderbreken.
Kijk of de streamer automatisch herstelt. Begin klein.
Test met één aandelen, zoals AAPL of TSLA. Breid langzaam uit naar meerdere symbolen. Monitor je performance en pas je risicomanagement aan. Met Polygon en Python bouw je een solide basis voor je algoritmische trading.
