Предыдущий разделСледующий раздел


Класс Finance

Класс Finance - это класс JavaScript BIRT, в котором реализован набор статических финансовых функций для проведения стандартных вычислений. Финансовые значения могут храниться в виде чисел с плавающей точкой. В приложении нельзя создать экземпляр данного класса.

Finance.ddb

Данная функция возвращает величину амортизации актива за определенный период времени методом двойного снижения остатка. Эта разновидность ускоренной амортизации позволяет получить дополнительную экономию на налогах на начальном этапе эксплуатации ресурса по сравнению с линейной амортизацией (SLN), когда величина списаний постоянна на всем протяжении срока эксплуатации.

Величина амортизации за период времени вычисляется с помощью следующей формулы:

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

Применяются следующие правила:

Синтаксис

ddb( initialCost, salvageValue, assetLifespan, singlePeriod )

Аргументы

Пример

Следующее выражение позволяет вычислить величину амортизации методом двойного снижения остатка за первый год эксплуатации станка, приобретенного за 1400 долларов с остаточной стоимостью в 200 долларов и полезным сроком в 10 лет. Результат (280 долларов) присваивается переменной Year1Deprec:

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

См. также

Функция Finance.sln

Функция Finance.syd

Finance.fv

Данная функция возвращает будущую стоимость аннуитета с регулярными фиксированными выплатами и постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита). Будущая стоимость представляет собой итоговый баланс после совершения последнего платежа.

Например, если вы разработали 18-летний план сбережения средств в объеме 75000 долларов на обучение ребенка, будущая стоимость этого плана составляет 75000 долларов.

Если вы взяли кредит в размере 11000 долларов, будущая стоимость этого кредита составляет 0 долларов.

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что вы положили 10000 долл. на депозитный счет дочери в момент ее рождения. Если величина сложного процента в дневном выражении составляет 5,7%, сколько денег будет у нее на оплату обучения в колледже через 18 лет? Ответ (27896,60 долл.) будет присвоен переменной TotalValue:

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

Следующий пример практически ничем не отличается от предыдущего. Однако в данном случае предполагается, что проценты начисляются ежемесячно, и что каждый месяц вы вносите дополнительные 55 долларов на счет. В этом случае будущая стоимость вклада составит 48575,82 долл.:

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

См. также

Функция Finance.ipmt

Функция Finance.nper

Функция Finance.pmt

Функция Finance.ppmt

Функция Finance.pv

Функция Finance.rate

Finance.ipmt

Данная функция возвращает размер выплат по процентам для заданного периода аннуитета при условии регулярных фиксированных выплат с постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита). Каждый платеж состоит из двух компонентов - основной суммы и процентов. Функция iPmt возвращает величину процентов.

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что первого числа каждого месяца вы совершаете платеж по кредиту в размере 20000 долларов, который вы взяли на 36 месяцев под 11,5% годовых. Какую величину составят проценты в вашем пятом платеже? Ответ (171,83 долл.) будет присвоен переменной Interest5:

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

См. также

Функция Finance.fv

Функция Finance.nper

Функция Finance.pmt

Функция Finance.ppmt

Функция Finance.pv

Функция Finance.rate

Finance.irr

Данная функция возвращает внутреннюю норму прибыли для регулярных входящих и исходящих потоков наличности в существующем массиве. Внутренняя норма прибыли представляет собой процентную ставку для инвестиций, состоящих из регулярных входящих и исходящих платежей. Внутренняя норма прибыли может меняться от периода к периоду и от аннуитета к аннуитету.

Внутренняя норма прибыли (IRR) тесно связана с чистой приведенной стоимостью, поскольку норма прибыли, вычисленная с помощью функции IRR, представляет собой процентную ставку, соответствующую нулевой чистой приведенной стоимости. Значение IRR вычисляется итерационным методом. Начиная со значения аргумента <startingGuess>, вычисления повторяются до тех пор, пока результат не достигнет точности в 0,00001%. Если результат не удается определить за 20 итераций, функция возвращает ошибку.

Применяются следующие правила:

Советы:

Синтаксис

irr( cashArray, startingGuess )

Аргументы

Пример

В следующем примере предполагается, что массив myArray содержит последовательность величин потоков наличности. Внутренняя норма прибыли будет присвоена переменной IRRValue:

IRRValue = Finance.irr( myArray, .1 ) 

См. также

Функция Finance.mirr

Функция Finance.npv

Функция Finance.rate

Finance.mirr

Данная функция возвращает модифицированную внутреннюю норму прибыли для регулярных входящих и исходящих потоков наличности в существующем массиве. Модифицированная внутренняя норма прибыли представляет собой внутреннюю норму прибыли, рассчитанную для платежей с плавающими ставками процентов. При вычислении MIRR учитываются как стоимость инвестиций (financeRate), так и процентный доход от реинвестирования (reinvestmentRate).

Применяются следующие правила:

