Converta seu código em uma função de avaliação de título
Nos exercícios anteriores, você seguiu passo a passo como calcular o valor de um título. No entanto, repetir todas essas etapas para avaliar muitos títulos é trabalhoso. Felizmente, você pode criar uma função para realizar esses mesmos cálculos repetidamente para diferentes títulos.
A função que você criar precisa ter flexibilidade para permitir a entrada das principais características do título. No exemplo anterior, a função deve incorporar o valor de face (par), a taxa de cupom, o tempo até o vencimento e o yield.
Neste exercício, você vai criar a função bondprc que recebe essas quatro entradas para calcular o valor de um título. Lembre-se de que, para criar uma função, você pode usar function(input 1, input 2, ...) { [lines of code] }.
Este exercício faz parte do curso
Avaliação e Análise de Títulos em R
Instruções do exercício
- Uma função parcialmente construída,
bondprc, foi gerada no seu ambiente. Complete a função construindo o comandofunction()e fornecendo os nomes de quatro entradas:ppara valor de face (par),rpara taxa de cupom,ttmpara tempo até o vencimento eypara yield. - Verifique se a função
bondprcretorna um preço de $95.79 para o valor de um título com valor de face de $100, taxa de cupom de 5%, 5 anos até o vencimento e yield to maturity de 6%.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(___, ___, ___, ___)