¿Cómo se calcula la volatilidad en el Screener?

La volatilidad mide las variaciones del precio de un instrumento financiero en un intervalo de tiempo determinado. Cuanto más amplio sea el rango de precios, mayor será la volatilidad.

A continuación puede ver la fórmula de cálculo de la volatilidad (disponible en formato diario, semanal y mensual):

//@version=4
study("volatility")

fastSearchN(xs, x) => // xs - sorted, ascending
    max_bars_back(xs, 366)
    left  = 0
    right = min(bar_index,366)
    mid = 0
    if xs < x
        0
    else
        for i = 0 to 9
            mid := ceil((left+right) / 2)
            if left == right
                break
            else if xs[mid] < x
                right := mid
                continue
            else if xs[mid] > x
                left := mid
                continue
            else
                break
        mid

month1 = 30
month_ago = timenow - 1000*60*60*24*month1
month_ago_this_bar = time - 1000*60*60*24*month1
countOfBars1MonthAgo = fastSearchN(time, month_ago)
countOfBars1MonthAgoThisBar = fastSearchN(time, month_ago_this_bar)

week1 = 7
week_ago = timenow - 1000*60*60*24*week1
week_ago_this_bar = time - 1000*60*60*24*week1
countOfBarsWeekAgo = fastSearchN(time, week_ago)
countOfBarsWeekAgoThisBar = fastSearchN(time, week_ago_this_bar)

// volatility
volatility(bb) =>
    bb2 = bb
    if bar_index == 0
        bb2 := 365
    if bb2 == 0
        na
    else
        s = sum((high-low)/abs(low) * 100 / bb2, bb2)
        if bb == 0
            na
        else
            s

plot(volatility(countOfBarsWeekAgoThisBar), title="Volatility.W")
plot(volatility(countOfBars1MonthAgoThisBar),title="Volatility.M")
plot(tr(true)*100/abs(low), title="Volatility.D")

P.D: Los valores de este script son diferentes en las barras históricas que en las barras en tiempo real debido al parámetro timenow. Para más información: https://es.tradingview.com/pine-script-docs/en/v4/essential/Indicator_repainting.html

Si desea una representación visual, puede añadir la secuencia de comandos a su gráfico copiándola y pegándola en el editor Pine. Al pasar a un marco temporal diario, debería ver aparecer un indicador en el gráfico con valores para cada tipo de volatilidad.