Spelenderwijs leren programmeren?

  • Berichtcategorie:ICT

Veel mensen besteden veel (te veel) tijd aan spelletjes op hun tablet of telefoon. Geldnerd houdt daar niet zo van, ik vind het meestal tijdverspilling. Maar in een vakantie val ik er toch af en toe voor.

En ik ben dan wel weer dol op programmeren. Mijn spreadsheets, en lekker een beetje klooien met Visual Basic macro’s. Ik heb lopen experimenteren met de macrotaal van LibreOffice. Daar werd me vooral duidelijk dat die een stuk bewerkelijker is dan Visual Basic in Excel. Mijn macro’s ‘omzetten’ wordt dan al gauw ‘volledig herschrijven’. Daar had ik niet zoveel zin in, dus dat heb ik maar even laten rusten.

En ik speel al langer met het idee om ook andere, ‘echte’ programmeertalen te leren. JavaScript bijvoorbeeld. Maar ik heb minder tijd dan destijds in het Verre Warme Land, en had ook geen zin om eerst een stapel boeken door te lezen. Dus dat bleef vooral ‘een idee’.

Maar nu is er een oplossing voor! ‘Grasshopper’, een (gratis) app waarmee je spelenderwijs in JavaScript leert programmeren. Grasshopper is ontwikkeld door Area 120, een start-up van Google. De ontwikkelaars willen nog meer lessen toevoegen aan Grasshopper, en zijn niet van plan een andere programmeertaal dan JavaScript te gaan ondersteunen.

Ik heb de app gedownload en ben langzaam begonnen. Eens kijken welke nieuwe mogelijkheden dit mij gaat bieden! Want ik denk dat de toekomst van mijn spreadsheets en macro’s in JavaScript ligt.

Hoe heb jij leren programmeren?

Administratie met KNAB-import

  • Berichtcategorie:ICT

Een paar weken geleden publiceerde ik mijn vernieuwde administratiespreadsheet, met een aantal verbeteringen ten opzichte van de eerdere versie. Daarbij beloofde ik al dat er snel nog een nieuwe versie met extra functionaliteit zou volgen. En hier is ‘ie.

Deze nieuwe versie biedt, naast ondersteuning voor Rabobank en ABN AMRO, ook ondersteuning voor het importeren van CSV-bestanden van KNAB. Met dank aan lezer Jeroen, die mij een voorbeeldbestand stuurde.

Daarnaast werkt nu de controle of transacties wel goed op elkaar aansluiten. Mijn ervaring is dat de opeenvolgende bestanden van banken niet altijd goed op elkaar aansluiten, ik miste wel eens een aantal boekingen als je wekelijks een bankbestand importeert. In deze versie krijg je daar automatisch een melding van. Het heeft me wel wat tijd gekost voordat ik mijn eigen stomme programmeerfout in deze functie gevonden had…. Maar nu doet ‘ie het.

Ik blijf het herhalen: mijn spreadsheets zijn vooral ter inspiratie, om te laten zien wat er allemaal kan. Voor mij werkt dit naar volle tevredenheid. Ik ga nu weer aan de slag met mijn nieuwe Vermogensdashboard. Ook die zal ik in Excel bouwen, ik wil het allemaal zo eenduidig mogelijk houden.

De nieuwe versie van de administratiespreadsheet is beschikbaar op mijn Downloads-pagina.

Hoe is het met jouw spreadsheets?

Administratie met Rabo CSV Import

Diverse lezers vroegen er al om, en zelf schreef ik er onlangs ook al over: mijn nieuwe administratiespreadsheet. En hier is ‘ie dan. Oud en vertrouwd in de interface, nieuw onder de motorkap. Tsja, opa Geldnerd houdt niet zo van interface-wijzigingen. Ik snap ook al die app-ontwikkelaars niet die bij elke nieuwe versie de gebruikersinterface volledig overhoop gooien. Waardoor ik weer enorm moet zoeken naar mijn favoriete functies. Dus zelf doe ik daar niet aan.

