Vastgoedprijsindex derde kwartaal 2019

STATBEL, het Belgische statistiekbureau, berekent elk kwartaal een index van de vastgoedprijzen conform de Europese regelgeving.

In het derde kwartaal 2019 bedraagt het jaarlijkse inflatiecijfer voor de vastgoedprijzen 3,9% tegenover 3,0% in het vorige kwartaal. De gemiddelde inflatie van de vier laatste kwartalen bedraagt 3,3%. De vastgoedprijsindex bedraagt 115,28 punten (2015=100), tegenover 112,01 punten in het vorige kwartaal en stijgt met 2,9% ten opzichte van het tweede kwartaal 2019.

schermafdruk csv
Jaarlijkse inflatie
Evolutie van de woningprijzen

Bron: https://statbel.fgov.be/nl/themas/bouwen-wonen/residentiele-vastgoedprijsindex#news

Bestand

Voor deze oefening vertrekken we van een bestand gedownload via StatBel. Het bestand bevat een overzicht van de vastgoedprijsindex (HPI = house price index) per kwartaal sedert 2005.

Hieronder zie je een schermafdruk van de eerste 10 lijnen van het bestand.

schermafdruk csv
HPIdata.csv
Eerste 10 lijnen in het bestand.

Nieuwe versus bestaande woningen

Behalve de HPI, beschikken we ook over de vastgoedprijsindex voor nieuwe woningen (kolom "Nouveaux logements") en bestaande woningen (kolom "Logements existants").

De vastgoedprijsindex kan worden opgesplitst in twee posten: nieuwe woningen en bestaande woningen. In het derde kwartaal 2019 bedroeg de vastgoedprijsindex voor nieuwe woningen 116.77 en 114.59 voor bestaande woningen. Het gewicht van deze twee posten in het algemene indexcijfer (hpi) bedraagt respectievelijk 32% en 68% voor het jaar derde kwartaal van 2019. Dit gewicht wordt elk kwartaal opnieuw vastgesteld.

De totale vastgoedprijsindex in het derde kwartaal van 2019 bedroeg dan
115.28 = 0.32 * 116.77 + 0.68 * 114.59

In het eerste kwartaal van 2005 was deze verhouding 25% nieuwe woningen versus 75% bestaande woningen. De totale vastgoedprijsindex in het Q1 van 2005 bedroeg dan
69.7 = 0.25 * 79.74 + 0.75 * 66.35

Databestanden

Encoding

Het databestand is een csv-bestand bewaard vanuit MS-Excel. Bij het openen in Python moet je specifiëren dat de encoding 'utf-8-sig' is.

f = open('HPIdata.csv', 'r', encoding='utf-8-sig')
            

Programma debuggen

Je kan voor deze oefening de Python Tutor (na indienen op Dodona) niet gebruiken aangezien deze geen toegang heeft tot de bestanden. Als je de oefening wil debuggen, zal je deze lokaal moeten maken in PyCharm of in een Jupyter Notebook. Je moet dan het bestand downloaden en bewaren in dezelfde map als je .py of .ipynb bestand.

Je kan het bestand hier downloaden: HPIdata.csv1

Opgave

  1. verplaats_kwartaal

    Schrijf een functie verplaats_kwartaal met twee argumenten:

    • startkwartaal: een string opgebouwd uit jaartal, de letter Q en een cijfer (1, 2, 3 of 4). Voorbeeld derde kwartaal van 2019 = '2019Q3'
    • aantal: een geheel getal dat aangeeft hoeveel kwartalen verplaatst moet worden. Een positief getal betekent dat we vooruit in de tijd gaan, een negatief getal terug in de tijd.

    De functie retourneert een string van dezelfde vorm als het startkwartaal maar verplaatst over het opgegeven aantal kwartalen.

    Voorbeelden
    >>> verplaats_kwartaal('2019Q3', 2)
    '2020Q1'
    
    >>> verplaats_kwartaal('2019Q3', -1)
    '2019Q2'
    
    >>> verplaats_kwartaal('2019Q3', -4)
    '2018Q3'
    
          
  2. inlezen

    Schrijf een functie inlezen zonder argumenten.

    De functie leest het bestand 'HPIdata.csv' in en retourneert een geneste dictionary.

    De sleutels in de dictionary zijn de kwartalen. De waarden zijn telkens opnieuw een dictionary met drie elementen: 'hpi', 'nieuw' en 'bestaand'. De waardan van de subdictionaries zijn floating point getallen.

    Voorbeeld
    >>> inlezen()
    {'2005Q1': {'hpi': 69.72888981, 'nieuw': 79.73539794, 'bestaand': 79.73539794}, '2005Q2': {'hpi': 71.29172624, 'nieuw': 79.9116796, 'bestaand': 79.9116796},  
    ...
    '2019Q3': {'hpi': 115.2825184, 'nieuw': 116.7749705, 'bestaand': 116.7749705}}
    
          
  3. jaarlijkse_inflatie

    Schrijf een functie jaarlijkse_inflatie met twee argumenten (strings): kwartaal en type_vastgoed ('hpi', 'nieuw' of 'bestaand').

    De functie gebruikt vorige functie inlezen om de jaarlijkse inflatie te bereken. De inflatie is de procentuele stijging (of daling) van het betreffenden indexcijfer in het opgegeven kwartaal ten opzichte van een jaar eerder.

    Als de nodige gegevens niet opgenomen zijn in het databestand, dan retourneert de functie de string 'gegevens ontbreken'.

    Voorbeelden
    >>> jaarlijkse_inflatie('2019Q3', 'hpi')
    3.927211937312098
    >>> jaarlijkse_inflatie('2005Q2', 'hpi')
    'gegevens ontbreken'
    >>> jaarlijkse_inflatie('2009Q2', 'nieuw')
    -1.4767369457852255
          
    Afhankelijk van de gebruikte formule kan jullie uitkomst licht afwijken. Geen zorg. Dodona controleert niet tot op alle cijfers na de komma.
  4. gemiddelde_inflatie

    Schrijf een functie gemiddelde_inflatie met twee argumenten (strings): startkwartaal en een eindkwartaal.

    De functie gebruikt functie inlezen om de gegevens uit het databestand op te halen en berekent de gemiddelde jaarlijkse inflatie van alle kwartalen tussen het startkwartaal en eindkwartaal (grenzen inclusief). Neem hiervoor de kolom hpi.

    Als de nodige gegevens niet opgenomen zijn in het databestand, dan retourneert de functie de string 'gegevens ontbreken'.

    De gemiddelde jaarlijkse inflatie wordt afgerond op één cijfer na de komma.

    Voorbeelden
    >>> gemiddelde_inflatie('2006Q2', '2008Q2')
    7.8
    >>> gemiddelde_inflatie('2013Q4', '2014Q1')
    -0.1
    >>> gemiddelde_inflatie('2005Q2', '2008Q2')
    'gegevens ontbreken'
          

 

Bron: StatBel, https://statbel.fgov.be/nl/themas/bouwen-wonen/residentiele-vastgoedprijsindex#news