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

Понятие равномерно распределенной случайной величины. Мультипликативный конгруэнтный метод. Моделирование непрерывных случайных величин и дискретных распределений. Алгоритм имитационного моделирования экономических отношений между кредитором и заемщиком.

Рубрика Экономико-математическое моделирование
Вид курсовая работа
Язык русский
Дата добавления 03.01.2011
Размер файла 164,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Введение

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

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

Раздел 1. Теоретический анализ задачи

1.1 Анализ предметной области

С развитием в нашей стране рыночных отношений, появлением предприятий различных форм собственности (как частной, так и государственной, общественной) особое значение приобретает проблема четкого правового регулирования финансово-кредитных отношении субъектов предпринимательской деятельности. У предприятий всех форм собственности все чаще возникает потребность привлечения заемных средств для осуществления своей деятельности и извлечения прибыли. Наиболее распространенной формой привлечения средств является получение банковской ссуды по кредитному договору. Кредит - предоставление денег или товаров в долг, как правило, с уплатой процентов. Возникновение кредита связано непосредственно со сферой обмена, где владельцы товаров противостоят друг другу как собственники, готовые вступить в экономические отношения. Кредитные отношения в экономике базируются на определенной методологической основе, одним из элементов которой выступают принципы, строго соблюдаемые при практической организации любой операции на рынке ссудных капиталов. Эти принципы стихийно складывались еще на первом этапе развития кредита, а в дальнейшем нашли прямое отражение в общегосударственном и международном кредитном законодательствах:

Возвратность кредита

· Срочность кредита

· Платность кредита. Ссудный процент.

· Обеспеченность кредита

· Целевой характер кредита

· Дифференцированный характер кредита

· Экономия издержек обращения

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

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

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

1.2 Теоретический обзор методов решения задачи. Равномерно распределенная случайная величина

Равномерно распределенной случайной величиной называется случайная величина определяемая в диапазоне [0,1] и имеющая плотность распределения изображенная на графике:

P()

Мультипликативный конгруэнтный метод

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

Моделирование непрерывных случайных величин

Пусть требуется моделировать некоторую непрерывную случайную величину с плотностью распределения Р(х). Тогда мы получаем значение случайной величины равномерно распределенных в интервале [0,1] и генерирующих значения случайной величины решая уравнение

Левая часть уравнения это есть интегральная функция распределения случайной величины , так как по определению верно следующее :

Таким образом, решение уравнения (1) можно рассмотреть как вычисление по формуле

Моделирование дискретных распределений

В данном методе мы рассматриваем каким образом нужно преобразовать равномерное распределении в диапазоне [0,1] заданное как дискретное распределение:

Для выполнения этой задачи используется следующий алгоритм:

1. выбирается случайное число r=rand;

2. числу r сопоставляется некоторое значение случайной величины такое. Что для этого значения верно следующее условие:

Нормальный закон распределения случайной величины

Говорят, что случайная величина распределена по нормальному закону если плотность распределения этой случайной величины имеет вид:

Таким образом легко видеть, что максимум кривой P(x) симметрична относительно оси х=а.

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

Метод Неймана или метод исключения точек

Для моделирования показательного и равномерного распределения используется Метод Неймана или метод исключения точек.

Суть данного метода заключается в следующем:

Допустим случайная величина определена в интервале [a,b]. Тогда в этом интервале [a,b] находится точка - максимум функции плотности Р(х) на интервале [a,b]. Далее генерируются две случайные величины и с равномерным распределением в интервале [0,1]. На графике выбирается точка с координатами . Если точка попадает в область под кривой плотности , т.е. если Р(х)>у, то в качестве случайного значения берется значение х, иначе генерируются новые две случайные величины и и т.д. до тех пор пока точка не попадет в под кривую графика плотности.

1.3 Классическое описание типовых структур алгоритма. Алгоритм моделирования процесса

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

S - группы величин или параметров описывающих состояние системы.

X - группы величин описывающих по отношению к системе факторы события определяющие или воздействующие на ее состояние.

Y - выходные параметры системы включающие те ее параметры и реакции, которые включаются в наше рассмотрение в следствии того, что они существенны для решаемой нами задачи.

Важнейшим элементом в рассмотрении системы при ее моделировании является время. В разделе имитационного моделирования мы моделируем процессы в системах, т.е. иначе говоря рассматриваем изменение групп величин S, X, Y стечением времени. Поскольку имитационное моделирование есть фактически машинный эксперимент, а ЭВМ дискретное устройство, то и время моделируемого процесса заменяется его дискретными отчетами, от некоторого начального момента времени. Параметры состояния системы воздействии и реакции условно считаются неизменными в промежутках между двумя последовательными отчетами. В таком дискретном времени t состояние системы есть функция состояния системы в момент t-1 и значение вектора x в момент времени t:

