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

Moratorijum na otplatu kredita

Zadatak: Banka je odobrila klijentu kredit u iznosu od 8000 eura, po godišnjoj nominalnoj kamatnoj stopi od 7.99%, na period od 8 godina. Kredit se otplaćuje u jednakim mjesečnim anuitetima. Poslije 25 mjeseci uvodi se moratorijum na otplatu kredita u trajanju od 3 mjeseca. Simulirati efekte moratorijuma na dalju otplatu kredita u odnosu na sljedeće opcije:

  1. iznos kamate u toku trajanja moratorijuma obračunava se po ugovorenoj nominalnoj kamatnoj stopi (7.99%) i po isteku moratorijuma pripisuje se preostaloj glavnici; na kraju, novi mjesečni anuitet obračunava se u odnosu na uvećanu glavnicu;

  2. iznos kamate u toku trajanja moratorijuma obračunava se po ugovorenoj nominalnoj kamatnoj stopi (7.99%); po isteku moratorijuma obračunata kamata se dijeli na jednake djelove do isteka ročnosti kredita i na taj način uvećava se inicijalni mjesečni anuitet;

  3. iznos kamate u toku trajanja moratorijuma obračunava se po ugovorenoj nominalnoj kamatnoj stopi (7.99%); po isteku moratorijuma obračunata kamata se dijeli na jednake djelove u narednih 60 mjeseci i na taj način uvećava se inicijalni mjesečni anuitet;

  4. iznos kamate u toku trajanja moratorijuma obračunava se po duplo manjoj stopi od ugovorene nominalne kamatne stope (7.99% / 2) i po isteku moratorijuma pripisuje se preostaloj glavnici; na kraju, novi mjesečni anuitet obračunava se u odnosu na uvećanu glavnicu.

> #odobreni iznos
> amount <- 8000
> #rocnost u mjesecima
> maturity <- 8 * 12
> #kamatna stopa na godisnjem nivou
> ir.y <- 0.0799
> #kamatna stopa na mjesecnom nivou
> ir.m <- ir.y / 12
> ir.m
[1] 0.006658333
> #inicijalni mjesecni anuitet
> annuity <- amount * ir.m /( 1 - (1 + ir.m) ^ (-maturity) )
> annuity
[1] 113.0528
> #mjesec uvodjenja moratorijuma
> morat.m <- 25
> #duzina trajanja uvodjenja moratorijuma
> morat.l <- 3
> #preostala rocnost poslije uvodjenja moratorimuma
> rem.maturity <- maturity - morat.m + 1
> rem.maturity
[1] 72
> 
> #definisati funkcija za obracun kamate tokom trajanja moratorijuma
> morat.interest <- function(p, a, r, mm, ml, mr) {
+ rp <- p
+ for(i in 1:(mm - 1)) {
+ interest <- rp * r
+ paid.p <- a - interest
+ rp <- rp - paid.p
+ }
+ np <- rp * cumprod(1 + rep(mr, ml))[ml]
+ mi <- np - rp
+ return(c(rp = rp, np = np, mi = mi))
+ }
> #obracunati kamatu tokom trajanja moratorijuma 
> #rp - preostala glavnica; 
> #np - nova glavnica sa pripisanom kamatom iz moratorijuma; 
> #mi - kamata obracunata tokom moratorijuma
> cal.mi <- morat.interest(p = amount, 
+  a = annuity, 
+  r = ir.m, 
+  mm = morat.m, 
+  ml = morat.l, 
+  mr = ir.m)
> cal.mi
       rp        np        mi 
