Saltar al contenido principal

Fórmulas

Las fórmulas le permiten crear series calculadas personalizadas a partir de las métricas del gráfico. Combine, transforme y analice métricas mediante operadores aritméticos y funciones integradas.

Añadir una fórmula​

  1. Abra un gráfico en modo de edición
  2. Haga clic en el botón + Añadir y luego seleccione Añadir fórmula
  3. Introduzca una etiqueta (p. ej., "SMA de 7 días del precio")
  4. Introduzca una expresión (p. ej., sma(m1, 7))
  5. Haga clic en Añadir fórmula

El resultado de la fórmula aparece como una nueva serie en el gráfico, con su propio color y estilo.

Sintaxis​

Referencias a métricas y fórmulas​

  • m1, m2, ... hacen referencia a las métricas del gráfico por posición (la primera métrica = m1)
  • f1, f2, ... hacen referencia a fórmulas anteriores por posición (la primera fórmula = f1)

Las fórmulas se evalúan en orden, por lo que f2 puede hacer referencia a f1, pero no al revés.

Operadores aritméticos​

Operadores estándar con la precedencia habitual (* y / antes que + y -):

m1 + m2 # Addition
m1 - m2 # Subtraction
m1 * m2 # Multiplication
m1 / m2 # Division (returns null if divisor is 0)
(m1 + m2) * m3 # Parentheses for grouping

Números y líneas horizontales​

Se pueden usar valores constantes en las expresiones. Un número aislado dibuja una línea horizontal en ese valor:

42000 # Horizontal line at 42,000
m1 * 100 # Scale a metric
m1 / 1000000 # Convert to millions
0.5 # Horizontal line at 0.5 (useful as threshold)

Funciones​

Medias móviles y estadísticas móviles​

FunciónSintaxisDescripción
smasma(series, period)Media móvil simple (SMA): media aritmética sobre los últimos N puntos de datos
emaema(series, period)Media móvil exponencial (EMA): EMA_t = value_t × k + EMA_(t-1) × (1 - k), donde k = 2 / (period + 1). Da más peso a los valores recientes
medianmedian(series, period)Mediana móvil (valor central) sobre N periodos
sumsum(series, period)Suma móvil sobre los últimos N periodos
stdstd(series, period)Desviación estándar móvil sobre N periodos

Funciones acumulativas​

Funciones de ventana expansiva que utilizan todos los datos desde el inicio hasta cada punto:

FunciónSintaxisDescripción
cumsumcumsum(series)Suma acumulada expansiva desde el inicio de los datos
cummeancummean(series)Media acumulada expansiva desde el inicio de los datos
cummediancummedian(series)Mediana acumulada expansiva desde el inicio de los datos
cumstdcumstd(series)Desviación estándar acumulada expansiva desde el inicio de los datos
cummaxcummax(series)Máximo histórico acumulado hasta cada punto
cummincummin(series)Mínimo histórico acumulado hasta cada punto

Funciones de variación​

FunciónSintaxisDescripción
percent_changepercent_change(series, period)Variación porcentual sobre N periodos. Los valores se devuelven como decimales (p. ej., 0,20 = +20 % de crecimiento)
diffdiff(series, period)Variación de valor absoluto sobre N periodos: value_t - value_(t-N)

Funciones matemáticas​

FunciónSintaxisDescripción
absabs(series)Valor absoluto de todos los puntos de datos
powpow(series, n)Eleva todos los puntos de datos a la potencia n
loglog(series)Logaritmo en base 10 (devuelve null para valores no positivos)
roundround(series, digits)Redondea los valores a N posiciones decimales
maxmax(a, b, ...)Máximo punto a punto: devuelve el valor más alto entre todos los argumentos en cada punto de datos. Los argumentos pueden ser series o constantes, p. ej. max(m1, m2, 0)
minmin(a, b, ...)Mínimo punto a punto: devuelve el valor más bajo entre todos los argumentos en cada punto de datos. Los argumentos pueden ser series o constantes, p. ej. min(m1, m2, 100)

Indicadores técnicos​

