Wskaźnik RSI (Relative Strength Index) to popularny wskaźnik analizy technicznej, który pomaga inwestorom oceniać, czy dane aktywa są "wykupione" (overbought) lub "wyprzedane" (oversold) na podstawie wykresu ceny. Jak dokładnie działa?
Jak działa RSI?
RSI porównuje siłę wzrostów i spadków ceny aktywów w określonym okresie czasu. Wykorzystuje średnią zysków i strat z okresu czasu, aby wyznaczyć względną siłę trendu rynkowego. Wartość wskaźnika RSI oscyluje między 0 a 100. Wskaźnik daje sygnał wykupienia gdy wartość RSI przekracza 70, a wyprzedania – gdy wartość RSI spada poniżej 30.
Za sygnał kupna uznaje się sytuację, gdy wartość wskaźnika RSI spada poniżej 30 a następnie zaczyna rosnąć i przekracza poziom 30. Sygnał sprzedaży natomiast występuje, gdy wartość wskaźnika RSI przekracza poziom 70 a następnie zaczyna spadać i spada poniżej poziomu 70.
Jak policzyć RSI?
Do wyliczenia wskaźnika RSI potrzebne są dwie główne zmienne:
- średnia wartość zysków
- i średnia wartość strat.
Średnia wartość zysków i strat jest obliczana w oparciu o zmiany ceny aktywa w określonym przedziale czasowym, zwykle 14 dni. Wartości te oblicza się następująco:
- Oblicz wartość zmiany ceny dla każdego dnia. Jeśli cena wzrosła, to wartość zmiany to różnica między ceną dzienną a ceną poprzedniego dnia. Jeśli cena spadła, to wartość zmiany to różnica między ceną poprzedniego dnia a ceną dzienną.
- Oblicz średnią wartość zysków i strat. Średnią wartość zysków oblicza się przez sumowanie wartości zysków z okresu i dzielenie przez liczbę dni, dla których obliczono wartości zysków. Średnią wartość strat oblicza się w ten sam sposób.
- Oblicz wartość względną siły (Relative Strength - RS). Wartość względnej siły oblicza się dzieląc średnią wartość zysków przez średnią wartość strat.
- Oblicz wartość RSI. Wartość RSI oblicza się na podstawie wzoru:
RSI = 100 - (100 / (1 + RS))
Wartości RSI zwykle przedstawiane są na wykresie jako linia pomiędzy 0 a 100. Wartości powyżej 70 uważa się za sygnał przekupienia, a wartości poniżej 30 uważa się za sygnał przeceny.
Przykładowy kod w Pythonie
import pandas as pd
def calculate_rsi(close_prices):
delta = close_prices.diff()
gain = delta.where(delta > 0, 0)
loss = -delta.where(delta < 0, 0)
avg_gain = gain.rolling(window=14).mean()
avg_loss = loss.rolling(window=14).mean()
rs = avg_gain / avg_loss
rsi = 100.0 - (100.0 / (1.0 + rs))
return rsi
# przykładowe zamknięcia cenowe aktywa dla 14 dni
close_prices = pd.Series([43.20, 43.50, 44.30, 44.50, 44.30, 44.40, 44.10, 44.20, 44.40, 44.50, 44.70, 44.90, 45.10, 44.70])
# obliczenie RSI dla przykładowych danych
rsi = calculate_rsi(close_prices)
# wyświetlenie wyniku
print(rsi)
Kod ten korzysta z biblioteki Pandas do obliczenia zmiany cen oraz średniej wartości zysków i strat dla 14 dni, a następnie oblicza wartość RSI na podstawie wzoru. Funkcja calculate_rsi przyjmuje dane zamknięcia cenowego jako argument wejściowy i zwraca wartość RSI.
Alternatywne metody liczenia RSI
Istnieją alternatywne warianty wskaźnika RSI, które różnią się od oryginalnej metody obliczania. Niektóre z tych wariantów to:
- RSI wygładzone (Smoothed RSI) - jest to wersja RSI, która korzysta z wygładzonych średnich kroczących (ang. smoothed moving averages) zamiast prostych średnich kroczących, co może pomóc w zredukowaniu szumu na wykresie.
- RSI oparty na wykładniczej średniej kroczącej (RSI with Exponential Moving Averages) - ta metoda wykorzystuje wykładniczą średnią kroczącą (ang. exponential moving average) zamiast prostych średnich kroczących, co może pomóc w bardziej skutecznym wykrywaniu zmian trendów.
- StochRSI - jest to wariant RSI, który dodaje element stochastyczny poprzez użycie funkcji stochastycznej (ang. stochastic oscillator) do obliczania wartości RSI.
- RSI wewnątrz RSI (RSI within RSI) - jest to metoda, która oblicza wartość RSI dla RSI, co może pomóc w wykryciu bardziej złożonych sygnałów na rynku.
Wszystkie te warianty mają na celu poprawienie skuteczności wskaźnika RSI w wykrywaniu sygnałów kupna i sprzedaży na rynku.
Standardowy okres stosowany w wskaźniku RSI wynosi 14 dni, ale nie jest to regułą i można dostosować okres do potrzeb inwestora lub konkretnego rynku. Na przykład, dla krótkoterminowych strategii inwestycyjnych, inwestorzy mogą stosować okresy RSI wynoszące 9 lub 10 dni, a dla dłuższych strategii inwestycyjnych okresy mogą wynosić 20 lub więcej dni.
Strategie inwestycyjne oparte na RSI
Istnieją różne strategie inwestycyjne, które wykorzystują wskaźnik RSI. Kilka przykładów:
- Prosta strategia wykorzystująca poziomy RSI - polega na zakupie akcji, gdy RSI spada poniżej określonego poziomu, np. 30, co oznacza, że aktywo jest przesadzone w kierunku spadkowym, a następnie sprzedaży akcji, gdy RSI przekracza określony poziom, np. 70, co oznacza, że aktywo jest przesadzone w kierunku wzrostowym.
- Strategia wykorzystująca krzyżowanie się średnich RSI - polega na zakupie akcji, gdy krótkoterminowa średnia RSI przekroczy długoterminową średnią RSI, a następnie sprzedaży akcji, gdy sytuacja się odwróci.
- Strategia wykorzystująca dywergencje RSI - polega na obserwowaniu różnic między kierunkiem RSI a kierunkiem ceny aktywów. Gdy RSI tworzy wyższe maksima lub niższe minima, ale cena aktywu nie odzwierciedla tych zmian, może to być sygnał do kupna lub sprzedaży.
- Strategia wykorzystująca połączenie RSI z innymi wskaźnikami - polega na łączeniu wskaźnika RSI z innymi wskaźnikami, takimi jak np. MACD lub Bollinger Bands, w celu uzyskania bardziej dokładnych sygnałów kupna i sprzedaży.
W kolejnych wpisach pokażę, jak sprawują się proste strategie oparte o RSI na danych historycznych polskich indeksów i spółek. Dajcie znać w komentarzach, czy chcielibyście zobaczyć takie implementacje i porównanie ich skuteczności.