НачатьНачать бесплатно

Симуляция портфеля — Часть I

В следующих нескольких упражнениях вы рассчитаете ожидаемую доходность инвестиционного портфеля и оцените степень её неопределённости.

Предположим, вы вложили 10 000 долларов в портфель, состоящий из нескольких акций, и хотите оценить его результаты за 10 лет. Вы можете задавать ожидаемую ставку доходности и волатильность (стандартное отклонение ставки доходности). Будем считать, что ставка доходности подчиняется нормальному распределению.

Для начала напишем функцию, которая принимает на вход начальный капитал (первоначальные инвестиции), количество лет, ожидаемую ставку доходности и волатильность, а возвращает итоговую стоимость портфеля через 10 лет.

По завершении упражнения у вас будет готовая функция для оценки эффективности портфеля.

Это упражнение является частью курса

Статистическое моделирование на Python

Посмотреть курс

Инструкции к упражнению

  • В определении функции укажите четыре аргумента: количество лет yrs, ожидаемую ставку доходности avg_return, волатильность sd_of_return и начальный капитал principal.
  • Смоделируйте ставки доходности rates для каждого года как нормальную случайную величину.
  • Инициализируйте переменную end_return значением principal. В цикле for увеличивайте end_return на величину ставки доходности за каждый год.
  • Используйте функцию portfolio_return(), чтобы вычислить и вывести на экран результат result.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
    np.random.seed(123)
    rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
    # Calculate the return at the end of the period
    end_return = ____
    for x in rates:
        end_return = end_return*(1+____)
    return end_return

result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))
Редактировать и запускать код