R u bankarstvu
  • Zbirka riješenih zadataka
  • O Zbirci
  • 1. Import podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
  • 2. Manipulacije i agregacije podataka
    • str
    • ifelse & if
    • Nedostupne vrijednosti
    • %in%
    • as.Date
    • Petlje
    • Agregacije podataka
  • 3. Eksport podataka
    • .csv & .txt
    • Microsoft Excel
    • Microsoft Access
    • SAS
    • .RData
    • Eksport tabela i grafika u Microsoft PowerPoint
    • Eksport tabela i grafika u Microsoft Word
  • 4. Ostalo
    • ODBC konekcije
    • Sistemsko manipulisanje fajlovima i folderima
    • Pozivanje R funkcija i programa iz SAS-a
    • Pozivanje SAS programa iz R-a
    • Korisničke funkcije
    • Neto sadašnja vrijednost
    • Plan otplate kredita
    • Efektivna kamatna stopa
    • Moratorijum na otplatu kredita
    • Restrukturiranje kredita kroz produženje roka otplate
    • WoE & IV
    • WoE transformacije u regresionim modelima
    • Kalibracija rejting skale
    • Monotono grupisanje numeričkih risk faktora
  • Biografija
Powered by GitBook
On this page

Was this helpful?

  1. 4. Ostalo

Neto sadašnja vrijednost

Zadatak: Kompanija otplaćuje kredit banci u mjesečnim anuitetima od 1000 eura, u periodu od 48 mjeseci, po godišnjoj efektivnoj kamatnoj stopi od 7%. Pod pretpostavkom da se mjesečna efektivna kamatna stopa računa proporcionalnom metodom, izračunati odobreni iznos kredita.

> #definisati novcani tok
> cf <- rep(1000, 48)
> head(cf)
[1] 1000 1000 1000 1000 1000 1000
> #izracunati kamatnu stopu na mjesecnom nivou
> #koristiti prosti obracunski metod
> ir.y <- 0.07
> ir.m <- rep(ir.y / 12, 48)
> head(ir.m)
[1] 0.005833333 0.005833333 0.005833333 0.005833333 0.005833333 0.005833333
> #diskontovanje novcanog toka
> dcf <- cf / cumprod(1 + ir.m)
> head(dcf)
[1] 994.2005 988.4346 982.7022 977.0030 971.3369 965.7036
> #odobreni iznos kredita
> npv <- sum(dcf)
> npv
[1] 41760.2
> 
> #kreiranje korisnicke funkcije
> npv.foo <- function(cf, ir.y) {
+ ir.m <- rep(ir.y / 12, length(cf))
+ npv <- sum(cf / cumprod(1 + ir.m))
+ return(npv)
+ } 
> #primijeniti funkciju npv.foo na zadate parametre 
> npv.foo(cf = rep(1000, 48), ir.y = 0.07)
[1] 41760.2
> #narednu komandu izvrsiti ukoliko FinancialMath paket vec nije instaliran
> #install.packages("FinancialMath")
> library(FinancialMath)
> 
> #odobreni iznos kredita
> NPV(cf0 = 0, cf = rep(1e3, 48), times = 1:48, i = 0.07/12)
[1] 41760.2
> #narednu komandu izvrsiti ukoliko FinCal paket vec nije instaliran
> #install.packages("FinCal")
> library(FinCal)
> 
> #odobreni iznos kredita
> FinCal::npv(r = 0.07/12, cf = c(0, rep(1e3, 48)))
[1] 41760.2
> #narednu komandu izvrsiti ukoliko tvm paket vec nije instaliran
> #install.packages("tvm")
> library(tvm)
> 
> #odobreni iznos kredita
> tvm::npv(i = 0.07/12, cf = rep(1e3, 48), ts = 1:48)
[1] 41760.2
PreviousKorisničke funkcijeNextPlan otplate kredita

Last updated 4 years ago

Was this helpful?