Библиотека управления

Имитационное моделирование инвестиционных рисков

И.Я. Лукасевич, Lukas@iname.ru, lukas@vzfei.ru Фрагменты из книги "Анализ финансовых операций"

Содержание

6.1 Моделирование рисков инвестиционных проектов
6.2 Технология имитационного моделирования в среде EXCEL
6.2.1 Имитационное моделирование с применением функций EXCEL
6.2.2 Имитация с инструментом "Генератор случайных чисел"
6.2.3 Статистический анализ результатов имитации


6.2.2 Имитация с инструментом "Генератор случайных чисел"

Этот инструмент предназначен для автоматической генерации множества данных (генеральной совокупности) заданного объема, элементы которого характеризуются определенным распределением вероятностей. При этом могут быть использованы 7 типов распределений: равномерное, нормальное, Бернулли, Пуассона, биномиальное, модельное и дискретное. Применение инструмента "Генератор случайных чисел", как и большинства используемых в этой работе функций, требует установки специального дополнения "Пакет анализа" (см. приложение 1).

Для демонстрации техники применения этого инструмента изменим условия примера 6.1, определив вероятности для каждого сценария развития событий следующим образом (табл. 6.8). Мы также будем исходить из предположения о нормальном распределении ключевых переменных. Количество имитаций оставим прежним – 500.

Таблица 6.8

Вероятностные сценарии реализации проекта

Сценарий

Показатели

Наихудший

P = 0.25

Наилучший

P = 0.25

Вероятный

P = 0.5

Объем выпуска – Q

150

300

200

Цена за штуку – P

40

55

50

Переменные затраты – V

35

25

30

Приступим к формированию шаблона. Как и в предыдущем случае, выделим в рабочей книге два листа: "Имитация" и "Результаты анализа".

Формирование шаблона целесообразно начать с листа "Результаты анализа" (рис. 6.8.).

Рис. 6.8. Лист "Результаты анализа" (шаблон II)

Как следует из рис. 6.8 этот лист практически соответствует ранее разработанному для решения предыдущей задачи (см. рис. 6.2). Отличие составляют лишь формулы для расчета вероятностей, которые приведены в табл. 6.9.

Таблица 6.9

Формулы листа "Результаты анализа" (шаблон II)

Ячейка

Формула

В17

=НОРМРАСП(0;B8;B9;1)

В18

=НОРМРАСП(B11;B8;B9;1)

В19

=НОРМРАСП(B12;B8;B9;1)-НОРМРАСП(B8+B9;B8;B9;1)

В20

=НОРМРАСП(B8;B8;B9;1)-НОРМРАСП(B8-B9;B8;B9;1)

С17

=НОРМРАСП(0;C8;C9;1)

С18

=НОРМРАСП(C11;C8;C9;1)

С19

=НОРМРАСП(C12;C8;C9;1)-НОРМРАСП(C8+C9;C8;C9;1)

С20

=НОРМРАСП(C8;C8;C9;1)-НОРМРАСП(C8-C9;C8;C9;1)

D17

=НОРМРАСП(0;D8;D9;1)

D18

=НОРМРАСП(D11;D8;D9;1)

D19

=НОРМРАСП(D12;D8;D9;1)-НОРМРАСП(D8+D9;D8;D9;1)

D20

=НОРМРАСП(D8;D8;D9;1)-НОРМРАСП(D8-D9;D8;D9;1)

E17

=НОРМРАСП(0;E8;E9;1)

E18

=НОРМРАСП(E11;E8;E9;1)

E19

=НОРМРАСП(E12;E8;E9;1)-НОРМРАСП(E8+E9;E8;E9;1)

E20

=НОРМРАСП(E8;E8;E9;1)-НОРМРАСП(E8-E9;E8;E9;1)

F17

=НОРМРАСП(0;F8;F9;1)

F18

=НОРМРАСП(F11;F8;F9;1)

F19

=НОРМРАСП(F12;F8;F9;1)-НОРМРАСП(F8+F9;F8;F9;1)

F20

=НОРМРАСП(F8;F8;F9;1)-НОРМРАСП(F8-F9;F8;F9;1)

Используемые в нем собственные имена ячеек также взяты из аналогичного листа предыдущего шаблона (см. табл. 6.7).

Для быстрого формирования нового листа "Результаты анализа" выполните следующие действия.

  1. Загрузите предыдущий шаблон SIMUL_1.XLT и сохраните его под другим именем, например – SIMUL_2.XLT
  2. Удалите лист "Имитация". Для этого установите указатель мыши на ярлычок этого листа и нажмите правую кнопку. Результатом выполнения этих действий будет появления списка операций в виде контекстного меню. Выберите операцию "Удалить". Подтвердите свое решение нажатием кнопки "ОК" в появившемся диалоговом окне.
  3. Перейдите в лист "Результаты анализа". Удалите строки 17–18. Откорректируйте заголовок ЭТ.
  4. Добавьте формулы из табл. 6.9. Для этого введите соответствующие формулы в ячейки блока В17.В20 и скопируйте их в блок С17.F20. Введите соответствующие комментарии.
  5. Сверьте полученную таблицу с рис. 6.8.

