Naar de analyse

Zo rekent PortfolioSpiegel

Per analyse: uit welke exportregels het komt, de stappen van regel naar cijfer, de formule in één regel, een rekenvoorbeeld met verzonnen cijfers, en waar het kan afwijken van wat DEGIRO toont. Alles komt uit je eigen exports; koersen alleen waar dat staat.

Rendement per jaar (geldgewogen)

Bron

Account.csv: elke storting en opname, per dag gesaldeerd. Portfolio.csv: je waarde nu (posities plus cash). Kosten, dividend en het valuta-effect zitten in die waarde, dus het rendement is na alles.

Stappen

  1. Elke storting wordt een negatief bedrag op zijn datum, elke opname een positief bedrag.
  2. Je waarde nu wordt een positief bedrag op de peildatum.
  3. We zoeken de rente waarbij al die bedragen, teruggerekend naar de eerste storting, samen op nul uitkomen (XIRR, per bisectie tussen −95% en +1000%).

Formule

Σ bedragi / (1 + r)ti = 0, met t in jaren vanaf de eerste storting

Rekenvoorbeeld

Storting € 10.000 op 1 januari 2024, storting € 5.000 op 1 januari 2025, waarde € 17.000 op 1 januari 2026. Bij r = 7,8% geldt: −10.000 − 5.000 / 1,078 + 17.000 / 1,078² ≈ 0. Rendement per jaar: 7,8%.

Aannames en grenzen

Geldgewogen betekent dat het moment van je stortingen meetelt: een storting vlak voor een stijging telt zwaarder dan dezelfde storting jaren eerder. Dat is het rendement dat jij hebt gehaald. Fondsen rapporteren tijdgewogen, zonder dat effect; dat cijfer staat bij Waarde door de tijd. Beide zijn juist en verschillen bijna altijd. Zonder eindwaarde of zonder een enkele storting tonen we geen percentage, en als er geen oplossing is ook niet.

Wat als je dezelfde stortingen in de wereldindex had gedaan?

Bron

Dezelfde stortingen en opnames als hierboven, op dezelfde dagen. Maandslotkoersen van een ETF die de index volgt (wereldindex: VWCE, in euro; S&P 500: SPY en Nasdaq-100: QQQ, in dollar, omgerekend met de ECB-maandkoers), met herbelegd dividend, via jouw eigen koerssleutel.

Stappen

  1. Elke storting koopt op die dag eenheden van de index tegen de maandkoers van die maand; elke opname verkoopt eenheden.
  2. De eindwaarde is het aantal eenheden maal de laatste koers.
  3. Daarover dezelfde XIRR als bij je eigen rendement: dat is "de wereldindex met jouw stortingen". Het verschil met je eigen rendement staat in procentpunten.
  4. Per euro index: elke storting laten we tot nu meegroeien met de index; je opnames en je waarde nu, gedeeld door die gegroeide stortingen, is wat jij maakte van elke euro die de index had gemaakt (Public Market Equivalent).

Formule

eenheden = Σ stortingi / koersi; index-XIRR uit dezelfde stortingen met eindwaarde eenheden × eindkoers; per euro index = (waarde nu + Σ opnamej × groeij) / Σ stortingi × groeii, met groei = eindkoers / koers op die dag

Rekenvoorbeeld

Dezelfde stortingen als hierboven, index 100 op 1 januari 2024, 110 op 1 januari 2025, 121 nu. Eenheden: 100 + 45,45 = 145,45; eindwaarde € 17.600; index-XIRR precies 10,0%. Per euro index: 17.000 / (10.000 × 1,21 + 5.000 × 1,10) = 17.000 / 17.600 = € 0,97: onder € 1, dus de index kwam hoger uit.

Aannames en grenzen

