Korelasyonlar
Machine Learning modelleri kurmadan önce korelasyonlara bakmak faydalıdır; böylece hangi özelliklerin hedefle en güçlü şekilde ilişkili olduğunu görebilirsin. Sıklıkla Pearson korelasyon katsayısı kullanılır; bu katsayı sadece doğrusal ilişkileri yakalar. Verimizin normal dağıldığı genellikle varsayılır; bunu histogramlara “göz atarak” kabaca anlayabiliriz. Yüksek korelasyona sahip değişkenlerin Pearson korelasyon katsayısı 1'e (pozitif korele) veya -1'e (negatif korele) yakındır. 0'a yakın bir değer, iki değişkenin doğrusal olarak korele olmadığını gösterir.
Geçmiş fiyat değişimleriyle gelecekteki fiyat değişimleri için aynı zaman aralıklarını kullanırsak, hisse fiyatının ortalamaya dönme eğiliminde (etrafında dalgalanan) mi yoksa trende uyma eğiliminde mi (son zamanlarda yükseldiyse yükselmeye devam eden) olduğunu görebiliriz.
Bu egzersiz, kursun bir parçasıdır
Python ile Finans için Machine Learning
Egzersiz talimatları
lng_df DataFrame'ini ve onun Adj_Close sütununu kullanarak:
- pandas'ın
.shift(-5)metoduyla 5 günlük gelecekteki fiyatı (5d_future_close) oluştur. 5d_future_closeveAdj_Closeüzerindepct_change(5)kullanarak gelecekteki 5 günlük % fiyat değişimini (5d_close_future_pct) ve mevcut 5 günlük % fiyat değişimini (5d_close_pct) oluştur.lng_dfüzerinde.corr()ile iki 5 günlük yüzde fiyat değişimi sütunu arasındaki korelasyonlara bak.plt.scatter()kullanarak5d_close_pctile5d_close_future_pctarasında bir saçılım grafiği oluştur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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()