Перейдите к следующему листу и присвойте ему имя – "Имитация". Приступаем к его формированию (рис. 6.9).

Рис. 6.9. Лист "Имитация" (шаблон II)

Первая часть этого листа (блок ячеек А1.Е10) предназначена для ввода исходных данных и расчета необходимых параметров их распределений. Напомним, что нормальное распределение случайной величины характеризуется двумя параметрами – математическим ожиданием (средним) и стандартным отклонением. Формулы расчета указанных параметров для ключевых переменных модели заданы в блоках ячеек В7.D7 и B8.D8 соответственно (см. табл. 6.11). Для удобства определения формул и повышения их наглядности блоку ячеек Е3.Е5 присвоено имя "Вероятности" (см. табл. 6.10).

Таблица 6.10

Имена ячеек листа "Имитация" (шаблон II)

Адрес ячейки

Имя

Комментарии

Блок Е3:Е5

Вероятности

Вероятность значения параметра

Блок A13:A512

Перем_расх

Переменные расходы

Блок B13:B512

Количество

Объем выпуска

Блок C13:C512

Цена

Цена изделия

Блок D13:D512

Поступления

Поступления от проекта NCF

Блок E13:E512

ЧСС

Чистая современная стоимость NPV

Таблица 6.11

Формулы листа "Имитация" (шаблон II)

Ячейка

Формула

В7

=СУММПРОИЗВ(B3:B5; Вероятности)

В8

{=КОРЕНЬ(СУММПРОИЗВ((B3:B5 - B7)^2; Вероятности))}

С7

=СУММПРОИЗВ(C3:C5; Вероятности)

С8

{=КОРЕНЬ(СУММПРОИЗВ((C3:C5 - C7)^2; Вероятности))}

D7

=СУММПРОИЗВ(D3:D5; Вероятности)

D8

{=КОРЕНЬ(СУММПРОИЗВ((D3:D5 - D7)^2; Вероятности))}

E10

=B10+13 –1

D13

=(B13*(C13-A13)-Пост_расх-Аморт)*(1-Налог)+Аморт

E13

=ПЗ(Норма; Срок; -D13) - Нач_инвест

Обратите внимание на то, что для расчета стандартных отклонений используются формулы-массивы, правила задания которых были рассмотрены в предыдущей главе (см. параграф 5.5). Для формирования блока формул достаточно определить их для ячеек В7.В8 и затем скопировать в блок С7.D8.

Формула в ячейке Е10 по заданному числу имитаций (ячейка В10) вычисляет номер последней строки для блоков, в которых будут храниться сгенерированные значения ключевых переменных.

Ячейки D13.E13 содержат уже знакомые нам формулы для расчета величины потока платежей NCF и его чистой современной стоимости NPV.

Сформируйте элементы оформления листа "Имитация", определите необходимые имена для блоков ячеек (табл. 6.10) и задайте требуемые формулы (табл. 6.11). Сверьте полученную ЭТ с рис. 6.9. Сохраните полученный шаблон под именем SIMUL_2.XLT.

Введите исходные значения постоянных переменных (табл. 6.2) в ячейки В2.В4 и D2.D4 листа "Результаты анализа". Перейдите к листу "Имитация". Введите значения ключевых переменных и соответствующие вероятности (табл. 6.8). Полученная в результате ЭТ должна иметь вид рис. 6.10.

Рис. 6.10. Лист "Имитация" после ввода исходных данных

Установите курсор в ячейку А13. Приступаем к проведению имитационного эксперимента.

    1. Выберите в главном меню тему "Сервис" пункт "Анализ данных". Результатом выполнения этих действий будет появление диалогового окна "Анализ данных", содержащего список инструментов анализа.
    2. Выберите из списка "Инструменты анализа" пункт "Генерация случайных чисел" и нажмите кнопку "ОК" (рис. 6.11).
    3. На экране появится диалоговое окно "Генерация случайных чисел". Укажите в списке "Распределения" требуемый тип – "Нормальное". Заполните остальные поля изменившегося окна согласно рис. 6.12 и нажмите кнопку "ОК". Результатом будет заполнение блока ячеек А13.А512 (переменные расходы) сгенерированными случайными значениями.

Рис. 6.11. Выбор инструмента "Генерация случайных чисел"

 

Рис. 6.12. Заполнение полей окна "Генерация случайных чисел"

Приведем необходимые пояснения. Первым заполняемым аргументом диалогового окна "Генерация случайных чисел" является поле "Число переменных". Оно задает количество колонок ЭТ, в которых будут размещаться сгенерированные в соответствии с заданным законом распределения случайные величины. В нашем примере оно должно содержать 1, так как ранее мы отвели под значения переменной V (переменные расходы) в ЭТ одну колонку – "А". В случае, если указывается число больше 1, случайные величины будут размещены в соответствующем количестве соседних колонок, начиная с активной ячейки. Если это число не введено, то все колонки в выходном диапазоне будут заполнены.

