Polaris — een AI-trader die van zichzelf leert
Trading-bots zijn er genoeg. Wat altijd ontbreekt is een eerlijke leer-loop: niet alleen "wat is mijn rendement", maar "waarom besloot ik wat ik besliste, en wat had ik anders gemoeten". Polaris is onze eigen AI-trading-terminal — gratis, lokaal, je eigen brein. Elke X minuten data ophalen, Claude (of lokaal Ollama) vraagt om buy/sell/hold, risk-guards kijken mee, paper-trade. Iedere beslissing belandt in een journal dat de AI later leert. Geen advies, geen casino — een leer-omgeving.
"Wat denkt mijn bot eigenlijk?"
Commerciële trading-bots geven je een rendement-cijfer en een grafiek. Dat helpt niet als je een verlies in week 6 wilt begrijpen — was het marktbreed, een mis-interpretatie van een indicator, of een AI die op net-niet-relevante context reageerde?
Wie z'n eigen kennis wil opbouwen heeft een loop nodig waar elke beslissing een kwalitatieve reden krijgt, en waar je later die reden tegen de uitkomst kunt leggen.
Plus: we wilden een tool die niet ergens op een SaaS-server draait waar onze data nut maakt voor andermans modellen. Lokaal, transparant, geen vendor.
Een loop in Python — alles transparant
Zeven bestanden, alles te lezen. data.py haalt gratis prijsdata bij Yahoo Finance, berekent SMA/RSI/MACD/Bollinger/ATR. ai.py stuurt context naar Claude (of lokaal Ollama) en vraagt een gestructureerde JSON-respons: actie (buy/sell/hold), confidence, reasoning.
risk.py rejects elke beslissing die buiten de regels valt: max 2% van portfolio per trade, emergency-stop bij −10% drawdown van de week. paper.py houdt je nep-portfolio bij in JSON. journal.py bewaart elke beslissing + uitkomst.
De killer-feature: learn.py kan op historische data alle beslissingen replay-en en vergelijkt de AI-respons met wat achteraf optimaal was. Lessen worden in het journal teruggepushed — zodat het volgende echte besluit context heeft van wat eerder werkte.
UI is een dunne Streamlit-app die het journal, de equity-curve en de risk-guards zichtbaar maakt. Voor ons — geen klant — voldoende.
Wat zou er gebeurd zijn?
Cyaan = Polaris paper-portfolio. Violet dashed = buy-and-hold SPY ter referentie. Buy/sell-events als bolletjes met date-tooltip.
Equity curve — 90 dagen
Elke beslissing met reden, achteraf gewogen
Geen "+€42 winst". Wel: "Ik kocht omdat MACD-cross-over én RSI uit oversold; achteraf was de timing 2 dagen vroeg." Dat type lessen verzamelen.
Journal · 23 juni 14:30
Last 4 cyclesSPY +12 shares · €5.832 (60% portfolio)
MACD crossover bevestigd, RSI uit oversold (28→42), 200-EMA flat. Confidence 0.78. Geen earnings deze week. Risk-guard: positie binnen 60%-cap.
TSLA · skip beslissing
Hoge volatiliteit (ATR boven 3σ), geen duidelijke trend, RSI middle-zone. Conf 0.31 — onder threshold 0.55. Niet handelen.
NVDA −8 shares · €1.244
RSI 78 (overbought), Bollinger upper band geraakt, dalend volume. Closing partial position 50%. Achteraf: te vroeg, miste 4% verder up.
BTC-USD · vasthouden
Sideways range 5 dagen, geen breakout-signaal. Risk-guard: max 1 crypto-positie open (BTC al).
Voor de bot ergens dom op stuk gaat
Acht harde regels die elke AI-respons doorlopen. Komt 'ie buiten een van deze ranges, wordt 'ie geweigerd — ook al klinkt 't redelijk.
Onder de motorkap
- BreinClaude (Anthropic SDK) of lokale Ollama llama3.1:8b
- Marktdatayfinance (Yahoo Finance) — gratis, geen API-key
- IndicatorsSMA · RSI · MACD · Bollinger · ATR (pandas-ta)
- UIStreamlit — paginas voor equity / journal / risk / backtest
- StorageLokale JSON-bestanden (portfolio.json, journal.jsonl)
- SchedulerAPScheduler — om de X minuten één cycle draaien
- BacktesterEigen replay-engine in
learn.py - Geen brokerPaper-only — geen Alpaca/IB-koppeling in defaults
Waar het anders is
- Beslissing met motivatieJSON-respons bevat reasoning, niet alleen actie
- Achteraf-metenOptimaal-alternatief uit history wordt erbij gelegd
- Multi-brainClaude voor kwaliteit, Ollama voor offline tests
- Risk-guards als laagOnder de AI — AI mag niet om regels heen
- Volledig lokaalGeen account, geen SaaS, geen data-deling
- Leer-journalDe volgende beslissing krijgt vorige lessen als context
"De grootste waarde van Polaris is voor ons niet het rendement — het is het journal. Voor het eerst zien we precies wáárom onze bot een beslissing nam en kunnen we vergelijken met wat we zelf bedacht hadden. Dat is een leer-loop die geen commerciële tool ons geeft."
Meer werk van Lynuxis
Eigen AI-beslissingsloop in jouw vakgebied?
Trading, hiring, planning, voorraadbeheer — overal waar je menselijke besluiten neemt op basis van data, kan een transparante AI-loop met motivering en journal je vakkennis versnellen.