Investment Functions - полезные макросы для финансовых моделей

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

При установленной надстройке становятся доступны функции расчета простого и дисконтированного срока окупаемости (PBP, DPBP), Profitability Index, CAGR, налога на прибыль и другие. Эти функции позволяют сэкономить время, отказавшись от написания сложных формул, и избежать в моделях ячеек с промежуточными техническими расчетами.

installation_step4

Использование надстройки не требует внедрения макросов в сами файлы моделей.

Надстройку можно безопасно использовать в командах. Коллега, который тоже установит эту надстройку, без проблем откроет вашу модель с новыми формулами. Для этого надстройка при открытии файлов проверяет и обновляет нужные пути.

Настройка распространяется с открытым кодом. В репозитории на GitHub можно посмотреть исходники всех макросов и скачать уже готовый к установке файл.

Чтобы установить надстройку достаточно скачать готовую надстройку “InvestmentFunctions.xlam” и подключить ее в настройках Excel. Детальная инструкция в конце этой заметки.


Список функций и как их использовать

Disclaimer:

fCAGR - расчет CAGR по вектору значений

Рассчитывает совокупный среднегодовой темп роста (CAGR) по диапазону ячеек.

Сигнатура функции: fCAGR(rValuesRange As Range) As Double

fcagr

Особенности:


fCAGR2 - расчет CAGR по начальному и конечному значению

Рассчитывает совокупный среднегодовой темп роста (CAGR) по начальному и конечному значению показателя с указанием периодов.

Сигнатура функции: fCAGR2(dStartValue As Double, dEndValue As Double, dStartYear As Double, dEndYear As Double) As Double

fCAGR2


fDepreciation - расчет амортизации

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

Сигнатура функции: fDepreciation(rCapex As Range, dDepreciationPeriod As Double) As Double

fDepreciation

Особенности:


fExtendAP - продлить ряд значений как арифметическую прогрессию

fExtendAP принимает на вход ряд значений, а далее продлевает его как арифметическую прогрессию. Функция может использоваться для продления денежного потока для формул ЧПС() и ВСД().

Сигнатура функции: fExtendAP(vInput As Variant, iPeriods As Variant, Optional dGrowthRate As Variant) As Variant

fExtendAP

Особенности:


fExtendGP - продлить ряд значений как геометрическую прогрессию

fExtendGP принимает на вход ряд значений, а далее продлевает его как геометрическую прогрессию. Функция может использоваться для продления денежного потока для формул ЧПС() и ВСД().

Сигнатура функции: fExtendGP(vInput As Variant, iPeriods As Variant, Optional dGrowthRate As Variant) As Variant

fExtendGP

Особенности:


fIncomeTax - расчет налога на прибыль

Рассчитывает налог на прибыль в текущем периоде с учетом прибыли и убытков прошлых периодов.

Сигнатура функции: fIncomeTax(rProfitRange As Range, dTaxRate As Double, Optional dPriorProfitsAndLosses As Double) As Double

fIncomeTax

Особенности:


fLimit - ограничение значения параметра в целевом диапазоне

Берет входящее значение и ограничивает сверху и снизу его в целевом диапазоне. Это продвинутый МИН(МАКС()), в котором не надо думать о порядке аргументов.

Сигнатура функции: fLimit(varInput, varLimit1, varLimit2)

fLimit

Особенности:


fPayout - расчет свободного денежного потока с учетом будущих поступлений и платежей

Формула рассчитывает, сколько денег можно безопасно извлечь из денежного потока текущего периода, чтобы в будущем деньги на счетах не снижались ниже заданного лимита.

Сигнатура функции: fPayout(dPayoutBase As Double, rFutureCashFlow As Range, Optional dWACC As Double, Optional dMinCashLimit As Double) As Double

fPayout

Особенности:


fPBP - расчет простого и дисконтированного срока окупаемости

Формула рассчитывает срок окупаемости для денежного потока с возможностью продления потока за период прогнозирования. (Wikipedia: Простой срок окупаемости, Дисконтированный срок окупаемости)

Сигнатура функции: fPBP(varCashFlowRange As Range, Optional varDiscountRate As Variant, Optional varGrowthRate As Variant) As Variant

fPBP

Особенности:


fPI - расчет Profitability Index (PI)

Формула рассчитывает Profitability Index (“Индекс рентабельности”“) денежного потока. (Wikipedia: Индекс рентабельности (PI))

Сигнатура функции: fPI(varCashFlowRange As Range, Optional varDiscountRate As Variant) As Variant

fPI

Особенности:


Инструкция по установке

Все материалы доступны в репозитории на GitHub.

  1. Скачать файл “InvestmentFunctions.xlam” и сохранить, где будет удобно
  2. В Microsoft Excel войти в меню “Файл”->“Параметры” Файл->Параметры
  3. Далее перейти в раздел “Надстройки”. В поле внизу экрана выбрать “Надстройки Excel” и нажать “Перейти”. Надстройки Excel
  4. В появишемся окне нажать “Обзор” и указать путь к ранее сохраненному файлу “InvestmentFunctions.xlam”. В списке надстроек слева появится надстройка “Investmentfunctions”. Надстройки Excel
  5. Если все прошло успешно, то в Excel станут доступны новые функции. Надстройки Excel

Обратная связь

Вопросы, информацию о багах или предложения по развитию пишите здесь в комментариях или в Issues на GitHub.

Категории: ExcelFinanceProductivityValuationVBA

© 2016–2020 Creative Commons BY-NC-ND 4.0
Powered by Hugo & GitLab

comments powered by Disqus