Zoals ik al eerder schreef is de belangrijkste wijziging dat ik nu werk met het nieuwe CSV-formaat van de Rabobank. Dit omdat ze stoppen met het TXT-formaat dat ik eerst gebruikte. De structuur waarmee ik transacties inlees is daarmee compleet gewijzigd. Dat betekent dat je eigenlijk al je transacties vanaf 1 januari 2018 opnieuw in moet lezen, in CSV-formaat.

Er zit ook een uitgebreidere gebruikershandleiding in, op het tabblad ‘Manual’. Maar leef je vooral uit op de Visual Basic macro’s die in de spreadsheet zitten. Tips, opmerkingen, aanvullingen, dingen ter verbetering van de leesbaarheid, laat het me weten in de comments of via mijn Contact-pagina!

Eén ding zit er nog niet in: ik ben bezig om een functie te bouwen die controleert of de boekingen wel op elkaar aansluiten. Maar die is nog niet foutloos, dus die zit nog niet in deze versie. Zodra ik de problemen heb opgelost verschijnt er een bijgewerkte versie. En verder wordt het in die versie ook mogelijk om bestanden van KNAB in te lezen, omdat een bloglezer zo vriendelijk is geweest mij een voorbeeld-bestand te sturen (dankjewel!).

Je kunt de nieuwe administratiespreadsheet hier downloaden.

Heb jij recent nog nieuwe dingen gedaan in Excel?

Administratiespreadsheet vernieuwen

Het begon met de mededeling dat de Rabobank ging stoppen met het bestandsformaat dat ik importeerde in mijn administratie. Het werd een code-marathon van drie dagen in februari waarin ik mijn administratie vanaf de grond opnieuw opgebouwd heb, en daarna een testperiode waarin ik ook nog allerlei kleine aanpassingen gedaan heb en nog doe. De lay-out bleef ongeveer hetzelfde, want die bevalt me. Maar de meeste macro’s werden grotendeels herschreven, en veel nieuwe functionaliteit toegevoegd.

Waarom herschrijven? Mijn administratie was de eerste spreadsheet die ik echt geprogrammeerd heb met allerlei functies en macro’s in Visual Basic. Leren programmeren door het te doen. Maar inmiddels heb ik het nodige bijgeleerd, en heb ik een aantal functies efficiënter (en dus sneller) kunnen maken. En ik heb toch nog weer een aantal handmatige handelingen weg kunnen automatiseren.

Er komen ook nieuwe functies in. Zo is de spreadsheet nu geschikt voor Rabobank én ABN AMRO, je kunt zelfs met beide naast elkaar in één spreadsheet werken. De importbestanden worden namelijk ‘genormaliseerd’ naar hetzelfde formaat. Ook is er nog steeds ondersteuning voor het importeren van je kasboekje vanuit de KashBook app op de mobiele telefoon. Ik gebruik het zelf niet zo vaak meer, want ik geef bijna geen contant geld meer uit, maar de functie was er toch.

Zit je bij een andere bank, en wil je toch gebruik maken van mijn spreadsheet? Ik ben op zoek naar voorbeeldbestanden van andere banken. De bestanden die je exporteert vanuit internetbankieren. Als je zo’n bestand hebt, wil ik de spreadsheet er wel geschikt voor maken. Laat het me maar even weten!

Verder heb ik alle instellingen bij elkaar gebracht op één pagina. Dat maakt het overzichtelijker. En er is een nieuwe rapportage waarmee je heel snel kunt zien welke uitgaven je gedaan hebt op een specifieke grootboekrekening. Maar ook mijn oude vertrouwde functionaliteit is er nog, zoals het verwerken van creditcard-betalingen.

