[PHP]Renteberekening

Pagina: 1
Acties:
  • 517 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Geachte medeforummers, ik ben bezig met het maken van een renteberekeningsmodule, nu is dit niet zo moeilijk als het elk jaar dezelfde rente is, maar in dit geval is de rente elk jaar anders, sterker nog de rente veranderd halverwege het jaar nog wel eens.

Bijv. 01-01-2004 tot 01-07-2004 rente 5%
01-07-2004 tot 01-01-2005 rente 5,1%

Nu geldt natuurlijk niet die volledige 5% rente omdat dat een jaarlijkse rente is, hij moet dus eigenlijk het percentage berekenen voor de aantal dagen die er daadwerkelijk zijn. Ik neem als voorbeeld de periode 01-01-2004 tot 01-07-2004 hier is de rente 5%. Dit zijn 182 dagen van de 366 (2004 was eens schrikkeljaar). 366 is dan 100% en 182 is dan 49,73%. De rente over die periode is dus 49,73% van 5%, of te wel 2,48%. Dit percentage moet dus gebruikt worden om de rente te berekenen over de periode van 01-01-2004 tot 01-07-2004, daarna is het percentage dus weer anders. Het is erg ingewikkeld!

Ik heb nu de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function GetMonthDiff($first, $second) {
    $max = max($first, $second);
    $min = min($first, $second);

    $months = 0;
    while (strtotime('-1 month', $max) > $min) {
        $max = strtotime('-1 month', $max);
        $months++;
    }
    return $months;
    }

    function rente ($bedrag, $datum)
    {
    $wetrente = (4.8/100)+1;
    
    $datum = explode('-', $datum);
    $datum = array_reverse($datum);
    $datum = implode('-', $datum);

    $toen = strtotime($datum);
    $nu = time();

    $aantalmaanden = GetMonthDiff($toen, $nu);

    for ($maand = 0; $maand < $aantalmaanden ; $maand++)
    {
    $bedrag = $bedrag * $wetrente;
    }

    return $bedrag;
    }


Deze funtie rekend dus de rente per maand uit en telt het bij elkaar op. Maar nu moet deze functie dus eigenlijk kijken welke rente er voor een bepaalde periode geldt. Kan iemand mij hierbij helpen?

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Je moet de rente per dag gaan berekenen, als je het puur strikt wil doen. Dan krijg je te maken met samengestelde interest (en niet met enkelvoudige interest). Oftewel, 12% rente per jaar is niet 1% rente per maand.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 14:57

Dido

heforshe

Verwijderd schreef op maandag 12 september 2005 @ 15:40:
Nu geldt natuurlijk niet die volledige 5% rente omdat dat een jaarlijkse rente is, hij moet dus eigenlijk het percentage berekenen voor de aantal dagen die er daadwerkelijk zijn. Ik neem als voorbeeld de periode 01-01-2004 tot 01-07-2004 hier is de rente 5%. Dit zijn 182 dagen van de 366 (2004 was eens schrikkeljaar). 366 is dan 100% en 182 is dan 49,73%. De rente over die periode is dus 49,73% van 5%, of te wel 2,48%.
Normaliter klopt dat voor geen meter ;)
De vraag is of de rente per dag, week, periode, maand, kwartaal of jaar berekend wordt. In verreweg de meeste gevalle zul je rente over rente berekenen, en kun je dus niet stellen dat 1% per maand 12% per jaar is (of omgekeerd, 12% per jaar is geen 1% per maand, en 366% is zeker geen 1% per dag; 1% per dag is ruwweg 10x zo veel).

Wat gorgi zegt, dus (maar ik had meer getikt :D )

[ Voor 3% gewijzigd door Dido op 12-09-2005 15:48 ]

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als jullie het bericht goed hebben gelezen staat erbij hoe je de rente normaal gesproken uitrekend:
Ik neem als voorbeeld de periode 01-01-2004 tot 01-07-2004 hier is de rente 5%. Dit zijn 182 dagen van de 366 (2004 was eens schrikkeljaar). 366 is dan 100% en 182 is dan 49,73%. De rente over die periode is dus 49,73% van 5%, of te wel 2,48%. Dit percentage moet dus gebruikt worden om de rente te berekenen over de periode van 01-01-2004 tot 01-07-2004, daarna is het percentage dus weer anders.

Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Niet het antwoord op je vraag, maar moet je de rente niet zo berekenen:
5% rente = 1,05.
182 dagen rente = 1,05182/366 = 1,0246 = 2,46% rente

