Aller au contenu

Récupération des données du cours de bourse

Il s'agit de récupérer des données au près des plateformes open data reliées aux grandes bourses du monde entier. Ces plateformes donne accès aux cours de la bourse par des API que nous utilisons grâce au langage Python.

La plateforme TradingInPython se connecte à n'importe qu'elle source de data, ici nous sommes avec YahooFinance mais vous pouvez tout aussi bien vous connecter à d'autres sources comme IBKR et d'autres.

Sélection de l'action à trader

L’application s’ouvre sur la dernière action que vous aviez sélectionnée pour trader.

Exemple : Si vous étiez sur l’action BMW (secteur automobile), vous pouvez passer votre souris sur l’indication "secteur de la stock", l'indication vous demande de choisir le menu "Stocks" pour choisir un autre secteur :

Choisir le secteur de la stock à trader

Cliquez sur le menu "Stocks" pour changer le secteur ou le portefeuille de l'action à trader :

Secteur de la stock à trader

Vous vous retrouvez avec les actions (stocks) du secteur de l'aérospatial-défense :

Vous choisissez l'action que vous souhaitez trader parmi ce secteur.

Choisir l’intervalle et la période

Vous observez le cours des actions qui vous intéressent en sélectionnant un intervalle de temps et une période sur laquelle vous souhaitez analyser le cours de ces actions.

Le choix de l'intervalle et de la période se fait parmi les valeurs suivantes :

  • L’intervalle de temps (Interval) pour l’échantillonnage (1 m, 2 m, 5 m, 15 m, 30 m, 60 m, 1h, 4h, 1d, …)
  • La période d’analyse (Period) ou bien des dates de début et de fin.

Grâce à l'interface :

TradingInPython
Sélection de l'action et de la période d'analyse

Paramètres supportés

  • period : 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max.
  • interval : 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 4h, 1d, 5d, 1wk, 1mo, 3mo.

Note : Les données intraday (ex : 1 m, 2 m) ne peuvent pas s’étendre sur une période trop ancienne. Vous risquez alors de voir un message NO DATA afficher sur l'interface.

Vous choisissez ensuite parmi les stratégies d'analyses proposées par la plateforme de trading.

Récupération des datas sur une période de temps donnée

Vous avez trois façons de récupérer des données :

  • La première c'est avec "Interval" et "Period" mais cette méthode est limitée et vous ne pouvez pas retourner dans le passé.

De toutes les façons, sélectionnez un "Interval" d'échantillonnage et en suite,

  • Pour utiliser "Jours dans le passé" et "Jours avant la fin" sélectionnez "none" (tout en bas de la liste) dans "Period".

Vous pouvez alors remonter dans le passé sur une période de temps égale à "Jours avant la fin" moins "Jours dans le passé".

  • Pour utiliser les deux dates "Date de début" et "Date de fin", il vous faut mettre :

  • "Period" à "none"

  • "Jours dans le passé" à 0
  • "Jours avant la fin" à 0

Dans ce cas, les données sont récupérées entre "Date de début" et "Date de fin".

Le bouton "Now" vous permet de remplir automatiquement "Date de fin" avec la date d'aujourd'hui.

Voici une page pour vous expliquer en détails comment faire :

Récupération des données en temps réel

Pour chacune des stratégies, vous avez la case "AUTO" dans la fenêtre "Indicateurs secondaires" pour récupérer les données en temps réel, à intervalle de temps régulier, ainsi vous pouvez voir les graphiques du cours de l'action se dessiner au fil du temps.

Récupération des data en temps réel

Vous avez la possibilité de suivre le cours de l’action minute par minute :

  • Cochez la case "AUTO" (ou mode automatique) pour que les données soient récupérées en continu.
  • Une thread dédiée démarre pour récupérer les données en temps réel, et les graphiques se mettent à jour dynamiquement.

La console vous prévient que le mode Automatique a démarré :

Console indication mode AUTO

La console affiche le message "Auto started ...".

Remarques pratiques

  • Veillez à choisir l’intervalle en fonction de votre horizon de trading : intraday, swing, ou long terme.
  • Prenez garde à la granularité : par exemple, un intervalle de 1 m sur une période de plusieurs mois peut être lourd en données.
  • Si vous utilisez les dates de début/fin plutôt que period, vous avez plus de flexibilité pour remonter dans les archives.
  • Pour un suivi réel (minute par minute), vous avez l’option AUTO.

Exemple de code avec la librairie yfinance

Si vous souhaitez, voici un le code Python illustrant la récupération des données :

import yfinance as yf

ticker = yf.Ticker("BMW.DE")  # Symbole de l’action

data = ticker.history(
    interval="1h",
    period="6mo",            # exemple pour les 6 derniers mois
    prepost=True             # si disponible, inclure pré- et post-marché
)

# Différentes façons d'appeler la fonction de récupération des donnée
data = ticker.history( 
    period=period_select, 
    interval=interval_fecth, 
    prepost=prepost, 
    auto_adjust=auto_adjust
)

data = ticker.history( 
    start=_date_start, 
    end=_date_end, 
    interval=interval_fecth, 
    prepost=prepost, 
    auto_adjust=auto_adjust
)