Поскольку MIRR рассматривает порядок следования элементов в массиве как последовательный список потоков, необходимо указать значения в правильном порядке.

Синтаксис

mirr( cashArray, financeRate, reinvestmentRate )

Аргументы

Пример

В следующем примере предполагается, что массив myArray содержит последовательность величин потоков наличности. Какова модифицированная внутренняя норма прибыли, если стоимость финансирования составляет 12,5%, а доход от реинвестирования - 11,5%? Ответ будет присвоен переменной MIRRValue:

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

См. также

Функция Finance.irr

Функция Finance.rate

Finance.nper

Возвращает количество периодов для регулярных фиксированных выплат по аннуитету с постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита).

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что первого числа каждого месяца вы совершаете платеж по кредиту в размере 20000 долларов, который вы взяли под 11,5% годовых. Сколько потребуется платежей для погашения кредита, если величина платежа составляет 653,26 долл.? Ответ (36) будет присвоен переменной NumPeriods.

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

См. также

Функция Finance.fv

Функция Finance.ipmt

Функция Finance.pmt

Функция Finance.ppmt

Функция Finance.pv

Функция Finance.rate

Finance.npv

Данная функция возвращает чистую приведенную стоимость последовательности входящих и исходящих потоков наличности с указанной процентной ставкой. Тогда как текущая стоимость (PV) отражает текущую стоимость последовательности фиксированных платежей, чистая приведенная стоимость (NPV) отражает текущую стоимость последовательности различных платежей. Чистая приведенная стоимость - это стоимость всех будущих потоков наличности, связанных с инвестициями, за вычетом начальных затрат, на сегодняшний день в сегодняшних долларах. Другими словами, это та сумма денег, которая принесла бы прибыль или убыток, равный прибыли или убытку от анализируемой совокупности потоков наличности, если бы эту сумму положили на банковский счет под процентную ставку, указанную в аргументе <rate>, на период времени, охватываемый анализируемой совокупностью потоков наличности.

Применяются следующие правила:

Поскольку NPV рассматривает порядок следования элементов в массиве как последовательный список потоков, необходимо указать значения в правильном порядке.

Синтаксис

npv( rate, cashArray )

Аргументы

Пример

В следующем примере предполагается, что массив myArray содержит последовательность величин потоков наличности, и что ставка составляет 11%. Чему равна чистая приведенная стоимость? Ответ будет присвоен переменной NetPValue:

NetPValue = Finance.npv( .11, MyArray )  

Finance.percent

Данная функция вычисляет процентное соотношение между двумя величинами. Она корректно обрабатывает исключительные ситуации: когда числитель равен нулю и когда числитель или знаменатель не заданы.

Синтаксис

percent( denom, num, valueIfZero )

Аргументы

Возвращаемое значение

Пример

pct = Finance.percent( 20, 50 ) // результат - 40 
pct = Finance.percent( 20, 0 ) // результат - 0 

Finance.pmt

Возвращает величину платежа для регулярных фиксированных выплат по аннуитету с постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита).

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что первого числа каждого месяца вы совершаете платеж по кредиту в размере 20000 долларов, который вы взяли на 36 месяцев под 11,5% годовых. Чему будет равна величина платежа? Ответ (653,26 долл.) будет присвоен переменной PaymentAmt.

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

См. также

Функция Finance.fv

Функция Finance.ipmt

Функция Finance.nper

Функция Finance.ppmt

Функция Finance.pv

Функция Finance.rate

Finance.ppmt

Данная функция возвращает размер выплат по основной сумме для заданного периода аннуитета при условии регулярных фиксированных выплат с постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита). Каждый платеж по аннуитету состоит из двух компонентов: основной суммы и процентов. Функция ppmt возвращает величину основной суммы.

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что первого числа каждого месяца вы совершаете платеж по кредиту в размере 20000 долларов, который вы взяли на 36 месяцев под 11,5% годовых. Какую величину составит основная сумма в вашем пятом платеже? Ответ (481,43 долл.) будет присвоен переменной Principal5:

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

См. также

Функция Finance.fv

Функция Finance.ipmt

Функция Finance.nper

Функция Finance.pmt

Функция Finance.pv

Функция Finance.rate

Finance.pv

Данная функция возвращает текущую стоимость аннуитета с регулярными фиксированными выплатами и постоянной процентной ставкой. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита). Текущая стоимость представляет собой стоимость будущего платежа или последовательности платежей в будущем на сегодняшний день.

Например, если сегодня положить сумму в 23,94 доллара в банк на 15 лет с процентной ставкой в 10% годовых, будущая стоимость составит около 100 долларов. Поэтому текущая стоимость этих 100 долларов составляет примерно 23,94 доллара.

Применяются следующие правила:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что вы рассматриваете возможность покупки корпоративной облигации с номинальной стоимостью в 1000 долларов. По облигации выплачивается ежегодный купон в размере 100 долларов, срок погашения составляет 15 лет, а следующий купон выплачивается через год. Доходность к погашению у облигаций, подобных этой, составляет 12,5%. Какова справедливая цена этой облигации, то есть ее текущая стоимость? Ответ (834,18 долл.) будет присвоен переменной PresentValue:

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

