Помощь в написании студенческих работ
Антистрессовый сервис

Программный продукт для анализа инвестиционной деятельности банка

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

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

Программный продукт для анализа инвестиционной деятельности банка (реферат, курсовая, диплом, контрольная)

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

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

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

Предметом исследования являются инвестиционная деятельность коммерческих банков.

Работа имеет следующую структуру:

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

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

1. АНАЛИЗ ИНВЕСТИЦИОННОЙ ДЕЯТЕЛЬНОСТИ

1.1 Определения и формы инвестиционной деятельности коммерческих банков

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

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

инструменты денежного рынка со сроком обращения до года, которые характеризуются низким риском и высокой ликвидностью;

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

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

Инвестиционная деятельность коммерческих банков осуществляется за счет: собственных ресурсов, заемных и привлеченных средств.

Основные направления участия банков в инвестиционном процессе в наиболее общем виде следующие:

мобилизация банками средств на инвестиционные цели;

предоставление кредитов инвестиционного характера;

вложение средств в ценные бумаги, паи, долевые участия (как за счет банка, так и по поручению клиента).

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

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

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

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

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

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

— объем инвестиционных ресурсов коммерческих банков;

— индекс реальной стоимости инвестиционных ресурсов;

— объем банковских инвестиции;

— доля инвестиционных вложений в суммарных активах банков;

— структурные показатели банковских инвестиций по объектам их приложения;

— показатели эффективности инвестиционной деятельности банков, в частности, прирост активов в расчете на объем инвестиций, прирост прибыли в расчете на объем инвестиций;

— показатели альтернативной доходности инвестирования в производственный сектор по сравнению с вложением капитала в доходные финансовые активы;

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

В соответствии с объектом вложения средств можно выделить вложения в реальные экономические активы (реальные инвестиции) и вложения в финансовые активы (финансовые инвестиции). Банковские инвестиции могут быть также дифференцированы и по более частным объектам инвестирования: вложения в инвестиционные кредиты, срочные депозиты, паи и долевые участия, в ценные бумаги, недвижимость, драгоценные металлы и камни, предметы коллекционирования, имущественные и интеллектуальные права и др.

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

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

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

По срокам вложений инвестиции могут быть краткосрочными (до одного года), среднесрочными (до трех лет) и долгосрочными (свыше трех лет). Инвестиции коммерческих банков также классифицируются по видам рисков, регионам, отраслям и другим признакам.

1.2 Цели и процесс инвестиционной деятельности коммерческих банков

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

Банки, покупая те или иные виды ценных бумаг стремятся достичь определенных целей, к основным из которых относятся:

— безопасность вложений;

— доходность вложений;

— рост вложений;

— ликвидность вложений.

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

Основными принципами эффективной инвестиционной деятельности банков являются:

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

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

— в-третьих, вложения должны быть высоколиквидными, чтобы их можно было быстро переложить в инструменты, которые в связи с изменением конъюнктуры рынка становятся более доходными, а также чтобы банк мог быстро получить обратно вложенные им средства.

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

2. ОПИСАНИЕ ПРОЕКТНЫХ РЕШЕНИЙ

2.1 Обоснование разработки

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

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

2.2 Концептуальное описание задачи

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

Также необходимо решить задачи ввода и хранения данных об инвестиционных проектах.

2.3 Разработка проектных решений по созданию информационной базы

В ходе проектирования была разработана локальная реляционная база данных «Банковские инвестиции». Разработанная база данных предназначена для ввода, накопления и долговременного хранения информации об инвестиционных проектах и статистических данных о полученной прибыли.

2.3.1 Концептуальное проектирование

При концептуальном проектировании были выбраны основные сущности:

1) «Инвестиционный проект»;

2) «Прогнозируемые денежные потоки».

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

1) сущность «Инвестиционная проект»:

— id

— Название

— Размер инвестиций

2) сущность «Прогнозируемые денежные потоки»:

— id

— id_проекта

— Номер периода

— Прогнозируемые затраты

— Прогнозируемые доходы

2.3.2 Инфологическое проектирование

Между сущностями «Инвестиционный проект» и «Прогнозируемые денежные потоки» установлена связь 1: М, так как мероприятию соответствует множество периодов, по которым прогнозируются потоки.

Схема модели «сущность-связь» приведена на рисунке 2.1.

Рисунок 2.1 — Схема модели «сущность-связь»

2.4 Разработка проектных решений по программному обеспечению

