prulwerk.nl Broncode op GitHub

Asteria · Chrome-extensie

Wat je rekening waard was, elke dag.

DEGIRO laat je zien wat je portefeuille vandaag waard is. Niet wat hij gisteren waard was, of in maart 2022, of de dag voordat je die ene positie kocht. Die grafiek bestaat niet in hun interface. Asteria bouwt hem terug uit je eigen transacties, cashmutaties en dagelijkse slotkoersen.

Overzichtspagina van Asteria met totale waarde, ingelegd geld, resultaat en een waardeverloop over vijf jaar.
Overview. Eén hoofdgetal, drie steuncijfers ernaast, de rest achter Alle cijfers. Negentien getallen in één raster is een muur die niemand leest. Onderaan de rail staan drie feiten over de data in plaats van over het geld: wanneer er voor het laatst gesynchroniseerd is, of het tot op de cent klopt, en hoeveel van de historie gemeten is in plaats van geschat.

Het probleem

Een broker weet precies wat je bezit, maar bewaart geen beeld van hoe je daar bent gekomen. Je ziet een stand, geen verloop. Wil je weten of die +40% uit je keuzes komt of uit het geld dat je bent blijven inleggen, dan is er niets om naar te kijken.

Asteria reconstrueert per dag. Het rekent terug wat elke positie op elke dag waard was, telt het cash erbij, en controleert de uitkomst tegen het totaal dat DEGIRO zelf noemt. Klopt dat niet tot op de cent, dan staat dat er.

Periodes herberekenen

Kies 3M en elk cijfer eronder is over die drie maanden gemeten, niet uit een jaartotaal gesneden. Geankerd op de waarde van de dag ervoor, zodat de eerste dag een echte beweging is, en dag op dag doorgerekend, zodat een storting binnen de periode het rendement niet mooier maakt.

Elk getal heeft een periode

Boven de cijfers staat één regel die de periode in woorden en in exacte datums noemt. En begint een as niet op nul, dan staat dat onder de grafiek. Een uitsnede van een kwartaal die op een verdubbeling lijkt is de oudste truc die er is.

Wat een cijfer niet zegt

Bij elk getal een i die uitlegt wat het betekent en, nuttiger, wat het niet betekent. Dat "betaalde kosten" niet meerekent wat een marginpositie kost. Dat een storting nooit winst is. Dat de grootste stijger een positie is en geen transactie.

De zeven pagina's

Overview, Performance, Composition, Income & cost, Holdings, Outlook en Notices. Hieronder een deel ervan.

Twee grafieken naast elkaar: resultaat per periode als staven per maand, en het cumulatieve resultaat als lijn over vijf jaar.
Performance. Resultaat per periode naast het cumulatieve verloop, met daaronder jaar voor jaar. Een jaarrendement ketent de dagrendementen, dus een storting binnenin vertekent het niet.
Gestapelde vlakgrafiek van de portefeuilleverdeling over vijf jaar, met per fonds een eigen kleur en cash bovenop.
Composition. Waar het geld in zit en hoe die verdeling verschoven is, in plaats van alleen de stand van nu.
Staafgrafiek van het ontvangen dividend per maand, met de ingehouden bronbelasting eronder gestapeld.
Income & cost. Wat er binnenkwam en wat het kostte, apart van het koersresultaat. Een dividend dat je herbelegt is geen rendement op je keuze en staat dus niet in dezelfde kolom.
Holdings-tabel met per positie de gemiddelde aankoopprijs, waarde, verhouding inleg tegen groei, resultaat, dividend en aandeel in de portefeuille.
Holdings. Per positie de gemiddelde aankoopprijs, de waarde, het resultaat, het dividend en het aandeel in het totaal. De balk in het midden splitst de waarde in wat je hebt ingelegd en wat er bij is gekomen, want een positie die is verdubbeld en een positie waar je twee keer zoveel in hebt gestopt zien er in een gewone tabel hetzelfde uit.
De tegelrij bovenaan de pagina met elk bedrag vervangen door drie stippen, terwijl de percentages blijven staan.
Bedragen uit. Het oogje in de bovenbalk haalt elk bedrag weg door vervanging, niet door vervaging: het getal bereikt de pagina niet en is niet uit de broncode of met kopiëren terug te halen. Percentages blijven, en dat is het punt. Je kunt +340% zeggen zonder te zeggen waarover. De geldas van de grafieken gaat mee weg in plaats van het masker langs de zijkant te herhalen.
Deelvenster met een gegenereerde kaart voor één positie, keuze uit vormen, licht of donker thema en bedragen aan of uit.
Delen. Elke positie kan als kaart, getekend in plaats van gescreenshot. Vijf verhoudingen, licht of donker, bedragen standaard uit, en een naam die je kiest of weglaat. De kaart draagt het controleresultaat mee en zegt "niet gecontroleerd" als er niets was om tegen te controleren. Geen badge en geen signatuur: elk merkje dat dit kan zetten, kan iedereen die de kaart heeft ook zetten, en een na te maken keurmerk is erger dan geen.
Scenariokaart met een keuze voor horizon en maandinleg, en drie gestippelde projecties naast het werkelijke verloop.
Outlook. De enige pagina die geen meting is, en die staat daarom apart. Al het andere is teruggerekend uit wat er werkelijk gebeurd is en getoetst tegen het totaal van DEGIRO. Een projectie is tegen niets te toetsen, dus staat het voorbehoud boven de cijfers en komen de scenario's uit stukken die je eigen historie echt bevat. Vijfenhalf jaar historie bevat één onafhankelijke periode van vijf jaar, hoeveel overlappende vensters je er ook uit schuift. Onder de drie zegt het dat, en noemt het zichzelf een voorbeeld. En waar het gemeten tempo iets is wat een markt niet doet, wordt er geen grafiek getekend maar uitgelegd waarom niet.

