¿Cómo se calcula el Rendimiento en el Screener?

Los datos relativos al rendimiento del screener se calculan utilizando la siguiente fórmula:

Java

Perf
. = (currentClose – openDaysAgo) × 100 / abs(openDaysAgo)
Java

donde:

  • currentClose — el último precio de cierre
  • openDaysAgo — el precio de apertura de la barra pasada correspondiente, determinado por el intervalo seleccionado (por ejemplo, 1 semana, 3 meses, 365 días)

Ejemplo

Hoy es martes, calculemos Perf.W (rendimiento semanal):

  1. Tomamos el precio de cierre de hoy.
  2. Restamos el precio de apertura de la barra diaria del martes pasado.
  3. Multiplicamos la diferencia por 100.
  4. Dividimos el resultado por el valor absoluto del precio de apertura de la barra diaria del martes pasado.

A continuación se muestra una fórmula detallada para las resoluciones más utilizadas, que tiene en cuenta aspectos específicos como el número de días en un año bisiesto.


//@version=5
indicator(title="Screener Performance")rateOfreturn(ref) =>if ref < 0 and close > 0         na     else(close - ref) * 100 / math.abs(ref)rr(bb, maxbarsback) =>open[maxbarsback] * 0 + bb == 0 ? na : rateOfreturn(open[bb])perfYTD() =>var lastYearOpen = openif year > year[1]         lastYearOpen := openrateOfreturn(lastYearOpen)fastSearchTimeIndex(x, maxbarsback) =>     mid = 0 * time[maxbarsback]     right = math.min(bar_index, maxbarsback)     left = 0if time < x         0elsefor i = 0 to 9 by 1             mid := math.ceil((left + right) / 2)if left == right                 breakelse if time[mid] < x                 right := mid                 continueelse if time[mid] > x                 left := mid                 continueelsebreak         mid week1 = 7 week_ago = timenow - 1000 * 60 * 60 * 24 * week1 week_ago_this_bar = time - 1000 * 60 * 60 * 24 * week1 countOfBarsWeekAgo = fastSearchTimeIndex(week_ago, week1) month1 = 30 month_ago = timenow - 1000 * 60 * 60 * 24 * month1 countOfBars1MonthAgo = fastSearchTimeIndex(month_ago, month1) month3 = 90 months3_ago = timenow - 1000 * 60 * 60 * 24 * month3 countOfBars3MonthAgo = fastSearchTimeIndex(months3_ago, month3) month6 = 180 months6_ago = timenow - 1000 * 60 * 60 * 24 * month6 countOfBars6MonthAgo = fastSearchTimeIndex(months6_ago, month6) years1 = 365 oneYearAgo = timenow - 1000 * 60 * 60 * 24 * years1 barsCountOneYear = fastSearchTimeIndex(oneYearAgo, years1) years3 = 365 * 3 years3_ago = timenow - 1000 * 60 * 60 * 24 * years3 countOfBars3YearAgo = fastSearchTimeIndex(years3_ago, years3) years5 = 365 * 4 + 366 years5_ago = timenow - 1000 * 60 * 60 * 24 * years5 countOfBars5YearAgo = fastSearchTimeIndex(years5_ago, years5) years10 = (365 * 4 + 366) * 2 years10_ago = timenow - 1000 * 60 * 60 * 24 * years10 countOfBars10YearAgo = fastSearchTimeIndex(years10_ago, years10) perfYTD = perfYTD() plot((close - open[4]) / open[4] * 100, title='Perf.5D') plot(rr(countOfBarsWeekAgo, week1), title='Perf.W') plot(rr(countOfBars1MonthAgo, month1), title='Perf.1M') plot(rr(countOfBars3MonthAgo, month3), title='Perf.3M') plot(rr(countOfBars6MonthAgo, month6), title='Perf.6M') plot(rr(barsCountOneYear, years1), title='Perf.Y') plot(rr(countOfBars3YearAgo, years3), title='Perf.3Y') plot(rr(countOfBars5YearAgo, years5), title='Perf.5Y') plot(rr(countOfBars10YearAgo, years10), title='Perf.10Y') plot(perfYTD, title='Perf.YTD')
Java

Nota: los valores de este script varían dependiendo de si se utilizan barras históricas o en tiempo real, debido al parámetro timenow. Para obtener más información, lea aquí.

Para la visualización, puede añadir este script a su gráfico a través del Editor de Pine utilizando el marco temporal diario del gráfico. Aparecerá un indicador en el gráfico, cuyas gráficas mostrarán los valores de cada tipo de rendimiento.

Cambio % vs. Rendimiento %:

Supongamos que hoy es martes. 

El Cambio Semanal calcula la diferencia entre el cierre actual (martes) y el cierre de la última semana (el precio de cierre del viernes anterior). 

Rendimiento semanal calcula la diferencia entre el cierre actual (martes) y el cierre de hace una semana exactamente (el martes anterior).