.n Инвестиционный анализ
.a
.d 23333
.s
* Расширение "Инвестиционный анализ"
Расширение предназначено для выполнения типовых расчётов по оценке эффективности инвестиционных проектов.
Оно позволяет:
- автоматизировать построение сценариев денежных потоков инвестиционных проектов;
- рассчитать типовые характеристики инвестиционных проектов по заданным сценариям денежных потоков;
- проводить комплексное сравнения инвестиционных проектов и сценариев их реализации.
Расширение требует наличия файлов x_ia.api, x_ia.php, x_ia.txt (не входят в базовую комплектацию).
**Функция mcr() - формирование модели денежного потока
Функция mcr(m) позволяет автоматизировать процессы построения сценариев денежного потока инвестиционного проекта за счёт преобразования модели ряда денежного потока (m) в числовой ряд.
Модель денежного потока представляет собой последовательность числовых и специальным образом построенных нечисловых значений, вычисление которых осуществляется функцией по определённым правилам.
При построении последовательных значений модели денежного потока могут использоваться:
- отрицательные и положительные числа;
- числа со спецсимволами % или = в конце и +,-,= в начале.
Числа без специсимволов интерпретируются как конкретные, не требующие модификации значения.
Числа, оканчивающиеся на символ % (знак процента) интерпретируются как процентное значение к предыдущему рассчитанному значению ряда и вычитаемое (-) или прибавляемое (+) к предыдущему значению.
Символ = (равно) перед числом с символом % (процент) сзади него означает вычисление заданного процента от базового значения - первого числового значения модели при её рассмотрении слева направо.
В данном примере базовым значением является число 10 - первое числовое значение модели. Все остальные значения вычисляются как заданный процент от него.
Символ = (равно) после числа означает прибавление (вычитание) данного числа из предыдущего значения.
**Функция cfd() - дисконтирование денежного потока
Функция cfd(cf,r) выполняет дисконтирование денежного потока cf (массив или строка чисел) с коэффициентом дисконтирования r.
**Функция npv() - NPV дисконтированного ряда
Функция npv(cf,r) вычисляет NPV дисконтированого с коэффициентом r денежного потока cf.
''Разметка'/
~u=npv("10 10 10 10",0.1)
NPV равно =u
''Вывод'/
~u=npv("10 10 10 10",0.1)
NPV равно =u
**Функция mpi() - индекс доходности
Функция mpi(d,r[,k]) вычисляет индекс доходности рядов доходов d и расходов r с коэффициентом дисконтирования k (по умолчанию равен нулю).
''Разметка'/
/
~d=massiv("0 10 10 10")
~r=massiv("10 5 0 0")
~x=mpi(d,r)
Индекс доходности без дисконтирования равен =x
/
''Вывод'/
~d=massiv("0 10 10 10")
~r=massiv("10 5 0 0")
~x=mpi(d,r)
Индекс доходности без дисконтирования равен =x
''Разметка'/
/
~d=massiv("0 10 10 10")
~r=massiv("10 5 0 0")
~x=mpi(d,r,0.1)
Индекс доходности с дисконтированием по ставке 0.1 равен =x
/
''Вывод'/
~d=massiv("0 10 10 10")
~r=massiv("10 5 0 0")
~x=mpi(d,r,0.1)
Индекс доходности с дисконтированием по ставке 0.1 равен =x
**Функция ppd() - срок окупаемости
Функция ppd(d,r[,k]) вычисляет cрок окупаемости рядов доходов d и расходов r с коэффициентом дисконтирования k (по умолчанию равен нулю). Примеры используют ряды доходов и расходов, построенные в предыдущем примере для функции mpi().
''Разметка'/
/
~x=ppd(d,r)
Срок окупаемости без дисконтирования равен =x
/
''Вывод'/
~x=ppd(d,r)
Срок окупаемости без дисконтирования равен =x
''Разметка'/
/
~x=ppd(d,r,0.1)
Срок окупаемости с дисконтированием по ставке 0.1 равен =x
/
''Вывод'/
~x=ppd(d,r,0.1)
Срок окупаемости с дисконтированием по ставке 0.1 равен =x
**Функция irr() - внутренняя норма доходности
Функция irr(cf[,e]) вычисляет внутреннюю норму доходности денежного потока cf с точность до e (по умолчанию e=0.0001).
''Разметка'/
/
По данным рядов доходов (d) и расходов (r) из прошлых примеров с помощью функции вычитания векторов vmv расширения "Линейная алгебра" получаем денежный поток
:::Доходы
@vvt(d)
:::Расходы
@vvt(r)
~cf=vmv(d,r)
:::Денежный поток
@vvt(cf)
~x=irr(cf)
Внутренняя норма доходности равна =x
Проверяем, вычисляя NPV с данной ставкой дисконтирования
~y=npv(cf,x)
Доходность проекта при ставке дисконтирования =x равна =y
/
''Вывод'/
По данным рядов доходов (d) и расходов (r) из прошлых примеров с помощью функции вычитания векторов vmv расширения "Линейная алгебра" получаем денежный поток
:::Доходы
@vvt(d)
:::Расходы
@vvt(r)
~cf=vmv(d,r)
:::Денежный поток
@vvt(cf)
~x=irr(cf)
Внутренняя норма доходности равна =x
Проверяем, вычисляя NPV с данной ставкой дисконтирования
~y=npv(cf,x)
Доходность проекта при ставке дисконтирования =x равна =y
**Функция ia() - пакетные вычисления с загрузкой данных из файла или секции
Функция ia(p) в пакетном режиме выполняет комплексный обсчёт нескольких сценариев нескольких проектов и выводит отчёт. Параметр p должен быть текстовой строкой, включающей разделённые пробелами параметры, заданные в форме ключ:значение. На текущий момент может использовать единственный параметр d, значением которого должен быть указатель на массив исходных данных. Детальное описание порядка подготовки данных для функции ia() и описание выходных данных содержит !inv/instr.s. Здесь приведём лишь отчёт, полученный по данным рассматриваемого в ней примера.