Створіть ознаки та цілі
Щоб використовувати машинне навчання для вибору найкращого портфеля, нам потрібно згенерувати ознаки та цілі. Наші ознаки щойно були створені в попередній вправі — експоненційно зважені ковзні середні цін. Нашими цілями будуть найкращі портфелі, які ми знайшли за найвищим коефіцієнтом Шарпа.
Ми використаємо метод pandas .iterrows() для отримання пар index, value для датафрейму ewma_monthly. У циклі поточне значення ewma_monthly встановимо як наші ознаки. Потім використаємо індекс найвищого коефіцієнта Шарпа (з max_sharpe_idxs), щоб отримати найкращі portfolio_weights для кожного місяця та встановити це як ціль.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Використайте метод
.iterrows()зewma_monthly, щоб у циклі проходити париindex, value. - Використайте
dateу циклі таbest_idx, щоб індексуватиportfolio_weightsі отримати ідеальні ваги портфеля за найкращим коефіцієнтом Шарпа. - Додайте
ewmaдо переліку ознак.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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:])