edit:

Ik ben weer eens traag...

[ Voor 14% gewijzigd door Daos op 12-09-2005 15:56 ]


Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 14:57

Dido

heforshe

Verwijderd schreef op maandag 12 september 2005 @ 15:49:
Als jullie het bericht goed hebben gelezen staat erbij hoe je de rente normaal gesproken uitrekend:
Dat is niet hoe je rente normaal berekent. Echt niet. Volgens die methode is 366% per jaar 1% per dag, en dat is niet waar.

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Dit is een uitstekende URL waar ik (lang geleden) eens veel aan heb gehad. Wellicht dat 'ie voor jou ook van toepassing is (vooral Compound interest).
Example: Suppose you deposit $6000 in a bank and receive 4% per year compound interest for 7 years, compounded monthly. The parameters will be principal P = $6000, annual interest rate i = 0.04, number of years n = 7, and number of periods per year q = 12. Over these 7 years the principal will grow over to the amount A, where
A = P(1+[i/q])nq,
= ($6000)(1+[0.04/12])(7)(12),
= ($6000)(1.003333333...)84,
= $7935.08.

[ Voor 54% gewijzigd door RobIII op 12-09-2005 15:54 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dido schreef op maandag 12 september 2005 @ 15:50:
[...]

Dat is niet hoe je rente normaal berekent. Echt niet. Volgens die methode is 366% per jaar 1% per dag, en dat is niet waar.
Haha okay, ik kwam dit op DE renteberekeningssite op internet tegen dus vandaar. Maar goed ook al is er een iets andere berekening voor nodig, hoe kan ik dit in hemelsnaam in php proggen met die wisselende rentes per half jaar.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 september 2005 @ 15:54:
[...]


Haha okay, ik kwam dit op DE renteberekeningssite op internet tegen dus vandaar. Maar goed ook al is er een iets andere berekening voor nodig, hoe kan ik dit in hemelsnaam in php proggen met die wisselende rentes per half jaar.
Op voorgenoemde URL vind je werkende en kloppende formules. Effe omgooien in PHP et voila ;)
Interest may be compounded quarterly, monthly, weekly, daily, or even more frequently
Kwestie van een functie schrijven dus, en voor iedere "periode met een bepaalde rente" die functie aanroepen en het spul optellen :Y)

[ Voor 24% gewijzigd door RobIII op 12-09-2005 15:56 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op maandag 12 september 2005 @ 15:54:
[...]

Op voorgenoemde URL vind je werkende en kloppende formules. Effe omgooien in PHP et voila ;)

[...]

Kwestie van een functie schrijven dus, en voor iedere "periode met een bepaalde rente" die functie aanroepen en het spul optellen :Y)
Ik zie het dank je wel, ziet er erg ingewikkeld uit :?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 september 2005 @ 15:57:
[...]


Ik zie het dank je wel, ziet er erg ingewikkeld uit :?
Nee, het is niet ingewikkeld. Er staat zelfs een voorbeeld bij waarin het wordt uitgewerkt... (Zie ook deze reply)
Basis wiskunde hoor. Wat machtsvergeffen, vermenigvuldigen en dat soort flauwekul, maar niks "moeilijks" aan. Als je daar al voor terug deinst dan zou ik een ander projectje kiezen om uit te gaan werken ;)

