NL/Documentation/How Tos/Calc: Afleidingen van financiële formules

From Apache OpenOffice Wiki
Jump to: navigation, search

Afleidingen van financiële formules

Een factor die niet uitnodigt tot het gebruiken van de Financiële functies in Calc zou kunnen zijn dat niet exact wordt begrepen hoe zij worden berekend. Sommige gebruikers zouden zich meer gerust voelen als zij zouden weten hoe de formules zijn afgeleid en voor hen is deze pagina.

De meeste gebruikers zullen natuurlijk niet verder willen onderzoeken en zij kunnen deze pagina negeren.

!! Deze pagina is nog in ontwikkeling !!

DB

Dit is een praktische methode. Als het eerste jaar geen 12 maanden heeft, is de berekende totale afschrijving niet exact; de methode was oorspronkelijk handig omdat hij vrij eenvoudig handmatig is uit te werken.

We willen een constante rente r vinden, die, indien elk jaar toegepast op de boekwaarde van de activa, de afschrijving zal geven die de waarde van de activa reduceert van c, de originele kosten, tot s, de restwaarde. We zullen aannemen dat het eerste jaar 12 maanden heeft en de afschrijvingsperiode (levensduur) is t jaren.

In het eerste jaar

Begin boekwaarde = c

Afschrijving = cr

Resterende boekwaarde = c(1 - r)


In het tweede jaar

Begin boekwaarde = c(1 - r)

Afschrijving = c(1 - r)r

Resterende boekwaarde = c(1 - r)(1 - r)

=c(1 - r)2


In het te jaar

Uiteindelijke resterende boekwaarde = c(1 - r)t

Dus

s = c(1 - r)t

(s/c)1/t = (1 - r)

r = 1 - (s/c)1/t


De methode is exact met gehele jaren, maar zal licht afwijken naar beneden als het eerste jaar minder dan 12 maanden heeft.

DDB

Net als met DB is de boekwaarde aan het einde van de levensduur:

c(1 - r)t

of de restwaarde s indien die groter is, waar per definitie: r = f/t (factor f en levensduur t).

De omstandigheden waaronder DDB niet zal afschrijven tot de restwaarde zijn daarom:

s < c(1 - r)t

=>

s / c < (1 - f/t)t

SYD

Met een afschrijvingsperiode (levensduur) van t jaar, zullen we de afschrijving vinden in het ye jaar:

Afschrijving reduceert de waarde van de activa van c, de originele kosten, tot s, de restwaarde, dus is het waardeverlies c - s.

De som van de getallen van de jaren is 1 + 2 + ... t = t(t+1)/2 (een standaard resultaat).

De jaren, achterwaarts vermeld, zijn t, t-1, .... 2, 1, hetgeen (t+1 - y) is.

De afschrijving in jaar y is daarom

(c - s) * (t+1 - y) / [ t(t+1)/2 ]

= (c - s) * (t+1 - y) * 2/ [t(t+1)]

Tijdwaarde van geld

Huidige en toekomstige waarde

We kunnen €100 investeren tegen zeg maar 5% jaarlijkse rente, en in een jaar tijd is het €105 waard. Dus geld, dat ons vandaag gegeven is, is meer waard als hetzelfde geld later aan ons gegeven, omdat, als we het geld vandaag hebben, we het kunnen investeren en er rente over kunnen krijgen.

De waarde van een investering van vandaag wordt de 'huidige waarde' genoemd. De waarde van een investering op enige tijd in de toekomst wordt de 'toekomstige waarde' genoemd. In dit eenvoudige voorbeeld is de huidige waarde €100 en de toekomstige waarde €105, als u aanneemt dat we een rente hebben van 5%.

De keuze van de rente bij het berekenen van huidige en toekomstige waarden is belangrijk. Het is vaak een keus die u maakt - en geeft aan u een huidige of toekomstige waarde, gebaseerd op die rente. De rente wordt soms de 'vereiste rente bij terugbetaling' genoemd.

We zullen een toekomstige waarde f berekenen van een som p die we vandaag hebben. Laten we aannemen dat er een alternatieve investering met een rente r is die jaarlijks samenvoegt (dat is, aan het einde van elk jaar wordt de rente berekend en toegevoegd aan de investering), en we kiezen er voor om die rente te gebruiken.


