Özellikler ve hedefler oluştur
En iyi portföyü seçmek için Machine Learning kullanabilmek adına özellikler (features) ve hedefler (targets) üretmemiz gerekiyor. Özelliklerimiz bir önceki egzersizde oluşturuldu: fiyatların üssel ağırlıklı hareketli ortalamaları. Hedeflerimiz ise en yüksek Sharpe oranından bulduğumuz en iyi portföyler olacak.
ewma_monthly DataFrame'i için index, value çiftlerini almak üzere pandas'ın .iterrows() yöntemini kullanacağız. Döngüde ewma_monthly'nin o anki değerini özelliklerimiz olarak ayarlayacağız. Sonra da en iyi Sharpe oranının indeksini (max_sharpe_idxs içinden) kullanarak her ay için en iyi portfolio_weights değerlerini alıp bunu hedef olarak belirleyeceğiz.
Bu egzersiz, kursun bir parçasıdır
Python ile Finans için Machine Learning
Egzersiz talimatları
- Döngüde
index, valueüzerinden yinelemek içinewma_monthlyile.iterrows()yöntemini kullan. - Döngüdeki
datevebest_idxileportfolio_weights'i indeksleyip en iyi Sharpe oranına göre ideal portföy ağırlıklarını al. ewma'yı özellikler listesine ekle.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
targets, features = [], []
# Create features from price history and targets as ideal portfolio
for date, ewma in ewma_monthly.____:
# Get the index of the best sharpe ratio
best_idx = max_sharpe_idxs[date]
targets.append(portfolio_weights[____][____])
features.append(____) # add ewma to features
targets = np.array(targets)
features = np.array(features)
print(targets[-5:])