L’analyse boursière ou la valorisation de portefeuilles-titres cotés nécessite d’obtenir les cours de bourse. De nombreux sites internet proposent de télécharger les cours que soit sous forme de fichier texte ou par le biais d’une requête web.
Comme Boursorama, Yahoo Finance diffuse gratuitement de nombreuses informations et actualités sur les indices boursiers, les taux, les cours de matières premières, de devises, d’actions, d’OPCVM, de trackers, de dérivés… Ces données sont librement téléchargeables.
Le suivi régulier d’un portefeuille-titres bien fourni nécessite de nombreux téléchargements. Réalisés manuellement, ces téléchargements se révèlent vite fastidieux. Pour éviter de saisir les différents paramètres (codes valeurs et dates) à chaque téléchargement, il est possible d’automatiser la transmission des dits paramètres à l’aide de liens hypertextes dynamiques. Un lien dynamique est un lien qui est calculé à la volée en fonction des critères sélectionnés par l’utilisateur.
Exemple avec la cote de l’action STELLANTIS (STELLANTIS est issue de la fusion entre PEUGEOT PSA et FCA en janvier 2021). Sur Yahoo Finance, le code valeur de l’action Stellantis est STLA.PA (sur la place de Paris). L’URL Yahoo Finance pour accéder à l’historique de cotation de cette valeur est :
https://fr.finance.yahoo.com/quote/STLA.PA/history?period1=1609459200&period2=1671494400&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true
L’URL est constituée :
- du code de la valeur : ici STLA.PA = STELLANTIS. Pour obtenir le code valeur, il suffit de rechercher la valeur en claire sur Yahoo Finance.
- de la plage de dates : period1= suivi de la date de début et period2= suivi de la date de fin ; les dates sont ici au format timestamp UNIX ; exemple : period1=1609459200&period2=1671494400 (soit du 1er janvier 2021 au 20 décembre 2022)
- Fréquence : quotidienne = 1d, hebdomadaire = 1wk ou mensuelle = 1mo
- Evénement : events=history (pour cours historiques)
Une fois les différentes composantes de l’URL connues, il est aisé de la créer de toutes pièces.
Les dates (period1 et period2) sont exprimées au format timestamp UNIX (exprime le nombre de secondes écoulées entre la date voulue et le 1er janvier 1970). Pour convertir les dates début et fin dans le format UNIX, il suffit d’utiliser la formule Excel suivante (la cellule A5 contenant la date à convertir) :
=(A5-DATE(1970;1;1))*86400
La fonction DATE(année;mois;date) renvoie une date (numéro de série) à partie des paramètres fournis par l’utilisateur. 86 400 correspond au nombre de secondes par jour = 60 secondes * 60 minutes * 24 heures…
Le classeur Excel Conversion date Yahoo.xlsx, téléchargeable ci-après, fournit un exemple de conversion de date Excel<->UNIX. Le site internet https://www.unixtimestamp.com/ fournit un calculateur de dates au format UNIX.
L’URL STELLANTIS décrite ci-avant renvoie la page suivante : https://fr.finance.yahoo.com/quote/STLA.PA/history?period1=1609459200&period2=1671494400&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true.
Pour télécharger successivement les cotations historiques de différentes valeurs, il suffit de créer des liens hypertextes à la volée :
Le classeur exemple Excel (téléchargeable ci-après) fonctionne ainsi :
- La liste des valeurs à suivre est stockée sur la plage I1:J3 (codes valeurs Yahoo Finance et noms en clair).
- L’utilisateur sélectionne la valeur à analyser en cellule B1 (le menu déroulant pointe sur la plage de valeurs à suivre à l’aide du menu Données / Validation des données) :
- Ceci fait, le code-valeur se met à jour en B2 à l’aide de la fonction RECHERCHEX (qui recherche le nom de la valeur dans la liste de valeurs et restitue le code de la valeur) :
=RECHERCHEX(B1;J1:J3;I1:I3)
- Dans le cadre de cet exemple, les dates de début et de fin de cotation sont calculées ainsi (mais l’utilisateur est libre de déterminer les dates qui l’intéressent) :
Date début : =FIN.MOIS(AUJOURDHUI();-12*2)+1
Date fin : =AUJOURDHUI()
La date de début renvoie le premier jour du mois (FIN.MOIS…+1) 24 mois en arrière (d’où -12*2) par rapport à la date du jour (fonction AUJOURDHUI). La date de fin correspond à la date du jour (fonction AUJOURDHUI).
- Le lien dynamique est calculé à l’aide de la fonction LIEN_HYPERTEXTE :
=LIEN_HYPERTEXTE(“https://fr.finance.yahoo.com/quote/”&B2&”/history?period1=”&(B3-DATE(1970;1;1))*86400&”&period2=”&(B4-DATE(1970;1;1))*86400&”&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true”;”Lien vers téléchargement Yahoo “&B1)
Toutes les informations sur la génération de liens hypertextes dynamiques sont fournies à l’adresse suivante : https://www.auditsi.eu/?p=10608.
Dans l’exemple qui nous intéresse, le lien généré renvoie la page suivante :
Pour télécharger les données historiques (fichier au format texte), cliquer sur le bouton Télécharger. Toutes les explications pour télécharger les cotations et les exploiter : https://www.auditsi.eu/?p=9490.
Autre exemple de création de liens hypertextes dynamiques : piloter Google Maps pour calculer des itinéraires, distances et temps de parcours entre deux villes
Pour en savoir plus sur la création de liens hypertextes dans Excel (et notamment les faux liens type phishing ou hameçonnage) : cf 3ème volet de la formation accélérée Excel.
___
Approfondir le sujet : tous les articles sur la bourse
Derniers articles parBenoît RIVIERE (voir tous)
- Les données de la facturation électronique - mercredi 9 octobre 2024
- VBA/SQL vs Power Query : deux solutions complémentaires - mercredi 2 octobre 2024
- L’IA dans les cabinets comptables : cas concrets - jeudi 26 septembre 2024
- EXCEL : insérer une image ou un logo dans une cellule - lundi 16 septembre 2024
- Lancer l’exécution d’un script Python à partir d’une macro VBA - lundi 9 septembre 2024