In het begin is onze investering p waard.


Aan het einde van het 1ste jaar is het p waard plus de rente van één jaar

= p + pr = p(1 + r).


Aan het einde van het 2e jaar is het p(1 + r) waard plus de rente van één jaar

= p(1 + r) + p(1 + r)r = p(1 + r)2.


...


Aan het einde van het ne jaar is het p(1 + r)n waard.


Dus is de toekomstige waarde na n jaar:

f = p(1 + r)n.

De huidige waarde is daarom:

p = f / (1 + r)n.

We hebben aangenomen dat we een jaarlijks samenvoegende rente hadden, maar deze formule is op elke periode (maanden, kwartalen, etc) van toepassing waar de rente (r per periode) elke periode wordt samengevoegd.

Zorg er voor dat u het verschil weet tussen samengevoegde en niet-samengevoegde rente. Een niet-samengevoegde rente van 1% per maand op een investering van €100 geeft eenvoudigweg €1 per maand - €12 rente in een jaar. Een rente van 1% per maand, maandelijks samengevoegd, geeft 100*(1*0,01)12-100 = €12,68 in het eerste jaar, en meer in het tweede jaar.

Merk ook op dat dit model er van uit gaat dat de rente hetzelfde blijft.


EFFECT.RENTE; EFFECT.RENTE_ADD; (EFFECT); NOMINALE.RENTE; NOMINALE.RENTE_ADD

Een investering is momenteel p waard en betaalt elke periode rente tegen een rente van r, samengevoegd.

Zoals boven vermeld, is de waarde van de investering, aan het einde van de ne periode, = p(1 + r)n.

Als de investering een nominale rente x heeft, zeg per jaar, en betaalt n keren per jaar uit, is de betaalde rente voor elke periode ( 1/ne van een jaar ) r = x/n.

Als de rente elke periode wordt samengevoegd, zal de waarde van de investering aan het einde van het (opgegeven) jaar zijn:

p(1 + r)n = p(1 + x/n)n.

We zoeken naar een effectieve rente e die de waarde zou vergroten met hetzelfde bedrag als een resultaat van één enkele rentebetaling.

p(1 + e) = p(1 + x/n)n

daarom

e = (1 + x/n)n - 1

en

x = n((1 + e)1/n - 1)

Leningen en annuïteiten

We zullen een algemeen model gebruiken om zowel leningen als annuïteiten te beschrijven, waarbij we een som lenen of investeren, we een aantal regelmatige betalingen maken of ontvangen, en we een uiteindelijke som betalen of ontvangen aan het einde. Soms zijn slechts twee van die sommen nodig - bijvoorbeeld met een lening waarbij we de initiële som lenen en dan maandelijkse betalingen doen (er is dan geen uiteindelijke som). We definiëren:

p = huidige waarde (de geleende of geïnvesteerde som)

f = toekomstige waarde (de te betalen of na n perioden te betalen som)

m = betaling per periode (wijzigt niet)

n = aantal perioden (een periode kan een maand, een jaar of wat dan ook zijn)

r = rente (vaste rente) per periode (welke lengte dat ook is)


In het model wort rente berekend en elke periode aan de balans toegevoegd.

We zullen een conventie gebruiken waarin een positieve som geld is dat we ontvangen en een negatieve som geld is dat we moeten betalen. Dus als we een lening nemen van €1000, regelmatige betalingen doen van €50, is p +€1000 en is m -$50; als we een annuïteit kopen voor €6000 die regelmatig €30 betaald, is p -€6000 en is m +€30.


De som van de toekomstige waarden (aan het einde of de termijn) van de contante geldstromen zal nul zijn. Bijvoorbeeld: ik betaal €100 op een rekening met 5% rente (p=-100). De toekomstige waarde hiervan (1 jaar in de toekomst) is -105; de som die ik van de rekening opneem na 1 jaar is €105 (f=+105). De som van de toekomstige waarden is -105 + +105, dat nul is.

De drie contante geldstromen zijn: de initiële som p, de periodieke betalingen m en de uiteindelijke som f.

