Opublikowano:
Aktualizacja:
Średnia krocząca, nazywana również średnią ruchomą dla wartości ceny jest jednym z najbardziej podstawowych wskaźników rynku. W praktyce wykorzystuje się dwie średnie ruchome – “wolną” oraz “szybką”. W wolnej średniej kroczącej uśrednia się wartości z dłuższego okresu czasu np. z 13 świeczek, natomiast szybka średnia krocząca obliczana jest z krótszego okresu czasu niż wolna (np. z 3 świeczek). Jeśli cena oscyluje, średnia szybka będzie raz wyższa od średniej wolnej a raz niższa.
Podobnie jak w poprzednich częściach importujemy dane historyczne. Korzystamy ze 100 ostatnich świeczek:
import pandas as pd
import plotly.graph_objects as go
df=pd.read_csv('/content/drive/My Drive/dane_historyczne/dax.csv') #import danych do zmiennej df
df2=df.drop(['Wolumen'], axis=1) #usunięcie kolumny "Wolumen" i zapis do nowej zmiennej df2
df2=df2[-100:] #nadpisanie w zmiennej df2 stu ostatnich świeczek
df2
W tym przykładzie obliczona zostanie wykładnicza średnia krocząca EWM wolna z 13 świeczek oraz szybka z 3 świeczek. Dane są zapisane w nowych dwóch kolumnach o nazwie “sr1” oraz “sr2”. Średnie obliczane są dla wartości ceny odpowiadającej zamknięcie świeczki. W kolejnym kroku usuwamy 13 pierwszych świeczek – pozostanie nam 87 świeczek (ponieważ nie została dla nich obliczona średnia dla całego okresu uśredniania). Dodatkowo można zresetować indeks struktury danych, aby rozpoczynał się od zera.
l_usrednien_H=13 #ilość świeczek do obliczenia średniej wolnej
l_usrednien_L=3 #ilość świeczek do obliczenia średniej szybkiej
df2['sr1'] =df2['Zamkniecie'].ewm(span=l_usrednien_H, adjust=False).mean() #obliczenie średniej wolnej
df2['sr2'] =df2['Zamkniecie'].ewm(span=l_usrednien_L, adjust=False).mean() #obliczenie średniej szybkiej
df3=df2[l_usrednien_H:] #usunięcie świeczek początkowych, dla których nie została obliczona średnia wolna i zapis w nowej zmiennej df3
df3 = df3.reset_index(drop=True) #reset indeksu dla struktury danych
df3
W celu narysowania obliczonych średnich ruchomych na wykresie wpisujemy poniższy kod:
fig = go.Figure(data=[go.Candlestick(x=df3.index,
open=df3['Otwarcie'],
high=df3['Najwyzszy'],
low=df3['Najnizszy'],
close=df3['Zamkniecie'])])
fig.add_trace(go.Scatter(x=df3.index, y=df3['sr1'],name='sr1'))
fig.add_trace(go.Scatter(x=df3.index, y=df3['sr2'],name='sr2'))
fig.show()
Jeśli zielona krzywa (średnia szybka) jest nad czerwoną (średnia wolna), rynek jest w fazie wzrostowej, natomiast gdy jest odwrotnie, rynek jest w fazie spadkowej.
© 2025 All Rights Reserved.
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |
Kopiowanie wszystkich kodów tylko dla użytkowników PREMIUM.