Transformă codul într-o funcție de evaluare a obligațiunilor
În exercițiile anterioare, ai parcurs pas cu pas modul de calcul al valorii unei obligațiuni. Totuși, repetarea tuturor acelor pași pentru a evalua mai multe obligațiuni poate deveni anevoioasă. Din fericire, poți crea o funcție care să efectueze aceleași calcule în mod repetat pentru obligațiuni diferite.
Funcția pe care o creezi trebuie să fie suficient de flexibilă pentru a-ți permite să introduci caracteristicile principale ale obligațiunii. Raportat la exemplul anterior, funcția va trebui să poată incorpora valoarea nominală, rata cuponului, durata până la scadență și randamentul obligațiunii.
În acest exercițiu, vei crea funcția bondprc, care primește aceste patru intrări pentru a calcula valoarea unei obligațiuni. Reamintește-ți că, pentru a crea o funcție, poți folosi function(input 1, input 2, ...) { [linii de cod] }.
Acest exercițiu face parte din cursul
Evaluarea și analiza obligațiunilor în R
Instrucțiuni pentru exercițiu
- În spațiul de lucru a fost generată o funcție parțial construită,
bondprc. Completează funcția scriind comandafunction()și furnizând numele celor patru intrări:ppentru valoarea nominală,rpentru rata cuponului,ttmpentru durata până la scadență șiypentru randament. - Verifică că funcția
bondprcreturnează un preț de 95,79 USD pentru o obligațiune cu o valoare nominală de 100 USD, o rată a cuponului de 5%, o durată de 5 ani până la scadență și un randament până la scadență de 6%.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(___, ___, ___, ___)