De toekomstige waarde van p is p(1+r)n (zie Huidige en toekomstige waarden, hierboven).
Er zijn n betalingen van m:
·Indien betalingen aan het einde van elke periode worden gemaakt, zal de toekomstige waarde van de laatste betaling m zijn (het gebeurt pas op de afloopdatum); de toekomstige waarde van de betaling daarvoor zal zijn m(1+r)... ; de toekomstige waarde van de eerste betaling zal m(1+r)n-1 zijn. Als we deze toekomstige waarden optellen krijgen we m[1 + (1+r) + (1+r)2 ..... (1+r)n-1] = m[(1-(1+r)n)/(1-(1+r))] = m[(1-(1+r)x)/(-r)] = m[((1+r)n-1)/r], gebruikt het standaard resultaat voor een geometrische reeks die 1+ a + a2 .... an-1 = (1+an)/(1-a).
·Indien betalingen aan het begin van elke periode worden gemaakt, zal de toekomstige waarde van de laatste betaling m(1+r)... zijn; de toekomstige waarde van de eerste betaling zal m(1+r)n zijn. Als we deze toekomstige waarden optellen krijgen we m[((1+r)n-1)/r](1+r).
·Als we deze combineren, waar t het type betaling is: t=0 voor einde van de periode, t=1 voor begin van de periode, is de toekomstige waarde van de betalingen m[((1+r)n-1)/r](1+rt).
De toekomstige waarde van f is eenvoudigweg f, omdat het in feite gebeurt op de toekomstige datum.

De vergelijking voor de som van de 3 contante geldstromen is daarom:

p(1+r)n + m[((1+r)n-1)/r](1+rt) + f = 0

HW, TW, RMB, APER, RENTE

Deze functies lossen de hierboven vermelde vergelijking voor de annuïteit op

p(1+r)n + m[((1+r)n-1)/r](1+rt) + f = 0

Dus:

PV: p = (-m[((1+r)n-1)/r](1+rt) - f) / (1+r)n
TW: f = -p(1+r)n - m[((1+r)n-1)/r](1+rt)
RMB: m = (-p(1+r)n - f) / [[((1+r)n-1)/r](1+rt)] = (-p(1+r)n - f)r / [((1+r)n-1)(1+rt)]
APER: herschik de vergelijking en maak logs
RENTE: de vergelijking wordt opgelost door middel van iteratie - er is geen algemeen theoretisch alternatief.

IBET, PBET

Dit berekent hoeveel van elke betaling rente (IBET) is en hoeveel terugbetaald kapitaal (PBET) is. PBET is eenvoudigweg de betaling (RMB) vermindert met de rente (IBET), dus hier is het onze taak om die rente te berekenen.


De opgenomen rente in een betaling is de openstaande balans aan het begin van de voorafgaande periode maal de rente. Hier is de 'voorafgaande periode' de periode vóórdat de betaling werd verricht - dat is, de huidige periode als de betaling werd verricht aan het einde van de periode, of de periode daarvoor als de betaling wordt verricht aan het begin van de periode.


We zullen nu de relevante openstaande balansen gaan afleiden.

De vergelijking voor de annuïteit die we eerder vonden vermeld toekomstige waarden aan het einde van de termijn, dat is, aan het einde van periode n. We zullen die vergelijking toepassen op de voorafgaande perioden.

Voor betalingen die zijn verricht aan het einde van de periode (t=0), door één periode terug te gaan verwijdert dat eenvoudigweg één betaling. Voor periode x hebben we

p(1+r)x + m[((1+r)x-1)/r](1+rt) + fx = 0

of

p(1+r)x + m((1+r)x-1)/r + fx = 0


fx is de openstaande balans op dat moment - dat is aan het einde van de periode x; we willen echter de openstaande balans aan het begin van de periode, dat is fx-1 opgegeven als:

p(1+r)x-1 + m((1+r)x-1-1)/r + fx-1 = 0


De rente wprdt opgegeven als rfx-1, dat is:

-rp(1+r)x - m((1+r)x-1).


Voor betalingen die zijn verricht aan het begin van de periode (t=1), voor de tijd tot en inclusief periode x (< n) is er een betaling aan het eerste begin van de termijn, gevolgd door x betalingen aan het einde van de perioden. We kunnen de vergelijking voor de annuïteit gebruiken met een initiële waarde van p + m (in plaats van p), waar betalingen aan het einde zijn verricht:

(p+m)(1+r)x + m((1+r)x-1)/r + fx = 0

