Föregående avsnittNästa avsnitt


Klassen Finance

Klassen Finance är en JavaScript-klass i BIRT där det finns en uppsättning statiska ekonomifunktioner som du kan vända till att utföra ett antal vanliga affärsberäkningar. Ekonomivärden kan representeras som ett flyttalsvärde. Tillämpningen kan inte skapa en förekomst av den här klassen.

Finance.ddb

Den här funktionen returnerar avskrivningen för en tillgång under en angiven, enskild period med hjälp av dubbel degressiv avskrivningsmetod. Dubbel degressiv avskrivningsmetod är en accelererad avskrivningsmetod som ger högre avskrivningsbelopp och högre skatteeffekter under de tidigare åren av en tillgångs ekonomiska livslängd, i motsatts till rak avskrivningsmetod där lika stora avskrivningsbelopp används under tillgångens hela den ekonomiska livslängd.

Funktionen använder följande formel för avskrivning under en enstaka period:

depreciation = (( initialCost - totalDepreciationFromPriorPeriods) * 2) /  assetLifespan 

Följande regler gäller:

Syntax

ddb( initialCost, salvageValue, assetLifespan, singlePeriod )

Argument

Exempel

I följande exempel beräknas nedskrivningen för det första året med den dubbel degressiva avskrivningsmetoden för en ny maskin som har köpts in för USD 1 400, med ett restvärde av USD 200, och en ekonomisk livslängd på 10 år. Resultatet (USD 280) tilldelas till variabeln Year1Deprec:

Year1Deprec = Finance.ddb(1400, 200, 10, 1)  

Se även

Finance.sln-funktionen

Finance.syd-funktionen

Finance.fv

Den här funktionen returnerar det framtida värdet av en annuitet baserad på periodiska konstanta betalningar och på oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån Det framtida värdet av en annuitet är den kassabalans som du vill ha när du har gjort den slutliga betalningen.

Om du till exempel startar en sparplan med målet att spara USD 75 000 på 18 år så att du kan betala för ditt barns utbildning så kommer planens framtida värde att bli USD 75 000.

Eller om du tar ut ett lån på USD 11 000 kommer det framtida värdet på lånet att vara USD 0,00 på samma sätt som det är för ett vanligt lån.

Följande regler gäller:

Syntax

