El RSI (Relative Strength Index, índice relativo de fuerza) es un indicador que trata de informar si un activo se encuentra sobrevendido o sobrecomprado y de ahí tomar decisión sobre que hacer con dicho activo.
Este artículo está orientado a realizar un script para un bot.
Básicamente toma un período determinado de datos (generalmente 9, 14 o 25) y cuenta las subidas y bajadas.
Vamos a ver el siguiente conjunto de datos.
[1] 5
[2] 5.8
[3 ]5.5
[4] 7
[5] 6.5
[6] 5
[7] 5.1
[8] 4.9
[9] 5
Lo primero que vamos a hacer es recorrer el conjunto de datos de inicio a fin, acumulando subas y bajadas en dos variables distintas.
Tomamos 1 y 2: el precio subió ---> 5.8 - 5 = 0.8 --> lo guardamos el la variable de subas.
Tomamos 2 y 3: el precio bajó ---> 5.5 - 5.8 = -0.3 ---> lo guadamos en la variable de bajas.
Recorramos todo el array.
var subidas = 0
var bajadas = 0
[2] - [1] = 0.3
[3] - [2] = -0.3
[4] - [3] = 1.5
[5] - [4] = -0.5
[6] - [5] = -1.5
[7] - [6] = 0.1
[8] - [7] = -0.2
[9] - [8] = 0.1
Por lo tanto
subidas = 0.3 + 1.5 + 0.1 + 0.1 = 2
bajadas = -0.3 - 0.5 - 1.5 - 0.2 = -2.5
A bajadas, lo pasamos a positivo: bajadas = bajadas * -1 = 2.5
Con estos datos, calculamos la media de subidas y bajadas
MediaDeSubidas = 2 / 9 = 0.222
MediaDeBajadas = 2.5 / 9 = 0.277
Con estas medias, podemos calcular la fuerza relativa (RS)
RS = MediaDeSubidas / MediaDeBajadas = 0.801
Ahora lo podemos convertir en índice.
RSI = 100 - ( 100 / 1 + RS) = 100 - (100 / 1 + 0.801) = 100 - (100 / 1.801) = 44.47
Cuando RSI se aleja de 50 hacia arriba, indica comienzo de sobrecompra, y hacia abajo sobreventa. En nuestro caso, 44.47, está normal con tendencia a sobreventa.
Pasando los 70, o bajando de los 30, se consideran fuertes señales de venta o compra respectivamente.
Si calculamos la pendiente con la cual varía RSI, nos puede dar mejores señales para compra o venta fuerte.

