1. Learn
  2. /
  3. कोर्स
  4. /
  5. Machine Learning для фінансів у Python

Connected

अभ्यास

Обчисліть портфелі

Тепер згенеруємо портфелі, щоб знайти найкращий у кожному місяці. Функція random.random() з numpy генерує випадкові числа з рівномірного розподілу; після цього ми нормалізуємо їх, щоб у сумі було 1, використовуючи оператор /=. Ці ваги використаємо для розрахунку дохідності та волатильності. Дохідність — це сума добутків ваг на індивідуальні дохідності. Волатильність складніша й враховує коваріації різних акцій.

Насамкінець збережемо значення у словниках для подальшого використання, де ключами будуть дати місяців.

У цьому прикладі ми згенеруємо лише 10 портфелів для кожної дати, щоб код виконувався швидше. Проте в реальному кейсі варто використовувати приблизно від 1000 до 5000 випадково згенерованих портфелів для кількох акцій.

निर्देश

100 XP
  • Згенеруйте 3 випадкові числа для ваг за допомогою np.random.random().
  • Обчисліть returns, взявши скалярний добуток (np.dot(); перемножує попарно елементи двох масивів і підсумовує їх) weights із помісячними дохідностями для поточної date у циклі.
  • Використайте метод .setdefault(), щоб додати порожній список ([]) до словника portfolio_weights для поточної date, а потім додайте (append) до списку weights.