import yfinance as yf from datetime import datetime, timedelta import ast import os from Processing import * import importlib import sys import re def get_stock_price(stock_symbol): try: # Récupérer les données du marché pour le symbole d'action donné stock_data = yf.Ticker(stock_symbol) # Récupérer les données historiques avec la date actuelle comme date de fin stock_info = stock_data.history(period='1d') # Obtenir la valeur actuelle de l'action (le dernier prix de clôture) current_price = stock_info['Close'].iloc[-1] return current_price except Exception as e: return f"Une erreur s'est produite : {str(e)}" def lireNBCouche(filepath): print(filepath) try: with open("filepath, 'r') as file: # Lire les lignes du fichier lines = file.readlines() # Initialiser les variables pour stocker les trois nombres nb1 = None nb2 = None nb3 = None # Parcourir chaque ligne pour extraire les nombres for line in lines: if line.startswith('NB1:'): nb1 = int(line.split(':')[-1].strip()) elif line.startswith('NB2:'): nb2 = int(line.split(':')[-1].strip()) elif line.startswith('NB3:'): nb3 = int(line.split(':')[-1].strip()) print("ouidd") # Vérifier si tous les nombres ont été trouvés if nb1 is not None and nb2 is not None and nb3 is not None: print("oui") return nb1, nb2, nb3, 40 else: print("non") raise ValueError("Les nombres NB1, NB2 et NB3 ne sont pas tous présents dans le fichier.") except Exception as e: print("nnnn") return f"Une erreur s'est produite : {str(e)}" def live(): valeurs_ponderees =[] #valeurs_ponderees = Recupere les 30 derniere valeurs * 41 #valeurs=RecupereLes40valeurs() Atest = os.listdir("Atest") for entest in Atest: Fichier = "Atest/" + entest nbCouche1,nbCouche2,nbCouche3,nbCouche4 = lireNBCouche(Fichier) resAchat1, resAchat2, resAchat3, resVente = lireAchat(Fichier) weight1,weight2,weight3,weight4 = lirePoids(Fichier) couche1, couche2, couche3, couche4 = lireCouche(Fichier) Portfeuille = lirePortefeuille(Fichier) Action = lireAction(Fichier) for date in range(len(dates)): res = processing(valeurs_ponderees,weight1,weight2,weight3,weight4,couche1,couche2,couche3,couche4,nbCouche1,nbCouche2,nbCouche3,nbCouche4) for i in range(0,40): Action[i],Portfeuille=evaluation(res[i], valeurs_date[date][i], Action[i], Portfeuille,resAchat1,resAchat2,resAchat3,resVente,Achat1,Achat2,Achat3,Frais) ecrirePortefeuille(Fichier) ecrireActions(Fichier) ecrireResultat(Fichier) live()