Следующим обязательным аргументом для заполнения является содержимое поля "Число случайных чисел" (т.е. – количество имитаций). Согласно условиям примера оно должно быть равно 500 (см. рис. 6.12). При этом ППП EXCEL автоматически подсчитывает необходимое количество ячеек для хранения генеральной совокупности.

Необходимый вид распределения задается путем соответствующего выбора из списка "Распределения". Как уже отмечалось ранее, могут быть получены 7 наиболее распространенных в практическом анализе типов распределений, каждое из которых характеризуется собственными параметрами. Выбранный тип распределения определяет внешний вид диалогового окна. В рассматриваемом примере выбор типа распределения "Нормальное" повлек за собой появление дополнительных аргументов – его параметров "Среднее" и "Стандартное отклонение", рассчитанных ранее для исследуемой переменной V в ячейках В7 и В8 листа "Имитация". К сожалению эти аргументы могут быть заданы только в виде констант. Использование адресов ячеек и собственных имен здесь не допускается!

Указание аргумента "Случайное рассеивание" позволяет при повторных запусках генератора получать те же значения случайных величин, что и при первом. Таким образом одну и ту же генеральную совокупность случайных чисел можно получить несколько раз, что значительно повышает эффективность анализа (сравните с предыдущим шаблоном!). В случае если этот аргумент не задан (равен 0), при каждом последующем запуске генератора будет формироваться новая генеральная совокупность. В нашем примере этот аргумент задан равным 1, что позволит нам оперировать с одной и той же генеральной совокупностью и избежать постоянных перерасчетов ЭТ.

Последний аргумент диалогового окна "Генерация случайных чисел" – "Параметры вывода" определяет место расположения полученных результатов. Место вывода задается путем установления соответствующего флажка. При этом можно выбрать три варианта размещения:

  • выходной блок ячеек на текущем листе – введите ссылку на левую верхнюю ячейку выходного диапазона, при этом его размер будет определен автоматически и в случае возможного наложения генерируемых значений на уже имеющиеся данные на экран будет выведено предупреждающее сообщение;
  • новый рабочий лист – в рабочей книге будет открыт новый лист, содержащий результаты генерации случайных величин, начиная с ячейки A1;
  • новая рабочая книга – будет открыта новая книга с результатами имитации на первом листе.

В рассматриваемом примере для проведения дальнейшего анализа необходимо, чтобы случайные величины размещались в специально отведенные для них блоки ячеек (см. табл. 6.10). В частности для хранения 500 значений первой переменной ранее был отведен блок ячеек А13.А512. Поскольку для этого блока определено собственной имя – "Перем_расх", оно указано в качестве выходного диапазона. Отметим, что при увеличении либо уменьшении количества имитаций необходимо также переопределить и выходные блоки, предназначенные для хранения значений переменных.

Генерация значений остальных переменных Q и Р осуществляется аналогичным образом, путем выполнения шагов 1–3. Пример заполнения окна "Генерация случайных чисел" для переменной Q (количество) приведен на рис. 6.13.

Рис. 6.13. Заполнение полей окна для переменной Q

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

Ее решение осуществляется выполнением следующих действий.

    1. Выделите и скопируйте в буфер ячейку D13.
    2. Нажмите клавишу [F5]. На экране появится диалоговое окно "Переход".
    3. Укажите в поле "Ссылка" имя блока "Поступления" и нажмите кнопку "ОК". Результатом этих действий будет выделение заданного блока.
    4. Нажмите клавишу [ENTER].
    5. В случае, если в ЭТ был установлен режим ручных вычислений, нажмите клавишу [F9].

Аналогичным образом копируется формула из ячейки Е13. При этом в поле "Ссылка" диалогового окна "Переход" необходимо указать имя блока – "ЧСС". Вы также можете выбрать необходимое имя из списка "Перейти к".

Полученные автором результаты решения примера приведены на рис. 6.14 – 6.15.

Результаты проведенного имитационного эксперимента ненамного отличаются от предыдущих. Величина ожидаемой NPV равна 3412,14 при стандартном отклонении 2556,83. Коэффициент вариации (0,75) несколько выше, но меньше 1, таким образом риск данного проекта в целом ниже среднего риска инвестиционного портфеля фирмы. Результаты вероятностного анализа показывают, что шанс получить отрицательную величину NPV не превышает 9%. Общее число отрицательных значений NPV в выборке составляет 32 из 500. Таким образом с вероятностью около 91% можно утверждать, что чистая современная стоимость проекта будет больше 0. При этом вероятность того, что величина NPV окажется больше чем М(NPV) + s , равна 16% (ячейка F19). Вероятность попадания значения NPV в интервал [М(NPV) - s ; М(NPV)] равна 34%.

Рис. 6.14. Результаты имитационного эксперимента (шаблон II)

Рис. 6.15. Результаты анализа (шаблон II)