Имитационное моделирование

курсовая работа

3. Технология имитационного моделирования в среде MS Excel

Проведение имитационных экспериментов в среде MS Excel можно осуществить двумя способами - с помощью встроенных функций и путем использования инструмента "Генератор случайных чисел" дополнения "Анализ данных" (Analysis ToolPack). В курсовой работе будет использован первый способ проведения имитационных экспериментов - с помощью встроенных функций MS Excel.

Следует отметить, что применение встроенных функций целесообразно лишь в том случае, когда вероятности реализации всех значений случайной величины считаются одинаковыми. Тогда для имитации значений требуемой переменной можно воспользоваться математическими функциями СЛЧИС или СЛУЧМЕЖДУ. Форматы функций приведены в табл. 3.

Таблица 3.

Математические функции для генерации случайных чисел

Наименование функции

Формат функции

Оригинальная версия

Локализованная версия

RAND

СЛЧИС

СЛЧИС () - не имеет аргументов

RANDBETWEEN

СЛУЧМЕЖДУ

СЛУЧМЕЖДУ (нижн_граница; верхн_граница)

Функция "СЛЧИС"

Функция СЛЧИС () возвращает равномерно распределенное случайное число E, большее, либо равное 0 и меньшее 1, т. е.: 0 ? E < 1. Вместе с тем, путем несложных преобразований, с ее помощью можно получить любое случайное вещественное число. Например, чтобы получить случайное число между a и b, достаточно задать в любой ячейке ЭТ следующую формулу:

=СЛЧИС () * (b-a) +a

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

Настройка режима управления вычислениями производится установкой соответствующего флажка в подпункте "Вычисления" пункта "Параметры" темы "Сервис" главного меню.

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

Функция "СЛУЧМЕЖДУ"

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

В качестве примера, сгенерируем случайное значение для переменной Q (объем выпуска продукта). Согласно табл. 1., эта переменная принимает значения из диапазона 150 - 300.

Введем в любую ячейку ЭТ формулу:

=СЛУЧМЕЖДУ (150; 300) (Результат: 210).

Если задать аналогичные формулы для переменных P и V, а также формулу для вычисления NPV и скопировать их требуемое число раз, можно получить генеральную совокупность, содержащую различные значения исходных показателей и полученных результатов. После чего, используя статистические функции, нетрудно рассчитать соответствующие параметры распределения и провести вероятностный анализ. Продемонстрируем изложенный подход на решении примера 1. Перед тем, как приступить к разработке шаблона, целесообразно установить в ЭТ режим ручных вычислений.

Приступаем к разработке шаблона. С целью упрощения и повышения наглядности анализа выделим для его проведения в рабочей книге MS Excel два листа.

Первый лист - "Имитация", предназначен для построения генеральной совокупности (рис. 1.). Определенные в данном листе формулы и собственные имена ячеек приведены в табл. 4. и 5.

Рис. 1. Лист "Имитация"

Таблица 4.

Формулы листа "Имитация"

Ячейка

Формула

Е7

=B7+10-2

A10

=СЛУЧМЕЖДУ ($B$3; $C$3)

A11

=СЛУЧМЕЖДУ ($B$3; $C$3)

B10

=СЛУЧМЕЖДУ ($B$4; $C$4)

B11

=СЛУЧМЕЖДУ ($B$4; $C$4)

C10

=СЛУЧМЕЖДУ ($B$5; $C$5)

C11

=СЛУЧМЕЖДУ ($B$5; $C$5)

D10

= (B10* (C10-A10) -Пост_расх-Аморт) * (1-Налог) +Аморт

D11

= (B11* (C11-A11) -Пост_расх-Аморт) * (1-Налог) +Аморт

E10

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

E11

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

Таблица 5.

Имена ячеек листа "Имитация"

Адрес ячейки

Имя

Комментарии

Блок A10: A11

Перем_расх

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

Блок B10: B11

Количество

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

Блок C10: C11

Цена

Цена изделия

Блок D10: D11

Поступления

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

Блок E10: E11

ЧСС

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

Первая часть листа (блок ячеек А1. Е7) предназначена для ввода диапазонов изменений ключевых переменных, значения которых будут генерироваться в процессе проведения эксперимента. В ячейке В7 задается общее число имитаций (экспериментов). Формула, заданная в ячейке Е7, вычисляет номер последней строки выходного блока, в который будут помещены полученные значения. Смысл этой формулы будет раскрыт позже.

