Разработка проектных решений по созданию информационной базы коммерческого банка
Форма оценки рисков кредитов организациям представлена на рис. 2.14. Формы для оценки рисков потребительских кредитов и депозитов (вызывается из подменю «Риски пассивных операций») выглядят аналогично. Для оценки риска операции необходимо выбрать срок её действия и сумму и нажать кнопку «Рассчитать». В результате будут рассчитаны вероятность потерь и риск по данной операции. При нажатии на кнопку… Читать ещё >
Разработка проектных решений по созданию информационной базы коммерческого банка (реферат, курсовая, диплом, контрольная)
- ВВЕДЕНИЕ
- 1. ОЦЕНКА РИСКОВ КОММЕРЧЕСКОГО БАНКА
- 1.1 Понятие «риск коммерческого банка»
- 1.2 Характеристика типичных рисков в банке
- 1.3 Методы оценки банковских рисков
- 1.4 Статистический метод
- 1.5 Метод экспертных оценок
- 1.6 Аналитический метод
- 2. ОПИСАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ
- 2.1 Обоснование разработки
- 2.2 Концептуальное описание задачи
- 2.3 Разработка проектных решений по созданию информационной базы
- 2.4 Разработка проектных решений по программному обеспечению
- 2.4.1 Разработка алгоритма работы программы
- 2.4.2 Руководство пользователя
- ЗАКЛЮЧЕНИЕ
- БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- ПРИЛОЖЕНИЯ
Коммерческие банки являются неотъемлемой частью финансовой системы, одной из важнейших функций которых является обеспечение финансовыми ресурсами воспроизводственного процесса. Банковская система является своеобразным посредником между собственниками временно свободных финансовых ресурсов и экономическими субъектами, испытывающими нехватку в них, а значит, особенностью банковской деятельности является работа в основном с привлеченными средствами клиентов и заимствованиями на межбанковских финансовых рынках.
Данная деятельность сопряжена как с возможностью потери привлеченных средств, так и с их приумножением, в конечном счете, с рисками. Это значит, что деятельность коммерческого банка должна строиться на базе тщательной оценки и проигрывания различных ситуаций. Таким образом, своевременная оценка рисков является одним из условий успешной деятельности банка.
Цель данной работы — разработка программного обеспечения, обеспечивающего быструю и бесперебойную обработку потоков информации об операциях коммерческого банка для оценки их риска.
1. ОЦЕНКА РИСКОВ КОММЕРЧЕСКОГО БАНКА
1.1 Понятие «риск коммерческого банка»
В общем случае под риском понимают возможность наступления некоторого неблагоприятного события, влекущего за собой различного рода потери (например, получение физической травмы, потеря имущества, получение доходов ниже ожидаемого уровня и т. д.).
В предпринимательской деятельности под «риском» принято понимать вероятность (угрозу) потери предприятием части своих ресурсов, недополучения доходов или появления дополнительных расходов в результате осуществления определенной производственной и финансовой деятельности. Риск присутствует в любой операции, только он может быть разных масштабов. Следовательно, для банковской деятельности важным является не избежание риска вообще, а предвидение и снижение его до минимального уровня. Под риском в банковской практике понимают опасность (возможность) потери банком части своих ресурсов, недополучения доходов или произведения дополнительных расходов в результате осуществления определенных финансовых операций. Риск - возможность утери ликвидности и (или) финансовых потерь (убытков), связанная с внутренними и внешними факторами, влияющими на деятельность банка.
В явлении «риск» можно выделить следующие элементы, взаимосвязь которых и составляет его сущность:
— возможность отклонения от предполагаемой цели, ради которой осуществлялась выбранная альтернатива;
— отсутствие уверенности в достижении поставленной цели;
— возможность материальных, нравственных и др. потерь, связанных с осуществлением выбранной в условиях неопределенности альтернативы.
1.2 Характеристика типичных рисков в банке
Кредитный риск - риск возникновения у кредитной организации убытков вследствие неисполнения, несвоевременного либо неполного исполнения должником финансовых обязательств перед кредитной организацией в соответствии с условиями договора.
К указанным финансовым обязательствам могут относиться обязательства должника по:
— полученным кредитам, в том числе межбанковским кредитам (депозитам, займам), прочим размещенным средствам, включая требования на получение (возврат) долговых ценных бумаг, акций и векселей, предоставленных по договору займа;
— учтенным кредитной организацией векселям;
— банковским гарантиям, по которым уплаченные кредитной организацией денежные средства не возмещены принципалом;
— сделкам финансирования под уступку денежного требования (факторинг);
— приобретенным кредитной организацией по сделке (уступка требования) правам (требованиям);
— приобретенным кредитной организацией на вторичном рынке закладным;
— сделкам продажи (покупки) финансовых активов с отсрочкой платежа (поставки финансовых активов);
— оплаченным кредитной организацией аккредитивам (в том числе непокрытым аккредитивам);
— возврату денежных средств (активов) по сделке по приобретению финансовых активов с обязательством их обратного отчуждения;
— требованиям кредитной организации (лизингодателя) по операциям финансовой аренды (лизинга).
Концентрация кредитного риска проявляется в предоставлении крупных кредитов отдельному заемщику или группе связанных заемщиков, а также в результате принадлежности должников кредитной организации либо к отдельным отраслям экономики, либо к географическим регионам или при наличии ряда иных обязательств, которые делают их уязвимыми к одним и тем же экономическим факторам.
Кредитный риск возрастает при кредитовании связанных с кредитной организацией лиц (связанном кредитовании), т. е. предоставлении кредитов отдельным физическим или юридическим лицам, обладающим реальными возможностями воздействовать на характер принимаемых кредитной организацией решений о выдаче кредитов и об условиях кредитования, а также лицам, на принятие решения которыми может оказывать влияние кредитная организация.
При кредитовании связанных лиц кредитный риск может возрастать вследствие несоблюдения или недостаточного соблюдения установленных кредитной организацией правил, порядков и процедур рассмотрения обращений на получение кредитов, определения кредитоспособности заемщика и принятия решений о предоставлении кредитов.
При кредитовании иностранных контрагентов у кредитной организации также может возникать страновой риск и риск не перевода средств.
Страновой риск (включая риск не перевода средств) - риск возникновения у кредитной организации убытков в результате неисполнения иностранными контрагентами (юридическими, физическими лицами) обязательств из-за экономических, политических, социальных изменений, а также вследствие того, что валюта денежного обязательства может быть недоступна контрагенту из-за особенностей национального законодательства (независимо от финансового положения самого контрагента).
Рыночный риск - риск возникновения у кредитной организации убытков вследствие неблагоприятного изменения рыночной стоимости финансовых инструментов торгового портфеля и производных финансовых инструментов кредитной организации, а также курсов иностранных валют и (или) драгоценных металлов.
Рыночный риск включает в себя фондовый риск, валютный и процентный риск.
Фондовый риск - риск убытков вследствие неблагоприятного изменения рыночных цен на фондовые ценности (ценные бумаги, в том числе закрепляющие права на участие в управлении) торгового портфеля и производные финансовые инструменты под влиянием факторов, связанных как с эмитентом фондовых ценностей и производных финансовых инструментов, так и общими колебаниями рыночных цен на финансовые инструменты.
Валютный риск - риск убытков вследствие неблагоприятного изменения курсов иностранных валют и (или) драгоценных металлов по открытым кредитной организацией позициям в иностранных валютах и (или) драгоценных металлах.
Процентный риск - риск возникновения финансовых потерь (убытков) вследствие неблагоприятного изменения процентных ставок по активам, пассивам и внебалансовым инструментам кредитной организации.
Основными источниками процентного риска могут являться:
— несовпадение сроков погашения активов, пассивов и внебалансовых требований и обязательств по инструментам с фиксированной процентной ставкой;
— несовпадение сроков погашения активов, пассивов и внебалансовых требований и обязательств по инструментам с изменяющейся процентной ставкой (риск пересмотра процентной ставки);
— изменения конфигурации кривой доходности по длинным и коротким позициям по финансовым инструментам одного эмитента, создающие риск потерь в результате превышения потенциальных расходов над доходами при закрытии данных позиций (риск кривой доходности);
— для финансовых инструментов с фиксированной процентной ставкой при условии совпадения сроков их погашения - несовпадение степени изменения процентных ставок по привлекаемым и размещаемым кредитной организации ресурсам; для финансовых инструментов с плавающей процентной ставкой при условии одинаковой частоты пересмотра плавающей процентной ставки - несовпадение степени изменения процентных ставок (базисный риск);
— широкое применение опционных сделок с традиционными процентными инструментами, чувствительными к изменению процентных ставок (облигациями, кредитами, ипотечными займами и ценными бумагами и пр.), порождающих риск возникновения убытков в результате отказа от исполнения обязательств одной из сторон сделки (опционный риск).
Риск ликвидности - риск, обусловленный тем, что банк может быть недостаточно ликвиден или слишком ликвиден. Риск недостаточной ликвидности - это риск того, что банк не сможет своевременно выполнить свои обязательства или для этого потребуется продажа отдельных активов банка на невыгодных условиях. Риск излишней ликвидности - это риск потери доходов банка из-за избытка высоколиквидных активов, но мало или не имеющих дохода активов и, как следствие, неоправданного финансирования низко доходных активов за счет привлеченных ресурсов.
Риск потери ликвидности связан с невозможность банка выполнить свои обязательства по платежам в оговоренные сроки, быстро превращать свои активов денежную форму для осуществления платежей по вкладам.
Недостаточная ликвидность приводит к неплатежеспособности кредитной организации. Если кредитная организация не выполнила своевременно свои обязательства перед вкладчиками и об этом стало известно, возникает «эффект снежного кома» - лавинообразный отток депозитов и остатков на расчетных счетах, приводящий уже к принципиальной неплатежеспособности.
Риск ликвидности, с одной стороны, тесно связан с рассогласованием активов и пассивов (то есть использованием коротких нестабильных пассивов для среднесрочных или долгосрочных активных операций), а, с другой стороны, с потерей возможности (из-за общей конъюнктуры рынка или ухудшения имиджа банка) привлечь ресурсы для выполнения текущих обязательств.
На уровень риска ликвидности влияют различные факторы, среди них:
— качество активов банка (если в портфеле банка имеется значительный объем неработающих и невозвратных активов, не обеспеченных достаточными резервами или собственными средствами, то такой банк потеряет ликвидность из-за необходимости фондировать такие активы привлеченными ресурсами);
— диверсифицированность активов;
— процентная политика банка и общий уровень доходности его операций (постоянное превышение расходов банка над его доходами может привести к потере ликвидности);
— величина валютного и процентного рисков, реализация которых может привести к обесценению или недостаточному уровню отдачи работающих активов;
— стабильность банковских пассивов;
— согласованность сроков привлечения ресурсов и размещения их в активные операции;
— имидж банка, обеспечивающий ему возможность в случае необходимости быстро привлечь сторонние заемные средства.
Риск ликвидности тесно связан с такими рисками: кредитным, рыночным, процентным и валютным. Так, например, кредитный риск ухудшает ликвидность банка, так как приводит к нарушению сбалансированности активов и пассивов по срокам и суммам; а рыночный, валютный и процентный риски могут вызвать уменьшение стоимости активов банка или увеличивать стоимость пассивов.
Операционный риск - риск возникновения убытков в результате несоответствия характеру и масштабам деятельности кредитной организации и (или) требованиям действующего законодательства внутренних порядков и процедур проведения банковских операций и других сделок, их нарушения служащими кредитной организации и (или) иными лицами (вследствие некомпетентности, непреднамеренных или умышленных действий или бездействия), несоразмерности (недостаточности) функциональных возможностей (характеристик) применяемых кредитной организацией информационных, технологических и других систем и (или) их отказов (нарушений функционирования), а также в результате воздействия внешних событий.
Правовой риск - риск возникновения у кредитной организации убытков вследствие:
— несоблюдения кредитной организацией требований нормативных правовых актов и заключенных договоров;
— допускаемых правовых ошибок при осуществлении деятельности (неправильные юридические консультации или неверное составление документов, в том числе при рассмотрении спорных вопросов в судебных органах);
— несовершенства правовой системы (противоречивость законодательства, отсутствие правовых норм по регулированию отдельных вопросов, возникающих в процессе деятельности кредитной организации);
— нарушения контрагентами нормативных правовых актов, а также условий заключенных договоров.
Риск потери деловой репутации кредитной организации (репутационный риск) - риск возникновения у кредитной организации убытков в результате уменьшения числа клиентов (контрагентов) вследствие формирования в обществе негативного представления о финансовой устойчивости кредитной организации, качестве оказываемых ею услуг или характере деятельности в целом.
Стратегический риск - риск возникновения у кредитной организации убытков в результате ошибок (недостатков), допущенных при принятии решений, определяющих стратегию деятельности и развития кредитной организации (стратегическое управление), и выражающихся в неучете или недостаточном учете возможных опасностей, которые могут угрожать деятельности кредитной организации, неправильном или недостаточно обоснованном определении перспективных направлений деятельности, в которых кредитная организация может достичь преимущества перед конкурентами, отсутствии или обеспечении в неполном объеме необходимых ресурсов (финансовых, материально-технических, людских) и организационных мер (управленческих решений), которые должны обеспечить достижение стратегических целей деятельности кредитной организации.
1.3 Методы оценки банковских рисков
Основным методом выявления риска выступает комплексный анализ банковских операций, подверженных риску и анализ внешних факторов влияющих на образование и изменение риска.
Под экономическим анализом понимают определенные приемы и методы оценки банковских операций с целью выявления операций, подверженных риску и причин его возникновения на возможно более ранних стадиях их формирования. В рамках проведения анализа решается задача получения достоверной картины текущего финансового положения банка, существующих тенденций его изменения и прогноза на перспективу, в том числе при возможном неблагоприятном изменении внешних условий. Ключевыми условиями осуществления анализа являются достоверность и точность исходной информации, а также его своевременность и завершенность. Отсутствие достоверных данных ведет к недооценке рисков в банках, что может иметь опасные последствия для развития ситуации. Кроме того, отсутствие информации является одним из существенных факторов риска и принятие решения в условиях неполной информации служит источником дополнительных финансовых потерь.
Для достижения цели полного и своевременного выявления финансовых рисков банков, экономический анализ базируется на комплексном подходе, включающем анализ и прогнозирование внешней и внутренней среды.
Анализ внешней среды банка направлен на оценку и прогнозирование обще рыночных факторов, оказывающих влияние на доходность и рискованность банковских операций. При анализе внутренней среды акцент делается на оценку качества банковских актинов и пассивов, их сбалансированность по срокам и суммам, надежность и эффективность. Такой подход позволяет выявить рисковые банковские операции, установить причины возникновения и объемы, использовать специфические приемы оценки возможных потерь, а также спрогнозировать динамику изменения величины риска.
Все методы оценки банковских рисков можно условно разделить на три группы: статистические методы, методы экспертных оценок и аналитические методы.
1.4 Статистический метод
Предполагает анализ статистических рядов за возможно больший промежуток времени с целью определения приемлемой и недопустимой для данного банка зон риска.
В настоящее время некоторые российские банки оценивают риски на основании VAR-методики (value-at-risk - рисковая стоимость), базирующейся на анализе максимального отклонения от ожидания, рассчитанного с определенной долей вероятности. Данная методика при хороших исходных условиях ее применения позволяет переходить от оценки отдельных рисков к анализу совокупного риска бизнеса, т. е. ее преимуществом является учет факторов диверсификации рисков, которые не «улавливаются» в более простых методиках, базирующихся на суммировании величин отдельных рисков.
Value-at-Risk - это стоимость, подверженная риску, которая представляет собой оценку максимального потенциального убытка по финансовому инструменту или портфелю инструментов за определенный период времени в случае неблагоприятного изменения рыночных факторов, вычисляемую с определенным доверительным интервалом.
Таким образом, VAR является функцией четырех переменных:
— текущей рыночной стоимости финансового инструмента;
— оценки изменчивости доходов, выраженной среднеквадратическим отклонением;
— доверительным интервалом, характеризующим вероятность ожидаемых потерь, в зависимости от частоты их свершения;
— времени открытой позиции: периода, в течение которого финансовый инструмент будет подвержен риску.
Статистический метод заключается в том, чтобы изучить статистику потерь и прибылей, имевших место при принятии аналогичных рений, установить величину и частоту получения той или иной экономической отдачи, а затем провести вероятностный анализ и составить прогноз будущего поведения на рынке.
1.5 Метод экспертных оценок
Включает сбор и обработку мнений экспертов, составление обобщающих рейтинговых оценок и их «привязку» к определенным зонам рисков.
Этот метод особенно важен там, где необходимы оценки внешней для банка среды на предмет выявления факторов системных рисков в экономике в целом и в банковском секторе. Другие существующие методики не дают возможностей корректной оценки указанных рисков.
1.6 Аналитический метод
Означает углубленный анализ выявленных зон рисков с целью установить оптимальные уровни приемлемых рисков для каждого вида операций банка или их совокупности.
Банку необходима целостная система риск-менеджмента с отражением всех ее основных моментов во внутреннем документе.
Механизмы принятия решений должны позволять каждому банку оценить, какие риски и в каком объеме он может принять на себя, определить, оправдывает ли ожидающаяся доходность соответствующий риск. На основе этого банк должен разрабатывать и претворять в жизнь мероприятия, позволяющие не допустить или снизить влияние фактора риска. Т. е. нужна внутренне согласованная система управления рисками как система решений и практических действий, которые должны позволять руководству и сотрудникам банка выявить, измерить, локализовать и проконтролировать любой финансовый риск и тем самым минимизировать его влияние.
Чтобы система риск-менеджмента была эффективной, она должна:
— оптимизировать соотношение потенциальных возможностей, рисков, размера капитала и темпов роста банка;
— реализовывать системный подход к оценке и управлению рисками;
— соотносить риски и потенциальные возможности для достижения наилучших результатов;
— составлять важную часть процесса принятия управленческих решений;
— улучшать управляемость банка с помощью создания адекватной структуры контроля.
2. ОПИСАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ
2.1 Обоснование разработки
Основанием для создания данного программного средства являются:
— присутствие риска при выполнении самых различных банковских операций, при постоянном росте числа этих операций, обуславливает необходимость привлечения новых средств и способов анализа рисков;
— в условиях нестабильной экономической ситуации в стране банки вынуждены учитывать все возможные действия конкурентов, клиентов, а также предвидеть изменения в законодательстве.
Программный продукт предназначен для автоматизации оценки рисков активных и пассивных операций банка, инвестиционных рисков, общего риска банка. Также с помощью продукта можно провести анализ балансов ссудозаемщиков и их кредитоспособности.
2.2 Концептуальное описание задачи
Разрабатываемая программа должна получать данные о выданных кредитах, выплатах и просрочках по ним; о депозитах, о случаях их досрочного изъятия; об инвестиционных программах, об объёмах полученной по ним прибыли; балансы и отчеты о прибылях и убытках ссудозаемщиков для анализа их кредитоспособности; анкетные данные ссудозаемщиков-потребителей. На основании этих данных должны быть оценены риски по активным и пассивным операциям и общий риск банка.
Также необходимо решить задачи ввода и хранения всех этих данных.
2.3 Разработка проектных решений по созданию информационной базы
В ходе проектирования была разработана локальная реляционная база данных «Банковские риски». Разработанная база данных предназначена для ввода, накопления и долговременного хранения информации о кредитах, депозитах, инвестициях, клиентах и балансах ссудозаемщиков.
Концептуальное проектирование При концептуальном проектировании были выбраны основные сущности:
1) «Заемщики-потребители».
2) «Заемщики-предприятия».
3) «Кредиты предприятиям».
4) «Потребительские кредиты».
5) «Депозиты».
6) «Инвестиционные программы».
7) «Предполагаемое движение (наличности)»
8) «Балансы заемщиков».
9) «Прибыль и убытки заемщиков».
Атрибуты, полученные в результате изучения предметной области и проектирования базы данных, представлены в таблицах 2.1 — 2.9.
Таблица 2.1 — Атрибуты сущности «Заемщики-потребители»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
Имя | Текстовый | ||
Дата рождения | Дата/время | ||
Пол | Логический | True — мужской, false — женский | |
Атрибут | Тип данных | Примечание | |
Оседлость | Дата/время | С какого времени живет постоянно в одном месте | |
Уровень риска для жизни | Целое число | Допустимые значения: 1 — низкий, 2 — средний, 3 — высокий | |
Стабильность занятости | Дата/время | С какого времени работает постоянно | |
Наличие сбер. счета | Логический | ||
Наличие недвижимости | Логический | ||
Страхование жизни | Логический | ||
Таблица 2.2 — Атрибуты сущности «Заемщики-предприятия»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
Название | Текстовый | ||
Тип предприятия | Целое число | Допустимые значения: 1 — государственное, 2 — структуры свободной экономики, 3 — Индивидуальные предприниматели | |
Таблица 2.3 — Атрибуты сущности «Кредиты предприятиям»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
id_предприятия | Целое число | ||
Объем | Денежный | ||
Атрибут | Тип данных | Примечание | |
Сумма выплат | Денежный | Сумма возвращенных средств | |
Ставка | Дробное число | ||
Дата выдачи | Дата/время | ||
Срок | Дата/время | ||
Дата последней выплаты | Дата/время | ||
Таблица 2.4 — Атрибуты сущности «Потребительские кредиты»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
id_потребителя | Целое число | ||
Объем | Денежный | ||
Сумма выплат | Денежный | Сумма возвращенных средств | |
Ставка | Дробное число | ||
Дата выдачи | Дата/время | ||
Срок | Дата/время | ||
Дата последней выплаты | Дата/время | ||
Таблица 2.5 — Атрибуты сущности «Депозиты»
Атрибут | Тип данных | |
id | Целое число | |
Дата вложения | Дата/время | |
Срок | Дата/время | |
Дата изъятия | Дата/время | |
Объем | Денежный | |
Таблица 2.6 — Атрибуты сущности «Инвестиционные программы»
Атрибут | Тип данных | |
id | Целое число | |
Название | Текстовый | |
Таблица 2.7 — Атрибуты сущности «Предполагаемое движение»
Атрибут | Тип данных | |
id | Целое число | |
id_программы | Целое число | |
Движение наличности | Денежный | |
Вероятность события | Дробное число | |
Таблица 2.8 — Атрибуты сущности «Балансы заемщиков»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
id_заемщика | Целое число | ||
Дата | Дата/время | ||
Код | Целое число | Код показателя в балансе | |
Значение | Денежный | Значение показателя | |
Таблица 2.9 — Атрибуты сущности «Прибыль и убытки заемщиков»
Атрибут | Тип данных | Примечание | |
id | Целое число | ||
id_заемщика, | Целое число | ||
Начало периода | Дата/время | ||
Конец периода | Дата/время | ||
Код | Целое число | Код показателя в отчете о прибылях и убытках | |
Значение | Денежный | Значение показателя | |
Инфологическое проектирование Схема модели «сущность-связь» приведена на рис. 2.1.
Рисунок 2.1 — Схема модели «сущность-связь»
Разработка способов защиты информации Установленные отношения между таблицами могут быть использованы для задания целостности данных. Поддержание целостности базы данных может рассматриваться как защита данных от неверных изменений. В данном проекте использованы условия целостности по ссылкам, а так же ограничения значений атрибутов «Уровень риска для жизни» и «Тип предприятия», как показано в таблицах 2.1 и 2.2 соответственно.
2.4 Разработка проектных решений по программному обеспечению
2.4.1 Разработка алгоритма работы программы В главное окне программы расположено меню, из которого выполняются такие операции, как просмотр и изменение информации о банке, клиентах, выданных кредитах и оценка рисков по различным операциям. Все формы выполнены с использованием стандартных .Net-компонентов DataSet, TableAdapter, BindingSourse, DataGridView и BindingNavigator.
Программа может рассчитывать следующие риски:
— по пассивным операциям — риск досрочного изъятия депозита;
— по активным операциям — риск невозврата кредита, инвестиционный риск;
— общий риск банка.
Также из приложения возможно проведение следующих анализов: анализ кредитоспособности ссудозанимателя (потребителя или организации); анализ баланса и отчета о прибылях и убытка предприятия (проводится вертикальный, горизонтальный анализы, анализ финансовой устойчивости, определение ликвидности баланса, анализы рентабельности и кредитоспособности).
Оценка кредитоспособности потребителя основана на девяти факторах:
— Возраст заемщика: 0,01 балла за каждый год сверх 20 лет при максимуме 0,3 балла;
— Пол: 0,4 балла — женский; 0 — мужской;
— Оседлость: 0,042 балла за каждый год, прожитый в данной местности, при максимуме 0,42 балла;
— Занятость: 0,55 балла за профессию с низким уровнем риска для жизни; 0 — с высоким риском, 0,16 балла — за все остальные профессии;
— Отрасль: 0,21 балла для работников коммунальных служб, государственных и банковских служащих, 0 — для всех остальных;
— Стабильность занятости: 0,059 балла за каждый год на данном месте работы при максимуме 0,59 балла;
— Наличие сберегательного счета в банке: 0,35 балла;
— Наличие недвижимости: 0,35 балла;
— Страхование жизни: 0,19 балла.
Критической в данной модели является сумма в 1,25, т. е. если итоговый балл клиента ниже указанного уровня, ему кредит предоставлен не будет.
Оценка кредитоспособности предприятия проводится по модели Альтмана.
Вся информация о кредитах, депозитах и инвестициях хранится в базе данных. Связь приложения с базой данных происходит по технологии ADO.NET.
Из форм по оценке кредитных рисков можно вывести «Диаграмму рисков по кредитам», которая передает данные о рисках и объемах кредитов в приложение MS Excel по технологии OleDB. После чего средствами MS Exсel строится диаграмма.
2.4.2 Руководство пользователя
Вызов данной программы не отличается от запуска любой другой программы из среды операционной систем: пользователю необходимо скопировать файлы приложения на жесткий диск и запустить приложение с расширением .exe в корневом каталоге программы. Данное приложение для работы требует наличие установленного .net framework 2.0 версии и выше. Никаких дополнительных действий от пользователя не требуется.
Главное окно программы (рис. 2.10) является MDI-контейнером, в котором открываются формы для просмотра и редактирования таблиц БД, оценки рисков по операциям и общего риска, анализа балансов ссудозаемщиков.
Рисунок 2.10 — Главное окно приложения
Для просмотра и редактирования данных из БД необходимо в меню «Банк» (рис. 2.11) выбрать необходимую таблицу. Форма редактирования таблицы «Кредиты организациям» представлена на рис. 2.12. Формы для других таблиц выглядят аналогично.
Рисунок 2.11 — меню «Банк»
Рисунок 2.12 — формы «Кредиты организациям»
Для оценки рисков по различным операциям необходимо вызвать соответствующие формы из меню «Оценка рисков» (рис. 2.13).
Рисунок 2.13 — меню «Оценка рисков»
Форма оценки рисков кредитов организациям представлена на рис. 2.14. Формы для оценки рисков потребительских кредитов и депозитов (вызывается из подменю «Риски пассивных операций») выглядят аналогично. Для оценки риска операции необходимо выбрать срок её действия и сумму и нажать кнопку «Рассчитать». В результате будут рассчитаны вероятность потерь и риск по данной операции. При нажатии на кнопку «Отчет по рискам» будет запущено приложение MS Excel, в котором сформируется диаграмма (рис. 2.15) по операциям данного типа, отражающая количество случаев, приведших к потерям, в зависимости от срока действия операций.
Рисунок 2.14 — Форма оценки рисков кредитов организациям
Рисунок 2.15 — Диаграмма «Кредиты организациям»
Для расчета инвестиционных рисков, необходимо вызвать соответствующую форму (рис. 2.16), выбрать инвестиционную программу и нажать кнопку «Рассчитать риск».
Рисунок 2.16 — Форма расчета инвестиционных рисков
Для расчета общего риска банка необходимо выбрать «Общий риск банка» из меню «Оценка рисков» (рис. 2.13). В результате будет выведено окно (рис. 2.17) со значением риска.
Рисунок 2.17 — Окно со значением общего риска
Из меню «Анализ» (рис. 2.18) вызываются формы для анализа кредитоспособности организаций (рис. 2.19) и потребителей (рис. 2.22). Анализ баланса проводится из той же формы, что и анализ кредитоспособности организаций.
Рисунок 2.18 — меню «Анализ»
Форма «Анализ кредитоспособности организаций» (рис. 2.19) содержит три вкладки. На первой из них проводится анализ баланса и определяется кредитоспособность предприятия. Для анализа необходимо загрузить файлы формата excel, содержащие баланс и отчет о прибылях и убытках организации, указать в каких столбцах находятся коды показателей и их значения, указать отчетные периоды и нажать кнопку «Анализ». В результате будут проведены следующие анализы: вертикальный и горизонтальный анализы баланса, анализы ликвидности, рентабельности, финансовой устойчивости и кредитоспособности. После чего будет запущено приложение MS Word, в котором выведутся результаты анализов. Загруженные балансы и отчеты о прибылях и убытках можно сохранить в базе данных. Анализ ранее сохраненных балансов можно провести из второй вкладки (рис. 2.20). В третьей вкладке (рис. 2.21) можно провести анализ кредитоспособности сразу всех кредиторов, для чего необходимо нажать кнопку «Расчет».
программный автоматизация реляционный риск Рисунок 2.19 — Форма «Анализ кредитоспособности организаций» 1
Рисунок 2.20 — Форма «Анализ кредитоспособности организаций» 2
Рисунок 2.21 — Форма «Анализ кредитоспособности организаций» 3
Форма «Анализ кредитоспособности потребителей» (рис. 2.22) содержит две вкладки. На первой из них проводится анализ анкетных данных клиента и определение его надежности. Для анализа необходимо заполнить анкету и нажать кнопку «Анализ». В результате будет выведено сообщение о надежности клиента (рис. 2.23). Заполненные анкеты можно сохранить в базе данных. Анализ известных клиентов можно провести из второй вкладки (рис. 2.24), нажав кнопку «Анализ всех».
Рисунок 2.19 — Форма «Анализ кредитоспособности потребителей» 1
Рисунок 2.20 — Сообщение о надежности клиента Рисунок 2.21 — Форма «Анализ кредитоспособности потребителей» 2
ЗАКЛЮЧЕНИЕ
В итоге курсового проектирования был получен программный продукт для автоматизации оценки банковских рисков. Также была разработана локальная реляционная база данных «Банковские риски».
Были исследованы методы оценки рисков активных и пассивных операций банка, инвестиционных рисков и общего риска банка; рассмотрены аспекты функционирования подсистемы оценки рисков, логической, программной и физической ее реализации.
Так как связь программы с базой данных осуществляется по технологии ADO.NET, данный продукт не привязан к разработанной БД и может быть интегрирован в другие системы.
Развивать полученную модель можно в сторону достижения большей функциональности и эргономичности, добавления новых возможностей, расширяющих стандартные средства.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Автоматизированные информационные технологии в банковской деятельности: Учебное пособие для вузов / Под ред. Г. А. Титоренко / ВЗФЭИ. — М.: Финстатинформ, 1999.
2. Банки и банковские операции: Учебник / Под ред. Е. Ф. Жукова. — М.: Банки и биржи, ЮНИТИ, 1999.
3. Бухгалтерский учет в коммерческом банке в проводках: Учеб. пособие / Л. П. Кроливецкая, Г. Н. Белоглазова. — М.: Финансы и статистика, 2000.
4. Кураков Л. П., Тимирясов В. Г., Кураков B.JI. Современные банковские системы: Учеб. пособие. — 3-е изд., перераб. и доп. — М.: Гелиос АРВ, 2000.
5. Батракова Л. Г. Экономический анализ деятельности коммерческого банка: Учебник для вузов. — М.: Издательская корпорация «Логос», 1999.
6. Бухгалтерский учет и отчетность в банке по новому Плану счетов: Учебнопрактический курс / Резчикова А. С., Родионова В. Г., Артемова Л. В., Назарова А. Г. — М.: Дело и Сервис, 1998.
7. Бухгалтерский учет в коммерческих банках / Козлова Е. П., Галанина Е. Н. — М.: Финансы и статистика, 1999.
8. Петгольц Ч. Программирование для Microsoft Windows на C#. В 3-х томах. Том 3 Пер. с англ./ Ч. Петгольц — М.: Издательско-торговый дом «Русская редакция», 2002. — 624 с.
9. Лисин В. Инвестиционные процессы в российской экономике./Вопросы экономики. — М.: Финансы и статистика, 2008. 551 с.
10. Малыхин В. И. Финансовая математика.- М.:ЮНИТИ-ДАНА, 2003. — 740 с.
ПРИЛОЖЕНИЯ
Приложение, А Диаграмма классов
Приложение Б Листинг кода приложения на языке С#
Файл: Главная.cs
using System;
using System.Collections.Generic;
using System. ComponentModel;
using System. Data;
using System. Drawing;
using System. Text;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using Word = Microsoft.Office.Interop.Word;
namespace RiscManagement
{
public partial class Главная: Form
{
public Главная ()
{
InitializeComponent ();
}
private void параметрыToolStripMenuItem_Click (object sender, EventArgs e)
{
Банк win = new Банк ();
win.MdiParent = this;
win.Show ();
}
private void организациямToolStripMenuItem_Click (object sender, EventArgs e)
{
Кредиты_организациям win = new Кредиты_организациям ();
win.MdiParent = this;
win.Show ();
}
private void потребительскиеToolStripMenuItem_Click (object sender, EventArgs e)
{
Кредиты_потребительские win = new Кредиты_потребительские ();
win.MdiParent = this;
win.Show ();
}
private void просмотрПрограммToolStripMenuItem_Click (object sender, EventArgs e)
{
Инвестиции win = new Инвестиции ();
win.MdiParent = this;
win.Show ();
}
private void инвестицииToolStripMenuItem1_Click (object sender, EventArgs e)
{
Новая_программа win = new Новая_программа ();
win.MdiParent = this;
win.Show ();
}
private void общийРискБанкаToolStripMenuItem_Click (object sender, EventArgs e)
{
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection (Properties.Settings.Default.RiskManagementConnectionString);
con.Open ();
string query;
System.Data.OleDb.OleDbCommand cmd;
System.Data.OleDb.OleDbDataReader r;
double rsk = 0;
query = «SELECT DISTINCT ((SELECT Count (*) FROM Кредиты_предприятиям WHERE Сумма_выплат >= (Объем_кредита * (1+Ставка/100))) / (SELECT Count (*) FROM Кредиты_предприятиям)) * (SELECT Sum (Объем_кредита) FROM Кредиты_предприятиям) FROM Кредиты_предприятиям» ;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
rsk += Convert. ToDouble (r[0]);
}
r.Close ();
query = «SELECT DISTINCT ((SELECT Count (*) FROM Потребительские_кредиты WHERE Сумма_выплат >= (Объем_кредита * (1+Ставка/100))) / (SELECT Count (*) FROM Потребительские_кредиты)) * (SELECT Sum (Объем_кредита) FROM Потребительские_кредиты) FROM Потребительские_кредиты» ;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
rsk += Convert. ToDouble (r[0]);
}
r.Close ();
query = «SELECT DISTINCT ((SELECT Count (*) FROM Депозиты WHERE Дата_изъятия < Срок) / (SELECT Count (*) FROM Депозиты)) * (SELECT Sum (Объем) FROM Депозиты) FROM Депозиты «;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
try { rsk += Convert. ToDouble (r[0]); }
catch { }
}
r.Close ();
query = «SELECT K FROM Банк «;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
try { rsk /= Convert. ToDouble (r[0]); }
catch { }
}
r.Close ();
query = «SELECT E FROM Банк «;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
try { rsk *= Convert. ToDouble (r[0]); }
catch { }
}
r.Close ();
con.Close ();
MessageBox.Show («Общий риск банка = „+ rsk. ToString () +“ тыс.руб.»);
}
private void диаграммаРисковПоКредитамToolStripMenuItem_Click (object sender, EventArgs e)
{
заемщики_предприятияTableAdapter.Fill (riskManagementDataSet.Заемщики_предприятия);
double sum = 0, sum_nadejn = 0, sum_risc = 0, sum_povysh = 0;
string query;
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection (Properties.Settings.Default.RiskManagementConnectionString);
con.Open ();
System.Data.OleDb.OleDbCommand cmd;
query = «SELECT SUM (Объем_кредита) FROM Кредиты_предприятиям» ;
cmd = new System.Data.OleDb.OleDbCommand (query, con);
System.Data.OleDb.OleDbDataReader r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
sum = Convert. ToDouble (r[0]);
}
r.Close ();
double activ, pasiv, ob_cap, nerasp_prib, dohod, akzii, ob_prodaj;
List nadejn_id = new List ();
List risc_id = new List ();
List povysh_id = new List ();
DataTable tbl = riskManagementDataSet. Заемщики_предприятия;
for (int i = 0; i < tbl.Rows.Count; i++)
{
try
{
activ = Convert. ToDouble (tbl.Rows[i][3]);
pasiv = Convert. ToDouble (tbl.Rows[i][4]);
ob_cap = Convert. ToDouble (tbl.Rows[i][5]);
nerasp_prib = Convert. ToDouble (tbl.Rows[i][6]);
dohod = Convert. ToDouble (tbl.Rows[i][7]);
akzii = Convert. ToDouble (tbl.Rows[i][8]);
ob_prodaj = Convert. ToDouble (tbl.Rows[i][9]);
double z = ob_cap / activ * 1.2 + nerasp_prib / activ + dohod / activ * 3.3 +
akzii / pasiv * 0.6 + ob_prodaj / pasiv;
if (z <= 1.8)
{
povysh_id.Add (Convert.ToInt32(tbl.Rows[i][0]));
}
else if (z <= 2.7)
{
risc_id.Add (Convert.ToInt32(tbl.Rows[i][0]));
}
else if (z <= 2.9)
{
nadejn_id.Add (Convert.ToInt32(tbl.Rows[i][0]));
}
else
{
nadejn_id.Add (Convert.ToInt32(tbl.Rows[i][0]));
}
}
catch { }
}
for (int i = 0; i < nadejn_id.Count; i++)
{
query = «SELECT Объем_кредита FROM Кредиты_предприятиям WHERE id=» + nadejn_id[i];
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
sum_nadejn += Convert. ToDouble (r[0]);
}
r.Close ();
}
for (int i = 0; i < risc_id.Count; i++)
{
query = «SELECT Объем_кредита FROM Кредиты_предприятиям WHERE id=» + risc_id[i];
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
sum_risc += Convert. ToDouble (r[0]);
}
r.Close ();
}
for (int i = 0; i < povysh_id.Count; i++)
{
query = «SELECT Объем_кредита FROM Кредиты_предприятиям WHERE id=» + povysh_id[i];
cmd = new System.Data.OleDb.OleDbCommand (query, con);
r = cmd. ExecuteReader ();
if (r.HasRows)
{
r.Read ();
sum_povysh += Convert. ToDouble (r[0]);
}
r.Close ();
}
con.Close ();
Excel.Application xlApp;
Excel.Workbook xlWorkBook;
Excel.Worksheet xlWorkSheet;
object misValue = System.Reflection.Missing.Value;
xlApp = new Excel. Application ();
xlWorkBook = xlApp.Workbooks.Add (misValue);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item (1);
xlWorkSheet.Cells[1, 1] = «Объем кредитных вложений» ;
xlWorkSheet.Cells[2, 1] = sum. ToString ();
xlWorkSheet.Cells[3, 1] = (sum / sum * 100).ToString () + «%» ;
xlWorkSheet.Cells[1, 2] = «Высокой надежности» ;
xlWorkSheet.Cells[2, 2] = sum_nadejn.ToString ();
xlWorkSheet.Cells[3, 2] = (sum_nadejn / sum * 100).ToString () + «%» ;
xlWorkSheet.Cells[1, 3] = «С повышенным риском» ;
xlWorkSheet.Cells[2, 3] = sum_risc.ToString ();
xlWorkSheet.Cells[3, 3] = (sum_risc / sum * 100).ToString () + «%» ;
xlWorkSheet.Cells[1, 4] = «С предельным риском» ;
xlWorkSheet.Cells[2, 4] = sum_povysh.ToString ();
xlWorkSheet.Cells[3, 4] = (sum_povysh / sum * 100).ToString () + «%» ;
xlApp.Visible = true;
//xlApp.Quit ();
xlApp.UserControl = true;
}
private void выходToolStripMenuItem_Click (object sender, EventArgs e)
{
Application.Exit ();
}
private void организацииToolStripMenuItem1_Click (object sender, EventArgs e)
{
АнализБаланса win = new АнализБаланса (true);
win.MdiParent = this;
win.Show ();
}
private void балансаСсудозаемщикаToolStripMenuItem_Click (object sender, EventArgs e)
{
АнализБаланса win = new АнализБаланса (false);
win.MdiParent = this;
win.Show ();
}
private void потребителяToolStripMenuItem_Click (object sender, EventArgs e)
{
АнализКредитоспособностиПотребителя win = new АнализКредитоспособностиПотребителя ();
win.MdiParent = this;
win.Show ();
}
private void кредитовОрганизациямToolStripMenuItem_Click (object sender, EventArgs e)
{
Риск_кредита_организации win = new Риск_кредита_организации ();
win.MdiParent = this;
win.Show ();
}
private void инвестицийToolStripMenuItem_Click (object sender, EventArgs e)
{
Инвестиции win = new Инвестиции ();
win.MdiParent = this;
win.Show ();
}
private void депозитовToolStripMenuItem_Click (object sender, EventArgs e)
{
Риски_депозитов win = new Риски_депозитов ();
win.MdiParent = this;
win.Show ();
}
private void потребительскихКредитовToolStripMenuItem_Click (object sender, EventArgs e)
{
Риск_потребительского_кредита win = new Риск_потребительского_кредита ();
win.MdiParent = this;
win.Show ();
}
}
}
Файл: Анализ.cs
using System;
using System.Collections.Generic;
using System. Text;
namespace RiscManagement
{
class Анализ
{
Dictionary б; // Баланс
bool calcOnly; // Не проводить сравнение
public Dictionary Б
{
get { return б; }
set { б = value; }
}
Dictionary пиу; // Прибыль и убытки
public Dictionary Пиу
{
get { return пиу; }
set { пиу = value; }
}
public Dictionary аб; // Аналитический баланс
public Dictionary увАктив; // удельные веса активов
public Dictionary увПассив; // удельные веса пассивов
public Dictionary оАктив; // Абсолютное отклонение
public Dictionary оПассив; // Абсолютное отклонение
public Dictionary трАктив; // Темпы роста
public Dictionary трПассив; // Темпы роста
public float Ес; // Наличие собственных оборотных средств
public float Еr; // Наличие собственных оборотных и долгосрочных заемных средств
public float ЕУ; // Общая величина основных источников средств для формирования запасов и затрат
// Коэффициенты
public float кА; // Автономии
public float кЗиС; // Соотношения заемных и собственных средств
public float кОС; // Обеспеченности собственными средствами
public float кМ; // Маневренности
public float кМоб; // Соотношения мобильных и мобилизованных средств
public float кИ; // Имущества производственного назначения
public float кБ; // Угрозы банкротства
// Показатели ликвидности
public float А1, А2, А3, А4, П1, П2, П3, П4;
public float Чок; // ЧИСТЫЙ ОБОРОТНЫЙ КАПИТАЛ
public float Ктл; // КОЭФФИЦИЕНТ ТЕКУЩЕЙ ЛИКВИДНОСТИ (КОЭФФИЦИЕНТ ПОКРЫТИЯ)
public float КСКЛ; // КОЭФФИЦИЕНТ СРОЧНОЙ ИЛИ КРИТИЧЕСКОЙ ЛИКВИДНОСТИ
public float КАЛ; // КОЭФФИЦИЕНТ АБСОЛЮТНОЙ ЛИКВИДНОСТИ
// Показатели рентабельности
public float Пр; // Прибыль от реализации продукции
public float Себ; // Себестоимость реализации продукции
public float ЧП; // Чистая прибыль
public float V; // Объем реализации
public float Рп; // Рентабельность продаж
public float Род; // Рентабельность основной деятельности
public float Рк; // Рентабельность всего капитала
public float Рва; // Рентабельность внеоборотных активов
public float Рсс; // Рентабельность собственных средств
// Оценка кредитного риска
public double Z; // «Z-счет» (Е. Альтмана)
public Анализ предыдущий;
public Анализ (Анализ предыдущий)
{
б = new Dictionary ();
пиу = new Dictionary ();
аб = new Dictionary ();
увАктив = new Dictionary ();
увПассив = new Dictionary ();
оАктив = new Dictionary ();
оПассив = new Dictionary ();
трАктив = new Dictionary ();
трПассив = new Dictionary ();
this.предыдущий = предыдущий;
calcOnly = false;
}
public Анализ (Анализ предыдущий, Dictionary бл)
{
б = new Dictionary (бл);
пиу = new Dictionary ();
аб = new Dictionary ();
увАктив = new Dictionary ();
увПассив = new Dictionary ();
оАктив = new Dictionary ();
оПассив = new Dictionary ();
трАктив = new Dictionary ();
трПассив = new Dictionary ();
this.предыдущий = предыдущий;
calcOnly = false;
}
public void составитьАналитическийБаланс ()
{
// Актив
аб.Add («ДС», б[250] + б[260]); // Денежные средства и краткосрочные финансовые вложения
аб.Add («ДЗ», б[215] + б[240] + б[270]); // Дебиторская задолженность и прочие оборотные активы аб. Add («ЗЗ», б[220] - б[215] + б[220]); // Запасы и затраты
аб.Add («ОА», б[290] - б[230]); // Всего текущих активов (оборотных средств)
аб.Add («ВА», б[190] + б[230]); // Иммобилизованные средства (внеоборотные активы)
аб.Add («СВА», б[300]); // Итого активов (имущество)
// Пассив аб. Add («КЗ», б[620] + б[630] +
б[650] + б[660]); // Кредиторская задолженность и прочие краткосрочные пассивы
аб.Add («КК», б[610]); // Краткосрочные кредиты и займы
аб.Add («КО», б[690] - б[640]); // Всего краткосрочный заемный капитал (краткосрочные обязательства)
аб.Add («ДО», б[590]); // Долгосрочный заемный капитал (долгосрочные обязательства)
аб.Add («КЗС», б[590] + б[690]); // Всего кредиты и заемные средства (КЗС)
аб.Add («СК», б[490] + б[640]); // Собственный капитал
аб.Add («СВК», б[700]); // Итого пассивов (капитал)
}
public List заключенияВА;
public void вертикальныйАнализ ()
{
float СВА = аб[" СВА" ];
float СВК = аб[" СВК" ];
заключенияВА = new List ();
// Актив увАктив. Add («ДС», аб[" ДС" ] / СВА * 100);
увАктив.Add («ДЗ», аб[" ДЗ" ] / СВА * 100);
увАктив.Add («ЗЗ», аб[" ЗЗ" ] / СВА * 100);
увАктив.Add («ОА», аб[" ОА" ] / СВА * 100);
увАктив.Add («ВА», аб[" ВА" ] / СВА * 100);
// Пассив увПассив. Add («КЗ», аб[" КЗ" ] / СВК * 100);
увПассив.Add («КК», аб[" КК" ] / СВК * 100);
увПассив.Add («КО», аб[" КО" ] / СВК * 100);
увПассив.Add («ДО», аб[" ДО" ] / СВК * 100);
увПассив.Add («КЗС», аб[" КЗС" ] / СВК * 100);
увПассив.Add («СК», аб[" СК" ] / СВК * 100);
// Анализ
// 1
if (увПассив[" СК" ] >= 50)
{
заключенияВА.Add («+ доля собственного капитала «+
" в валюте баланса достаточно высока. «+
" Его удельный вес в валюте баланса составил «+
увПассив[" СК" ]. ToString ());
}
else
{
заключенияВА.Add («- доля собственного капитала «+
" в валюте баланса слишком мала. «+
" Его удельный вес в валюте баланса составил «+
увПассив[" СК" ]. ToString ());
}
if (предыдущий ≠ null)
{
if (увПассив[" СК" ] < предыдущий. увПассив[" СК" ])
{
заключенияВА.Add («- доля собственного капитала «+
" уменьшилась на «+
(предыдущий.увПассив[" СК" ] - увПассив[" СК" ]).ToString () + «%»);
}
else if (увПассив[" СК" ] > предыдущий. увПассив[" СК" ])
{
заключенияВА.Add («- доля собственного капитала «+
" увеличилась на «+
(увПассив[" СК" ] - предыдущий. увПассив[" СК" ]).ToString () + «%»);
}
else if (увПассив[" СК" ] == предыдущий. увПассив[" СК" ])
{
заключенияВА.Add («? доля собственного капитала не изменилась»);
}
}
заключенияВА.Add («В целом же капитал организации в отчетном году сформировался на «+
увПассив[" СК" ]. ToString () + «% за счет собственных источников и на «+
увПассив[" КЗС" ]. ToString () + «% — за счет заемных.»);
// 2
заключенияВА.Add («Основную часть в структуре имущества занимают «+
((увАктив[" ОА" ] > увАктив[" ВА" ])? «оборотные»: «внеоборотные») + «активы»);
// 3
float ОС = (б[120] / аб[" СВА" ] * 100);
заключенияВА.Add («Доля основных средств в имуществе составила «+
ОС.ToString () + «%» + ((ОС > 50) ?
", что свидетельствует о значительных накладных расходах и высокой чувствительности прибыли к изменению выручки"
: «»));
}
public List заключенияГА;
public void горизонтальныйАнализ ()
{
float СВА = аб[" СВА" ];
float СВК = аб[" СВК" ];
заключенияГА = new List ();
// Актив
if (предыдущий == null)
{
return;
}
оАктив.Add («ДС», аб[" ДС" ] - предыдущий. аб[" ДС" ]);
оАктив.Add («ДЗ», аб[" ДЗ" ] - предыдущий. аб[" ДЗ" ]);
оАктив.Add («ЗЗ», аб[" ЗЗ" ] - предыдущий. аб[" ЗЗ" ]);
оАктив.Add («ОА», аб[" ОА" ] - предыдущий. аб[" ОА" ]);
оАктив.Add («ВА», аб[" ВА" ] - предыдущий. аб[" ВА" ]);
оАктив.Add («СВА», аб[" СВА" ] - предыдущий. аб[" СВА" ]);
трАктив.Add («ДС», аб[" ДС" ] / предыдущий. аб[" ДС" ] * 100);
трАктив.Add («ДЗ», аб[" ДЗ" ] / предыдущий. аб[" ДЗ" ] * 100);
трАктив.Add («ЗЗ», аб[" ЗЗ" ] / предыдущий. аб[" ЗЗ" ] * 100);