Rond diezelfde tijd kreeg ik ook een mailtje van een gebruiker van de administratie-spreadsheet. Hij stelde mij een aantal vragen over de werking, omdat er geen handleiding bij zit. Dat laatste was (is) bewust. Mijn spreadsheets zijn vooral bedoeld ter inspiratie, om te laten zien wat er mogelijk is met Excel. Het is geen kant en klaar boekhoudprogramma, daarvoor kun je beter zoiets als WinBank of GnuCash gebruiken (beide overigens ook gratis). Je administratie bijhouden in een spreadsheet vol macro’s, waarbij je zelf niet weet hoe deze macro’s werken, is een beetje riskant. Omdat ik vrij uitgebreid gereageerd heb op de mail die ik kreeg, komt er nu wel een uitgebreidere handleiding bij de spreadsheet. Maar het blijft as-is, ik ga de spreadsheet verder niet ondersteunen.

Rond diezelfde tijd kreeg ik ook een mailtje van een gebruiker van de administratie-spreadsheet. Hij stelde mij een aantal vragen over de werking, omdat er geen handleiding bij zit. Dat laatste was (is) bewust. Mijn spreadsheets zijn vooral bedoeld ter inspiratie, om te laten zien wat er mogelijk is met Excel. Het is geen kant en klaar boekhoudprogramma, daarvoor kun je beter zoiets als WinBank of GnuCash gebruiken (beide overigens ook gratis). Je administratie bijhouden in een spreadsheet vol macro’s, waarbij je zelf niet weet hoe deze macro’s werken, is een beetje riskant. Omdat ik vrij uitgebreid gereageerd heb op de mail die ik kreeg, komt er nu wel een uitgebreidere handleiding bij de spreadsheet. Maar het blijft as-is, ik ga de spreadsheet verder niet ondersteunen.

En oh ja, de gebruikersinterface is in het Engels. Maar stilletjes denk ik na over een versie waar je uit meerdere talen kunt kiezen.

Ik ben de nieuwe versie nog aan het testen, er zitten nog een paar kleine foutjes in. Zo heb ik momenteel ruzie met de floating point error in Excel. Die zorgt ervoor dat 10,00 – 10,00 niet altijd 0,00 als antwoord oplevert. Dat kan best lastig zijn als je bepaalde controles in wilt bouwen. Maar ergens de komende weken hoop ik de tests af te ronden. En dan komt de spreadsheet uiteraard ook hier als download beschikbaar.

Hoe houd jij jouw administratie bij?

Meer Excel en GoogleFinance

  • Berichtcategorie:BeleggenICT

Geldnerd heeft het al vaker gezegd: als je eenmaal begint met spreadsheets, wil je steeds verder. Teruggaan naar minder functionaliteit is geen optie. En dat zorgt ervoor dat ik mijn spreadsheets blijf doorontwikkelen. Telkens opnieuw kom ik een situatie tegen waarin mijn programmatuur niet voorziet (lees: een error). Of ik verzin iets nieuws om mijn spreadsheets functioneel nog beter te maken.

Zo was ik me al een tijdje bewust van een tekortkoming van mijn beleggingsspreadsheet. Tekortkoming in mijn ogen, dan. Alle rapportages focusten vooral op de portefeuille als geheel, en op de fondsen die ik op dit moment in portefeuille heb. Maar ik wilde graag ook wat dieper in kunnen zoomen op individuele fondsen. En die informatie zat nu wel een beetje verstopt.

Dus heb ik een nieuw scherm gebouwd, ‘Fund’. Hier kies je uit een lijst één van de fondsen die in de spreadsheet zitten. Vervolgens worden automatisch alle belangrijke gegevens van dit fonds uit de spreadsheet bij elkaar gehaald. Ook wordt een lijst getoond van alle transacties die ik met dit fonds heb uitgevoerd. Bovendien kun je een specifieke grafiek laten zien van de ontwikkeling van de koers of van de waarde van het betreffende fonds. Hier laat het systeem automatisch de koersen zien uit de periode waarin ik het fonds in portefeuille heb gehad. Hieronder zie je hoe het scherm eruitziet. Het zit nog niet in de versie van de beleggingsspreadsheet die je kunt downloaden. Laat het me maar even weten in de comments of via de contactpagina als jullie er interesse in hebben.