6449.7071 6579.3997  129.6926
> annuity.1 <- cal.mi[["np"]] * ir.m /( 1 - (1 + ir.m) ^ (-(rem.maturity)) )
> annuity.1
[1] 115.3261
> #povecanje anuiteta do kraja preostale rocnosti
> annuity.1 - annuity
[1] 2.273299
> #apsolutni trosak moratorujuma
> abs.cost.1 <- (annuity.1 - annuity) * rem.maturity
> abs.cost.1
[1] 163.6775
> #npv troska moratorijuma
> cf.1 <- rep(annuity.1 - annuity, rem.maturity)
> sum(cf.1 / cumprod(1 + rep(ir.m, rem.maturity)))
[1] 129.6926
> #npv jednaka obracunatoj kamati s obzirom na pripisivanje glavnici
> cal.mi[["mi"]]
[1] 129.6926
> eq.morat.amount.1 <- cal.mi[["mi"]] / rem.maturity
> eq.morat.amount.1
[1] 1.801286
> #apsolutni trosak moratorijuma jednak je obracunatom iznosu kamate
> abs.cost.2 <- cal.mi[["mi"]]
> abs.cost.2
[1] 129.6926
> #npv troska moratorijuma
> cf.2 <- rep(eq.morat.amount.1, rem.maturity)
> sum(cf.2 / cumprod(1 + rep(ir.m, rem.maturity)))
[1] 102.7641
> nm <- 5 * 12
> eq.morat.amount.2 <- cal.mi[["mi"]] / nm
> eq.morat.amount.2
[1] 2.161544
> #povecanje anuiteta u narednih nm mjeseci
> eq.morat.amount.2
[1] 2.161544
> #apsolutni trosak moratorijuma jednak je obracunatom iznosu kamate
> abs.cost.3 <- cal.mi[["mi"]]
> abs.cost.3
[1] 129.6926
> #npv troska moratorijuma
> cf.3 <- rep(eq.morat.amount.2, nm)
> sum(cf.3 / cumprod(1 + rep(ir.m, nm)))
[1] 106.6291
> #izvrsiti novi obracun iznosa kamate tokom trajanja moratorijuma
> cal.mi <- morat.interest(p = amount, 
+  a = annuity, 
+  r = ir.m, 
+  mm = morat.m, 
+  ml = morat.l, 
+  mr = ir.m / 2)
> cal.mi
        rp         np         mi 
6449.70713 6514.33827   64.63114 
> annuity.4 <- cal.mi[["np"]] * ir.m /( 1 - (1 + ir.m) ^ (-(rem.maturity)) )
> annuity.4
[1] 114.1857
> #povecanje anuiteta do kraja preostale rocnosti
> annuity.4 - annuity
[1] 1.132878
> #apsolutni trosak moratorujuma
> abs.cost.4 <- (annuity.4 - annuity) * rem.maturity
> abs.cost.4
[1] 81.5672
> #npv troska moratorijuma
> cf.4 <- rep(annuity.4 - annuity, rem.maturity)
> sum(cf.4 / cumprod(1 + rep(ir.m, rem.maturity)))
[1] 64.63114
> #npv jednaka obracunatoj kamati s obzirom na pripisivanje glavnici
> cal.mi[["mi"]]
[1] 64.63114

Sumiranje rezultata simulacija:

> res <- data.frame(opt = 1:4,
+ annuity.increase = c(annuity.1 - annuity,
+    eq.morat.amount.1,
+    eq.morat.amount.2,
+    annuity.4 - annuity),
+ abs.cost = c(abs.cost.1, abs.cost.2, abs.cost.3, abs.cost.4),
+ npv.cost = c(sum(cf.1 / cumprod(1 + rep(ir.m, rem.maturity))),
+  sum(cf.2 / cumprod(1 + rep(ir.m, rem.maturity))),
+  sum(cf.3 / cumprod(1 + rep(ir.m, nm))), 
+  sum(cf.4 / cumprod(1 + rep(ir.m, rem.maturity)))))
> res
  opt annuity.increase abs.cost  npv.cost
1   1         2.273299 163.6775 129.69262
2   2         1.801286 129.6926 102.76412
3   3         2.161544 129.6926 106.62911
4   4         1.132878  81.5672  64.63114

Determinante troška moratorijuma:

  1. dužina trajanja;

  2. preostali iznos glavnice;

  3. preostala ročnost;

  4. kamatna stopa po kojoj se obračunava iznos kamate tokom trajanja moratorijuma

  5. načina alokacije obračunate kamate tokom trajanja moratorijuma na preostali dio otplatnog plana.

U zavisnosti od pomenutih determinanti, konačan trošak moratorijuma može znatno da se razlikuje.

PreviousEfektivna kamatna stopaNextRestrukturiranje kredita kroz produženje roka otplate

Last updated 4 years ago

Was this helpful?