2.4.1 Разработка алгоритма работы программы

Программа позволяет определить показатели эффективности инвестиционных проектов четырьмя различными методами:

1) методом простой (бухгалтерской) нормы прибыли;

2) методом расчета периода окупаемости проекта;

3) методом чистой настоящей (текущей) стоимости (NPV);

4) методом внутренней нормы рентабельности (IRR).

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

Рисунок 2.2 — Форма метода простой нормы прибыли

Во втором случае рассчитывается срок окупаемости проектов. Выбирается проект с наименьшим сроком окупаемости. Форма для выбора проектов методом расчета периода окупаемости проекта представлена на рисунке 2.3.

Рисунок 2.3 — Форма метода окупаемости проекта В третьем случае рассчитываются чистая текущая стоимость и индекс прибыльности. Чистая текущая стоимость определяется как сумма текущих эффектов за расчетный период, приведенная к начальному шагу расчета, или как превышение интегральных результатов над интегральными затратами. Индекс прибыльности представляет собой отношение суммы приведенных эффектов к величине капитальных вложений. Проект принимается, если чистая текущая стоимость проекта выше нуля. Форма для выбора проектов методом чистой текущей стоимости представлена на рисунке 2.4.

Рисунок 2.4 — Форма метода чистой текущей стоимости В четвертом случае рассчитываются внутренняя норма рентабельности.

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

Форма для выбора проектов методом чистой текущей стоимости представлена на рисунке 2.5.

Рисунок 2.5 — Форма метода внутренней нормы рентабельности программный обеспечение банк инвестиционный

2.4.2 Описание контрольного примера

Рассмотрим пример выбора инвестиционной программы методом чистой текущей стоимости.

Программа 1

Размер инвестиции — 115 000 $. Доходы от инвестиций в первом году: 32 000 $; во втором году: 41 000 $; в третьем году: 43 750 $; в четвертом году: 38 250 $. Размер ставки дисконтирования — 9,2%

n = 4.

Пересчитаем денежные потоки в вид текущих стоимостей: PV1 = 32 000 / (1 + 0,092) = 29 304,03 $ PV2 = 41 000 / (1 + 0,092)2 = 34 382,59 $ PV3 = 43 750 / (1 + 0,092)3 = 33 597,75 $ PV4 = 38 250 / (1 + 0,092)4 = 26 899,29 $

NPV = (29 304,03 + 34 382,59 + 33 597,75 + 26 899,29) — 115 000 = 9183,66 $

Ответ: чистая текущая стоимость равна 9183,66 $.

Программа 2

Размер инвестиции — 315 000 $. Доходы от инвестиций в первом году: 165 000 $; во втором году: 70 000 $; в третьем году: 85 000 $; в четвертом году: 55 000 $. Размер ставки дисконтирования — 9,2%

n = 4.

Пересчитаем денежные потоки в вид текущих стоимостей: PV1 = 165 000 / (1 + 0,092) = 151 098,9 $ PV2 = 70 000 / (1 + 0,092)2 = 58 701,98 $ PV3 = 85 000 / (1 + 0,092)3 = 65 275,62 $ PV4 = 55 000 / (1 + 0,092)4 = 38 678,72 $

NPV = (151 098,9+ 58 701,98+ 65 275,62+ 38 678,72) — 315 000 = - 1244,77 $

Ответ: чистая текущая стоимость равна (- 1244,77)$.

В результате первая программа будет принята, а вторая отклонена.

Результаты выполнения программы совпадают с результатами контрольных примеров и приведены на рисунках 2.6 — 2.9.

Рисунок 2.6 — Ввод прогнозируемых доходов по первой программе Рисунок 2.7 — Ввод прогнозируемых доходов по второй программе Рисунок 2.8 — Список инвестиционных программ и расчет чистой текущей стоимости Рисунок 2.9 — Отфильтрованный методом чистой текущей стоимости список инвестиционных программ При оценке инвестиционных программ другими методами, была также выбрана первая программа. Результаты анализа представлены на рисунках 2.10 — 2.15.

Рисунок 2.10 — Список инвестиционных программ и расчет нормы прибыли Рисунок 2.11 — Отфильтрованный методом простой нормы прибыли список инвестиционных программ Рисунок 2.12 — Список инвестиционных программ и расчет периода окупаемости Рисунок 2.13 — Отфильтрованный методом расчета периода окупаемости список инвестиционных программ Рисунок 2.14 — Список инвестиционных программ и расчет внутренней нормы рентабельности Рисунок 2.15 — Отфильтрованный методом расчета внутренней нормы рентабельности список инвестиционных программ

