El Indicador de Desviación Estándar es una herramienta estadística que mide la dispersión o variabilidad de los precios de un activo financiero en relación a su media móvil. Este indicador es útil para los traders que desean evaluar la volatilidad del mercado. A continuación, se explica el script que implementa este indicador.
Configuración Inicial del Script
El script define el nombre del indicador y los parámetros iniciales necesarios para su cálculo.
luaCopiar códigoinstrument { name = "Standard Deviation", overlay = false, icon="indicators:MA" }
period = input (20, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles)
fn = input (1, "front.newind.average", input.string_selection, averages.titles)
input_group {
"front.ind.dpo.generalline",
color = input { default = "#DB4931", type = input.color },
width = input { default = 1, type = input.line_width}
}
- period: Período para el cálculo de la desviación estándar.
- source: Fuente de datos utilizada para el cálculo (por ejemplo, el precio de cierre).
- fn: Función de promedio seleccionada, en este caso, la media móvil (puede ser SMA, EMA, etc.).
- color y width: Parámetros visuales del indicador.
Preparación de la Serie de Datos
Se obtienen los datos de la serie de precios y se selecciona la función de promedio.
luaCopiar códigolocal sourceSeries = inputs [source]
local averageFunction = averages [fn]
mean = averageFunction (sourceSeries, period)
- sourceSeries: Serie de datos del precio seleccionado.
- averageFunction: Función de promedio seleccionada para calcular la media.
Cálculo de la Desviación Estándar
Se calculan la suma de los cuadrados de las diferencias respecto a la media y la desviación estándar.
luaCopiar códigolocal sqsum = 0
local m = mean ()
if na (m) then return end
for i=0,period-1 do
local val = sourceSeries [i]
if na (val) then return end
local xc = val - m
sqsum = sqsum + xc * xc
end
std = sqrt (sqsum / (period - 1))
- sqsum: Suma de los cuadrados de las diferencias respecto a la media.
- m: Valor medio calculado a partir de la función de promedio.
- xc: Diferencia entre cada valor y la media.
- std: Desviación estándar calculada.
Visualización del Indicador
Finalmente, se traza el valor de la desviación estándar en el gráfico.
luaCopiar códigoplot (std, "STD", color, width)
- plot: Dibuja la desviación estándar en el gráfico con el color y ancho especificados.
Interpretación del Indicador
La Desviación Estándar se utiliza para medir la volatilidad de un activo financiero. Aquí algunos puntos clave para su interpretación:
- Valores altos de la desviación estándar: Indican una alta volatilidad en los precios del activo. Esto sugiere que los precios se están moviendo significativamente de su media.
- Valores bajos de la desviación estándar: Indican una baja volatilidad en los precios del activo. Esto sugiere que los precios están estables y no se están desviando mucho de su media.
- Uso en estrategias de trading: Los traders pueden utilizar la desviación estándar para ajustar sus estrategias. Por ejemplo, en períodos de alta volatilidad, podrían considerar ampliar sus márgenes de stop-loss o take-profit.
Conclusión
El Indicador de Desviación Estándar es una herramienta esencial para medir la volatilidad y la dispersión de los precios en el mercado financiero. Al proporcionar una visión clara de cuánto varían los precios de su media, este indicador ayuda a los traders a tomar decisiones informadas y ajustar sus estrategias de trading en consecuencia.
Script Completo
instrument { name = "Standard Deviation", overlay = false, icon="indicators:MA" }
period = input (20, "front.period", input.integer, 1)
source = input (1, "front.ind.source", input.string_selection, inputs.titles)
fn = input (1, "front.newind.average", input.string_selection, averages.titles)
input_group {
"front.ind.dpo.generalline",
color = input { default = "#DB4931", type = input.color },
width = input { default = 1, type = input.line_width}
}
local sourceSeries = inputs [source]
local averageFunction = averages [fn]
mean = averageFunction (sourceSeries, period)
local sqsum = 0
local m = mean ()
if na (m) then return end
for i=0,period-1 do
local val = sourceSeries [i]
if na (val) then return end
local xc = val - m
sqsum = sqsum + xc * xc
end
std = sqrt (sqsum / (period - 1))
plot (std, "STD", color, width)