Converta seu código em uma função

Avaliação e Análise de Títulos em R

Clifford Ang

Senior Vice President, Compass Lexecon

Função de valuation de bond

  • Vamos avaliar muitos bonds neste curso
  • Os passos do capítulo anterior serão repetidos
  • Vamos criar a função bondprc() para simplificar os cálculos
Avaliação e Análise de Títulos em R

Etapas no valuation de bonds

  • Generalize estas entradas:
    • p para valor de face
    • r para taxa do cupom
    • ttm para prazo até o vencimento
    • y para yield
  • Também deixamos parte do código mais genérico
Avaliação e Análise de Títulos em R

Etapas no valuation de bonds

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - repete y vezes o valor de x
  • x = p * r = pagamento do cupom
  • y = ttm - 1 = prazo do bond menos um ano
  • p * (1 + r) = principal + cupom final
Avaliação e Análise de Títulos em R

Etapas no valuation de bonds

cf <- data.frame(cf)
  • Converta para data frame para podermos adicionar variáveis (igual à seção anterior)
cf$t <- as.numeric(rownames(cf))
  • Crie o índice de tempo usado no desconto
    • rownames() de cf é 1, 2, 3, 4, até o ttm do bond
    • as.numeric() garante que os valores sejam lidos como números
Avaliação e Análise de Títulos em R

Etapas no valuation de bonds

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Calcule o fator de PV
cf$pv <- cf$cf * cf$pv_factor
  • Calcule o PV de cada fluxo de caixa
sum(cf$pv)
  • Some os PVs para obter o valor do bond
Avaliação e Análise de Títulos em R

Envolva o código

  • Crie a função bondprc()
  • Ela recebe p, r, ttm e y como entradas
bondprc <- function(p, r, ttm, y){
   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)
}
Avaliação e Análise de Títulos em R

Vamos praticar!

Avaliação e Análise de Títulos em R

Preparing Video For Download...