[ Voor 39% gewijzigd door RobIII op 12-09-2005 16:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

je maakt gewoon een script waarin je zegt dat hij het bedrag pakt

je laat een tabel opmaken met de rente per dag.
met dag = n1 , n2 etc.

dan stel je eenvoudig op

X+1 = X + X* 1,0Yn

hierin is X+1 het subtotaal dat je wilt weten,
is X het bedrag dat je op de rekening hebt staan op het begin van de dag,
Y de rente op dag n.

zo berekent hij elke dag een nieuw subtotaal inclusief rente,
dan is het gewoon een som formule opstellen, waarin hij de subtotalen - beginbedrag aftrekt, zodat je de totale rente krijgt.

hoop dat het begrijpelijk is geformuleerd zo

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ga wel eens ff wat klooien. Toch lijkt me hij erg moeilijk, stel je moet de rente berekenen van 1 januari 2004 tot en met 12 september 2005. Nu heb je van 1 januari 2004 tot 1 juli 2004 een andere rente dan van 1 juli 2004 tot 1 januari 2004. Dus hij moet ook nog eens elke dag van de maand kijken of er niet een nieuw rentepercentage is ingegaan. In dit geval is de rente 4 keer veranderd!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op maandag 12 september 2005 @ 16:03:
je maakt gewoon een script waarin je zegt dat hij het bedrag pakt

je laat een tabel opmaken met de rente per dag.
met dag = n1 , n2 etc.

dan stel je eenvoudig op

X+1 = X + X* 1,0Yn

hierin is X+1 het subtotaal dat je wilt weten,
is X het bedrag dat je op de rekening hebt staan op het begin van de dag,
Y de rente op dag n.

zo berekent hij elke dag een nieuw subtotaal inclusief rente,
dan is het gewoon een som formule opstellen, waarin hij de subtotalen - beginbedrag aftrekt, zodat je de totale rente krijgt.

hoop dat het begrijpelijk is geformuleerd zo
Maar het irritante is dat bijvoorbeeld je van 1 januari tot 1 juli 5% berekend over het beginbedrag, maar van 1 juli tot 1 januari moet je 5,1% berekenen over het beginbedrag, dus niet berekenen over het bedrag wat je van 1 januari tot 1 juli hebt uitgerekend met rente.

Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Maar wat gebeurt er met die rente dan? Wordt die apart gezet? Dan is het namelijk juist bijzonder eenvoudig, je kan je jaarrente dan delen door 12 om op maandrente uit te komen. Of door 366 als je met dagrente wil rekenen.

De berekeningen die door de anderen werden gegeven gaan uit van samengestelde rente, dus rente over rente, terwijl jij nu zegt dat je alleen rente op het beginbedrag van toepassing is.

Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 18-09 14:42
Ik wens je veel plezier met deze module :P
Heb er onlangs zelf ook een moeten maken en dat is nog een redelijk gedoe geweest. Misschien dat je deze kunt gebruiken om jouw resultaten mee te vergelijken.

Met de MySQL datum functies kun je heel makkelijk bepalen hoeveel dagen er in een jaar zitten, en dus hoeveel rente je moet bijtellen. Let inderdaad op dat je bij een rente wijziging in bijv Augustus nog niet de rente bijtelt, maar eerst de rente voor de rest van het jaar berekend en dan het geheel bijtelt als je tenminste werkt met rente-over-rente.

Als je bijvoorbeeld 5% moet rekennen van Januari 2003 tot Juni 2003, en 6% over de rest van het jaar. Kijk je hoeveel dagen er in 2003 zitten. Kijk je hoeveel dagen er in Januari tot Juni zitten, en deel je de 5% van het begin bedrag hierdoor. Dit tel je op bij het resultaat van dezelfde brekenening van Juni tot en met December.

[ Voor 22% gewijzigd door frickY op 12-09-2005 16:45 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Komaan zeg, de formule voor Compound Interest (Samengestelde rente) is gewoon gegeven. Deze moet je gewoon omschrijven van "Wiskundige notatie" naar "Code" en je bent er. Vervolgens voor elke periode met een verschillend rente percentage aanroepen en je bent klaar.
Geen geklooi met tussen-tabellen en andere onzin. Dat is een complete waste of resources en een bult overhead van heb ik jou daar.
Ik ga het niet voorkauwen, hoewel het jeukt, maar met het gegeven voorbeeld van de 6000$ moet je er makkelijk uit kunnen komen. Het komt notabene van een site waar het middelbare schooljeugd wordt uitgelegd op een zo makkelijk mogelijke manier (hoewel dan het Engels an sich je enige handicap zou kunnen zijn).
edit:
Overigens krijg je, als je voor iedere dag afzonderlijk gaat zitten berekenen, geheid afrondingsfouten en dus fouten in je uiteindelijke uitkomst (zeker als dit over een flink aantal jaren gaat) en zit je 365.25 * Aantal_jaren keer die berekening uit te voeren per dag, terwijl het in 1 klap kan. Dat scheelt je, op een renteberekening over 7 jaar dus al gauw een dikke 2280 keer die berekening uitvoeren.

[ Voor 47% gewijzigd door RobIII op 12-09-2005 17:00 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RobIII schreef op maandag 12 september 2005 @ 16:47:
Komaan zeg, de formule voor Compound Interest (Samengestelde rente) is gewoon gegeven. Deze moet je gewoon omschrijven van "Wiskundige notatie" naar "Code" en je bent er. Vervolgens voor elke periode met een verschillend rente percentage aanroepen en je bent klaar.
Geen geklooi met tussen-tabellen en andere onzin. Dat is een complete waste of resources en een bult overhead van heb ik jou daar.
Ik ga het niet voorkauwen, hoewel het jeukt, maar met het gegeven voorbeeld van de 6000$ moet je er makkelijk uit kunnen komen. Het komt notabene van een site waar het middelbare schooljeugd wordt uitgelegd op een zo makkelijk mogelijke manier (hoewel dan het Engels an sich je enige handicap zou kunnen zijn).
Zit wel een aardig verschil tussen het voorbeeld online en dit he ;)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 september 2005 @ 16:52:
[...]
Zit wel een aardig verschil tussen het voorbeeld online en dit he ;)
Geen idee waar je het over hebt of waar je op doelt.
Als je voor de makkelijke (voorgekauwde) oplossing wil gaan, moet je vooral even verder gaan Googlen naar wat kant-en-klare scriptjes, maar dan ben je bij GoT aan het verkeerde adres. Als je het zélf wil doen, en wilt begrijpen waar je mee bezig bent, dan verdiep je je in de materie en maak je er het beste van. Mocht je daar vragen over hebben dan kun je van ons hulp krijgen of zelfs assistentie in het proberen te bevatten waar je probleem zit. We (GoT-ters) zitten hier allemaal om elkaar te helpen en in de juiste richting te wijzen, en zijn daar (op een enkeling na soms ;) ) allemaal niet te beroerd voor. Maar we gaan niet je huiswerk zitten maken. We zijn geen afhaal-balie voor kant-en-klare oplossingen.