Koersen per maandeinde, niet per dag: een storting midden in de maand rekent met de koers van die maand. De index-ETF heeft zelf lage fondskosten in de koers, maar geen transactiekosten, AutoFX of dividendbelasting; jouw rendement is na al die kosten. Het zegt wat dezelfde euro's op dezelfde momenten in de index hadden gedaan, niet of je goed of slecht belegt: één jaar zegt weinig, en de index is geen advies.

Waarde door de tijd, tijdgewogen rendement en grootste daling

Bron

Aantallen per product per maandeinde uit je transacties, cash uit Account.csv (stortingen, opnames, dividend, kosten, rente), maandslotkoersen via jouw sleutel, wisselkoersen van de ECB. De laatste maand is precies je waarde uit Portfolio.csv.

Stappen

  1. Per maandeinde: aantal × slotkoers / wisselkoers, plus cash. Ontbreekt een koers, dan telt de laatste eigen aan- of verkoopprijs in euro; we laten zien welk deel van de waarde een opgehaalde koers heeft.
  2. Tijdgewogen: per maand het rendement zonder het effect van stortingen (Modified Dietz), die maandrendementen aan elkaar gekoppeld.
  3. Op jaarbasis pas vanaf een half jaar geschiedenis.
  4. Grootste daling: de diepste val vanaf een eerdere hoogste stand op dat tijdgewogen verloop, met het aantal maanden tot de oude top weer werd gehaald.

Formule

rmaand = (Weind − Wbegin − S) / (Wbegin + S / 2), met S de stortingen min opnames in die maand; tijdgewogen = Π (1 + rmaand) − 1; per jaar = (1 + tijdgewogen)1 / jaren − 1

Rekenvoorbeeld

Begin van de maand € 10.000, halverwege een storting van € 1.000, eind van de maand € 11.550: r = (11.550 − 10.000 − 1.000) / (10.000 + 500) = 550 / 10.500 = 5,2%.

Aannames en grenzen

Maandeinden, geen dagen: een daling en herstel binnen één maand zie je niet. Met minder dan 90% van de waarde op echte koersen tonen we de grafiek van je resultaat door de tijd niet. Tijdgewogen is te vergelijken met een fonds of index; geldgewogen (hierboven) is wat jij haalde.

Winst en verlies, kostprijs per positie

Bron

Transactions.csv: aantal, en het totaalbedrag in euro per uitvoering inclusief transactiekosten en AutoFX. Zonder Transactions.csv: de koop- en verkoopregels uit Account.csv per order-ID, met AutoFX geschat. Portfolio.csv: aantal, slotkoers en waarde in euro van wat je nu hebt.

Stappen

  1. Gemiddelde kostprijs per product: elke aankoop telt het betaalde bedrag inclusief kosten op bij de kostprijs.
  2. Een verkoop rekent af tegen de gemiddelde kostprijs per stuk: opbrengst na kosten min aantal × gemiddelde = gerealiseerd. De kostprijs van de rest daalt evenredig.
  3. Ongerealiseerd = waarde in Portfolio.csv min de kostprijs van wat je nog hebt.
  4. Een short (eerst verkocht) werkt omgekeerd: de opbrengst is de "kostprijs", het terugkopen realiseert het verschil.

Formule

gerealiseerd = opbrengstna kosten − aantalverkocht × kostprijs / aantalin bezit; ongerealiseerd = waardenu − kostprijsrest

Rekenvoorbeeld

Koop 10 stuks à € 100 met € 2 kosten: kostprijs € 1.002 (€ 100,20 per stuk). Koop 10 à € 120 met € 2 kosten: kostprijs € 2.204 (€ 110,20). Verkoop 5 à € 130 met € 2 kosten: opbrengst € 648, gerealiseerd 648 − 5 × 110,20 = € 97. Kostprijs van de 15 die je nog hebt: € 1.653.

Aannames en grenzen

