Lire une journée à partir de barres de prix
Une barre quotidienne résume toute une séance en cinq nombres : ouverture, plus haut, plus bas, clôture et volume. Elle permet de reconstituer l'histoire d'une journée : de combien le prix a bougé pendant la nuit (l'écart entre la clôture d'hier et l'ouverture d'aujourd'hui), l'amplitude de la séance et si le volume était inhabituel. Chacun de ces calculs tient en une ligne appliquée à des colonnes entières d'un tableau.
import pandas as pd
bars = pd.read_csv("data/AAPL.csv", index_col="date", parse_dates=True)
prev_close = bars["close"].shift(1) # yesterday's close, lined up with today's row
gap = bars["open"] / prev_close - 1 # the overnight gapQuand vous vous demandez si le volume d'aujourd'hui est inhabituel, comparez-le uniquement aux séances précédentes. rolling(20).mean() seul inclut aujourd'hui, donc la journée est en partie comparée à elle-même ; appeler d'abord shift(1) recule la fenêtre d'un jour. Utiliser l'information du jour que l'on juge est un biais de anticipation (look-ahead), la façon la plus courante dont un backtest vous trompe.
Montrer l'histoire
L'assistant qc_chart transforme des barres en graphique interactif. Passez-lui des listes de séries (chandeliers, lignes, histogrammes) et des repères facultatifs ; le graphique apparaît dans l'onglet Graphiques, et les tests lisent les mêmes données que vous avez transmises, pas l'image.
import qc_chart
qc_chart.show(
[qc_chart.candles(recent, name="Price"), qc_chart.line(average, name="20-day average")],
markers=qc_chart.markers({"2026-05-12": "+4.1%"}),
)Lab : ce qui est noté
- Indicateurs quotidiens25 pts
- Les plus grands écarts25 pts
- Pics de volume sans anticipation25 pts
- Tracer l'histoire25 pts