Ook heb ik me iets meer verdiept in GoogleFinance. Deze functionaliteit van de vrienden van Google geeft je een schat aan informatie over allerlei fondsen die je kunt binnenhalen in je spreadsheets. Je kunt bijvoorbeeld historische koersen downloaden. Ik wilde graag bekijken of ik hier iets mee kon om mijn spreadsheet automatisch bij te werken. De GoogleFinance functie werkt voor de Google spreadsheet, maar met een kleine omweg kun je ‘m ook gebruiken in Excel. Hiervoor heb ik een voorbeeldspreadsheet gedownload bij InvestExcel (update 2020: helaas, ze bestaan niet meer). Daarmee ben ik zelf gaan experimenteren.

Daarbij kwam ik er helaas achter dat GoogleFinance maar iets meer dan de helft van de fondsen herkent die ik in portefeuille heb. Daarmee is de functie voor mij maar beperkt bruikbaar. Maar ik ga deze functie wel in de gaten houden, want als het aanbod uitgebreid wordt komen er veel nieuwe mogelijkheden voor mijn spreadsheet-manie.

Heb jij recent nog aan je spreadsheets gesleuteld?

Beleggingsspreadsheet online

  • Berichtcategorie:BeleggenICT

Nadat ik eerder mijn administratiespreadsheet online heb gezet (zie hier en hier) is nu mijn beleggingsspreadsheet aan de beurt. Deze bevat nog veel meer macro’s en zelfgeprogrammeerde functies dan de administratie, ruim 100 Kilobyte aan zelf geprogrammeerde meuk. Ook deze komt weer zonder gebruiksgarantie en zonder uitgebreide handleiding, en met grotendeels fictieve data. Maar in deze blogpost wel een uitleg hoe de spreadsheet globaal in elkaar zit.

Er zijn twee soorten gegevens die ik inlees in mijn spreadsheet. Ten eerste is dat de wekelijkse rapportage van Alex Beleggingen, de beleggingsbroker waar ik gebruik van maak. Als ik bij hen inlog kan ik bij het overzicht van mijn portefeuille een Excel-bestandje downloaden. Met de ‘Import Alex’ knop lees ik dat bestandje in, en zet ik alles in het juiste format (zo verwijder ik bijvoorbeeld lege regels tussen categorieën). Met de ‘Process Quotes’ knop worden deze gegevens vervolgens verwerkt. Zo wordt per fonds de koers (in fondsvaluta) op de juiste regel en de juiste kolom van het werkblad ‘FundHistory’ gezet. Datzelfde doe ik met de waarde van het fonds (in Euro) op het werkblad ‘FundValue’. Ook sla ik de totaalwaarde van mijn portefeuille voor die week op in het werkblad ‘TotalValue’. Daarna wordt het spreadsheetje van Alex automatisch gearchiveerd. Dit Alex rapportje download en verwerk ik eigenlijk elk weekend.

Zoals ik wel eens geschreven heb, maak ik voor mijn beleggingen ook gebruik van Alex Vermogensbeheer (al vraag ik me al een tijdje af: hoe lang nog?). Dit behandel ik in mijn spreadsheet eigenlijk ook als een aandelenfonds. Ik heb mijn originele inleg verdeeld in 1.000 aandelen van € 25. Als ik extra geld bijstort, reken ik dat tegen de dan geldende waarde om naar het aantal aandelen wat ik fictief bijkoop. Elke week haal ik van de Alex website ook de waarde van mijn portefeuille bij Vermogensbeheer. Dit bedrag zet ik in het gereserveerde veld op het ‘Dashboard’ werkblad. Tijdens het importeren van het Alex-bestand wordt dit bedrag ook mee verwerkt, als ware het een normaal aandelenfonds.