Вторая часть листа (блок ячеек А9. Е11) предназначена для проведения имитации. Формулы в ячейках А10. С11 генерируют значения для соответствующих переменных с учетом заданных в ячейках В3. С5 диапазонов их изменений. Обратим внимание на то, что при указании нижней и верхней границы изменений используется абсолютная адресация ячеек.

Формулы в ячейках D10. E11 вычисляют величину потока платежей и его чистую современную стоимость соответственно. При этом значения постоянных переменных берутся из следующего листа шаблона - "Результаты анализа".

Лист "Результаты анализа" кроме значений постоянных переменных содержит также функции, вычисляющие параметры распределения изменяемых (Q, V, P) и результатных (NCF, NPV) переменных и вероятности различных событий. Определенные для данного листа формулы и собственные имена ячеек приведены в табл. 6. и 7. Общий вид листа показан на рис. 2.

Таблица 6.

Формулы листа "Результаты анализа"

Ячейка

Формула

B8

=СРЗНАЧ (Перем_расх)

B9

=СТАНДОТКЛОНП (Перем_расх)

B10

=B9/B8

B11

=МИН (Перем_расх)

B12

=МАКС (Перем_расх)

C8

=СРЗНАЧ (Количество)

C9

=СТАНДОТКЛОНП (Количество)

C10

=C9/C8

C11

=МИН (Количество)

C12

=МАКС (Количество)

D8

=СРЗНАЧ (Цена)

D9

=СТАНДОТКЛОНП (Цена)

D10

=D9/D8

D11

=МИН (Цена)

D12

=МАКС (Цена)

E8

=СРЗНАЧ (Поступления)

E9

=СТАНДОТКЛОНП (Поступления)

E10

=E9/E8

E11

=МИН (Поступления)

E12

=МАКС (Поступления)

F8

=СРЗНАЧ (ЧСС)

F9

=СТАНДОТКЛОНП (ЧСС)

F10

=F9/F8

F11

=МИН (ЧСС)

F12

=МАКС (ЧСС)

F13

=СЧЁТЕСЛИ (ЧСС; "<0")

F14

=СУММЕСЛИ (ЧСС; "<0")

F15

=СУММЕСЛИ (ЧСС; ">0")

Е18

=НОРМАЛИЗАЦИЯ (D18; $F$8; $F$9)

F18

=НОРМСТРАСП (E18)

Таблица 7.

Имена ячеек листа "Результаты анализа"

Адрес ячейки

Имя

Комментарии

B2

Нач_инвест

Начальные инвестиции

B3

Пост_расх

Постоянные расходы

B4

Аморт

Амортизация

D2

Норма

Норма дисконта

D3

Налог

Ставка налога на прибыль

D4

Срок

Срок реализации прока

Рис. 2. Лист "Результаты анализа"

Поскольку формулы листа содержат ряд новых функций, приведем необходимые пояснения.

Функции МИН () и МАКС () вычисляют минимальное и максимальное значение для массива данных из блока ячеек, указанного в качестве их аргумента. Имена и диапазоны этих блоков приведены в табл. 7.

Функция СЧЕТЕСЛИ () осуществляет подсчет количества ячеек в указанном блоке, значения которых удовлетворяют заданному условию. Функция имеет следующий формат:

=СЧЕТЕСЛИ (блок; "условие").

В данном случае, заданная в ячейке F13, эта функция осуществляет подсчет количества отрицательных значений NPV, содержащихся в блоке ячеек ЧСС (см. табл. 7).

Механизм действия функции СУММЕСЛИ () аналогичен функции СЧЕТЕСЛИ (). Отличие заключается лишь в том, что эта функция суммирует значения ячеек в указанном блоке, если они удовлетворяют заданному условию. Функция имеет следующий формат:

=СУММЕСЛИ (блок; "условие").

В данном случае, заданные в ячейках F14, F15, функции осуществляет подсчет суммы отрицательных (ячейка F14) и положительных (ячейка F14) значений NPV, содержащихся в блоке ЧСС. Смысл этих расчетов будет объяснен позже.

Две последние формулы (ячейки Е18 и F18) предназначены для проведения вероятностного анализа распределения NPV и требуют небольшого теоретического отступления.

В рассматриваемом примере мы исходим из предположения о независимости и равномерном распределении ключевых переменных Q, V, P. Однако какое распределение при этом будет иметь результатная величина - показатель NPV, заранее определить нельзя.

Одно из возможных решений этой проблемы - попытаться аппроксимировать неизвестное распределение каким-либо известным. При этом в качестве приближения удобнее всего использовать нормальное распределение. Это связано с тем, что в соответствии с центральной предельной теоремой теории вероятностей при выполнении определенных условий сумма большого числа случайных величин имеет распределение, приблизительно соответствующее нормальному.

