Zacznij terazZacznij za darmo

Przekształć swój kod w funkcję wyceny obligacji

W poprzednich ćwiczeniach krok po kroku wyznaczałeś(-aś) wartość obligacji. Powtarzanie tych wszystkich kroków dla wielu obligacji byłoby jednak żmudne. Na szczęście możesz stworzyć funkcję, która wykona te same obliczenia wielokrotnie dla różnych obligacji.

Funkcja musi być wystarczająco elastyczna, aby umożliwić podanie kluczowych parametrów obligacji. W odniesieniu do naszego wcześniejszego przykładu funkcja powinna przyjmować wartość nominalną obligacji, stopę kuponową, czas do wykupu oraz stopę zwrotu (yield).

W tym ćwiczeniu utworzysz funkcję bondprc, która przyjmuje te cztery dane wejściowe i oblicza wartość obligacji. Przypomnij sobie, że funkcję tworzy się za pomocą konstrukcji function(input 1, input 2, ...) { [lines of code] }.

To ćwiczenie jest częścią kursu

Wycena i analiza obligacji w R

Zobacz kurs

Instrukcje do ćwiczenia

  • W obszarze roboczym wygenerowano częściowo zbudowaną funkcję bondprc. Dokończ ją, konstruując polecenie function() i podając nazwy czterech parametrów wejściowych: p dla wartości nominalnej, r dla stopy kuponowej, ttm dla czasu do wykupu oraz y dla stopy zwrotu.
  • Sprawdź, czy funkcja bondprc zwraca cenę 95,79 USD dla obligacji o wartości nominalnej 100 USD, stopie kuponowej 5%, czasie do wykupu wynoszącym 5 lat i rentowności do wykupu na poziomie 6%.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(___, ___, ___, ___)
Edytuj i uruchom kod