Dit geeft ons de waarde (openstaande balans) aan het einde van periode x. In feite wordt de betaling verricht aan het begin van de periode, en wordt op de balans berekend aan het begin van de periode daarvoor; die balans kan daarom worden opgegeven als fx-2, waar:

(p+m)(1+r)x-2 + m((1+r)x-2-1)/r + fx-2 = 0

en de rente wordt opgegeven als rfx-2, dat is:

-r(p+m)(1+r)x-2 - m((1+r)x-2-1).

ISPMT

We nemen een lening. We zullen het kapitaal elke periode afbetalen in vaste betalingen. Elke periode zullen we ook de verschuldigde rente betalen over het openstaande kapitaal. De eerste betaling is aan het begin van de termijn. De laatste betaling is aan het begin van de laatste periode.

n = aantal perioden (een periode kan een maand, een jaar of wat dan ook zijn)

p = principaal (het geleende kapitaal)

r = rente (vaste rente) per periode (niet noodzakelijkerwijze per maand of jaar)

Aflossing van kapitaal elke periode (wijzigt niet) = p/n

Aan het begin van de 1ste periode:

Openstaande kapitaal = p - p/n = p(n-1)/n

Rente voor de periode = (p(n-1)/n) r

Aan het begin van de 2e periode:

Openstaande kapitaal = p(n-1)/n - p/n = p(n-2)/n

Rente voor de periode = (p(n-2)/n) r

Aan het begin van de xe periode:

Openstaand kapitaal = p(n-x)/n

Rente voor de periode = (p(n-x)/n) r

=pr(n-x)/n

RENTEPERCENTAGE

(nog te schrijven)

PRIJS.NOM

PRIJS.NOM geeft:

huidige_waarde_van_couponbetalingen + huidige_waarde_van_aflossingsbetalingen - samengevoegde_couponrente.


De huidige waarde van de aflossingsbetaling wordt berekend als:

waar aflossingswaarde de aflossingsbetaling is, p is de opbrengst per couponperiode (= rendement/interval) en periodentegaan is het (mogelijk gedeeltelijke) aantal resterende perioden na de valutadatum.

periodentegaan wordt berekend als: aantal gehele perioden + (aantal dagen vanaf valutadatum tot de volgende coupon / aantal dagen in de periode waarin de valutadatum valt).

Dit schijnt een conventionele manier te zijn om de huidige waarde voor gedeeltelijke perioden te berekenen, maar het is het waard om op te merken dat het meer als een benadering kan worden gezien dan als exact. Bijvoorbeeld: €100 geïnvesteerd voor een jaar tegen 10% brengt (een 'aflossingsbetaling' van) €110 op. De huidige waarde van €110 halverwege het jaar wordt berekend als 110/1,10,5 hetgeen €104,88 is, hoewel we verwachtten om €105 voor een half jaar te krijgen tegen 10%.


De huidige waarde van de couponbetalingen wordt berekend als:

waar betaling de couponbetaling is per €100 zichtbare waarde = 100*rente/interval, perioden is het aantal resterende gehele perioden na de valutadatum, periodentegaank is het (mogelijk gedeeltelijke) aantal perioden vanaf de valutadatum tot en met die betaling.

De samengevoegde couponrente wordt per €100 zichtbare waarde berekend als

waar dagentotvalutadatum het aantal dagen is vanaf de betalingsdatum net vóór de valutadatum, en dageninperiodemetvalutadatum het aantal dagen is in de periode die ook de valutadatum omvat.

'Aantaldagen' wordt berekend overeenkomstig het in gebruik zijnde kalendersysteem ('basis') - zie Financiële datumsystemen.

PRIJS.DISCONTO

PRIJS.DISCONTO geeft terug:

aflossingswaarde - (aflossingswaarde * discontorente * dagen_tot_voltooiïng / dagen_in_jaar).

Met andere woorden: het bedrag waarover discontorente moet worden betaald wordt proportioneel berekend en eenvoudigweg afgetrokken van de aflossingswaarde.

Met de basis 1 is de definitie van 'aantal_ dagen_in_een_jaar' niet helder - het kan 365 of 366 zijn, of (in Excel) ergens daar tussenin. Zie Financiële datumsystemen.

PRIJS.VERVALDAG

PRIJS.VERVALDAG geeft terug:

huidige_waarde_van_aflossingswaarde_en_rente - samengevoegde_rente

