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

Plan otplate kredita

Zadatak: Banka je odobrila klijentu kredit u iznosu od 5000 eura, po godišnjoj nominalnoj kamatnoj stopi od 6.49%, na period od 8 godina. Pod pretpostavkom da se kredit otplaćuje u jednakim mjesečnim anuitetima i da nije bilo dodatnih troškova odobrenja, izračunati iznos anuiteta, a zatim kreirati plan otplate kredita.

> #odobreni iznos
> amount <- 5000
> #rocnost u mjesecima
> maturity <- 8 * 12
> #kamatna stopa na godisnjem nivou
> ir.y <- 0.0649
> #kamatna stopa na mjesecnom nivou
> ir.m <- ir.y / 12
> ir.m
[1] 0.005408333
> #mjesecni anuitet
> annuity <- amount * ir.m /( 1 - (1 + ir.m) ^ (-maturity) )
> annuity
[1] 66.90655
> 
> #definisati funkciju za kreiranje plana otplate
> rep.plan.f <- function(p, a, r, m) {
+ rp <- data.frame(month = 1:m,  
+      remaining.principal = NA,
+      monthly.principal = NA,  
+      interest = NA,
+      annuity = rep(a, m))
+ rp$remaining.principal[1] <- p
+ for(i in 1:m) {
+ if(i == m) {
+ rp$monthly.principal[i] <- rp$remaining.principal[i]
+ rp$interest[i] <- rp$annuity[i] - rp$monthly.principal[i]
+ } else {
+ rp$interest[i] <- rp$remaining.principal[i] * r
+ rp$monthly.principal[i] <- rp$annuity[i] - rp$interest[i]
+ rp$remaining.principal[i + 1] <- rp$remaining.principal[i] - 
+    rp$monthly.principal[i]
+ }
+ }
+ return(rp)
+ }
> 
> #kreirati plan otplate
> rep.plan <- rep.plan.f(p = amount, a = annuity, r = ir.m, m = maturity)
> #prikazati prvih i poslednjih 6 mjeseci otplatnog plana
> head(rep.plan)
  month remaining.principal monthly.principal interest  annuity
1     1            5000.000          39.86488 27.04167 66.90655
2     2            4960.135          40.08049 26.82606 66.90655
3     3            4920.055          40.29726 26.60930 66.90655
4     4            4879.757          40.51520 26.39135 66.90655
5     5            4839.242          40.73432 26.17223 66.90655
6     6            4798.508          40.95462 25.95193 66.90655
> tail(rep.plan)
   month remaining.principal monthly.principal  interest  annuity
91    91           393.94867          64.77595 2.1306057 66.90655
92    92           329.17272          65.12628 1.7802758 66.90655
93    93           264.04645          65.47850 1.4280512 66.90655
94    94           198.56795          65.83263 1.0739217 66.90655
95    95           132.73532          66.18867 0.7178769 66.90655
96    96            66.54664          66.54664 0.3599064 66.90655
> #provjera 
> sum(rep.plan$annuity / cumprod(1 + rep(ir.m, maturity)))
[1] 5000
> sum(rep.plan$monthly.principal)
[1] 5000
PreviousNeto sadašnja vrijednostNextEfektivna kamatna stopa

Last updated 4 years ago

Was this helpful?