Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Algoritme for annuitetslån

20 views
Skip to first unread message
Message has been deleted

Gisle Sælensminde

unread,
Jan 15, 1999, 3:00:00 AM1/15/99
to
In article <77nh3f$rlu$1...@romeo.dax.net>, Sigrun Pedersen wrote:
>Har noen en algoritme for hvordan beregne annuitetslån??
>
>Takker og bukker.
>

På no.it.programmering.diverse var det ein tråd som handla om det i fjor haust
ein gang. Søk på DejaNews <www.dejanews.com>.

Followup er satt

--
------------------------------------------------------------------------
Gisle Sælensminde Tlf: 55 34 07 63
Eliasmarken 16
5031 Laksevåg epost: gi...@ii.uib.no

UNIX is user friendly. It's just selective about who its friends are.
------------------------------------------------------------------------

Sigrun Pedersen

unread,
Jan 15, 1999, 3:00:00 AM1/15/99
to
Den treaden hjalp ikke mye, fant ikke frem til noe fornuftig. Spørsmålet
henger altså fortsatt.


Sigrun Pedersen wrote in message <77nh3f$rlu$1...@romeo.dax.net>...


>Har noen en algoritme for hvordan beregne annuitetslån??
>
>Takker og bukker.
>

>Sigrun
>
>

Ole W Saastad

unread,
Jan 15, 1999, 3:00:00 AM1/15/99
to
Dette fikk jeg en gang av en venn:


program rente

implicit logical(a-z)
integer ii,aar,aarterm,terminer,linje,hva
double precision belop,inflasjon,rentefot,margskatt,kroneverdi
double precision first,annterm,annrente,annrentesum
double precision annavdrag,annkost,annsumkost,annrest
double precision ordrente,ordrentesum,totann,totord
double precision ordavdrag,ordkost,ordsumkost,ordrest

write(*,100)
100 format(//,'Beregning av l}n.',//,
*'Dette programmet beregner annuiteter for laan. Det vil ogs}',/,
*'fors|ke } estimere de "reelle" kostnadene ved laanet, med
hensyn',/,
*'til effektene av marginalskatten og inflasjonen.',/,
*'For sammenligningens skyld, vil det ogsaa beregne "ordin{re"',/,
*'l}n med faste avdragsbel|p.',//)

write(*,105)
105 format('Hvor stort l}n ')
read(*,*)belop
write(*,110)
110 format('Nominell rentefot')
read(*,*)rentefot
write(*,120)
120 format('nedbetalingstid i }r')
read(*,*)aar
write(*,130)
130 format('Antall terminar i }ret')
read(*,*)aarterm
write(*,140)
140 format('hva er inflasjonen')
read(*,*)inflasjon
write(*,150)
150 format('Hva er din marginalskatt')
read(*,*)margskatt
write(*,155)
155 format('Annunitet 0, orin{rt 1, begge 2')
read(*,*)hva

terminer=aarterm*aar
write(*,160)belop,rentefot,terminer,margskatt,inflasjon
160 format('L}n ',F10.2,' til ',F6.1,'% nominell rente nedbetalers
*over ',I3,' terminer',/,'Kostnader estimert ut fra en
marginalskatt
*p}',F5.1,'%',/,'og er }rlig inflasjon p}',F6.1,'%',/)

rentefot=(rentefot/dble(aarterm))*0.01
inflasjon=1.0+(inflasjon/dble(aarterm))*0.01
margskatt=margskatt*0.01

ordavdrag=belop/dble(terminer)
kroneverdi=1.0
annsumkost=0.0
ordsumkost=0.0

first=(belop*rentefot)/ ((1.0+rentefot)**dble(terminer)-1.0)
annterm=belop*rentefot+first
annrentesum=0.0
ordrentesum=0.0
annavdrag=first
annrest=belop
ordrest=belop
write(*,170)annterm,ordavdrag
170 format('Annunitetsl}n :',F10.2,' skal betales hver termin',/,
*'Ordin{rt l}n:',F10.2,' + renter skal betales hver termin',/,
*'De to siste kollonnene i tabellen viser kostnader og',/,
*'akkumulerte totale kostnader for l}net, justert for',/,
*'marginalskatt og inflasjon',/,'F|rste linje i hver termin
viser',/,
*'annunitet andre viser ordin{rt l}n')

