{ "cells": [ { "cell_type": "markdown", "id": "ec3ef63a", "metadata": {}, "source": [ "# Analyse des données du CAC 40\n", "\n", "L'objectif de cet exercice est de manipuler des données à l'aide de listes et de dictionnaires (sans utiliser de tableaux numpy).\n", "\n", "Télécharger depuis le site https://fr.finance.yahoo.com/quote/%5EFCHI/history/ les données du CAC 40 depuis 3 ans. Le fichier obtenu contient : la date, le cours d'ouverture, le plus haut, le plus bas, le cours de clôture, le cours de clôture ajusté et le volume de titres échangés. Ce contenu est séparé par des `,`.\n", "\n", "Remarque : la méthode `split` d'une chaine de caractère permet de la séparer en plusieurs sous chaînes. Par exemple : \n", "\n", "```\n", "s = '12,bonjour,3.14'\n", "print(s.split(','))\n", "```\n", "\n", "On suprimera la première ligne du fichier.\n", "\n", "1. Afficher les 10 premières lignes du fichier\n", "\n", "2. Créer une liste contenant le plus haut de la bourse jour par jour. Qu'elle est la valeur la plus haute du CAC 40 ?\n", "\n", "3. Écrire une fonction qui prend le jour, le mois et l'année et renvoie une chaîne de caractère pour la date sous la forme : aaaa-mm-jj (par exemple 1515-09-13)\n", "\n", "4. Écrire une fonction qui renvoie le plus bas d'une journée à partir du jour, du mois et de l'année. Cette fonction renverra une exception si le jour n'existe pas. \n", "\n", "5. Plutôt qu'une liste, on va utiliser un dictionnaire dont la clé sera la date. Créer un dictionnaire qui contiendra pour chaque jour un dictionnaire avec pour clé : 'haut', 'bas', 'ouverture', 'fermeture', 'volume'. Par exemple on pourra utiliser :\n", " ```cac_40['2020-10-05']['haut']```\n", "\n", "6. Enregistrer ce dictionnaire dans un fichier au format json. Vérifier que vous pouvez l'ouvrir !\n", "\n", "7. Regarder la documentation de la fonction ``parse`` du module ``dateutil.parser`` et trouver le moyen de convertir une date sous la forme ``2020-10-05`` en un nombre (nombre de jour ou nombre de seconde depuis une date donnée). \n", "\n", "8. Tracer l'évolution au cours du temps de CAC 40." ] }, { "cell_type": "markdown", "id": "501f2f54", "metadata": { "tags": [ "sol" ] }, "source": [ "--------------------------------------------------------------------------------------\n", "\n", "## Solution" ] }, { "cell_type": "code", "execution_count": 1, "id": "93fe5bad", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2020-07-30,4952.080078,4952.379883,4801.020020,4852.939941,4852.939941,137065700\n", "2020-07-31,4866.240234,4902.899902,4783.689941,4783.689941,4783.689941,129676300\n", "2020-08-03,4797.060059,4899.520020,4763.600098,4875.930176,4875.930176,104619900\n", "2020-08-04,4905.660156,4920.799805,4856.649902,4889.520020,4889.520020,86945300\n", "2020-08-05,4916.959961,4954.600098,4907.410156,4933.339844,4933.339844,74970100\n", "2020-08-06,4919.410156,4951.859863,4860.979980,4885.129883,4885.129883,80015300\n", "2020-08-07,4873.100098,4896.209961,4843.899902,4889.520020,4889.520020,62365400\n", "2020-08-10,4905.270020,4937.629883,4878.580078,4909.509766,4909.509766,62044500\n", "2020-08-11,4952.410156,5052.120117,4949.049805,5027.990234,5027.990234,97809400\n", "2020-08-12,5017.729980,5096.529785,5010.799805,5073.310059,5073.310059,76792800\n" ] } ], "source": [ "with open('data/cac40.csv') as f:\n", " toutes_les_lignes = f.readlines()\n", "\n", "toutes_les_lignes = toutes_les_lignes[1:]\n", " \n", "for elm in toutes_les_lignes[:10]:\n", " print(elm.strip())" ] }, { "cell_type": "code", "execution_count": 2, "id": "2e5d0541", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7581.259766" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "plus_haut = []\n", "for elm in toutes_les_lignes:\n", " plus_haut.append(float(elm.split(',')[2]))\n", "\n", "max(plus_haut) # Remarque : ne pas coder soi même la fonction max!" ] }, { "cell_type": "code", "execution_count": 3, "id": "4d6e7704", "metadata": {}, "outputs": [], "source": [ "def format_date(jour, mois, annee):\n", " \"\"\"Formate la date sous la forme : jj/mm/aa\n", " \"\"\"\n", " return f\"{annee:04d}-{mois:02d}-{jour:02d}\"\n", "\n", "# 02d : écriture decimale, 2 chiffres en tout, mettre des 0 devant \n", "\n", "assert format_date(13, 9, 1515)=='1515-09-13'\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "5bc1f15e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "4842.259766\n" ] } ], "source": [ "def plus_bas(jour, mois, annee):\n", " date_demandee = format_date(jour, mois, annee)\n", " for elm in toutes_les_lignes:\n", " date, ouverture, haut, bas, fermeture, fermeture_ajust, volume = elm.split(',')\n", " if date==date_demandee:\n", " return float(bas)\n", " raise Exception(f\"La date {date_demandee} n'a pas pu être trouvée\")\n", "\n", "print(plus_bas(5, 10, 2020))\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "id": "770a3ba5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4871.870117" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cac_40 = {}\n", "for elm in toutes_les_lignes:\n", " date, ouverture, haut, bas, fermeture, fermeture_ajust, volume = elm.split(',')\n", " line = {\n", " 'ouverture':float(ouverture),\n", " 'haut' : float(haut),\n", " 'bas' : float(bas),\n", " 'fermeture' : float(fermeture),\n", " 'volume' : int(volume)\n", " }\n", " cac_40[date] = line\n", " \n", "cac_40['2020-10-05']['fermeture']" ] }, { "cell_type": "code", "execution_count": 6, "id": "481c69d9", "metadata": {}, "outputs": [], "source": [ "import json\n", "\n", "with open('/tmp/cac_40.json', 'w') as f:\n", " json.dump(cac_40, f, indent=3)" ] }, { "cell_type": "code", "execution_count": 7, "id": "fa84bd82", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "4871.870117" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "with open('/tmp/cac_40.json') as f:\n", " tmp = json.load(f)\n", " \n", " \n", "tmp['2020-10-05']['fermeture']" ] }, { "cell_type": "code", "execution_count": 8, "id": "4b80f4be", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "737703\n" ] } ], "source": [ "from dateutil.parser import parse\n", "day = parse('2020-10-05')\n", "\n", "print(day.toordinal())" ] }, { "cell_type": "code", "execution_count": 9, "id": "692a2bc6", "metadata": {}, "outputs": [], "source": [ "list_of_day = []\n", "list_of_ouverture = []\n", "for key, elm in cac_40.items():\n", " list_of_day.append(parse(key).toordinal())\n", " list_of_ouverture.append(elm['ouverture'])\n", "\n", " " ] }, { "cell_type": "code", "execution_count": 10, "id": "05000250", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "plt.plot(list_of_day, list_of_ouverture)\n" ] }, { "cell_type": "code", "execution_count": null, "id": "942de537", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.8" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 5 }