Endpoint Market Price : des données de prix par séance pour les actions

Présentation détaillée du nouvel endpoint market price : champs de séance, état du marché et données normalisées en USD.

Un champ de prix unique décrit rarement où en est une action. Par exemple, à 8 h 00 (heure de l’Est), AAPL affiche au moins trois valeurs qui pourraient chacune être qualifiées de prix actuel : le cours de clôture de la séance régulière précédente, le prix auquel l’action s’échange en pré-ouverture et la dernière valeur de la séance d’après-clôture de la veille. Une fois réduite à un seul chiffre, aucune de ces valeurs n’indique de quelle séance elle provient ni quand elle a été fixée.

Pour rendre cette distinction visible, FinImpulse dispose désormais d’une Market Price API dédiée, qui renvoie un instantané de prix pour un symbole donné avec la ventilation complète par séance.

Pourquoi un actif peut avoir plus d’un prix actuel

Sur certaines bourses, la formation des prix ne se limite pas à une seule plage horaire. Cette structure est la norme sur les bourses américaines, où la journée est divisée en trois séances :

  • Pré-ouverture : de 4 h 00 à 9 h 30 (heure de l’Est)
  • Séance régulière : de 9 h 30 à 16 h 00 (heure de l’Est)
  • Après-clôture : de 16 h 00 à 20 h 00 (heure de l’Est)

Les séances étendues attirent moins de participants que la séance régulière : un volume plus faible suffit donc à faire bouger le prix, et un mouvement observé après la clôture paraît souvent différent une fois la séance régulière suivante ouverte.

Le cours de clôture de la séance régulière constitue donc le point de référence de la plupart des comparaisons. C’est la valeur qui fonde les cours de clôture officiels et les chiffres quotidiens publiés par les bourses, tandis que les prix des séances étendues décrivent ce qui se produit autour d’elle.

Ce que renvoie la Market Price API

La Market Price API (/v1/market-price) est un endpoint GET qui renvoie un instantané de prix pour un symbole donné.

La réponse se compose de deux parties. Les champs généraux identifient l’actif et décrivent son contexte : le ticker et le nom, la devise de cotation, la capitalisation boursière, l’état du marché et le taux de change utilisé pour la normalisation en USD. Le reste de la réponse est constitué de données de prix, réparties en quatre groupes : prix actuel, marché régulier, pré-ouverture et après-clôture.

Prix actuel

Le prix actuel correspond à la dernière valeur collectée pour l’actif, quelle que soit la séance qui l’a produite. Il est renvoyé dans la devise de l’actif et normalisé en USD, et peut présenter un décalage allant jusqu’à une heure. Le groupe renvoie également un horodatage indiquant le moment où cette valeur a été collectée.

Exemple :

Prix du marché régulier

Le groupe du marché régulier couvre la séance principale. Pendant la séance, regular_market_price renvoie le prix en temps réel ; une fois la séance terminée, le même champ contient le prix de clôture. En complément, le groupe renvoie le prix d’ouverture de la séance, la clôture précédente, le volume, la variation en valeur absolue et en pourcentage, ainsi que l’heure de la dernière transaction enregistrée.

Exemple :

Prix de pré-ouverture et prix d’après-clôture

Les groupes de pré-ouverture et d’après-clôture ont une structure identique : chacun renvoie le prix de sa propre séance, accompagné de la variation et de l’heure de la dernière transaction enregistrée. Tous deux s’appliquent aux actifs cotés sur des bourses organisées en trois séances, le plus souvent des bourses américaines.

Exemple de champs de pré-ouverture :

Exemple de champs d’après-clôture :

Comment déterminer le prix actif

L’endpoint market price renvoie un champ market_state qui permet d’interpréter le reste de la réponse. Il peut prendre quatre valeurs principales :

  • REGULAR — la séance régulière est en cours
  • PRE — la séance de pré-ouverture est en cours
  • POST — la séance d’après-clôture est en cours
  • CLOSED — aucune séance n’est en cours

Ce champ peut également contenir des états plus granulaires, tels que PREPRE, POSTPOST et OVERNIGHT.

Cet état est important, car les champs de séance conservent leur dernière valeur une fois la séance terminée. En dehors de leurs horaires respectifs, chacun d’eux renvoie le prix de la séance la plus récente de ce type, et ne renvoie null qu’en l’absence de telles données. En pratique, pendant les heures de pré-ouverture et d’après-clôture, regular_market_price renvoie le cours de clôture de la dernière séance achevée, et regular_market_time reflète l’heure de clôture de cette séance plutôt que celle d’une transaction en temps réel.

Dans les exemples ci-dessus, market_state est PRE. Seuls current_price et pre_market_price sont actifs et contiennent la même valeur, car le pre-market est la séance qui a produit le cours le plus récent. regular_market_price renvoie la clôture de la séance régulière précédente, et post_market_price la dernière valeur enregistrée la veille au soir.

À quoi ressemble la réponse pour les autres titres cotés

Sur les bourses sans structure à trois séances, l’endpoint renvoie le cours de la séance régulière et le cours actuel, tandis que les champs pre-market et post-market renvoient null. market_state se réduit en conséquence, décrivant l’actif via les états regular et closed.

Les cours sont renvoyés dans la devise de cotation de l’actif ; pour ces actifs, il s’agit donc de la devise locale de la bourse. C’est là que usd_rate et current_price_usd deviennent pertinents, en offrant une base commune de comparaison entre les marchés, sans étape de conversion distincte. Pour les actifs déjà cotés en dollars, usd_rate est renvoyé comme null.

Où utiliser la Market Price API

L’endpoint market price peut être utilisé partout où des cours sont affichés ou traités en temps réel : par exemple, blocs de cours en direct sur les pages de détail des actifs, widgets et watchlists, où la valeur affichée doit correspondre à la séance en cours ; workflows d’alerte et de screening, qui doivent distinguer un cours actif d’un cours reporté ; et surveillance multi-marchés, où les cours normalisés en USD offrent une base commune pour les actifs cotés dans différentes devises.

Comme chaque séance est renvoyée dans la même réponse, une seule requête peut couvrir l’affichage, la comparaison et les vérifications programmatiques — chacun lisant un champ différent, sans appel supplémentaire.