Gemiddelde kostprijs, zoals DEGIRO die ook toont; niet FIFO. Kosten zitten in de kostprijs en in de opbrengst, dus het resultaat per positie is na kosten; een overzicht dat kosten apart houdt, laat per positie een hoger cijfer zien. Een restje kleiner dan 0,1% van een positie (fracties bij crypto-ETN's) telt als gesloten. Corporate actions schuiven de kostprijs door, zie hieronder.

Historische simulatie

Bron

Je verkopen uit de transacties (verkocht aantal, opbrengst na kosten), de koers van nu via jouw sleutel (de laatste maandslotkoers) met de wisselkoers van nu, en je portefeuille per maandeinde uit Waarde door de tijd.

Stappen

  1. Verkochte producten: het verkochte aantal maal de koers van nu, vergeleken met wat de verkoop opbracht. Dat is de waarde als je had aangehouden.
  2. Stilzitten vanaf een moment: neem de posities van dat maandeinde en laat ze tegen de koersen doorlopen tot nu, zonder latere aan- en verkopen; vergelijk met je echte waarde nu.

Formule

waardeaangehouden = Σ aantalverkocht × koersnu; verschil = waardeaangehouden − opbrengstna kosten

Rekenvoorbeeld

Je verkocht 20 stuks voor € 1.900 na kosten. De koers is nu € 120: aangehouden was het € 2.400 waard geweest, € 500 meer dan de opbrengst.

Aannames en grenzen

Dit is een hypothetische berekening, geen gerealiseerd rendement. Dividend na de verkoop telt niet mee, een splitsing na de verkoop ook niet, en wat je met het geld van de verkoop deed evenmin: dat zit in je echte resultaat. Zonder koers voor een product blijft het buiten de som, en dat staat erbij.

Kosten

Bron

Transactions.csv: de kolommen "Transactiekosten en/of kosten van derden" en "AutoFX Kosten" per uitvoering. Account.csv: aansluitingskosten, kosten van corporate actions en ADR-kosten (overig), beurstaks en transactiebelasting (herkend aan de omschrijving, per land), debetrente en negatieve rente (rente).

Stappen

  1. Per jaar en per soort opgeteld.
  2. Per ordergrootte: onder € 500, € 500 tot € 1.000, € 1.000 tot € 2.500, boven € 2.500; per groep de kosten als deel van het orderbedrag zonder kosten. Een order in delen telt per uitvoering.
  3. Per product: transactiekosten en AutoFX over alle orders, als deel van wat je in dat product omzette.

Formule

kosten% = (transactiekosten + AutoFX) / orderbedragzonder kosten

Rekenvoorbeeld

Een order van € 400 met € 2 transactiekosten en € 1 AutoFX: 0,75%. Een order van € 2.000 met € 2 en € 5: 0,35%.

Aannames en grenzen

Zonder Transactions.csv is AutoFX geschat op 0,25% van de eurowaarde van orders in een andere valuta, en dat staat er dan bij. De lopende kosten van ETF's (TER) zitten in de koers en staan alleen in de doorkijk. Het kostenoverzicht van DEGIRO zelf deelt anders in en telt per kalenderjaar.

Dividend en bronbelasting

Bron

Account.csv: de regels "Dividend" en "Kapitaalsuitkering" en de regels "Dividendbelasting", met bedrag en valuta, per product. Omrekening naar euro met de wisselkoers uit de dichtstbijzijnde omwisseling in die valuta in hetzelfde overzicht.

Stappen

  1. Netto dividend = dividend min ingehouden belasting; per product, per jaar en per maand.
  2. Het land is de eerste twee letters van de ISIN. Per land: bruto, ingehouden, en het ingehouden percentage (in de oorspronkelijke valuta).
  3. Het verdragstarief per land voor inwoners van Nederland of België (woonland uit Instellingen; zonder keuze Nederland). Mogelijk terug te vragen = ingehouden − verdragstarief × bruto, alleen boven € 5 per land.
  4. Dividendrendement: het netto dividend van de laatste twaalf maanden gedeeld door de kostprijs van je huidige posities.

Formule

terug = max(0, ingehouden − tariefverdrag × bruto)

Rekenvoorbeeld

Zwitsers dividend, bruto € 200, ingehouden 35% = € 70. Verdragstarief voor Nederland 15% = € 30. Mogelijk terug te vragen: € 40.

Aannames en grenzen

Bij een ADR kan het land uit de ISIN afwijken van het land dat inhoudt. Nederlandse dividendbelasting verreken je in je aangifte; die staat er apart bij. De verdragstarieven zijn een tabel met bron per land, geen belastingadvies: de procedure en de uitkomst hangen af van je situatie.

Handelsgedrag

Bron

Gesloten posities uit de kostprijsboekhouding: van de eerste aankoop tot de verkoop die het aantal weer op nul zet, met het aantal dagen en het resultaat. Alle orders voor terugkopen en ordergrootte.

Stappen

  1. Houdduur in vijf groepen: korter dan een week (0 tot 7 dagen), een week tot een maand (7 tot 30), een tot zes maanden (30 tot 182), zes tot twaalf maanden (182 tot 365), langer dan een jaar. Per groep het aantal, de winstkans en het totaal. Kort handelen is de eerste twee groepen samen.
  2. Terugkopen: per product elke verkoop die binnen 90 dagen wordt gevolgd door een aankoop van hetzelfde product, op volgorde (FIFO) tot het verkochte aantal op is; elke aankoop telt één keer. Effect = (opbrengst per stuk na kosten − terugkoopprijs per stuk inclusief kosten) × aantal.
  3. Kerngetallen: ordergrootte gemiddeld en mediaan, orders per maand, winstfactor (alle winsten gedeeld door alle verliezen), houdduur mediaan.

Formule

effectterugkoop = (opbrengstper stuk − terugkoopprijsper stuk) × aantal

Rekenvoorbeeld

Verkoop 10 stuks à € 50 (na kosten € 49,80 per stuk), 20 dagen later terugkoop van 10 stuks à € 55 (inclusief kosten € 55,20): effect (49,80 − 55,20) × 10 = −€ 54, terugkopen kostte geld.

Aannames en grenzen

Alleen volledig gesloten posities tellen in de houdduur; shorts staan apart. Corporate actions zijn geen terugkoop. De conclusiezin over terugkopen verschijnt vanaf drie gevallen, die over kort handelen vanaf vijf gesloten posities.

Loont stockpicken?

Bron

De naam van elk product bepaalt de soort: ETF (ETF, UCITS, iShares, Vanguard en andere fondsnamen), overig (ETN, ETC, turbo, certificaat, obligatie, optie) of anders een los aandeel; geldmarktfondsen tellen nergens mee. Per soort alle aan- en verkopen, het netto dividend en de waarde nu.

Stappen

  1. Per soort een eigen kasstroomreeks vanuit jou: aankopen negatief inclusief kosten, verkopen positief na kosten, netto dividend positief, en de waarde van de open posities nu positief.
  2. Daarover de XIRR, net als bij je eigen rendement.
  3. Voor de eerlijke vergelijking: dezelfde kasstromen in de wereldindex, per soort, omdat je aandelen en ETF's vaak in andere periodes in je portefeuille zaten.

Formule

XIRR over de kasstromen van één soort, plus de wereldindex met precies die kasstromen

Rekenvoorbeeld

Losse aandelen: −€ 10.000 op 1 januari 2024, +€ 500 dividend op 1 januari 2025, waarde € 12.000 op 1 januari 2026: XIRR 12,1% per jaar.

Aannames en grenzen

De vergelijking staat pas bij minstens drie producten en twaalf maanden per soort. De indeling gaat op naam; een ongewone naam kan in de verkeerde groep vallen, en dat zie je bij Posities onder soort.

Valuta en wisselkoersen

Bron

Transactions.csv: de wisselkoers en de AutoFX-kosten per order. Account.csv: de FX-kolom bij elke omwisseling (Valuta Debitering en Creditering). De Europese Centrale Bank: maandkoersen (einde maand) van elke valuta tegen de euro, rechtstreeks door je browser opgehaald, zonder sleutel.

Stappen

  1. Een order in een andere valuta: het eurobedrag komt uit Transactions.csv; zonder dat bestand uit de euroregels van dezelfde order in Account.csv.
  2. Dividend, kosten en rente in een andere valuta: omgerekend met de wisselkoers van de dichtstbijzijnde omwisseling in die valuta in het rekeningoverzicht.
  3. Koersen per maand naar euro met de ECB-maandkoers; pence (GBX) gedeeld door honderd.
  4. AutoFX: DEGIRO rekent 0,25% over elke automatische omwisseling, bij kopen en verkopen; exact uit Transactions.csv, anders geschat.

Formule

euro = bedrag / koers, met de koers in eenheden vreemde valuta per euro

Rekenvoorbeeld

Dividend $ 20 bij een koers van 1,0784 dollar per euro: € 18,55.

Aannames en grenzen

Een valuta waarvoor het rekeningoverzicht geen enkele omwisseling bevat, kan niet worden omgerekend; die bedragen blijven buiten kosten, dividend en rendement, en de site meldt het. Het valuta-effect op je posities zit in je waarde en dus in je rendement; de brug in Controleer je cijfers laat zien hoe groot het is.

Corporate actions: splits, ISIN-wissel, fusie

Bron

Regels zonder order-ID met een label in hoofdletters en een aantal tegen een koers, zoals "SPLIT AANPASSING", "WIJZIGING ISIN", "FUSIE", "PRODUCTWIJZIGING", "REVERSE SPLIT", en andere labels in datzelfde patroon.

Stappen

  1. Uitboeking en inboeking op hetzelfde tijdstip: één product. De kostprijs en de begindatum schuiven door, er wordt geen resultaat geboekt.
  2. Uit- en inboeking op verschillende dagen (een reverse split met nieuwe ISIN): gekoppeld als de inboeking binnen tien dagen volgt.
  3. Een uitboeking zonder inboeking (een fractie die in geld wordt uitbetaald, een waardeloos afgeboekt product): een verkoop tegen het geboekte bedrag, met resultaat.
  4. Een inboeking zonder uitboeking (spin-off, stockdividend): een aankoop tegen het geboekte bedrag, meestal nul, met de dag van inboeking als begindatum.
  5. Komt er bij de omruil geld vrij (een fusie met geld en aandelen), dan gaat dat geld van de doorgeschoven kostprijs af.

Formule

kostprijsnieuw = kostprijsoud − (uitboeking − inboeking)

Rekenvoorbeeld

20 stuks met kostprijs € 1.002 gaan eruit voor € 600, 15 nieuwe komen erin voor € 450: € 150 blijft als geld over, de kostprijs van de nieuwe stukken wordt € 852.

Aannames en grenzen

Meerdere corporate actions op hetzelfde tijdstip met meerdere producten worden niet automatisch gekoppeld; de site meldt het. Een nieuw label zonder aantal en koers wordt niet als corporate action herkend en staat dan bij de niet-herkende regels.

Controleer je cijfers

Bron

Alle drie de bestanden. Vijf controles, elk met wat wij berekenden, wat je export zegt en het verschil.

Stappen

  1. Invoer: welke bestanden zijn gelezen, hoeveel regels, hoeveel transacties, en hoeveel omschrijvingen niet herkend zijn.
  2. Kas per valuta: alle mutaties in die valuta (stortingen, opnames, aan- en verkopen, dividend, kosten, belasting, rente, valutawissels) opgeteld tegen de saldokolom na de laatste regel; interne overboekingen naar het geldmarktfonds tellen niet. Groen tot 1 cent, oranje onder € 5 of 0,1% van het saldo, anders rood. Tegen de cash in Portfolio.csv: groen tot € 1.
  3. Posities: het aantal per product uit de transacties tegen Portfolio.csv. Elk verschil is een regel met de waarschijnlijke oorzaak (een corporate action, een niet-herkende regel, een product dat niet in de transacties staat). Oranje zolang het totale waardeverschil onder € 5 blijft, anders rood.
  4. Waarde: aantal × slotkoers × wisselkoers uit Portfolio.csv tegen de waarde in euro in datzelfde bestand. Groen tot 0,5% van de totale waarde, oranje onder € 5 of 0,1%, anders rood; producten zonder koers maken de controle oranje.
  5. De brug: inleg + gerealiseerd + ongerealiseerd + dividend + inkomsten − kosten − belasting − losse kostenregels + niet-herkende regels + valuta-effect = eindwaarde. Het valuta-effect is groen tot € 5 of 0,1% van de eindwaarde, oranje tot 1%, rood daarboven.

Formule

inleg + gerealiseerd + ongerealiseerd + dividend + inkomsten − kosten − belasting − losse kosten + onbekend + valuta-effect = eindwaarde

Rekenvoorbeeld

Inleg € 2.000, gerealiseerd € 0, ongerealiseerd € 38, een losse kostenregel van € 2,50: 2.000 + 38 − 2,50 = € 2.035,50, precies de eindwaarde. De brug sluit.

Aannames en grenzen

Per controle worden hooguit tien oorzaken getoond, daarna alleen het aantal. Begint de export niet bij de opening van je rekening, dan zijn de kas en de brug rood met precies het beginsaldo; de cijfers krijgen een waarschuwing, geen stilzwijgende correctie. Een regel die we niet herkennen telt mee in de kas, zodat het saldo sluit, maar niet in kosten, dividend of resultaat per categorie.

Minimale gegevens

Onder deze grenzen tonen we geen conclusie of geen cijfer, in plaats van een cijfer dat weinig zegt.

  • Rendement per jaar: minstens één storting en een waarde nu; zonder oplossing een streepje.
  • Tijdgewogen rendement per jaar: minstens een half jaar geschiedenis; de grafiek van je resultaat door de tijd pas als minstens 90% van de waarde een opgehaalde koers heeft.
  • Loont stockpicken: per soort minstens drie producten en twaalf maanden.
  • Terugkopen: een conclusiezin vanaf drie gevallen.
  • Kort handelen in de Beoordeling: vanaf vijf gesloten posities.
  • Bronbelasting: een melding vanaf € 5 per land.
  • Kosten per ordergrootte: de zin over de duurste en goedkoopste groep alleen bij groepen met minstens drie orders, en als de duurste minstens twee keer zo duur is.
  • Een grafiek: minstens twee punten.

Elk cijfer te herleiden

Elke conclusiezin en elke rij kerncijfers op de site linkt met "Zo rekenen we" naar de sectie hier die erover gaat. Controleer je cijfers laat per controle de regels uit je export zien waarop het cijfer rust. Bij de kerncijfers komt een uitklap met de opbouw en de bedragen erachter.

Wat we niet doen

  • Geen koersen zonder jouw sleutel: de site haalt nooit centraal koersen op om ze aan bezoekers te tonen.
  • Geen schattingen waar de export het antwoord geeft. De enige schatting is AutoFX zonder Transactions.csv, en dan staat het erbij.
  • Geen advies: geen "moet", "beter" of "stop met". De site beschrijft wat er is gebeurd.

Wijzigingen in de methode

Elke wijziging in een rekenregel krijgt een regel op de pagina Wijzigingen, en de versie van de rekenregels gaat omhoog. De versie die nu live staat: {{motor}}.

Analyseer je eigen DEGIRO-exports