В прикладном анализе для целей аппроксимации широко применяется частный случай нормального распределения - т. н. стандартное нормальное распределение. Математическое ожидание стандартно распределенной случайной величины Е равно 0: M (E) = 0. График этого распределения симметричен относительно оси ординат и оно характеризуется всего одним параметром - стандартным отклонением s, равным 1.

Приведение случайной переменной E к стандартно распределенной величине Z осуществляется с помощью т.н. нормализации - вычитания средней и последующего деления на стандартное отклонение:

(2)

Как следует из (2), величина Z выражается в количестве стандартных отклонений. Для вычисления вероятностей по значению нормализованной величины Z используются специальные статистические таблицы.

В MS Excel подобные вычисления осуществляются с помощью статистических функций НОРМАЛИЗАЦИЯ () и НОРМСТРАСП ().

Функция "НОРМАЛИЗАЦИЯ"

НОРМАЛИЗАЦИЯ (X; СРЕДНЕЕ; СТАНД_ОТКЛ)

Эта функция возвращает нормализованное значение Z величины x, на основании которого затем вычисляется искомая вероятность p (E ? x).

Она реализует соотношение (2). Функция требует задания трех аргументов:

х - нормализуемое значение;

среднее - математическое ожидание случайной величины Е;

станд_откл - стандартное отклонение.

Полученное значение Z является аргументом для следующей функции - НОРМСТРАСП ().

Функция "НОРМСТРАСП"

НОРМСТРАСП (Z)

Эта функция возвращает стандартное нормальное распределение, т.е. вероятность того, что случайная нормализованная величина Е будет меньше или равна х. Она имеет всего один аргумент - Z, вычисляемый функцией НОРМАЛИЗАЦИЯ ().

Нетрудно заметить, что эти функции следует использовать в тандеме. При этом наиболее эффективным и компактным способом их задания является указание функции НОРМАЛИЗАЦИЯ () в качестве аргумента функции - НОРМСТРАСП (), т.е.:

=НОРМСТРАСП (НОРМАЛИЗАЦИЯ (x; среднее; станд_откл)).

С целью повышения наглядности, в проектируемом шаблоне функции заданы раздельно (ячейки Е18 и F18).

Приступаем к имитационному эксперименту. Для его проведения необходимо выполнить следующие шаги:

· Ввести значения постоянных переменных (табл. 2.) в ячейки В2, В4 и D2, D4 листа "Результаты анализа".

· Ввести значения диапазонов изменений ключевых переменных (табл. 1.) в ячейки В3, С5 листа "Имитация".

· Задать в ячейке В7 требуемое число экспериментов.

· Установить курсор в ячейку А11 и вставить необходимое число строк в шаблон (номер последней строки будет вычислен в Е7).

· Скопировать формулы блока А10, Е10 требуемое количество раз.

· Перейти к листу "Результаты анализа" и проанализировать полученные результаты.

Рассмотрим реализацию выделенных шагов более подробно. Введем значения постоянных переменных в ячейки В2, В4 листа "Результаты анализа". Введем значения диапазонов изменений ключевых переменных в ячейки В3, С5 листа "Имитация". Укажем в ячейке В7 число проводимых экспериментов, например - 20. Установим табличный курсор в ячейку А11.

На следующем шаге необходимо вставить в шаблон нужное количество строк (18). Теперь необходимо заполнить вставленные строки формулами блока ячеек А10. Е10. Фрагмент результатов имитации приведен на рис. 4. Соответствующие проведенному эксперименту результаты анализа приведены на рис. 5.

Рис. 4. Результаты имитации

Рис. 5. Результаты анализа

Сумма всех отрицательных значений NPV в полученной генеральной совокупности (ячейка F14) может быть интерпретирована как чистая стоимость неопределенности для инвестора в случае принятия проекта. Аналогично сумма всех положительных значений NPV (ячейка F15) может трактоваться как чистая стоимость неопределенности для инвестора в случае отклонения проекта. Несмотря на всю условность этих показателей, в целом они представляют собой индикаторы целесообразности проведения дальнейшего анализа.

На практике одним из важнейших этапов анализа результатов имитационного эксперимента является исследование зависимостей между ключевыми параметрами. Количественная оценка вариации напрямую зависит от степени корреляции между случайными величинами. На рис. 6. приведен график распределения значений ключевых параметров V, P и Q, построенный на основании 20 имитаций.

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

Рис. 6. Распределение значений параметров V, P и Q

Рис. 7. Зависимость между NCF и NPV

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

Делись добром ;)