Waarden zijn per 100, dus is de aflossingskapitaalwaarde eenvoudigweg 100.

De betaalde rente voor de aflossing is 100 * rente * dagen_in_gebruik / dagen_in_jaar. Het gedeelte dagen_in_gebruik / dagen_in_jaar wordt berekend met behulp van JAAR.DEEL(gebruiksdatum; einddatum; basis) in Calc. Excel specificeert zijn methode van berekening niet.

De betaalde som voor de aflossing is daarom:

100 + 100 * rente * JAAR.DEEL(gebruiksdatum; einddatum; basis)

De huidige waarde van die som wordt berekend als:

(100 + 100 * rente * JAAR.DEEL(gebruiksdatum; einddatum; basis)) / (1 + opbrengst * JAAR.DEEL(valutadatum; einddatum; basis)).

Dit houdt geen rekening met samenvoegingen. Bijvoorbeeld: de huidige waarde van €150 ontvangen na 5 jaar met behulp van een opbrengst van 10% wordt berekend als 150/(1+0,1*5) = €100; met samenvoegingen zou dat bij benadering 150/(1+0,1)^5 = €93,14 zijn. Het is belangrijk om dit te begrijpen.

De samengevoegde rente wordt berekend als 100 * rente * dagen_vóór_valutadatum / dagen_in_jaar, dat is:

100 * rente * JAAR.DEEL(gebruiksdatum; einddatum; basis)).

Merk op dat er bekende problemen zijn met JAAR.DEEL (de lengte van een jaar met de basis 1; basis 0 datumaanpassingen) die zowel invloed hebben op Excel als op Calc.

Dit kan een standaard methode zijn voor berekeningen in de USA. De geldigheid elders is niet zeker. De gehele formule is :

[(100 + 100 * rente * JAAR.DEEL(gebruiksdatum; einddatum; basis)) / (1 + opbrengst * JAAR.DEEL(valutadatum; einddatum; basis))] - 100 * rente * JAAR.DEEL(gebruiksdatum; einddatum; basis)).

RENDEMENT

We zagen hierboven dat PRIJS.NOM teruggeeft:

huidige_value_van_couponbetalingen + huidige_waarde_van_aflossingsbetaling - samengevoegd_couponrente

hetgeen is:

waar p de opbrengst per couponperiode is (= rendement/interval).

Er bestaat geen algemene manier om deze vergelijking te herschikken om de opbrengst op te lossen. Dus wordt een geschatte waarde voor opbrengst gekozen, en dan herhaaldelijk aangepast om de berekende waarde van PRIJS.NOM dichter bij de als een parameter gespecificeerde waarde in de functie RENDEMENT te brengen.

REND.DISCONTO

REND.VERVAL

De obligatie betaalt maar één keer uit, op de einddatum. De opbrengst wordt berekend volgens deze recht toe - recht aan formule:

eind_waarde / valuta_waarde = 1 + rendement*JAAR.DEEL(valuta;eind),

waar JAAR.DEEL(valuta;eind') het deel : aantal_dagen_tussen_valuta_en_eind gedeeld door het aantal_dagen_in_een_jaar is.


Nu dan:

eind_waarde = aflossings_waarde + rente

= 100 + 100*rente*JAAR.DEEL(valuta;eind)

= 100*(1+rente*JAAR.DEEL(valuta;eind))

waar rente de jaarlijkse rente is.


valuta_waarde kan worden gevonden uit de vergelijking voor PRIJS.VERVALDAG:

prijs = huidigewaarde_van_aflossing_en_rente - samengevoegde_rente

= valuta_waarde - samengevoegde_rente

=> valuta_waarde = prijs + samengevoegde_rente

= prijs + 100*rente*JAAR.DEEL(gebruik;valuta)


Van boven:

1 + rendement*JAAR.DEEL(valuta;eind) = eind_waarde / valuta_value

=> rendement = (eind_waarde / valuta_waarde - 1)/JAAR.DEEL(valuta;eind)

= (100*(1+rente*JAAR.DEEL(gebruik;eind)) / (prijs + 100*rente*JAAR.DEEL(gebruik;valuta)) - 1)/JAAR.DEEL(valuta;eind)

waarbij elk JAAR.DEEL wordt berekend met behulp van de juiste basis.


Zie ook

Personal tools