# -*- coding: utf-8 -*- """ Spyder Editor A FAIRE: 1/ telecharger les cours des composantes du CAC40 (ou DJIA, ou ...) en prix journaliers (au moins le "close") si possible depuis 5 ans Idee: utiliser yahoo comme source et par exemple yfinance "pip install yfinance" 2/ dessiner l'histograme du prix et du rendement (avec "log" et "linéaire") 3/ tester la normalité des prix, celle des rendements log et celle des rendements "linéaires" (par exemple utiliser scipy.stats.normaltest) """ import pandas as pd import numpy as np import matplotlib.pyplot as plt from scipy.stats import normaltest import yfinance as yf ticker_list_cac40= ['ORA.PA','ATO.PA'] full_ticker_list_CAC40_nov21_wiki=["AI.PA","AIR.PA","ALO.PA","MT.AS","CS.PA","BNP.PA","EN.PA","CAP.PA","CA.PA", "ACA.PA","BN.PA","DSY.PA","ENGI.PA","EL.PA","ERF.PA","RMS.PA","KER.PA","OR.PA", "LR.PA","MC.PA","ML.PA","ORA.PA","RI.PA","PUB.PA","RNO.PA","SAF.PA","SGO.PA","SAN.PA", "SU.PA","GLE.PA","STLA.PA","STM.PA","TEP.PA","HO.PA","TTE.PA","URW.AS","VIE.PA","DG.PA", "VIV.PA","WLN.PA"] historical_prices={} for tt in ticker_list_cac40: tk = yf.Ticker(tt) hist_tk = tk.history(period="max") historical_prices[tt]= hist_tk # version avec csv sur le site du cours data = pd.read_csv('cac40_30.csv',sep=';', index_col = 0) data.head() data.keys() # plot histogram of prices _=data.hist(bins=30, figsize = (15,15)) niveau=0.01 pvalues=[] for cols in data.keys(): # tester la normalité de chaque colonne pv=normaltest(data[cols],nan_policy='omit').pvalue pvalues.append(pv) if(pv