Script Indicador de Desviación Estándar

Script Indicador de Desviación Estándar

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)
Carrito de compra
Scroll al inicio
Telegram