Имитационное моделирование процесса состоит в последовательном вычислении параметров S, X, Y для каждого момента t периода моделирования.

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

1. Анализ системы с целью выделения существенных параметров состояния.

2. Формализация описаний случайных потоков событий циркулирующих в системе.

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

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

Раздел 2. Проектирование алгоритма моделирования

Алгоритм имитационного моделирования процессов данного типа структурируется вокруг следующих групп основных компонентов:

1. Организация цикла перебора отсчетов дискретного времени моделирования, т.е. собственно организация процесса как последовательности отдельных состояний системы в дискретном времени;

2. Наполнение этого цикла множеством независимых обработчиков случайных событий происходящих в моделируемой системе.

Таким образом, мы имеем общий способ построения алгоритмов подобного типа, который включает следующие основные компоненты:

1. Анализ событий в системе и проектирование структур данных необходимых для хранения информации связанный с этими событиями;

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

3. Связывание отдельных разработанных выше алгоритмов и структур данных в единой программе.

Моделирующий алгоритм

Параметры модели:

Ш n - период моделирования(лет)

Ш h - годовая процентная ставка

Ш cmax - максимальное число одновременных выданных кредитов;

Ш R1 - интервал времени между 2мя. последовательными выданными кредитами, смоделированная случайной величиной ф1 , имеющий показательное распределение с параметром л дней-1.

Ш dn- срок до дня погашения кредита, моделируемый случайной величиной ф2 с распределением P(ф2)/

Ш dohod - доход банка от выданных кредитов

Ш kol - количество выданных кредитов

Ш tin - время поступления очередного требования;

Ш tout[сmax] -массив для сохранения момента окончания обработки текущего требования;

Ш scr - общая сумма выданных кредитов, моделируемая случайной величиной n1 с распределением P(n1)

Ш h- годовая процентная ставка по кредиту

Ш sum1 - сумма выданных кредитов

Ш otk - количество отказов

Ш k- количество выданных одновременно кедитов

Алгоритм имитационного моделирования кредитной системы коммерческого банка

1. Присвоить переменным начальные значения;

2. Заполнение массивов;

3. Моделирование дня выдачи первого кредита;

4.1 Основной цикл Проверка условия наличия погашения кредита в данный день. Если таковой имеется, тогда:

o уменьшаем на 1 количество одновременно выданных кредитов

4.2 отчищаем ячейку массива Проверка условия наличия выдачи кредита и условия того, что число одновременно выданных кредитов не превышает cmax в данный день. Если таковой имеется, тогда:

a) поиск свободной ячейки

b) рассчитываем срок окончания кредита

c) определяем сумму выданного кредита

d) увеличиваем общую сумму кредитов

4.3 определяем доход Если выдача невозможна, тогда увеличиваем число отказов выдаче кредита Рассчитываем срок выдачи следующего кредита

5. Вывод результатов на экран.

Формализованная схема процесса

Рис.1. Формализованная схема процесса

Раздел 3. Имитационное моделирование процесса

В этом разделе мы рассматриваем разработку программной реализации имитационной модели. На основе алгоритма мы пишем программу на языке С++. Далее приведен алгоритм с использование отрывков программы.

Разработка программной реализации имитационной модели. Инициализация параметров (алг. п.1)

unsigned long int i,j,d,kol=0,k=0,sum1=0,l,tin,otk=0;

float dohod=0,tout[cmax],s1;

Присвоить переменным начальные значения (алг. п.2)

for(i=0;i<cmax;i++) tout[i]=-1; tin=R1();

Основной цикл (алг. п.4)

for(d=0;d<n*365;d++)

Проверка условия наличия погашения кредита в данный день ( алг. п.4.1)

for(i=0;i<cmax;i++) if(d==tout[i]) { tout[i]=-1; k--; }

Проверка условия наличия выдачи кредита в данный день (алг. п. 4.2)

for( i=0;i<cmax;i++)

if(d==tin && k<cmax) { k++; kol++; for(i=0;i<cmax;i++)

if (l==-1 && tout[i]==-1) (алг. п.4.2.а) l=i; tout[l]=dn(); ( алг. п.4.2.b)

s1=scr(); ( алг. п.4.2.c)

dohod+=s1*h/100*(float(tout[l]/365)); ( алг. п.4.2.e)

sum1+=s1; ( алг. п.4.2.d) tout[l]+=d; ( алг. п.4.2.b) }

else otk++; ( алг. п.4.3) tin=d+R1(); ( алг. п.4.4)

}

Вывод результатов на экран ( алг. п.5)

cout<<" 1) Dohod="<<dohod<<endl;

cout<<"========================="<<endl;

cout<<" 2) Summa vidanih kreditov= "<<sum1<<endl;

cout<<"========================="<<endl;

cout<<" 3) Kolichestvo vidanih kreditov= "<<kol<<endl;