read(*,*)
write(*,175)
175 format('Termin Renter Avdrag Restbel|p Kostnader
* Total ',/)

do 10 ii=1,terminer
kroneverdi=kroneverdi/inflasjon
annrente=annrest*rentefot
ordrente=ordrest*rentefot
annkost=(annrente*(1.0-margskatt)+annavdrag)*kroneverdi
ordkost=(ordrente*(1.0-margskatt)+ordavdrag)*kroneverdi
annsumkost=annsumkost+annkost
ordsumkost=ordsumkost+ordkost
annrentesum=annrentesum+annrente
ordrentesum=ordrentesum+ordrente
annrest=annrest-annavdrag
ordrest=ordrest-ordavdrag

if ((hva.eq.0).or.(hva.eq.2)) then
write(*,180)ii,annrente,annavdrag,annrest,annkost
*,annsumkost
endif
if ((hva.eq.1).or.(hva.eq.2)) then
write(*,180)ii,ordrente,ordavdrag,ordrest,ordkost
*,ordsumkost
endif

180 format(I3,5F13.2)

annavdrag=annavdrag*(1.0+rentefot)
if (mod(ii,10).eq.0) then
read(*,*)
endif
10 continue

write(*,190)annrentesum,ordrentesum
190 format('sum renter ved annunitetsl}n :',F13.2,/
*'sum renter ved ordin{rt l}n :',F13.2,/)
totann=belop+annrentesum
totord=belop+ordrentesum
write(*,200)totann,totord
200 format('Total sum ved annunitetsl}n :',F13.2,/
*'total sum ved ordin{rt l}n :',F13.2)
stop
end


--
Ole W Saastad, Dr.Scient. Tel. 22067852
SINTEF Kjemi. PB 124 Blindern
0314 Oslo

Christian Skaug

unread,
Jan 18, 1999, 3:00:00 AM1/18/99
to
[Sigrun Pedersen]

> Har noen en algoritme for hvordan beregne annuitetslån??

Hvis du kjenner teorien for summasjon av geometriske rekker er ikke
dette så vanskelig å finne ut av. Dersom lånebeløp, rente pro anno
og antall år til nedbetaling er gitt, kan du finne det månedlige
terminbeløpet slik i Excel (tallene i parentes er eksempler):

B1 Lånets størrelse (1,000,000)
B2 Antall år (20)
B3 Rente p.a. (8%)
B4 Terminbeløp =B1/((1-(1+B3/12)^(-12*B2))/(B3/12))

Det gir terminbeløpet 8364. Du kan kontrollere dette ved hjelp av
Excels egen algoritme. I Excel 97 kan du i følge manualen skrive
(la oss si i B5):

=PMT(B3/12;12*B2;-B1;0)

som gir samme svar som metoden i B4.


Christian Skaug

SKH

unread,
Jan 18, 1999, 3:00:00 AM1/18/99
to
Sigrun Pedersen wrote:
>
> Den treaden hjalp ikke mye, fant ikke frem til noe fornuftig. Spørsmålet
> henger altså fortsatt.
>
> Sigrun Pedersen wrote in message <77nh3f$rlu$1...@romeo.dax.net>...
> >Har noen en algoritme for hvordan beregne annuitetslån??
> >
> >Takker og bukker.
> >
> >Sigrun
> >
> >

Formelen for å beregne avdrag\renter for et annuitetslån er:

PMT=PV*(i(1+i)^n/(1+i)^n-1)

PMT=periodens avdrag+renter
PV= lånebeløp
i=renter (7% gir i= 0,07)
n= antall perioder

Håper dette hjalp.

SKH

Georg Ekremsæter

unread,
Jan 24, 1999, 3:00:00 AM1/24/99
to
Samme tema er tatt opp i no.it.programmering.c. Du finner kanskje svaret
der.

Hilsen Georg Ekremsæter


Sigrun Pedersen skrev i meldingen <77nh3f$rlu$1...@romeo.dax.net>...

0 new messages