Aandelenfuncties in LibreOffice

Microsoft Excel. Ruim twintig jaar lang mijn trouwe partner in het beheren van mijn centjes. Maar we zijn afscheid aan het nemen. En er is weer een belangrijke stap gezet.

Een van de dingen waardoor ik dieper in het Microsoft universum ben gezogen is het Stock Data Type. Die functionaliteit zorgt ervoor dat je met één druk op de knop de actuele koersen en andere informatie van je beleggingen bij kunt werken. Ik heb dat destijds bij de introductie gretig geïmplementeerd in mijn beleggingsspreadsheet. En die ben ik weliswaar langzaam aan het vervangen door GnuCash en Portfolio Performance, maar zover is het nog niet. Ik mis nog een aantal voor mij belangrijke rapportages. En wil mijn spreadsheet dus ook nog even blijven vullen.

Maar LibreOffice heeft geen Stock Data Type of vergelijkbare aandelenfunctionaliteit. Het was dus tijd om naar het oude vertrouwde Geldnerd-wapen te grijpen: een zelfgebouwde macro.

Macro in LibreOffice

Voor mijzelf is het een vereiste dat er geen extra software geïnstalleerd moet worden. Ik wil dat mijn macro’s werken in een standaardinstallatie van LibreOffice. En dat is gelukt. Maar het is wel een ‘vuile’ macro geworden. Die allerlei dingen doet waar echte programmeurs van zullen gruwen.

Voor het ophalen van de koersen gebruik ik de API van Yahoo Finance. Diezelfde API die GnuCash en Portfolio Performance ook gebruiken en die regelmatig problemen geeft. Ik wil dus binnenkort een versie bouwen die gebruik maakt van een andere bron. Niet alleen maar afhankelijk zijn van de grillen van Yahoo.

Ik roep de API aan met een standaard URL met daarin de fondscode. Voor mijn favoriete ETF Vanguard FTSE All-World UCITS ETF (VWRL) is dat bijvoorbeeld ‘VWRL.AS’. ‘AS’ staat hierbij voor de beurs van Amsterdam, waar ik deze ETF elke maand koop.

Die oproep geeft vervolgens een JSON file terug. Die parkeer ik tijdelijk als CSV op mijn harde schijf. Een echte programmeur gruwt daarvan… Maar je moet iets als je standaard LibreOffice wilt gebruiken. Dit CSV-bestand wordt vervolgens geïmporteerd en vakkundig ’gestript’ door mijn macrocode, totdat alleen de actuele aandelenkoers overblijft. En het opgeslagen JSON-bestand wordt weer netjes verwijderd. Want Geldnerd ruimt wel z’n eigen rotzooi op.

En daarna herhaalt de macro dit riedeltje voor elke ETF en index op de lijst.

Hiermee kan ik niet alleen de actuele koersen van mijn ETFs automatisch binnenhalen in mijn spreadsheet. Maar ook de wisselkoers van de Euro naar de Amerikaanse dollar. En op één na alle indexes die ik volg en waar ik regelmatig over rapporteer in mijn kwartaalupdates. De S&P500, de VIX-index, en de rente op 10-jaars Amerikaanse staatsobligaties (Treasury Bills). Alles in één macro. En dat alles in een paar seconden, veel sneller dan Excel het kan.

Weer een stapje dichter bij het definitieve afscheid van Excel en Microsoft 365. En uiteraard deel ik deze macro ook met jullie. Je kunt ‘m hier downloaden en je vindt ‘m ook op mijn Downloads-pagina.

Zit jij ook vast aan bepaalde software?

Dit bericht heeft 3 reacties

  1. Marianne

    Ik moet eerlijk bekennen dat dit boven mijn pet gaat 🙃

    1. Geldnerd

      Ha, die ken ik, die gebruikt Finance::Quote ook. Ga ik mogelijk gebruiken als backup voor Yahoo Finance. Voorlopig prefereer ik Yahoo, want volgens mij ondersteunt Alphavantage geen indexes, en de gratis versie geeft maximaal 4 of 5 quotes per minuut.

Reageren is niet mogelijk.