Waar de data blijft

Nergens. Er zit geen server achter en er is geen account om aan te maken. Alles landt in de database van je eigen browser.

  • InloggenGeen wachtwoord en geen API-sleutel. Het gebruikt de sessie die je eigen login al in de browser heeft gezet.
  • Alleen lezenHet haalt je transacties, cashmutaties en koersen op. Het kan geen order plaatsen, wijzigen of intrekken.
  • Rustig aanEén verzoek per 1,1 seconde, met opzet. De eerste synchronisatie duurt daardoor een paar minuten.
  • Geen telemetrieGeen analytics, geen crashrapportage. Dat is afgedwongen en niet beloofd: de extensie mag maar twee hosts benaderen en kan geen script van buiten laden.
  • LosknippenVerbinding weggooien kan zonder de historie te verliezen. Elk cijfer blijft staan, bevroren op de laatste synchronisatie en op elk scherm gedateerd.
  • BugmeldenEen bugrapport bevat codes, aantallen en verhoudingen. Geen bedragen, geen namen van instrumenten, geen rekeningnummer.

Wat het niet is

Geen product van DEGIRO. Asteria is een persoonlijk project en staat op geen enkele manier in verbinding met DEGIRO. Die naam staat hier alleen om te zeggen waar het op aansluit. Geautomatiseerd je eigen rekening uitlezen kan botsen met hun voorwaarden: alleen lezen, je eigen gegevens, uit je eigen ingelogde browser is de mildste vorm daarvan, maar langzaam is niet hetzelfde als toegestaan. Ga daar zelf na wat je ermee wil.

Geen advies. Er staat hier geen aanbeveling om iets te kopen of te verkopen. Het is een rekenmachine op je eigen verleden.

Alle beelden op deze pagina zijn demo-data. De extensie heeft een demomodus met gegenereerde cijfers, en die is gebruikt voor elke schermafdruk hier. Geen enkel bedrag op deze pagina komt uit een echte rekening. Je ziet dat ook in de regel onder de titel van elk beeld staan.

Het gaat kapot. Er is geen openbare koppeling om op te bouwen, dus de bron kan zonder aankondiging veranderen. Als een veld verdwijnt zegt de extensie dat met een rode balk in plaats van stil met een nul verder te rekenen.

Zelf proberen

Het is een Chrome-extensie die je zelf laadt: downloaden, uitpakken, ontwikkelaarsmodus aan, map kiezen. Ongeveer twee minuten, geen terminal en geen Node. In de repo staat een stap-voor-stap handleiding, en je kunt de demo met voorbeelddata openen voordat je hem op je eigen rekening richt.