ЗАКЛЮЧЕНИЕ

В итоге курсового проектирования был получен программный продукт для анализа инвестиционной деятельности банка. Также была разработана локальная реляционная база данных «Инвестиционные проекты».

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

Так как связь программы с базой данных осуществляется по технологии 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 с.

ПРИЛОЖЕНИЕ А

Блок-схема алгоритма

ПРИЛОЖЕНИЕ Б

Листинг кода приложения на языке С

Файл: Form1. cs

using System;

using System.Collections.Generic;

using System. ComponentModel;

using System. Data;

using System. Drawing;

using System. Text;

using System.Windows.Forms;

namespace InvestAnaliz

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent ();

}

private void tableLayoutPanel1_Paint (object sender, PaintEventArgs e)

{

}

private void Form1_Load (object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу «investiciiDataSet.Прогнозируемые_денежные_потоки». При необходимости она может быть перемещена или удалена.

this.прогнозируемые_денежные_потокиTableAdapter.Fill (this.investiciiDataSet.Прогнозируемые_денежные_потоки);

// TODO: данная строка кода позволяет загрузить данные в таблицу «investiciiDataSet.Инвестиционные_проекты». При необходимости она может быть перемещена или удалена.

this.инвестиционные_проектыTableAdapter.Fill (this.investiciiDataSet.Инвестиционные_проекты);

tabControl1_SelectedIndexChanged (sender, e);

}

private void tabControl1_SelectedIndexChanged (object sender, EventArgs e)

{

switch (tabControl1.SelectedIndex)

{

case 0:

for (int i = 0; i < dataGridView1.Rows.Count — 1; i++)

{

double razmer = 0, norma = 0;

int id;

id = Convert. ToInt32(dataGridView1.Rows[i]. Cells[0].Value);

try {razmer = Convert. ToDouble (dataGridView1.Rows[i]. Cells[2].Value); }

catch { }

DataRow[] rows =

this.investiciiDataSet.Прогнозируемые_денежные_потоки.Select («id_программы=» + id. ToString ());

foreach (DataRow r in rows)

{

double zatraty = 0, dohody = 0;

try { zatraty = Convert. ToDouble (r[" Прогнозируемые затраты" ]); }

catch { }

try { dohody = Convert. ToDouble (r[" Прогнозируемые доходы" ]); }

catch { }

norma += dohody — zatraty;

}

try { norma /= rows. Length; }

catch { }

try { norma /= razmer; }

catch { }

dataGridView1.Rows[i]. Cells[3].Value = norma;

}

break;

case 1:

for (int i = 0; i < dataGridView2.Rows.Count — 1; i++)

{

double razmer = 0, summa = 0, period = 0;;

int id;

id = Convert. ToInt32(dataGridView2.Rows[i]. Cells[0].Value);

try {razmer = Convert. ToDouble (dataGridView2.Rows[i]. Cells[2].Value);}

catch { }

DataRow[] rows =

this.investiciiDataSet.Прогнозируемые_денежные_потоки.Select («id_программы=» + id. ToString ());

foreach (DataRow r in rows)

{

double zatraty = 0, dohody = 0;

try { zatraty = Convert. ToDouble (r[" Прогнозируемые затраты" ]); }

catch { }

try { dohody = Convert. ToDouble (r[" Прогнозируемые доходы" ]); }

catch { }

summa += dohody — zatraty;

if (summa >= razmer)

break;

period++;

}

if (summa >= razmer)

dataGridView2.Rows[i]. Cells[3].Value = period;

else dataGridView2. Rows[i]. Cells[3].

Value = System.Double.PositiveInfinity;

}

break;

case 2:

for (int i = 0; i < dataGridView3.Rows.Count — 1; i++)

{

double razmer = 0, stavka = 0, NPV = 0, PI = 0;

int id;

id = Convert. ToInt32(dataGridView3.Rows[i]. Cells[0].Value);

try {razmer = Convert. ToDouble (dataGridView3.Rows[i]. Cells[2].Value);}

catch { }

try { stavka = Convert. ToDouble (textBox1.Text); }

catch { }

DataRow[] rows =

this.investiciiDataSet.Прогнозируемые_денежные_потоки.Select («id_программы=» + id. ToString ());

int t = 1;

foreach (DataRow r in rows)

{

double zatraty = 0, dohody = 0;

try {zatraty = Convert. ToDouble (r[" Прогнозируемые затраты" ]);}

catch { }

try {dohody = Convert. ToDouble (r[" Прогнозируемые доходы" ]);}

catch { }

NPV += (dohody — zatraty) / Math. Pow ((1 + stavka / 100), t++);

}

PI = NPV / razmer;

NPV -= razmer;

dataGridView3.Rows[i]. Cells[3].Value = NPV;

dataGridView3.Rows[i]. Cells[4].Value = PI;

}

break;

case 3:

for (int i = 0; i < dataGridView4.Rows.Count — 1; i++)

{

double razmer = 0, IRR = 0;

int id;

id = Convert. ToInt32(dataGridView4.Rows[i]. Cells[0].Value);

try {razmer = Convert. ToDouble (dataGridView4.Rows[i]. Cells[2].Value);}

catch { }

DataRow[] rows =

this.investiciiDataSet.Прогнозируемые_денежные_потоки.Select («id_программы=» + id. ToString ());

// Подбор IRR

double minD = System.Double.PositiveInfinity, minIRR = 1;

for (IRR = 0; IRR < 1; IRR += 0.005)

{

double S = 0;

for (int t = 1; t <= rows. Length; t++)

{

double zatraty = 0, dohody = 0;

try {zatraty = Convert. ToDouble (rows[t — 1][" Прогнозируемые затраты" ]);}

catch { }

try {dohody = Convert. ToDouble (rows[t — 1][" Прогнозируемые доходы" ]);}

catch { }

S += (dohody — zatraty) / Math. Pow ((1 + IRR), (t));

}

double d = Math. Abs (S — razmer);

if (d < minD)

{

minIRR = IRR;

minD = d;

}

}

dataGridView4.Rows[i]. Cells[3].Value = minIRR*100;

}

break;

}

}

