An open API service indexing awesome lists of open source software.

https://github.com/camara94/data_analyse_series_temporelles

Dans ce tutoriel, nous allons répondre aux questions suivantes: 1. Lire les données Microsoft à l'aide du package **Pandas Data reader** 2. Obtenez le **prix maximum** de l'action de **2017 à 2022** 3. Quelle est la **date du cours le plus élevé** de l'action ? 4. Quelle est la **date du cours le plus bas** de l'action ?
https://github.com/camara94/data_analyse_series_temporelles

data-analysis data-analysis-python data-science data-structures-and-algorithms data-visualization serie series-forecasting

Last synced: 2 months ago
JSON representation

Dans ce tutoriel, nous allons répondre aux questions suivantes: 1. Lire les données Microsoft à l'aide du package **Pandas Data reader** 2. Obtenez le **prix maximum** de l'action de **2017 à 2022** 3. Quelle est la **date du cours le plus élevé** de l'action ? 4. Quelle est la **date du cours le plus bas** de l'action ?

Awesome Lists containing this project

README

        

# Data Analyse Series Temporelles

Dans ce tutoriel, nous allons répondre aux questions suivantes:
1. Lire les données Microsoft à l'aide du package **Pandas Data reader**
2. Obtenez le **prix maximum** de l'action de **2017 à 2022**
3. Quelle est la **date du cours le plus élevé** de l'action ?
4. Quelle est la **date du cours le plus bas** de l'action ?

## Installation du Package pandas_reader



!pip install pandas-datareader

## Importation des Package



import pandas_datareader as pdr
import matplotlib.pyplot as plt
import numpy as np
plt.style.use('ggplot')
%matplotlib inline

## Site Yahoo Finance

Nous allons récupérer la référence de Microsoft sur le **site de yahoo finances** à travers ce lien ci-dessous:

[https://finance.yahoo.com/quote/MSFT/](https://finance.yahoo.com/quote/MSFT/)

## Créer le Dataset des Actions de microsoft



df_microsoft = pdr.get_data_yahoo('MSFT')

## Répresantation de la Colonne Close



plt.figure(figsize=(16,6))
plt.plot(df_microsoft.loc['2017','Close'])

## Quelques Aggrégations



les_max = df_microsoft.High.resample('W').agg(['max', 'mean'])
les_min = df_microsoft.High.resample('W').agg(['min'])

## Répresentation Personnalisée



plt.figure(figsize=(16,6))
les_max['2018']['mean'].plot(c='green')
plt.fill_between(
les_max['2018'].index,
les_max['2018']['max'],
les_min['2018']['min'],
alpha=0.3
)

## Les Prix Minimum et Maximum de 2017 à 2022



price_max_from_2017_to_2022 = df_microsoft.High.agg(['max'])
price_min_from_2017_to_2022 = df_microsoft.Low.agg(['min'])

## Affichage du Prix Minimum et Maximum



index_max = df_microsoft[df_microsoft['High'] == price_max_from_2017_to_2022['max']].index
index_min = df_microsoft[df_microsoft['Low'] == price_min_from_2017_to_2022['min']].index
plt.figure(figsize=(16, 8))
plt.plot(df_microsoft.index, df_microsoft.High, c='g')
plt.scatter(np.array([index_max]), price_max_from_2017_to_2022['max'], lw=13, c="b", label=f'Le {index_max[0].strftime("%d/%m%Y")}')
plt.scatter(np.array([index_min]), price_min_from_2017_to_2022['min'], lw=13, c="r" , label=f'Le {index_min[0].strftime("%d/%m/%Y")}')
plt.legend()

## Définition d'une periode_fr

Cette fonction permet de retourner la periode en français



def periode_fr(periode):
p = ''
if periode == 'Q':
p = 'Trimestre'
elif periode == 'M':
p = 'Mois'
elif periode == 'D':
p = 'Jour'
elif periode == 'W':
p = 'Semaine'
return p

## Répresentation Personnalisée des Colonnes



def graphiphique_perso(df_microsoft, periode, annee, col, fun_agg, c='g'):
data = df_microsoft.resample(periode).agg(['max', 'mean', 'min']);
plt.figure(figsize=(16, 5))
plt.plot(data[annee][col][fun_agg], label=f'{fun_agg}', c=c)
plt.fill_between(
data[annee][col].index,
data[annee][col]['min'],
data[annee][col]['max'],
alpha=0.3)
plt.title(f'L\'analyse de la colonne {col} par {periode_fr(periode)}')
plt.legend();