Korelace
Před trénováním modelů strojového učení se vyplatí podívat se na korelace – hned uvidíš, které příznaky nejsilněji souvisí s cílovou proměnnou. Nejčastěji se používá Pearsonův korelační koeficient, který zachycuje pouze lineární závislosti. Zároveň se obvykle předpokládá, že data mají normální rozdělení, což si můžeš přibližně ověřit z histogramů. Silně korelované proměnné mají Pearsonův koeficient blízko 1 (pozitivní korelace) nebo -1 (negativní korelace). Hodnota blízká 0 znamená, že mezi oběma proměnnými lineární závislost není.
Porovnáš-li stejná časová období pro minulé a budoucí změny ceny, zjistíš, jestli se cena akcie vrací k průměru (kolísá kolem něj), nebo sleduje trend (pokračuje v nastoupeném směru).
Toto cvičení je součástí kurzu
Machine Learning for Finance in Python
Pokyny k cvičení
Pracuj s DataFrame lng_df a jeho sloupcem Adj_Close:
- Vytvoř budoucí cenu za 5 dní (jako
5d_future_close) pomocí pandas funkce.shift(-5). - Použij
pct_change(5)na5d_future_closeaAdj_Close, a tím vytvoř budoucí 5denní procentuální změnu ceny (5d_close_future_pct) a aktuální 5denní procentuální změnu ceny (5d_close_pct). - Prozkoumej korelace mezi oběma sloupci s 5denní procentuální změnou pomocí
.corr()nalng_df. - Pomocí
plt.scatter()vytvoř bodový graf závislosti5d_close_pctna5d_close_future_pct.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create 5-day % changes of Adj_Close for the current day, and 5 days in the future
lng_df['5d_future_close'] = lng_df['Adj_Close'].shift(____)
lng_df['5d_close_future_pct'] = lng_df['5d_future_close'].pct_change(5)
lng_df['5d_close_pct'] = lng_df['Adj_Close'].pct_change(____)
# Calculate the correlation matrix between the 5d close pecentage changes (current and future)
corr = lng_df[['5d_close_pct', '5d_close_future_pct']].____
print(corr)
# Scatter the current 5-day percent change vs the future 5-day percent change
plt.scatter(lng_df['5d_close_pct'], lng_df[____])
plt.show()