Skip to content

Technologie

24 technologieen zijn geevalueerd, geselecteerd en version-pinned. De grote keuzes zijn gemaakt. Er zijn geen verdere technologiebeslissingen nodig.

Zie Het Plan voor de samenvatting.


Overzicht per categorie

Engine (Lokaal)

TechnologieVersieRolOnderbouwing
Python3.12KernprogrammeertaalEcosysteem voor kwantitatieve financien, met goede Polars-compatibiliteit
PolarsGepindDataFrame-bibliotheek83x sneller dan Pandas voor dict-lookup-patronen in dagelijkse backtest
NumPy/SciPyGepindWiskundige berekeningenRegressie, statistiek, optimalisatie
Norgate DataHistorische aandelendataSplit-correcties, delisting-handling, survivorship-vrije dataset
ParquetOpslagformaatKolom-georienteerd, 10x kleiner dan CSV en snel te filteren

Backend (Cloud)

TechnologieVersieRolOnderbouwing
Laravel12PHP web frameworkHoge ontwikkelsnelheid, Filament admin panel, Eloquent ORM
PHP8.4Server-side taalVolwassen ecosysteem, DigitalOcean ondersteuning
PostgreSQL16+DatabaseNUMERIC precisie, advisory locking, managed op DigitalOcean
Filamentv3Admin panelInvestor management, NAV publicatie, fondsverzoeken
psycopg3GepindPostgreSQL driver (Python)COPY protocol voor snelste bulk insert, async ondersteuning

Frontend

TechnologieVersieRolOnderbouwing
Vue3.5+SPA frameworkReactieve UI, enkel codebase met twee build targets
ViteGepindBuild toolSnelle HMR, VITE_API_URL voor dual-target builds
TypeScriptTypeveiligheidVoorkomt runtime-fouten in financiele berekeningen
Livewire3Reactive componentenServer-side rendering zonder apart JS framework (admin)
Alpine.jsGepindLichtgewicht JSEenvoudige interacties zonder framework-overhead
TailwindCSS3Utility-first CSSSnelle prototyping, consistent ontwerp

Charts

TechnologieVersieRolOnderbouwing
Lightweight ChartsGepindFinanciele grafiekenTradingView bibliotheek, professionele equity curves en candle charts

Publieke Sites

TechnologieVersieRolOnderbouwing
Astro5.xStatische site-generatorNul JavaScript in productie, snelle laadtijden
Starlight0.31+DocumentatiesiteZijbalknavigatie, MDX ondersteuning, ingebouwd zoeken

E-mail

TechnologieVersieRolOnderbouwing
PostmarkTransactionele e-mailHelios Letter, meldingen en hoge afleveringspercentages

Hosting en Infrastructuur

TechnologieVersieRolOnderbouwing
DigitalOcean App PlatformManaged containersEenvoudige deployment, ~$44/mo totaal
CloudflareDNS, CDN, AccessGratis tier, Cloudflare Access voor docs.whitefield.com

Mobiel

TechnologieRolOnderbouwing
Progressive Web App (PWA)Mobiele toegangGeen native app bij lancering, browser-gebaseerd

Totaalkosten infrastructuur

ComponentMaandelijks
Investor App (App Platform)~$12
Tracking App (App Platform)~$12
Queue Workers~$5
PostgreSQL (Managed)~$15
Publieke Site (Astro)Gratis
Docs Site (Starlight)Gratis
CloudflareGratis
Totaal~$44/mo (~EUR 44)
Versiepinning en lockfiles

Versiebeheerstrategie

Alle afhankelijkheden zijn version-pinned met lockfiles:

  • Python: pyproject.toml met exacte versies, uv.lock voor reproduceerbare omgevingen
  • PHP/Laravel: composer.lock met exacte versies per package
  • JavaScript/Vue: package-lock.json met exacte versies
  • Astro/Starlight: package-lock.json met specifieke overschrijvingen (sitemap 3.3.0 voor zod v4 incompatibiliteit)

Versiepinning voorkomt onverwachte breaking changes en maakt builds reproduceerbaar.

Astro 5-compatibiliteit

  • legacy.collections: true vereist voor Astro 5 content collection compatibiliteit met Starlight
  • Sitemap 3.3.0 override om zod v4 incompatibiliteit te vermijden
  • Astro 5.1.8 + Starlight 0.31.1 vastgelegd
Performance-patronen

Optimalisaties in de engine

  1. Dict lookups boven DataFrame.filter(): fast_lookup: dict[ticker][date] -> row_dict voor O(1)-toegang in de dagelijkse backtestloop. DataFrame.filter() is O(n) per aanroep — de dict-aanpak gaf 83x versnelling.

  2. Checkpoint resumption: de dagelijkse backtest slaat indicatoren, posities, pending orders en equity-reeks op. Daarmee voorkom je volledige herberekening vanaf 1999.

  3. Indicator caching: indicator_cache.pickle met SHA-256 config-hash invalidatie. Voorkomt herberekening van 900+ aandelenindicatoren bij ongewijzigde configuratie.

  4. Parquet opslagformaat: Kolom-georienteerd formaat dat 10x kleiner is dan CSV en snelle kolomselectie en filtering ondersteunt.