Candlestick Chart
Candlestick Chart
Qué es
Cada vela representa un período con cuatro valores: apertura, cierre, máximo y mínimo. El cuerpo muestra apertura-cierre y las mechas los extremos. Verde = subida, rojo = bajada.
Para qué sirve
Para visualizar datos financieros OHLC (Open-High-Low-Close) y analizar patrones de precio en mercados financieros.
Cómo leerlo
Anatomía
El origen se remonta a mercados de arroz asiáticos de hace varios siglos, donde comerciantes empezaron a registrar el movimiento de precios de una sesión completa en una sola marca visual, en vez de anotar solo un número final. La técnica permaneció durante mucho tiempo casi exclusivamente en su región de origen, hasta que fue documentada para audiencias occidentales recién en el siglo XX. Cada vela resume cuatro números de un mismo periodo en una sola marca: el cuerpo es el rango entre apertura y cierre, y su alto es la magnitud del movimiento; la mecha (o sombra) es la línea fina que se extiende del cuerpo hasta el máximo y el mínimo del periodo, el rango completo que tocó el precio así no haya cerrado ahí. El color no codifica ningún valor cuantitativo, solo identifica quién ganó la sesión: si el cierre fue más alto que la apertura, ganaron los compradores; si fue más bajo, ganaron los vendedores. Esta capacidad de resumir cuatro números —apertura, cierre, máximo y mínimo— en una sola marca es la razón por la que reemplazó al gráfico de líneas, que solo puede mostrar el cierre.
Por qué funciona
Fundamento perceptivo
Codifica cuatro variables en un solo símbolo compacto. El color instantáneo (verde/rojo) permite procesar el estado de cientos de períodos en segundos.
Errores comunes
Requiere conocimiento previo del lector
Un candlestick es inútil para cualquiera que no sepa de antemano que el cuerpo representa la diferencia entre apertura y cierre, y las mechas el rango máximo y mínimo del período. Sin ese conocimiento previo, el gráfico se ve como una colección de rectángulos y líneas sin ningún significado evidente, a diferencia de una línea de precio que cualquiera interpreta de inmediato.
Colores que no siguen la convención del mercado
La convención de verde para cierre al alza y rojo para cierre a la baja (o su inverso, según el mercado) está tan asentada entre quienes leen gráficos financieros que invertirla sin avisar, o usar una paleta de colores distinta, genera lecturas erróneas instantáneas en un lector acostumbrado a la convención estándar.
Demasiados períodos visibles a la vez
Mostrar meses o años de velas diarias en un espacio reducido comprime cada vela a un ancho de pocos píxeles, donde la mecha y el cuerpo dejan de distinguirse entre sí. Un candlestick funciona mejor cuando se limita a un rango de tiempo donde cada vela conserva suficiente ancho para leerse individualmente, con zoom o desplazamiento para rangos más largos.
Dónde se usa
Contextos de aplicación

Precio diario de una acción en la bolsa
Apertura, cierre, máximo y mínimo de cada jornada en un solo símbolo por día.

Análisis técnico de un instrumento financiero
Detección de patrones de velas para decidir puntos de entrada y salida.

Seguimiento de mercados en una mesa de dinero
Varias series de velas monitoreadas en paralelo durante la sesión.
Cómo construirlo
El mismo gráfico, en 11 librerías open source
Cada librería resuelve las mismas decisiones de diseño, como la escala, el espaciado entre barras o la inserción de la etiqueta de valor, de un modo distinto. Algunas las automatizan; otras las dejan explícitas en el código, a criterio de quien lo escribe. Comparar once implementaciones con los mismos datos y el mismo color de marca aísla esa diferencia, que de otro modo queda oculta detrás de estilos visuales distintos.
Sin función "candlestick" en matplotlib (existe mplfinance, un paquete de terceros): vlines() para la mecha y Rectangle para el cuerpo, por día, coloreados según sube o baja.
import matplotlib.pyplot as plt
items = [
{"label": "24 jun", "open": 6.1255, "high": 6.165, "low": 5.924, "close": 5.9485},
# ... resto de los 5 dias
]
up, down = "#760D3E", "#9B928C"
# Sin funcion "candlestick" en matplotlib (existe mplfinance, un paquete
# de terceros): vlines() para la mecha y Rectangle para el cuerpo, por
# dia, coloreados segun sube o baja.
fig, ax = plt.subplots(figsize=(6.4, 4))
for i, d in enumerate(items):
color = up if d["close"] >= d["open"] else down
ax.vlines(i, d["low"], d["high"], color=color, linewidth=1.5)
y0, y1 = min(d["open"], d["close"]), max(d["open"], d["close"])
ax.add_patch(plt.Rectangle((i - 0.3, y0), 0.6, y1 - y0, facecolor=color))
plt.show()Herramientas para construirlo
No-code, desktop y plataformas web, con su licencia visible, abierta o comercial.
Términos relacionados
Con datos reales
Ejemplos de uso.
Una semana movida para el precio del cobre
Futuros de cobre (HG), apertura-máximo-mínimo-cierre diario, US$/lb.
Gráficos relacionados