fv( ratePerPeriod, numberPayPeriods, eachPmt, presentValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du sätter in USD 10 000 på ett sparkonto för din dotter när hon föds. Om kontot har en sparränta på 5,7% effektiv daglig ränta, hur mycket kommer hon ha när hon börjar vid universitetet om 18 år? Svaret, USD 27 896,60, tilldelas till variabeln TotalValue:

TotalValue = Finance.fv(0.057/365, 18*365, 0, -10000, 1)  

Följande exempel är nästan identiskt med det föregående. I det här förutsätts däremot att räntan beräknas per månad i stället för per dag, och att du har bestämt dig för att sätta in ytterligare USD 55 per månad på kontot. Det framtida värde som tilldelas till TotalValue är i det här fallet USD 48 575,82:

TotalValue = Finance.fv(0.057/12, 18*12, -55, -10000, 1)  

Se även

Finance.ipmt-funktionen

Finance.nper-funktionen

Finance.pmt-funktionen

Finance.ppmt-funktionen

Finance.pv-funktionen

Finance.rate-funktionen

Finance.ipmt

Den här funktionen returnerar räntan för en given period för en annuitet, baserat på periodiska, konstanta betalningar och en oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån Varje betalning består av två komponenter, kapitalbelopp och ränta. iPmt returnerar räntekomponenten av betalningen.

Följande regler gäller:

Syntax

ipmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du gör månatliga betalningar den första i varje månad på ett lån av USD 20 000 som löper över 36 månader med en effektiv årlig ränta på 11,5%. Hur mycket av din femte inbetalning är ränta? Svaret är att USD 171,83 tilldelas till Interest5:

Interest5 = Finance.ipmt(.115/12, 5, 36, -20000, 0, 1)  

Se även

Finance.fv-funktionen

Finance.nper-funktionen

Finance.pmt-funktionen

Finance.ppmt-funktionen

Finance.pv-funktionen

Finance.rate-funktionen

Finance.irr

Den här funktionen returnerar den interna räntabilitet för en serie periodiska kassaflöden, utbetalningar och inkommande belopp, i en befintlig matris. Den interna räntabiliteten för en investering som består av utbetalningar och inkommande belopp som förekommer med regelbundna intervaller. Kassaflödet för varje period behöver inte vara konstant på det sätt som är fallet för en annuitet.

IRR är nära relaterat till funktionen NVP (net present value) eftersom räntabiliteten som beräknas av IRR är den räntesats som motsvarar en NVP av noll. IRR beräknar genom iteration. Om du startar med värdet <starting guess> så upprepas beräkningen tills resultatet är korrekt inom ett intervall av 0,00001 procent. Om resultatet inte kan bestämmas efter 20 iterationer så fungerar inte funktionen.

Följande regler gäller:

Följande tipps kan vara användbara:

Syntax

irr( cashArray, startingGuess )

Argument

Exempel

Följande exempel förutsätter att du har fyllt i matrisen myArray med en serie av kassaflödesvärden. Den interna räntabiliteten tilldelas till variabeln IRRValue:

IRRValue = Finance.irr( myArray, .1 ) 

Se även

Finance.mirr-funktionen

Finance.npv-funktionen

Finance.rate-funktionen

Finance.mirr

Den här funktionen returnerar den ändrade interna räntabilitet för en serie periodiska kassaflöden, utbetalningar och inkommande belopp, i en befintlig matris. Den ändrade interna räntabiliteten är den interna räntabiliteten (IRR) när utbetalningar och inkommande belopp finansieras med olika räntesatser. MIRR tar hänsyn till både kostnaden av en investering, eller värdet i financeRate, och den räntesats som tas emot på återinvesteringen av kassan, eller värdet i reinvestmentRate.

Följande regler gäller:

Eftersom MIRR använder ordningen av värden i matrisen vid tolkningen av ordningen av utbetalningar och mottagna belopp bör du se till att du anger värden för utbetalningar och mottagna belopp i rätt ordning.

Syntax

mirr( cashArray, financeRate, reinvestmentRate )

Argument

Exempel

Följande exempel förutsätter att du har fyllt i matrisen myArray med en serie av kassaflödesvärden. Om den ränta du betalar för finansiering är 12%, och den ränta du tjänar på inkomst är 11,5%, vad är den ändrade interna räntabiliteten? Svaret tilldelas till variabeln MIRRValue:

MIRRValue = Finance.mirr( myArray, 0.12, 0.115 )   

Se även

Finance.irr-funktionen

Finance.rate-funktionen

Finance.nper

Den här funktionen returnerar antalet perioder för en annuitet baserat på periodiska, konstanta betalningar och på oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån

Följande regler gäller:

Syntax

nper( ratePerPeriod, eachPmt, presentValue, futureValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du gör månatliga betalningar den första i varje månad på ett lån av USD 20 000 med en effektiv årlig ränta på 11,5%. Om varje betalning är USD 653,26, hur många betalningar kommer du behöva göra innan du har betalat av lånet? Svaret, USD 27 896,60, tilldelas till variabeln NumPeriods.

NumPeriods = Finance.nper(.115/12, -653.26, 20000, 0, 1) 

Se även

Finance.fv-funktionen

Finance.ipmt-funktionen

Finance.pmt-funktionen

Finance.ppmt-funktionen

Finance.pv-funktionen

Finance.rate-funktionen

Finance.npv

Den här funktionen returnerar det aktuella nettovärdet för en varierande serie med periodiska kassaflöden, både positiva och negativa, vid en angiven räntesats. Medan PV bestämmer det aktuella värdet av en serie konstanta betalningar gör NPV samma sak för en serie med varierande betalningar. Det aktuella nettovärdet är värdet i dagens dollarvärde för alla framtida kassaflöden som associerade med en investering minus alla initiala kostnader. Med andra ord är det den klumpsumma som skulle returnera samma vinst eller förlust som den aktuella serien med kassaflöden om klumpsumman skulle sättas in på banken i dag och finnas kvar där utan att röras med den räntesats som finns angiven i <rate> för samma tidsperiod som täcks av kassaflödesströmmen.

Följande regler gäller:

Eftersom NPV använder ordningen av värden i matrisen vid tolkningen av ordningen av utbetalningar och mottagna belopp bör du se till att du anger värden för utbetalningar och mottagna belopp i rätt ordning.

Syntax

npv( rate, cashArray )

Argument

Exempel

Följande exempel förutsätter att du har fyllt i matrisen myArray med en serie av kassaflödesvärden och att räntan är 11%. Vad är det aktuella nettovärdet? Svaret tilldelas till variabeln NetPValue:

NetPValue = Finance.npv( .11, MyArray )  

Finance.percent

Den här funktionen beräknar procenten av två tal. Den här funktionen hanterar de två viktigaste underhållsfunktionerna när det gäller beräkning av procent: hantering av noll i täljarvärdet och hanteringen av null-värden.

Syntax

percent( denom, num, valueIfZero )

Argument

Returnering

Exempel

pct = Finance.percent( 20, 50 ) // returnerar 40 
pct = Finance.percent( 20, 0 ) // returnerar 0 

Finance.pmt

Returnerar betalningen för en annuitet baserat på periodiska, konstanta betalningar och på oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån

Följande regler gäller:

Syntax

pmt( ratePerPeriod, numberPayPeriods, presentValue, futureValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du gör månatliga betalningar den första i varje månad på ett lån på USD 20 000 som löper över 36 månader med en effektiv årlig ränta på 11,5%. Hur mycket kommer var och en av dina betalningar att vara? Svaret är att USD 653,26 tilldelas till PaymentAmt.

PaymentAmt = Finance.pmt(.115/12, 36, -20000, 0, 1)  

Se även

Finance.fv-funktionen

Finance.ipmt-funktionen

Finance.nper-funktionen

Finance.ppmt-funktionen

Finance.pv-funktionen

Finance.rate-funktionen

Finance.ppmt

Den här funktionen returnerar kapitaldelen för en given period för en annuitet, baserat på periodiska, konstanta betalningar och en oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån Varje betalning i en annuitet består av två komponenter: kapitaldel och ränta. ppmt returnerar kapitaldelen av betalningen.

Följande regler gäller:

Syntax

ppmt( ratePerPeriod, singlePeriod, numberPayPeriods, presentValue, futureValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du gör månatliga betalningar den första i varje månad på ett lån på USD 20 000 som löper över 36 månader med en effektiv årlig ränta på 11,5%. Hur mycket av din femte inbetalning är kapitaldelen? Svaret USD 481,43 tilldelas till Principal5:

Principal5 = Finance.ppmt(.115/12, 5, 36, -20000, 0, 1)  

Se även

Finance.fv-funktionen

Finance.ipmt-funktionen

Finance.nper-funktionen

Finance.pmt-funktionen

Finance.pv-funktionen

Finance.rate-funktionen

Finance.pv

Den här funktionen returnerar det aktuella värdet av en annuitet baserad på periodiska, konstanta betalningar som ska betalas i framtiden, och på oförändrad ränta. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån Numeriskt uttryck som anger värdet i dag för en framtida betalning eller betalningsström.

Om du till exempel sätter in USD 23,94 på banken i dag och har den summan där i 15 år med 10% effektiv årlig ränta kommer du att få omkring USD 100. Så i det här fallet är det aktuella värdet av de 100 dollarna cirka USD 23,94.

Följande regler gäller:

Syntax

pv( ratePerPeriod, numberPayPeriods, eachPmt, futureValue, whenDue )

Argument

Exempel

I följande exempel förutsätts att du tänker köpa en industriobligation med ett nominellt värde på USD 1 000. Obligationen ger en årlig kupong på USD 100, förfaller till betalning om 15 år och nästa kupong ska betalas ut vid slutet av det första året. När den löper ut brukar avkastningen för liknande obligationer vara 12,5%. Vad är ett rimligt pris för den här obligationen, eller med andra ord, hur mycket är det aktuella värdet för den? Svaret, USD 834,18, tilldelas till variabeln PresentValue:

PresentValue = Finance.pv(.125, 15, 100, 1000, 0)  

I följande exempel förutsätts att du har vunnit på lotto. Jackpotten är USD 10 miljoner, som du kommer att få i utbetalningar om USD 500 000 per år i 20 år med början ett år från dagens datum. Om den effektiva årliga räntan är 9,5%, hur mycket är Lottovinsten värd i dag? Svaret, USD 4 406 191,06 tilldelas till PresentValue:

PresentValue = Finance.pv(.095, 20, 50000,10000000, 0)  

I följande exempel förutsätts att du vill spara USD 11 000 över tre år. Om den effektiva årliga räntan är 10,5% och du planerar att spara USD 325 per månad, och om du gör dina inbetalningar i början av varje månad, hur mycket skulle du behöva ha på ditt konto när du start om du ska uppnå ditt mål? Svaret, USD 2 048,06, tilldelas till StartValue. Lägg märke till att eachPmt uttrycks som ett negativt värde eftersom det representerar pengar som betalas ut:

StartValue = Finance.pv(.105/12, 3*12, -325, 11000, 1)  

Se även

Finance.fv-funktionen

Finance.ipmt-funktionen

Finance.nper-funktionen

Finance.pmt-funktionen

Finance.ppmt-funktionen

Finance.rate-funktionen

Finance.rate

Den här funktionen returnerar räntesatsen per period för en annuitet. En annuitet är en serie kontantutbetalningar med ett konstant värde som görs över en tidsperiod. En annuitet kan vara en investering, t.ex. en månatlig sparplan, eller ett lån, t.ex. ett huslån

Med Rate beräknas räntesatsen på en annuitet iterativt. Om du startar med värdet startingGuess så upprepas beräkningen tills resultatet är korrekt inom ett intervall av 0,00001 procent. Om resultatet inte kan bestämmas efter 20 iterationer så fungerar inte funktionen.

Följande regler gäller:

Följande tipps kan vara användbara:

Syntax

rate( numberPayPeriods, eachPmt, presentValue, futureValue, whenDue, startingGuess )

Argument

Exempel

I följande exempel förutsätts att du har tagit ett lån på USD 11 000 som du ska betala tillbaka över tre år. Om du betalar USD 653,26 per månad, och du gör dina betalningar i början av varje månad, vad kommer du att betala för effektiv årlig räntesats? Svaret, 0,115 eller 11,5%, tilldelas till variabeln InterestRate. Lägg märke till att returvärden för Rate måste multipliceras med 12 om du ska få den årliga räntesatsen:

InterestRate = Finance.rate(3*12, -653.26, 20000, 0, 1, .1) * 12  

Se även

Finance.fv-funktionen

Finance.ipmt-funktionen

Finance.nper-funktionen

Finance.pmt-funktionen

Finance.ppmt-funktionen

Finance.pv-funktionen

Finance.sln

Den här funktionen returnerar rak avskrivning för en tillgång för en enstaka period. Rak avskrivning är den äldsta och enklaste metoden för avskrivning av fasta tillgångar. I metoden används bokföringsvärdet för tillgången minus det uppskattade restvärdet och skillnaden allokeras i lika delar till varje period för tillgångens ekonomiska livscykel. Sådana procedurer används till att ta fram en likvärdig årlig avskrivning som sätt mot inkomsten innan inkomstskatt beräknas. Alla argument måste vara positiva tal.

Syntax

sln( initialCost, salvageValue, assetLifespan )

Argument

Exempel

I följande exempel beräknas nedskrivningen med rak avskrivning för en ny maskin som har köpts in för USD 1 400, med ett restvärde av USD 200, och en ekonomisk livslängd på 10 år. Resultatet, USD 120 per år, tilldelas till AnnualDeprec:

AnnualDeprec = Finance.sln(1400, 200, 10)  

Se även

Finance.ddb-funktionen

Finance.syd-funktionen

Finance.syd

Den här funktionen returnerar ackumulerad avskrivning för en tillgång för en angiven period. Ackumulerad avskrivning är en accelererad avskrivningsmetod som ger högre avskrivningsbelopp och högre skatteeffekter under de tidiga åren av en tillgångs ekonomiska livslängd, i motsatts till rak avskrivningsmetod där lika stora avskrivningsbelopp används under tillgångens hela den ekonomiska livslängd.

Funktionen baserar avskrivningen på en inverterad skala av totalen av siffror för de användbara åren för en tillgång. Om en tillgångs användbara liv till exempel är 4 år producerar siffrorna 4, 3, 2 och 1 adderade tillsammans summan 10. SYD för det första året blir fyra tiondelar av den avskrivbara kostnaden för tillgången, eller kostnaden minus restvärdet. Motsvarande för det andra året blir tre tiondelar osv.

Följande regler gäller:

Syntax

syd( initialCost, salvageValue, assetLifespan, singlePeriod )

Argument

Exempel

I följande exempel beräknas nedskrivningen med ackumulerad avskrivning för en ny maskin som har köpts in för USD 1 400 med ett restvärde av USD 200 och en ekonomisk livslängd på 10 år. Resultatet, USD 218,18, tilldelas till Year1Deprec.

Year1Deprec = Finance.syd(1400, 200, 10, 1)  

Obs!

I följande exempel beräknas avskrivningen av samma tillgång för det andra året av tillgångens användbara livslängd. Resultatet, USD 196,36, tilldelas till Year2Deprec.

Year2Deprec = Finance.syd(1400, 200, 10, 2)  

Obs!

Se även

Finance.ddb-funktionen

Finance.sln-funktionen


(c) Copyright Actuate Corporation 2006

Föregående avsnittNästa avsnitt