private void toolStripButton3_Click (object sender, EventArgs e)

{

if (инвестиционныеПроектыBindingSource.Filter ≠ null)

{

инвестиционныеПроектыBindingSource.Filter = null;

tabControl1_SelectedIndexChanged (sender, e);

return;

}

double max = 0;

try {max = Convert. ToDouble (dataGridView1.Rows[0]. Cells[3].Value);}

catch {return;}

int maxi = 0;

for (int i = 0; i < dataGridView1.Rows.Count — 1; i++)

{

if (Convert.ToDouble (dataGridView1.Rows[i]. Cells[3].Value) > max)

{

max = Convert. ToDouble (dataGridView1.Rows[i]. Cells[3].Value);

maxi = i;

}

}

Инвестиционные Проекты BindingSource. Filter = «id=» + dataGridView1. Rows[maxi]. Cells[0].Value.ToString ();

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton1_Click (object sender, EventArgs e)

{

this. инвестиционные_проекты TableAdapter. Update (this.investiciiDataSet.Инвестиционные_проекты);

tabControl1_SelectedIndexChanged (sender, e);

MessageBox.Show («Сохранение прошло успешно»);

}

private void toolStripButton2_Click (object sender, EventArgs e)

{

Редактирование win = new Редактирование (Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedCells[0]. RowIndex]. Cells[0].Value));

win.ShowDialog ();

this. инвестиционные_проекты TableAdapter. Fill (this.investiciiDataSet.Инвестиционные_проекты);

this.прогнозируемые_денежные_потокиTableAdapter.Fill (this.investiciiDataSet.Прогнозируемые_денежные_потоки);

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton12_Click (object sender, EventArgs e)

