BaşlayınÜcretsiz başlayın

Hacimden özellik üretimi

Daha doğru tahminler yapmak için doğrusal olmayan modeller kullanacağız. Doğrusal modellerde, özelliklerin hedefle doğrusal olarak ilişkili olması gerekir. Diğer Machine Learning modelleri ise özellikleri doğrusal olmayan şekillerde birleştirebilir. Örneğin, fiyatın hareketli ortalaması yükselirken ve hacmin hareketli ortalaması düşerken fiyat artıyorsa ne olur? Bu etkileşimleri yakalamanın tek yolu, ya özellikleri birbiriyle çarpmak ya da doğrusal olmayanlığı yönetebilen bir Machine Learning algoritması kullanmaktır (ör. random forests).

Diğer özelliklerle etkileşime girebilecek daha fazla bilgiyi katmak için zayıf korelasyonlu özellikler ekleyebiliriz. Önce lng_df içindeki Adj_Volume sütununda bulunan hacim verisini ekleyeceğiz.

Başlamadan önce, TA-Lib fonksiyonları (örneğin SMA()) için pandas nesneleri değil, Numpy dizileri sağlaman gerektiğini unutma. Bir pandas Series veya DataFrame'in .values özniteliğini kullanarak onu bir Numpy dizisi olarak alabilirsin.

Bu egzersiz, kursun bir parçasıdır

Python ile Finans için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • Hacimde 1 günlük yüzde değişim oluştur (pandas'tan pct_change() kullan) ve lng_df içinde Adj_Volume_1d_change sütununa ata.
  • Hacimdeki 1 günlük yüzde değişimin 5 günlük hareketli ortalamasını oluştur ve lng_df içinde Adj_Volume_1d_change_SMA sütununa ata.
  • new_features listesini kullanarak oluşturduğumuz bu iki yeni özelliğin histogramlarını çiz.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Create 2 new volume features, 1-day % change and 5-day SMA of the % change
new_features = ['Adj_Volume_1d_change', 'Adj_Volume_1d_change_SMA']
feature_names.extend(new_features)
lng_df[____] = lng_df['Adj_Volume'].____
lng_df[____] = talib.SMA(____[____].____,
                        timeperiod=____)

# Plot histogram of volume % change data
lng_df[____].plot(kind='hist', sharex=False, bins=50)
plt.show()
Kodu Düzenle ve Çalıştır