В следующем примере предполагается, что вы выиграли в лотерею. Главный приз составил 10 миллионов долларов, которые вы получите в виде 20 ежегодных выплат по 500000 долларов, причем первая выплата состоится через год. Если ежегодная ставка составляет 9,5% какова текущая стоимость выигрыша в лотерею? Ответ (4406191,06) будет присвоен переменной PresentValue:

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

В следующем примере предполагается, что вы хотите накопить 11000 долларов в течение ближайших трех лет. Процентная ставка составляет 10,5% годовых, вы планируете откладывать 325 долларов в месяц. Если вы будете осуществлять платеж первого числа каждого месяца, сколько денег нужно положить на счет с самого начала для реализации плана? Ответ (2048,06) будет присвоен переменной StartValue. Обратите внимание на то, что значение eachPmt указано в виде отрицательной величины, поскольку оно отражает исходящий платеж:

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

См. также

Функция Finance.fv

Функция Finance.ipmt

Функция Finance.nper

Функция Finance.pmt

Функция Finance.ppmt

Функция Finance.rate

Finance.rate

Данная функция возвращает процентную ставку за период для аннуитета. Аннуитет представляет собой совокупность постоянных по величине выплат в течение определенного периода времени. Аннуитет может быть формой инвестиций (например, если речь идет о ежемесячных сбережениях) или займа (например, если речь идет о погашении ипотечного кредита).

Процентная ставка вычисляется итерационным методом. Начиная со значения аргумента startingGuess, вычисления повторяются до тех пор, пока результат не достигнет точности в 0,00001%. Если результат не удается определить за 20 итераций, функция возвращает ошибку.

Применяются следующие правила:

Советы:

Синтаксис

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

Аргументы

Пример

В следующем примере предполагается, что вы взяли кредит в размере 20000 долларов и выплачиваете его в течение 3 лет. Если размер ежемесячного платежа составляет 653,26 долл. и платежи совершаются в начале месяца, чему равна процентная ставка? Ответ (.115 или 11,5%) будет присвоен переменной InterestRate. Обратите внимание на то, что для получения годовой ставки нужно умножить результат функции rate на 12:

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

См. также

Функция Finance.fv

Функция Finance.ipmt

Функция Finance.nper

Функция Finance.pmt

Функция Finance.ppmt

Функция Finance.pv

Finance.sln

Данная функция возвращает величину линейной амортизации актива за период времени. Линейная амортизация - это старейший и простейший метод амортизации основных фондов. Разница между балансовой и остаточной стоимостью актива равномерно распределяется на весь его полезный срок. Такой подход позволяет получить постоянную величину амортизации для вычета из прибыли до уплаты налогов. Все аргументы должны быть положительными числами.

Синтаксис

sln( initialCost, salvageValue, assetLifespan )

Аргументы

Пример

Следующее выражение позволяет вычислить величину линейной амортизации за первый год эксплуатации станка, приобретенного за 1400 долларов с остаточной стоимостью в 200 долларов и полезным сроком в 10 лет. Результат (120 долларов в год) будет присвоен переменной AnnualDeprec:

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

См. также

Функция Finance.ddb

Функция Finance.syd

Finance.syd

Данная функция возвращает величину амортизации актива по сумме лет за указанный период времени. Эта разновидность ускоренной амортизации позволяет получить дополнительную экономию на налогах на начальном этапе эксплуатации ресурса по сравнению с линейной амортизацией (SLN), когда величина списаний постоянна на всем протяжении срока эксплуатации.

Этот метод основан на перевернутой шкале чисел, состоящей из суммы чисел лет полезной службы актива. Например, если полезная служба актива составляет 4 года, числа 4, 3, 2 и 1 складываются и дают в сумме 10. Тогда амортизация SYD для первого года составляет 4/10 общей суммы амортизации (разницы между балансовой и остаточной стоимостью). Величина амортизации во второй год составляет 3/10 общей суммы амортизации и т.д.

Применяются следующие правила:

Синтаксис

syd( initialCost, salvageValue, assetLifespan, singlePeriod )

Аргументы

Пример

Следующее выражение позволяет вычислить величину амортизации по сумме лет за первый год эксплуатации станка, приобретенного за 1400 долларов с остаточной стоимостью в 200 долларов и полезным сроком в 10 лет. Ответ (218,18) будет присвоен переменной Year1Deprec.

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

Примечания:

В следующем примере вычисляется величина амортизации того же актива за второй год его полезного срока. Ответ (196,36) будет присвоен переменной Year2Deprec.

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

Примечания:

См. также

Функция Finance.ddb

Функция Finance.sln


(c) Copyright Actuate Corporation 2006

Предыдущий разделСледующий раздел