Als je niet eens je best wil doen om wat simpele wiskunde onder de knie te krijgen (die ik, met mijn Mavo-wiskunde nog wel begrijp) dan heb je het verkeerde vak gekozen vrees ik.

Tot slot wijs ik je nog even op mijn edit, mocht je er overheen gelezen hebben (just 2 be sure dus).

[ Voor 35% gewijzigd door RobIII op 12-09-2005 17:00 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Zo je hebt gesproken hoor :) Toch wil ik toch even iets toevoegen, niet iedereen is een kei in wiskunde geweest dus sorry als ik dit niet helemaal snap :P

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 september 2005 @ 17:07:
Zo je hebt gesproken hoor :) Toch wil ik toch even iets toevoegen, niet iedereen is een kei in wiskunde geweest dus sorry als ik dit niet helemaal snap :P
Je doet er geen moeite voor, dat is heel iets anders. Dit HOEF je niet te snappen als je gewoon de moeite neemt om naar het voorbeeld te kijken.

Je ziet de formule staan? Je ziet de tekst erboven staan? Je ziet welke letter in de formule waarvoor staat? Dus je ziet dat I = Interest rate (rente percentage) en dat P het begin-bedrag is? etc. etc. Dan kun je toch zelf wel verzinnen hoe je die formule om zet in code :?

Maar goed, om het dan toch maar even voor te doen:

Visual Basic:
1
2
3
4
5
6
7
8
Private Function CalcCompoundInterest(cInterest As Currency, cPrincipal As Currency, lMonths As Long, lPeriodPerYear As Long) As Currency
    'Berekent de rente op rente (compoundinterest) over een x aantal maanden
    'cInterest      = rente-percentage
    'cPrincipal     = start bedrag
    'lMonths        = aantal maanden
    'lPeriodPerYear = aantal keer per jaar dat de rente wordt uitgekeerd
    CalcCompoundInterest = cPrincipal * (1 + ((cInterest / 100) / lPeriodPerYear)) ^ ((lMonths / 12) * lPeriodPerYear)
End Function

Voila. De code.
Nu nog invullen:

Visual Basic:
1
Debug.Print CalcCompouncInterest(4, 6000, 84, 12)

Waarbij 4 het rentepercentage is, 6000 het beginbedrag, 84 het aantal maanden (7*12 = 84) en 12 het aantal keren dat per jaar de rente wordt uitgekeerd.

Helaas (voor jou ;) ) is deze code in VB en dien je er dus zelf even PHP van te maken :P

