| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- import yfinance as yf
- from datetime import datetime, timedelta
- def get_closing_price_at_date(stock_symbol, date):
- # Convertir la date en format Y-m-d
- formatted_date = datetime.strptime(date, "%d-%m-%Y")
-
- start_date = formatted_date
- end_date = formatted_date + timedelta(days=1)
-
- start_date = start_date.strftime("%Y-%m-%d")
- end_date = end_date.strftime("%Y-%m-%d")
- # Récupérer les données historiques de l'action
- stock = yf.Ticker(stock_symbol)
- historical_data = stock.history(start=start_date, end=end_date)
-
- #print (historical_data)
- # Vérifier si des données sont disponibles pour la date spécifiée
- if historical_data.empty:
- print("pas dispo"+date+stock_symbol+"\n")
- return None
- # Extraire le prix de clôture à la date donnée
- closing_price = historical_data['Close'].iloc[0]
- return closing_price
-
-
- """
- fonction qui pour chaque date d'un fichier date, et pour chaque couple(nom:indice) d'un fichier valeur
- ecrire dans un nouveau fichier qui sappel {nom} un couple date:le reurn de la fonction get_closing_price_at_date(indice,date)
- """
- def ecrireResultats(nom_fichier_dates, nom_fichier_valeurs):
- with open(nom_fichier_dates, 'r') as fichier_dates:
- dates = fichier_dates.readlines() # Lire toutes les dates dans une liste
- with open(nom_fichier_valeurs, 'r') as fichier_valeurs:
- lignes_valeurs = fichier_valeurs.readlines() # Lire toutes les lignes de valeurs
- for ligne_valeurs in lignes_valeurs:
- nom, indice = ligne_valeurs.strip().split(":")
- for date in dates:
- date = date.strip()
- valeur = get_closing_price_at_date(indice, date)
- nom_fichier_resultats = nom + ".txt"
- with open(nom_fichier_resultats, 'a') as fichier_resultats:
- fichier_resultats.write(date + ":" + str(valeur) + "\n")
- # Exemple d'utilisation
- ecrireResultats("date.txt", "valeur.txt")
|