cout<<"========================="<<endl;

cout<<" 4) Dohod crednemecachnii= "<<float(dohod/(n*12))<<endl;

cout<<"========================="<<endl; cout<<" 6)Srednya dnevnaya velichina kreditovannih bankom sredstv= "<<float(sum1/(n*365))<<endl;

Машинный эксперимент

Запустив программу, написанную на языке С++, мы получили следующие результаты согласно исходным данным:

1. доход банка составил 3,726612 мил. руб.

2. сумма выданных кредитов составила 1863,305176 мил. руб.

3. количество выданных кредитов составило 329

4. среднемесячный доход банка составил 62110,191406 руб.

средняя дневная сумма кредитованных банком средств составила 1020989,1875 руб. Далее мы можем провести машинный эксперимент, с помощью которого можно определить оптимальные условия для получения большей прибыли. Изменяя сmax, мы получаем следующую таблицу1:

Таблица1: Зависимость данных от сmax:

сmax

Доход

количество выданных кредитов

сумма выданных кредитов (мил. руб.)

(мил .р.)

10

1.056529

88

528.264648

15

1.614135

140

807.067078

20

1.890437

162

945.217957

30

2.818588

237

1409.293335

40

3.430565

309

1715.282837

50

3.726612

310

1863.305176

60

3.726612

310

1863.305177

70

3.726613

310

1863.305178

90

3.726614

310

1863.305179

100

3.726615

310

1863.305180

Заключение

Широкое внедрение электронно-вычислительной техники во все сферы нашей жизни в последнее время, вызвало бурный рост технологий, связанных с применением в них средств вычислительной техники. Одной из наиболее крупных отраслей развития технологий с применением ЭВМ, является математическое моделирование, которое достаточно просто (в отличие от аналогового моделирования) может быть реализовано на ЭВМ разных модификаций и возможностей. Связано это с тем, что при математическом моделировании модель представляет собой определенную последовательность математических зависимостей и динамика такой модели представляет собой изменение параметров зависимостей в результате выполнения расчетов. Математическое моделирование тесно связано с имитационным моделированием. Одним из разделов математического моделирования, являются модели систем массового обслуживания и их изучение.

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

Список использованной литературы

1. Емельянов А.А. «имитационное моделирование экономических процессов» 2002г

2. Советов В.Я., Яковлев С.А. «Моделирование системы» 2001г.

3. Соболь И.М. «Метод Монте-Карло» 1968г.

4. Шеннон Р. «Имитационное моделирование систем - искусства и науки» 1978г.

5. «Машинные имитационные эксперименты с моделями экономических систем» под редакцией Нейлера.

6. Бусленко М.П. «Моделирование сложных систем».

7. Кеольтон В., Лод А. «Имитационное моделирование. Классика CS» издание 3-е, 2004г.

Приложение 1

#include<iostream.h>

#include<math.h>

#include<string.h>

#define T (5*365ul)

#define N 100

#define RIN uniform(1,10)

#define RON exponentiol(1.0/120)

#define RSUMCR uniform(1e5,1e7)

#define H 0.2

#define C (125*125*125*125*5)

float rand(void)

{ static unsigned long int U=C; U*=C; return float(U)/0xFFFFFFFFul;

}

int discrete(float p[])

{ int i=0; float x,s; x=rand(); s=p[0]; while (s<x) { i++; s+=p[i]; } return i;

}

float exponentiol(float lambda)

{ return -log(rand())/lambda;

}

float uniform (float a, float b)

{ return rand ()*(b-a)+a;

}

void main(void)

{ unsigned long int tin, ton[N], t, n=0, nOtkaz=0, i, j, temp; float s,sTotal=0,d,dTotal=0; for(i=0;i<N;i++) ton[i]=-1; tin=RIN; for(t=0;t<T;t++) { for(i=0;i<N;i++) if(ton[i]==t) { ton[i]=-1; n++; } if(t==tin) { j=0; while(ton[j]!=-1 && j<N) j++; if(j<N) { temp=RON; ton[j]=t+temp; s=RSUMCR; sTotal+=s; d=s*H/100; dTotal+=d; } else nOtkaz++; tin=RIN+t; } } cout<<"Obshgee chislo vydannyh kreditov " << n << endl; cout<<"Obshgee chislo otkazov v vydache kredita " << nOtkaz << endl; cout<<"Obshaja summa vydannyh kreditov " << sTotal/1000000 << " mln. rub." << endl; cout<<"Srednjaja dnevnaja summa kreditovannyh bankom sredstv " << sTotal/T << " rub." << endl; cout<<"Summarnyi dohod banka za period " << dTotal/1000000 << " mln. rub." << endl; cout<<"Srednemesjachnyi dohod " << dTotal/(5*12) << " rub." << endl;

Приложение 2

Вывод машинного эксперимента


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.