[ Voor 46% gewijzigd door RobIII op 13-09-2005 17:52 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou ja die discussie gaan we maar niet voeren he, hebben we ook weinig aan :*) Iig bedankt voor je hulp hoor, waardeer het erg!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 12 september 2005 @ 17:15:
Nou ja die discussie gaan we maar niet voeren he, hebben we ook weinig aan :*) Iig bedankt voor je hulp hoor, waardeer het erg!
Dit forum is bedoeld om te discussiëren, niet om code voor te kauwen... Nogmaals: We zijn geen afhaal-balie.
Heb je al gekeken naar mijn edit? Waar ik je wijs op de mogelijke gevaren waar je op gaat stuiten als je andere genoemde methodes gaat "proberen"? Is het je waard dat je straks met enorme afrondingsfouten bij je baas/leraar staat? Maar wel lekker snel klaar?
We proberen je inderdaad te helpen, maar je zult zelf moeite moeten doen. En heb je al gekeken naar de (inmiddels dus toch maar voorgekauwde) code die ik voor je gepost heb?

[ Voor 46% gewijzigd door RobIII op 12-09-2005 17:20 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Haha rustig ik snap het wel hoor!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Je voorbeeld is heel duidelijk maar het probleem is dat elk half jaar de rente anders wordt, en dat de tweede helft van het jaar bijvoorbeeld de rente moet berekend worden over het bedrag wat er aan het begin van het jaar is, niet wat er aan het begin van de tweede helft is. Of zie ik nu wat over het hoofd?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ja. Zoals ik al zei roep je deze formule gewoon telkens aan voor de periodes met verschillende rentepercentages. Daarbij gebruik je telkens de uitkomst van de vorige als startbedrag van de volgende en tel je dus gewoon alles bij elkaar op.

[ Voor 10% gewijzigd door RobIII op 13-09-2005 09:19 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-09 08:50

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op dinsdag 13 september 2005 @ 07:27:
Je voorbeeld is heel duidelijk maar het probleem is dat elk half jaar de rente anders wordt, en dat de tweede helft van het jaar bijvoorbeeld de rente moet berekend worden over het bedrag wat er aan het begin van het jaar is, niet wat er aan het begin van de tweede helft is. Of zie ik nu wat over het hoofd?
En wat als er nu na 2 maanden wat bij wordt gestort, op 1 maart van het jaar? Dat bedrag vangt geen rente?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nee want het gaat hier om een openstaande schuld ;)

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

RobIII schreef op dinsdag 13 september 2005 @ 09:19:
[...]

Ja. Zoals ik al zei roep je deze formule gewoon telkens aan voor de periodes met verschillende rentepercentages. Daarbij gebruik je telkens de uitkomst van de vorige als startbedrag van de volgende en tel je dus gewoon alles bij elkaar op.
Dat hioeft dus niet perse juist te zijn. Het is bv niet ongebruikelijk om de rente jaarlijks bij te schrijven en die wordt dan ook pas vanaf dat moment rentegevend, terwijl de rente gedurende het jaar wel fluctueert. In dat geval wordt er over hetjaar een gemiddelde rente berekend.

De vraag is dus: wanneer wordt de rente bij de hoofdsom bijgeschreven. Maar daar doet de TS geen uitspraak over. Wordt de rente gewoon betaald op de vervaldag dan kun je in principe eenvoudig met een gewogen gemiddelde rekenen.

[ Voor 8% gewijzigd door Lustucru op 13-09-2005 14:50 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

Verwijderd

dan moet je de rente omzetten in een rente per jaar.

stel het is de eerste helf van het jaar 5% en de tweede helft van het jaar 6%,
en de uitbetaling geschied aan het eind van het jaar, dan is het simpel weg 5,5%

dus afhankelijk van het aantal maanden. let er wel op, bereken het in dagen, want niet elke maand heeft evenveel dagen etc.

ik vraag me af waarom je dit allemaal wilt weten.
lijkt me niet voor persoonlijk gebruik. maar alsof wij idd jouw huiswerk zitten te doen

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Even een voorbeeld:

We hebben een hoofdsom van 500 euro op 1 januari 2005 en we willen weten wat we op 1 januari 2006 moeten betalen. Van 1 januari 2005 tot 1 juli 2005 is de wettelijke rente 5%, dat is dus 25 euro (5% van 500 euro). Van 1 juli 2005 tot 1 januari 2006 is de wettelijke rente 6%, dat is dus 30 euro (6% van 500). Totaal moet er dus 555 euro betaald worden (500+25+30).

Maar goed dit is makkelijke berekening, het kan ook best zijn dat de einddatum op 1 september 2005 ligt, dan moet er tot die datum rente berekend worden.

Ik moet dit script schrijven voor een bedrijf die dit gebruikt ;)

[ Voor 24% gewijzigd door Verwijderd op 13-09-2005 16:07 ]


Acties:
  • 0 Henk 'm!

  • Nick The Heazk
  • Registratie: Maart 2004
  • Laatst online: 07-09-2024

Nick The Heazk

Zie jij er wat in?

ligt het nou aan mij of is dit systeem niet eerlijk? Die 6% rente moet toch berekend worden op de samengevoegde rente van de vorige zes maanden. Maw (500€ + 5% rente) + 6%. Dat is heel wat anders dan (5% van 500€) + (6% van 500€) + 500.

Cijfervoorbeeld:
500+5% = 525 na de eerste 6 maand
525+6% = 556,5 na de laatste 6 maand

ipv:
5% van 500 = 25
6% van 500 = 30
500 + 25 + 30= 555

zit je algauw met een afwijking van 0,27%

[ Voor 37% gewijzigd door Nick The Heazk op 13-09-2005 16:34 ]

Performance is a residue of good design.


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Niesje schreef op dinsdag 13 september 2005 @ 14:48:
[...]


Dat hioeft dus niet perse juist te zijn. Het is bv niet ongebruikelijk om de rente jaarlijks bij te schrijven en die wordt dan ook pas vanaf dat moment rentegevend, terwijl de rente gedurende het jaar wel fluctueert. In dat geval wordt er over hetjaar een gemiddelde rente berekend.

De vraag is dus: wanneer wordt de rente bij de hoofdsom bijgeschreven. Maar daar doet de TS geen uitspraak over. Wordt de rente gewoon betaald op de vervaldag dan kun je in principe eenvoudig met een gewogen gemiddelde rekenen.
Of je nu telkens het basisbedrag ophoogt of elke keer uit gaat van het basis bedrag is natuurlijk een wezenlijk verschil, maar een miniem verschil in de implementatie ervan. Hoewel ik het misschien A zeg, kan B dus net zo goed met mijn omschreven methode en is dat aan de programmeur om met z'n eigen inzicht te fabriceren.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nick The Heazk schreef op dinsdag 13 september 2005 @ 16:28:
ligt het nou aan mij of is dit systeem niet eerlijk? Die 6% rente moet toch berekend worden op de samengevoegde rente van de vorige zes maanden. Maw (500€ + 5% rente) + 6%. Dat is heel wat anders dan (5% van 500€) + (6% van 500€) + 500.

Cijfervoorbeeld:
500+5% = 525 na de eerste 6 maand
525+6% = 556,5 na de laatste 6 maand

ipv:
5% van 500 = 25
6% van 500 = 30
500 + 25 + 30= 555

zit je algauw met een afwijking van 0,27%
Nee de tweede helft moet over het basisbedrag berekend worden! Pas wanneer het nieuwe jaar ingaat gebruik je het bedrag wat je aant eind van het jaar hebt!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 13 september 2005 @ 18:07:
[...]


Nee de tweede helft moet over het basisbedrag berekend worden! Pas wanneer het nieuwe jaar ingaat gebruik je het bedrag wat je aant eind van het jaar hebt!
<zucht>
Nogmaals: We gaan je hier niet aan je handje houden. Dit is gewoon een kwestie van een simpel loopje programmeren. Hoe je dat doet (of dat nu met een for...next, while...wend, repeat....until of whatever) is aan jezelf om te bepalen. Daar ben je immers programmeur (programmeuse? :P ) voor. En wat variabelen ophogen in een loopje is wel heel erg basic lijkt me.

Nogmaals: Dit is niet om je te jennen of omdat we je niet willen helpen. Het gaat er alleen om dat a) P&W geen afhaalbalie voor kant en klare code wordt en b) je zelf wat moeite zult moeten doen.
Je hebt in nog geen enkele reply laten zien wat je zelf al geprobeerd hebt, welke moeite je zelf al geïnvesteerd hebt in de oplossing van je probleem enzovoorts.
Kom eens met wat (relevante) code die je tot nu toe hebt, dan kunnen we daar misschien wat hints/tips op geven.

[ Voor 28% gewijzigd door RobIII op 13-09-2005 18:12 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij

Pagina: 1