Databestand

Voor deze opgave beschik je over een databestand WIKI-AAPL.csv gedownload via Quandl.com1.

Het bevat de gegevens van het Apple aandeel tussen 1/1/2015 en 27/3/2018. Hieronder zie je een schermafdruk van de eerste 6 rijen.

csv schermafdruk
Visuele voorstelling van de eerste 5 records
Hier zie je de eerste 6 rijen in de dataset. De eerste rij bevat de namen van de velden, daarna volgen 813 data-rijen.

Voor deze oefening zijn we enkel geïnteresseerd in de datum (kolom Date) en de laagste en hoogste prijs op die dag (kolommen Low en High).

Het databestand is beschikbaar in het working directory van Dodona.

Als je de oefening lokaal wilt maken (in PyCharm of in een Jupyter Notebook), dan moet je het databastand downloaden en bewaren in dezelfde map als je .py of .ipynb bestand.

Je kan het bestand hier downloaden: WIKI-AAPL.csv2

Opgave

Schrijf een functie calculate_profit die drie argumenten heeft:

De functie leest het databestand in en berekent de winst als je n aandelen koopt op de aankoopdatum en die weer verkoopt op de verkoopdatum. We gaan ervan uit dat de aandelenprijs telkens het gemiddelde is tussen de laagste en hoogste prijs van die dag.

De functie retourneert een reëel getal. Als een opgegeven datum niet in de dataset voorkomt, dan wordt de string 'data not available' geretourneerd. Als de aankoopdatum na de verkoopdatum valt, dan wordt de string 'dates incorrect' geretourneerd.

Voorbeeld

>>> calculate_profit('2018-03-21', '2018-03-27', 100)
-214.00000000000148
>>> calculate_profit('2018-03-21', '2018-03-21', 100)
0.0
>>> calculate_profit('2018-03-27', '2018-03-21', 100)
'dates incorrect'
>>> calculate_profit('2019-03-27', '2018-03-21', 100)
'data not available'
>>> calculate_profit('2016-03-31', '2016-06-10', 100)
-1047.7150000000008