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:
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;
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;
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;
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
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
Last updated
Was this helpful?