import platform
platform.platform()
platform.python_version()
Klasa EKS_kredit određuje postotnu godišnju kamatnu stopu i efektivnu kamatnu stopu te izrađuje pripadnu otplatnu tablicu za kredit s jednakim anuitetima. Klasa se instancira na sljedeći način.
EKS_kredit(K,p,n,m,datum,interval,druge_uplate,druge_isplate,isplata_kredita,TSP)
Slijedi opis parametara s kojima se klasa instancira.
K
- visina kreditap
- godišnja kamatna stopan
- vrijeme trajanja kredita, tj. ukupni broj plaćenih anuitetam
- koliko se puta razdoblje vraćanja anuiteta javlja u godini. Na primjer, ako su anuiteti mjesečni, tada je n=12
.datum
- datum odobrenja kredita. To je uređena trojka oblika (dan,mjesec,godina)interval
- interval unutar kojeg se traži postotna godišnja kamatna stopa. To je uređeni par oblika (a0,b0).druge_uplate
- rječnik u kojemu su navedene druge uplate vezane uz kredit. Po defaultu je prazni rječnik. Na primjer, ako imamo da je uplata u trećem razdoblju jednaka 200 i u devetom razdoblju 450, tada napišemo {3:200,9:450}
.druge_isplate
- rječnik u kojemu su navedene druge isplate vezane uz kredit. Funkcionira na isti način kao i druge_uplate
.isplata_kredita
- rječnik u kojemu su navedeni iznosi tranša ukoliko se kredit isplaćuje u dijelovima. Funkcionira na isti način kao i druge_uplate
.TSP
- rječnik u kojemu su navedeni novčani tokovi vezani uz sigurnosni polog. Funkcionira na isti način kao i druge_uplate
.Za određivanje postotne godišnje stope koristi se funkcija bisect
iz modula scipy
. Za prikazivanje otplatne tablice unutar jupyter notebooka koristi se modul ipy_table
. Stoga uz standardnu distribuciju pythona trebaju biti instalirani spomenuti dodatni moduli.
Ukoliko se klasa ne uspije instancirati i pritom javi grešku
ValueError: f(a) and f(b) must have different signs
tada je potrebno promijeniti interval (a0,b0)
unutar kojeg se traži postotna godišnja stopa. U većini slučajeva interval (0,20)
bude dobar ako je postotna godišnja stopa manja od 20%. U iznimnim slučajevima treba promijeniti granice ovisno o tome koliku postotnu godišnju stopu možemo očekivati.
Datoteka EKS_kredit.py
mora biti u radnom direktoriju ili nekom "globalnom" direktoriju.
from EKS_kredit import *
Opcija koja jupyter notebooku govori da sve izlaze s manje od 200 linija prikazuje direktno u prozoru preglednika. Na taj način veće otplatne tablice neće prikazivati u posebnom manjem umetnutom prozoru.
%%javascript
IPython.OutputArea.auto_scroll_threshold = 200;
kredit1=EKS_kredit(55000,7.45,48,12,(1,1,2016),(0,20),{},{},{},{})
kredit1.anuitet
kredit1.PGS
kredit1.EKS
kredit1.otplatna_tablica()
kredit2=EKS_kredit(300000,10.75,72,12,(31,1,2008),(0,20),{0:23893.75},{},{},{0:30000})
kredit2.anuitet
kredit2.PGS
kredit2.EKS
kredit2.otplatna_tablica()