FunciónSintaxisDescripción
rsirsi(series, period)Índice de fuerza relativa (RSI) (0–100) mediante el método de suavizado de Wilder sobre N periodos
corrcorr(series1, series2, period)Coeficiente de correlación de Pearson entre dos series sobre una ventana móvil de N periodos. Devuelve valores de -1 (inversa) a +1 (perfectamente correlacionadas)
drawdowndrawdown(series)Caída relativa (drawdown) desde el máximo histórico. Devuelve decimales negativos (p. ej., -0,30 = 30 % por debajo del ATH)

Riesgo y rentabilidad​

FunciónSintaxisDescripción
mean_returnmean_return(series, period)Rentabilidad media móvil anualizada sobre N periodos (basada en los rendimientos logarítmicos diarios × 365)
realized_volrealized_vol(series, period)Volatilidad realizada anualizada sobre N periodos (desviación estándar del rendimiento logarítmico diario × √365)
sharpe_ratio_arithmeticsharpe_ratio_arithmetic(series, period)Ratio de Sharpe anualizado usando la media aritmética de los rendimientos sobre N periodos
sharpe_ratio_geometricsharpe_ratio_geometric(series, period)Ratio de Sharpe anualizado usando la media geométrica de los rendimientos sobre N periodos

Manipulación de series​

FunciónSintaxisDescripción
shiftshift(series, period)Desplaza la serie hacia la derecha N periodos. Un periodo positivo muestra valores pasados en la posición actual (es decir, cada punto de datos muestra el valor de hace N periodos). Un periodo negativo desplaza hacia la izquierda (muestra valores futuros)
ifif(a, "op", b, then, else)Condicional: evalúa la comparación a op b en cada punto de datos, devuelve then si es verdadera y else si es falsa. El argumento op es un operador de comparación pasado como cadena entre comillas: "=", "!=", ">", ">=", "<", "<="

Ejemplos​

Medias móviles​

sma(m1, 7) # 7-day simple moving average of first metric
sma(m1, 30) # 30-day SMA
ema(m1, 21) # 21-day exponential moving average
median(m1, 14) # 14-day rolling median

Detección de cruce de SMA​

f1: sma(m1, 7) # Short-term SMA
f2: sma(m1, 30) # Long-term SMA
f3: f1 - f2 # Difference (positive = short above long)

Análisis de ratios​

m1 / m2 # Ratio between two metrics

Caída desde el máximo histórico​

drawdown(m1) # Drawdown as negative decimal (-0.30 = 30% below ATH)

Bandas de Bollinger​

f1: sma(m1, 20) # Middle band
f2: f1 + 2 * std(m1, 20) # Upper band (+2 standard deviations)
f3: f1 - 2 * std(m1, 20) # Lower band (-2 standard deviations)

Variación periodo a periodo​

percent_change(m1, 7) # 7-day percentage change (decimal)
diff(m1, 30) # 30-day absolute change

RSI​

rsi(m1, 14) # 14-period RSI
30 # Oversold threshold line
70 # Overbought threshold line

Acotación de valores​

max(m1, 0) # Floor at zero (remove negative values)
min(m1, 100) # Cap at 100
max(m1, m2) # Higher of two metrics at each point

Correlación​

corr(m1, m2, 30) # 30-day rolling correlation between two metrics

Volatilidad y riesgo​

realized_vol(m1, 30) # 30-day annualized volatility
sharpe_ratio_arithmetic(m1, 90) # 90-day annualized Sharpe ratio

Estilo​

Después de añadir una fórmula, haga clic sobre ella en la leyenda (en modo de edición) para configurar:

  • Estilo de gráfico: línea, área o barra
  • Color: elija entre preajustes o uno personalizado
  • Eje Y: asígnelo a cualquier eje
  • Grosor de línea y opacidad de relleno
  • Visibilidad: alternar mostrar/ocultar

Persistencia​

Las fórmulas se guardan con la configuración del gráfico. Cuando guarda un gráfico en "Mis gráficos", todas las fórmulas se conservan y se restauran al recargar el gráfico.

Exportación​

Los valores de las fórmulas se incluyen en las exportaciones CSV y JSON. Cada columna de fórmula usa la etiqueta de la fórmula como encabezado.