Naast de wekelijke rapportage zet ik ook al mijn Beleggingstransacties (werkblad ‘Transactions’) en Cashtransacties (werkblad ‘Cash’) gerelateerd aan de beleggingsrekening in de spreadsheet. Dan gaat het bijvoorbeeld om dividendbetalingen die ik ontvang, of om geld dat ik overmaak van of naar mijn lopende rekening. Bij vrijwel elke beleggingstransactie hoort ook een cashtransactie, bijvoorbeeld bij het kopen van aandelen of het verkopen van aandelen. Ik heb verschillende manieren om dit vast te leggen. Via knoppen op het Dashboard kom je in speciale invoerschermen voor het toevoegen van fondsen en transacties, die op de achtergrond de ingevoerde gegevens in de juiste cel op het juiste werkblad zetten. Maar ik heb ook een (zéér experimentele) aparte spreadsheet waarin ik afschriften van Alex in kan lezen, en om kan zetten naar het format dat ik gebruik in mijn beleggingsspreadsheet. Die experimentele sheet publiceer ik nog maar even niet. Als ik de functies daarin stabiel heb, wil ik ze integreren in de volgende versie van de beleggingsspreadsheet.

Daarmee bevat mijn spreadsheet alle transacties, en op weekbasis de actuele koers en waarde per fonds in mijn aandelenportefeuille. Dat is de basis voor alle berekeningen.

Er zijn twee belangrijke dashboards opgenomen in de spreadsheet. Op het werkblad ‘Actual’ zie je de belangrijkste indicatoren voor mijn portefeuille als geheel, en ook per fonds dat ik op dat moment in portefeuille heb. Ik heb er eerder over geschreven. Deze draaitabel wordt automatisch herberekend als je dit werkblad opent. De gegevens komen uit het werkblad ‘Portfolio’, waar ze worden bijgehouden voor elk fonds dat ik ooit in portefeuille heb gehad. Waarom die aparte draaitabel? Voor het overzicht! Want anders moet je tussen alle fondsen die ik ooit in portefeuille heb gehad op zoek naar de actuele stand van vandaag.

Het tweede dashboard is het werkblad ‘Charts’. Hier kun je kiezen uit diverse soorten grafieken (o.a. koersverloop en waarde-ontwikkeling) met diverse looptijden. Bij de meeste grafieken kun je zelf kiezen welke fondsen je wilt laten zien, automatisch kiest mijn macro de fondsen die op dat moment in portefeuille zijn. Deze grafiek wordt automatisch herberekend als je dit werkblad opent, en ook als je één van de instellingen verandert. Dit is iets waar ik best wel trots op ben, het was best lastig om te programmeren. Ik zoek nog wel naar manieren om het sneller te maken, dus tips zijn meer dan welkom…

Op het werkblad ‘Dashboard’ vind je de knoppen voor de verschillende functies, met ‘Import Alex’ en ‘Process Quotes’ als belangrijkste. Ook staat hier een soort ‘verkorte statistiek, waarin ik snel kan zien hoe de totale waarde zich afgelopen week ontwikkeld heeft en wat de stand van het jaar is. Ook kan ik (in het tabelletje rechts) door een jaar te kiezen kijken wat de belangrijkste kenmerken van dat beleggingsjaar waren.

Let er bij het bestuderen van de spreadsheet op dat niet alle Visual Basic code in de standaard module zit. Een aantal werkbladen heeft ook eigen code. Oh, en dan vergeet ik nog het werkblad ‘Instellingen’. Daar vind je allerlei instellingen en opsommingen die gebruikt worden op verschillende plaatsen in de spreadsheet.

Op de Downloads pagina kun je mijn spreadsheets vinden.

Hoe beheer jij jouw beleggingen?