{

if (инвестиционныеПроектыBindingSource1.Filter ≠ null)

{

инвестиционныеПроектыBindingSource1.Filter = null;

tabControl1_SelectedIndexChanged (sender, e);

return;

}

double min = 0;

try {min = Convert. ToDouble (dataGridView2.Rows[0]. Cells[3].Value);}

catch {return;}

int mini = 0;

for (int i = 0; i < dataGridView2.Rows.Count — 1; i++)

{

if (Convert.ToDouble (dataGridView2.Rows[i]. Cells[3].Value) < min)

{

min = Convert. ToDouble (dataGridView2.Rows[i]. Cells[3].Value);

mini = i;

}

}

инвестиционныеПроектыBindingSource1.Filter = «id=» + dataGridView2. Rows[mini]. Cells[0]. Value. ToString ();

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton11_Click (object sender, EventArgs e)

{

Редактирование win = new Редактирование (Convert.ToInt32(dataGridView2.Rows[dataGridView2.SelectedCells[0]. RowIndex].Cells[0].Value));

win.ShowDialog ();

this.инвестиционные_проектыTableAdapter.Fill (this.investiciiDataSet.Инвестиционные_проекты);

this.прогнозируемые_денежные_потокиTableAdapter.Fill (this.investiciiDataSet.Прогнозируемые_денежные_потоки);

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton20_Click (object sender, EventArgs e)

{

Редактирование win = new Редактирование (Convert.ToInt32 (dataGridView3.Rows[dataGridView3.SelectedCells[0]. RowIndex].Cells[0].Value));

win.ShowDialog ();

this.инвестиционные_проектыTableAdapter.Fill (this.investiciiDataSet.Инвестиционные_проекты);

this.прогнозируемые_денежные_потокиTableAdapter.Fill (this.investiciiDataSet.Прогнозируемые_денежные_потоки);

tabControl1_SelectedIndexChanged (sender, e);

}

private void textBox1_KeyUp (object sender, KeyEventArgs e)

{

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton30_Click (object sender, EventArgs e)

{

if (инвестиционныеПроектыBindingSource3.Filter ≠ null)

{

инвестиционныеПроектыBindingSource3.Filter = null;

tabControl1_SelectedIndexChanged (sender, e);

return;

}

string mFilter = «» ;

for (int i = 0; i < dataGridView4.Rows.Count — 1; i++)

{

if (Convert.ToDouble (dataGridView4.Rows[i]. Cells[3].Value) > Convert. ToDouble (textBox2.Text))

{

if (mFilter == «»)

{

mFilter = «id = «+

dataGridView4.Rows[i]. Cells[0].Value.ToString ();

}

else

{

mFilter += «OR id = «+

dataGridView4.Rows[i]. Cells[0].Value.ToString ();

}

}

}

инвестиционныеПроектыBindingSource3.Filter = mFilter;

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton29_Click (object sender, EventArgs e)

{

Редактирование win = new Редактирование (Convert.ToInt32(dataGridView4.Rows[dataGridView4.SelectedCells[0]. RowIndex].Cells[0].Value));

win.ShowDialog ();

this.инвестиционные_проектыTableAdapter.Fill (this.investiciiDataSet.Инвестиционные_проекты);

this.прогнозируемые_денежные_потокиTableAdapter.Fill (this.investiciiDataSet.Прогнозируемые_денежные_потоки);

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton21_Click (object sender, EventArgs e)

{

if (инвестиционныеПроектыBindingSource2.Filter ≠ null)

{

инвестиционныеПроектыBindingSource2.Filter = null;

tabControl1_SelectedIndexChanged (sender, e);

return;

}

string mFilter = «» ;

for (int i = 0; i < dataGridView3.Rows.Count — 1; i++)

{

if (Convert.ToDouble (dataGridView3.Rows[i]. Cells[3].Value) > 0)

{

if (mFilter == «»)

{

mFilter = «id = «+

dataGridView3.Rows[i]. Cells[0].Value.ToString ();

}

else

{

mFilter += «OR id = «+

dataGridView3.Rows[i]. Cells[0].Value.ToString ();

}

}

}

инвестиционныеПроектыBindingSource2.Filter = mFilter;

tabControl1_SelectedIndexChanged (sender, e);

}

private void toolStripButton32_Click (object sender, EventArgs e)

{

if (инвестиционныеПроектыBindingSource2.Filter ≠ null)

{

инвестиционныеПроектыBindingSource2.Filter = null;

tabControl1_SelectedIndexChanged (sender, e);

return;

}

string mFilter = «» ;

for (int i = 0; i < dataGridView3.Rows.Count — 1; i++)

{

if (Convert.ToDouble (dataGridView3.Rows[i]. Cells[4].Value) >= 1)

{

if (mFilter == «»)

{

mFilter = «id = «+

dataGridView3.Rows[i]. Cells[0].Value.ToString ();

}

else

{

mFilter += «OR id = «+

dataGridView3.Rows[i]. Cells[0].Value.ToString ();

}

}

}

инвестиционныеПроектыBindingSource2.Filter = mFilter;

tabControl1_SelectedIndexChanged (sender, e);

}

}

}

Показать весь текст
Заполнить форму текущей работой