# Efektivna kamatna stopa

_Zadatak_: Banka je odobrila klijentu kredit u iznosu od 10000 eura, po nominalnoj kamatnoj stopi od 5.99%, na period od 5 godina. Kredit se otplaćuje u jednakim mjesečnim anuitetima. Izračunati mjesečni anuitet, a zatim i efektivnu kamatnu stopu pod pretpostavkom da su ukupni troškovi obrade kredita iznosili 150 eura.

```r
> #odobreni iznos
> p <- 10000
> #kamatna stopa - godisnja
> ir.y <- 0.0599
> #kamatna stopa - mjesecna
> ir.m <- ir.y / 12
> #rocnost (broj mjeseci)
> m <- 5 * 12
> #trosak obrade kredita
> lc <- 150
> #mjesecni anuitet
> a <- p * ir.m /( 1 - (1 + ir.m) ^ (-m) )
> a
[1] 193.2815
> #provjera izracuna mjesecnog anuiteta
> sum(rep(a, m) / cumprod(1 + rep(ir.m, m)))
[1] 10000
```

{% tabs %}
{% tab title="stats" %}
```r
> #definisati optimizacionu funkciju
> opt.foo <- function(principal, anuity, maturity, ir, cost) {
+ cf <- rep(anuity, maturity)
+ df <- cumprod(1 + rep(ir, maturity))
+ opt.array <- sum(cf / df) - (principal - cost)
+ return(opt.array)
+ }
> #izracunati efektivnu kamatnu stopu
> eir <- uniroot(f = opt.foo, 
+    principal = p, 
+    anuity = a, 
+    maturity = m, 
+    cost = lc,
+    interval = c(0, 1))$root
> #mjesecna efektivna kamatna stopa
> eir
[1] 0.005515214
> #godisnja efektivna kamatna stopa
> eir * 12
[1] 0.06618257
> #provjera izracuna mjesecne efektivne kamatne stope
> sum(rep(a, m) / cumprod(1 + rep(eir, m)))
[1] 9850.453
```
{% endtab %}

{% tab title="FinancialMath" %}
```r
> #narednu komandu izvrsiti ukoliko FinancialMath paket vec nije instaliran
> #install.packages("FinancialMath")
> library(FinancialMath)
> #izracun efektivne kamatne stope
> eir <- min(IRR(cf0 = p - lc, cf = rep(a, m), times = 1:m))
> #mjesecna efektivna kamatna stopa
> eir
[1] 0.005516816
> #godisnja efektivna kamatna stopa
> eir * 12
[1] 0.0662018
> #provjera izracuna mjesecne efektivne kamatne stope
> sum(rep(a, m) / cumprod(1 + rep(eir, m)))
[1] 9850
```
{% endtab %}

{% tab title="FinCal" %}
```r
> #narednu komandu izvrsiti ukoliko FinCal paket vec nije instaliran
> #install.packages("FinCal")
> library(FinCal)
> #izracun efektivne kamatne stope
> eir <- FinCal::irr(cf = c(-(p - lc), rep(a, m)))
> #mjesecna efektivna kamatna stopa
> eir
[1] 0.005513456
> #godisnja efektivna kamatna stopa
> eir * 12
[1] 0.06616147
> #provjera izracuna mjesecne efekitivne kamatne stope
> sum(rep(a, m) / cumprod(1 + rep(eir, m)))
[1] 9850.95
```
{% endtab %}

{% tab title="tvm" %}
```r
> #narednu komandu izvrsiti ukoliko tvm paket vec nije instaliran
> #install.packages("tvm")
> library(tvm)
> #izracun efektivne kamatne stope
> eir <- tvm::irr(cf = c(-(p - lc), rep(a, m)), ts = 0:m)
> #mjesecna efektivna kamatna stopa
> eir
[1] 0.005516563
> #godisnja efektivna kamatna stopa
> eir * 12
[1] 0.06619875
> #provjera izracuna mjesecne efektivne kamatne stope
> sum(rep(a, m) / cumprod(1 + rep(eir, m)))
[1] 9850.072
```
{% endtab %}
{% endtabs %}
