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

Преобразуйте код в функцию оценки облигации

В предыдущих упражнениях вы шаг за шагом разбирали, как рассчитать стоимость облигации. Однако повторять все эти шаги для каждой новой облигации было бы утомительно. К счастью, можно создать функцию, которая будет выполнять те же вычисления для разных облигаций.

Функция должна быть достаточно гибкой, чтобы принимать ключевые характеристики облигации в качестве входных данных. Применительно к нашему примеру функция должна учитывать номинальную стоимость облигации, купонную ставку, срок до погашения и доходность.

В этом упражнении вы создадите функцию bondprc, которая принимает четыре таких параметра и вычисляет стоимость облигации. Напомним, что для создания функции используется конструкция function(input 1, input 2, ...) { [lines of code] }.

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

Оценка и анализ облигаций на R

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

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

  • В вашем рабочем пространстве уже частично создана функция bondprc. Завершите её, добавив команду function() и указав имена четырёх входных параметров: p — номинальная стоимость, r — купонная ставка, ttm — срок до погашения, y — доходность.
  • Убедитесь, что функция bondprc возвращает цену $95,79 для облигации с номинальной стоимостью $100, купонной ставкой 5%, сроком до погашения 5 лет и доходностью к погашению 6%.

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

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

# Create function
bondprc <- ___(___, ___, ___, ___) {
  cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  cf <- data.frame(cf)
  cf$t <- as.numeric(rownames(cf))
  cf$pv_factor <- 1 / (1 + y)^cf$t
  cf$pv <- cf$cf * cf$pv_factor
  sum(cf$pv)
}

# Verify prior result
bondprc(___, ___, ___, ___)
Редактировать и запускать код