ПочатиПочніть безкоштовно

Створіть ознаки та цілі

Щоб використовувати машинне навчання для вибору найкращого портфеля, нам потрібно згенерувати ознаки та цілі. Наші ознаки щойно були створені в попередній вправі — експоненційно зважені ковзні середні цін. Нашими цілями будуть найкращі портфелі, які ми знайшли за найвищим коефіцієнтом Шарпа.

Ми використаємо метод 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:])
Редагувати та запускати код