Автоматизация расчета по ценным бумагам

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Содержание

ВВЕДЕНИЕ

1. РАСЧЕТ ПО ЦЕННЫМ БУМАГАМ

1.1 Понятие ценных бумаг

1.2 Виды облигаций

1.3 Основные параметры облигаций

1.4 Зависимость процентных ставок, цены и доходности облигаций

1.5 Риски инвестирования в облигации

2. АВТОМАТИЗАЦИЯ РАСЧЕТА ПО ЦЕННЫМ БУМАГАМ

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

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

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

2.4 Разработка способов защиты информации

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

2.5.1 Общие сведения

2.5.2 Функциональное назначение

2.5.3 Входные данные

2.5.4 Выходные данные

2.5.5 Логическое описание

2.5.6 Руководство пользователя

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

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЕ А. Инфологическая модель БД

ПРИЛОЖЕНИЕ Б. Листинг программы

программный обеспечение выплата купонный доход

ВВЕДЕНИЕ

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

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

— выводить результаты в удобном пользователю виде;

— производить учет совершенных сделок между инвесторами и эмитентами;

— выполнять анализ прибыльности для инвестора, или анализ убытков для эмитента в зависимости от числа выплат процентов в год (один раз в конце года, по полугодиям, поквартально);

Приложение разработано с использованием среды Borland Delphi 7.

1. РАСЧЕТ ПО ЦЕННЫМ БУМАГАМ

1.1 Понятие ценных бумаг

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

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

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

1.2 Виды облигаций

По способу выплаты дохода облигации бывают процентные и дисконтные.

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

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

По типу эмитента облигации бывают государственные, муниципальные, корпоративные.

Корпоративные облигации выпускают акционерные общества и общества с ограниченной ответственностью.

Государственные облигации выпускает Министерство финансов РФ и министерства финансов субъектов РФ (субфедеральные облигации).

Муниципальные облигации выпускают города, области и т. д.

Также отдельно можно выделить еврооблигации. Эмитенты выпускают еврооблигации для получения денег на зарубежных рынках. Эти облигации номинированы в иностранной валюте по отношению к заемщику. Многие российские компании, а также Министерство финансов РФ выпустили еврооблигации на зарубежных рынках, номинированные в долларах США.

1.3 Основные параметры облигаций

Каждая облигация имеет номинальную стоимость (номинал), которая определяется при размещении. Облигации погашаются по этой номинальной стоимости. Размер купона определяется в процентах от номинала. Большинство облигаций, обращающихся на российских биржах, имеют номинал 1000 рублей.

Кроме номинальной стоимости, у каждой облигации есть ее рыночная цена. В отличие от номинала, рыночная цена постоянно меняется в зависимости от текущей конъюнктуры на рынке процентных ставок, спроса и предложения облигаций на бирже. Рыночная цена определяется на бирже в процессе торгов. Рыночная цена котируется не в рублях, а в процентах от номинала облигации. И может быть, как выше (например, 101,2), так и ниже номинала (98,7). Эту цену называют еще чистой ценой облигации.

Купон — это процентный платеж по облигации. Размер и даты выплаты купонов, как правило, известны инвестору заранее. Размер купона определяется в процентах от номинала. Размер купонов, транслируемый участникам торгов на ММВБ, выражается в рублях.

Чаще всего купон выплачивается ежеквартально (90, 91 или 92 дня) или два раза в год (181, 182 или 183 дня). Календарь купонных выплат определяет, в какие конкретно дни будут выплачены все оставшиеся купоны.

Когда облигация продается до наступления даты купонного платежа, купон уходит от продавца. В этом случае покупатель должен предоставить продавцу компенсацию соразмерно тому времени, которое прошло с последнего купонного платежа. Накопленный купонный доход (НКД) начисляется каждый день с момента последней выплаты купона. Чем ближе дата следующего купонного платежа, тем больше НКД. Размер НКД варьируется от нуля (купон только что был выплачен) до размера купона (купон должен быть выплачен сегодня). Купон рассчитывается пропорционально количеству дней, прошедших от даты выплаты предшествующего купонного дохода.

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

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

«Грязная» цена облигаций — это текущая рыночная цена облигации плюс накопленный купонный доход. При покупке облигации покупатель выплачивает именно «грязную» цену — в дополнение к рыночной цене он компенсирует предыдущему владельцу НКД.

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

Для каждой облигации существует фиксированная и заранее определенная дата погашения.

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

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

Дата оферты определяется эмитентом заранее. У одного выпуска может быть более одной даты оферты.

Объем выпуска — общая номинальная стоимость всего выпуска облигации. Все выпуски по объему делятся на крупные (до 30 млрд. рублей), средние и мелкие выпуски (100−500 млн руб.). Чем больше объем выпуска, тем больше владельцев облигаций, тем выше активность торгов облигациями на бирже.

Доходность к погашению (YTM) — это ставка дохода облигации в годовом исчислении. Это основной показатель для сравнения относительной привлекательности облигаций.

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

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

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

Дюрация позволяет сравнить процентный или рыночный риск по двум облигациям. Дюрация — это средневзвешенная продолжительность существования облигации (с учетом того, что разные купонные платежи поступают в разное время), выражается в днях. Чем выше дюрация облигации, тем выше ее рыночный риск. Смысл этого показателя заключается в следующем: чем быстрее вам заплатят по облигации, тем ниже для вас риск, поскольку в будущем все может измениться — и процентные ставки на рынке, и кредитоспособность эмитента. Дюрация облигации всегда меньше ее срока погашения. Данный показатель также рассчитывается биржей по всем выпускам.

Доходность к погашению наиболее надежных облигаций составляет сегодня 5−10% годовых. Доходность к погашению наиболее рискованных облигаций доходит до 20% годовых и более. Доходность облигаций, эмитенты которых находятся на грани невыполнения своих обязательств, может составлять 30% и выше. Такие облигации называют «мусорными». Они дают более высокую доходность, но есть риск того, что инвестор не получит назад вложенные деньги вовремя или вообще их не получит, если эмитент будет испытывать финансовые трудности.

1.4 Зависимость процентных ставок, цены и доходности облигаций

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

Когда процентные ставки растут, цены облигаций падают.

Когда процентные ставки падают, цены облигаций растут.

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

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

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

1.5 Риски инвестирования в облигации

Существует два основных вида риска, которым подвержены инвестиции в облигации. Это кредитный и рыночный риски.

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

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

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

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

2. АВТОМАТИЗАЦИЯ РАСЧЕТА ПО ЦЕННЫМ БУМАГАМ

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

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

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

Д=Дпр + Но — Рк = Дпр + Но (1 — Ко/100),

(2. 1)

Рк = Коо/100,

(2. 2)

где Дпр — доход от процентов,

Но — номинальная стоимость облигации,

Рк — цена, по которой куплена облигация,

Ко — курс облигации.

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

Рф = Но ?g/p,

(2. 3)

где g — ставка начисления процентов по облигации,

p — число выплат процентов по облигации в течение года.

Если выплаты по облигации в течение n лет осуществляются p раз в году и получаемые проценты реинвестируются по ставке j с начислением на них процентов m раз в году, то

Дпр=.

(2. 4)

При этом связь между эффективной ставкой i и номинальной j вычисляется по формуле 2.5.

(1+i)n = (1+j/m)mn.

(2. 5)

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

(2. 6)

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

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

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

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

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

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

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

В курсовом проекте была составлена и рассмотрена модель «сущность — связь», которая представлена в приложении А.

Из составленной инфологической модели видно, что между сущностями спроектированной БД можно установить две связи. Эти связи будут классифицироваться по типу «Один-ко-многим».

Таблица 2.1 — Классификация связей

№ связи

Родительская таблица

Дочерняя таблица

Тип связи

1

Эмитенты

Исходные данные

1: М

2

Инвесторы

Исходные данные

1: М

Идея реализации данных связей заключается в следующем. В таблице «Эмитенты» есть ключевое поле (ID_эмитента), которое в данной таблице является первичным ключом. Этой записи может соответствовать много записей в таблице «Исходные данные», в которой есть внешний ключ (ID_эмитента), через который будет осуществляться взаимосвязь между таблицами. Таким образом, один Эмитент может заключить много договоров. То же самое касается и таблицы «Инвесторы», т. к. один инвестор может заключить много договоров.

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

Таблица 2.2 — Структура таблицы «Эмитенты»

Наименование атрибутов

Тип полей

Размер полей

Допустимость

неопределенных значений

ID_эмитента

Счетчик

Длинное целое

NOT NULL

Наименование

Текстовый

40

Индекс

Текстовый

6

Адрес

Текстовый

50

ИНН

Текстовый

10

КПП

Текстовый

9

ОГРН

Текстовый

13

ОКПО

Текстовый

8

БИК

Текстовый

9

Р/с

Текстовый

20

Директор

Текстовый

40

Таблица 2.3 — Структура таблицы «Инвесторы»

Наименование атрибутов

Тип полей

Размер полей

Допустимость

неопределенных значений

ID_инвестора

Длинное целое

4

NOT NULL

Наименование инвестора

Текстовый

30

Индекс

Текстовый

6

Адрес

Текстовый

50

ИНН

Текстовый

10

КПП

Текстовый

9

ОГРН

Текстовый

13

ОКПО

Текстовый

8

БИК

Текстовый

9

Р/с

Текстовый

20

Директор

Текстовый

40

Таблица 2.4 — Структура таблицы «Исходные данные»

Наименование атрибутов

Тип полей

Размер полей

Допустимость

неопределенных значений

1

2

3

4

ID_инвестора

Числовой

Длинное целое

NOT NULL

ID_эмитента

Числовой

Длинное целое

Срок обращения облигаици

Числовой

Длинное целое

Номинальная стоимость облигации

Числовой

Длинное целое

Курс

Числовой

Длинное целое

Процентная ставка

Числовой

Длинное целое

Ставка реинвестирования

Числовой

Длинное целое

Начиление процентов

Числовой

Длинное целое

Число выплат процентов в течение года

Числовой

Длинное целое

2.4 Разработка способов защиты информации

При хранении информации в СУБД одной из основных задач остается обеспечение безопасности данных.

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

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

Рисунок 2.1 — Диалоговое окно с запросом авторизации

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

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

2.5.1 Общие сведения

Программа называется «Расчет периодических выплат купонного дохода». Программное обеспечение, на котором разработано приложение к курсовому проекту — Borland Delphi 7.

Для успешной эксплуатации программного продукта необходим персональный компьютер со следующими характеристиками: процессор Intel Pentium с тактовой частотой 800 МГц и выше, оперативная память — не менее 64 Мбайт, свободное дисковое пространство — не менее 500 Мбайт, устройство для чтения компакт-дисков, монитор типа Super VGA (число цветов — 256). Программное обеспечение: операционная система WINDOWS 2000/XP и выше,. NET Framework 2.0.

2.5.2 Функциональное назначение

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

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

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

2.5. 3 Входные данные

Входными данными программы являются текстовая и числовая информация, которая отображается на формах в виде таблиц с данными, связанными с БД MS Access, которые нужно вводить самому. Автоматизирован процесс вычисления таких параметров, как:

— Рыночная стоимость облигации (в руб);

— Доход от процентов (в руб);

— Доход от покупки облигации (в руб);

— Доходность покупки облигации (в %).

При добавлении новой записи, после нажатия кнопки «Сохранить» значения автоматически сохраняются в БД.

2.5.4 Выходные данные

Выходные данные представлены так же в виде таблицы, расположенные на форме (рисунок 2. 3, рисунок 2. 4).

Рисунок 2.2 — Вид формы «Список инвесторов»

Рисунок 2.3 — Вид формы «Расчет периодических выплат купонного дохода»

2.5.5 Логическое описание

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

Рис. 2.4 — Диалоговое окно с запросом авторизации

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

Листинг основных модулей представлен в приложении Б.

2.5. 6 Руководство пользователя

Для установки программного продукта «Расчет периодических выплат купонного дохода» нужно скопировать проект «Купонный доход» на жесткий диск, после чего в меню «Пуск» — «Панель управления» — «Администрирование» с помощью Администратора источников данных (ODBC) добавить драйвер MS Access и прописать путь к БД. После указания пути можно запустить программу. Запуск программы осуществляется двойным щелчком мыши по файлу Project1. exe из каталога проекта.

Диалог программы с пользователем начинается с диалогового окна приложения «Запрос пароля» (рисунок 2. 5). Далее при вводе правильного пароля осуществляется переход на главную форму (рисунок 2. 6)

Рисунок 2.5 — Главная форма приложения

На открывшейся форме есть кнопки навигации, добавления, удаления сохранения для выполнения одноименных действий (рисунок 2. 7).

Рисунок 2.6 — Навигационная панель

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

При добавлении новой записи в таблицу «Исходные данные» необходимо ввести условия договора вручную (срок обращения облигации, номинальная стоимость, число выплат процентов в год и т. д.). Вывод доходности покупки облигации автоматизирован, значения всех искомых параметров выводятся в таблице автоматически в качестве мгновенного расчета при передвижении по списку договоров в таблице «Исходные данные». Информация о заключенных сделках, список инвесторов и эмитентов автоматически сохраняется в базе данных при модификации данных. Вся информация приложения хранится в файле Microsoft Access 2003, под названием «Купонный доход. mdb».

Пользователь может самостоятельно произвести анализ доходности покупки облигации. Для этого в таблице «Исходные данные» необходимо изменять параметр «Число выплат процентов в течение года» на значения 1 (один раз в конце года), 2 (по полугодиям) и 4 (ежеквартально). Значения вычисляемых параметров при этом будут меняться автоматически. Таким образом, пользователь сможет увидеть, какая форма выплат процентов выгодна инвестору или эмитенту в отношении прибыльности или убытка соответственно.

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

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

Результат расчета представлен в таблице 2.6.

Таблица 2.5 — Пример заполнения входных данных

ID эмитента

ID инвестора

Срок обращения облигации

Номинальная стоимость облигации

Курс

Процентная ставка

Ставка реинвестирования

Начисление процентов (раз/год)

Число выплат процентов в течение года

4

5

1

5000

95

0,7

0,7

1

4

5

6

3

15 000

99

0,7

0,8

2

1

6

7

5

50 000

96

0,7

0,7

2

1

8

8

10

1000

96

0,6

0,6

2

2

Расчет производится по формулам 2.1 — 2. 6

Таблица 2.6 — Результат расчета

ID инвестора

Рыночная стоимость облигации (руб.)

Доход от процентов (руб.)

Доход от покупки (руб.)

Доходность покупки облигации (%)

5

4750,00

4317,69

4567,69

96

6

14 850,00

71 416,80

71 566,80

80

7

48 000,00

813 045,00

815 045,00

78

7

960,00

189 050,00

189 090,00

70

На рисунке 2.7 показано окно программы с контрольным примером.

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

ЗАКЛЮЧЕНИЕ

После выполнения курсового проекта по дисциплине «Информационные системы в управлении» были получены практические навыки по разработке программ для операционных систем семейства Windows и теоретические знания в области экономики и инвестиций.

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

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

— выводить результаты в удобном пользователю виде;

— производить учет совершенных сделок между инвесторами и эмитентами;

— выполнять анализ прибыльности для инвестора, или анализ убытков для эмитента в зависимости от числа выплат процентов в год (один раз в конце года, по полугодиям, поквартально);

Приложение разработано с использованием среды Borland Delphi 7. В результате проделанной работы все задачи выполнены. Приложение удовлетворяет требованием, поставленным перед разработкой.

СПИСОК ИСПОЛЬЗУЕМОЙ ЛИТЕРАТУРЫ

1. Левитин, А. В. Алгоритмы. Введение в разработку и анализ./ В. Левитин. — М.: Вильямс, 2006 — 576 с.

2. Голицына, О.Л., Основы алгоритмизации и программирования (2-е издание)./ И. И. Попов, О. Л. Голицына — М.: Инфа-М, 2006 — 432 с.

3. Лисин В. Инвестиционные процессы в российской экономике. /Вопросы экономики. — М.: Финансы и статистика, 2008. 551 с.

4. Малыхин В. И. Финансовая математика.- М. :ЮНИТИ-ДАНА, 2003. — 740 с.

5. Батракова Л. Г. Экономический анализ деятельности коммерческого банка: Учкбник для вузов. — М.: Излательская корпорация «Логос», 1999

6. Ханcен Г., Ханcен Д. Базы данных. Разработка и управление/М.: Бином, 1999−704С.

7. Глушаков С. В., Ломотько Д. В. Базы данных. Учебный курс // Харьков: Фолио; Ростов н/Д: Феникс; Киев: Абрис, 2000. — 504 с.

8. Игорева, Е.Л., Основы алгоритмизации и программирования (3-е издание)./ И. И. Попов, О. Л. Игорева — М.: Инфа-М, 2006 — 432 с.

9. Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных. Учебник для ВУЗов /под ред. проф.А. Д. Хомоненко // СПб. :КОРОНАпринт, 2000.- 416 с.

10. Корнеев В. В. и др. Базы данных. Интеллектуальная обработка информации // М. :Нолидж, 2000.- 352 с.

11. www. finekon. ru/dohodnost%20operaciy%20s%20kuponnymi%20obligacijami. php

12. www. dic. academic. ru/dic. nsf/fin_enc/24 558

13. www. veksel. forekc. ru/23/index75. htm

ПРИЛОЖЕНИЕ А

ПРИЛОЖЕНИЕ Б

Листинг программы

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids, DBGrids, DB, ADODB, ExtCtrls, DBCtrls, StdCtrls, Mask;

type

TForm1 = class (TForm)

ADOConnection1: TADOConnection;

DBNavigator1: TDBNavigator;

ADOQuery1: TADOQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

DataSource2: TDataSource;

ADOQuery2: TADOQuery;

GroupBox1: TGroupBox;

Button2: TButton;

Button3: TButton;

Button1: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

ADOQuery3: TADOQuery;

DataSource3: TDataSource;

DataSource4: TDataSource;

ADOQuery4: TADOQuery;

DBEdit3: TDBEdit;

Edit1: TEdit;

Edit2: TEdit;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit;

DBEdit9: TDBEdit;

DBEdit10: TDBEdit;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit17: TDBEdit;

DBEdit18: TDBEdit;

DBEdit19: TDBEdit;

DBEdit20: TDBEdit;

Edit3: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit7: TEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

procedure Button1Click (Sender: TObject);

procedure Button2Click (Sender: TObject);

procedure Button3Click (Sender: TObject);

procedure Button4Click (Sender: TObject);

procedure DBEdit1Change (Sender: TObject);

procedure DBEdit4Change (Sender: TObject);

procedure DBEdit5Change (Sender: TObject);

procedure FormShow (Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4, Unit6;

{$R *. dfm}

procedure TForm1. Button1Click (Sender: TObject);

begin

form2. Show

end;

procedure TForm1. Button2Click (Sender: TObject);

begin

form3. show;

end;

procedure TForm1. Button3Click (Sender: TObject);

begin

form1. Close

end;

procedure TForm1. Button4Click (Sender: TObject);

begin

form4. show;

end;

procedure TForm1. DBEdit1Change (Sender: TObject);

begin

edit1. text:=dbedit1. Field. AsString;

ADOQuery3. Close;

ADOQuery3. SQL. Text:='Select * from Eiaanoi? u where ID_eiaanoi?a ='+edit1. text;

ADOQuery3. Open;

end;

procedure TForm1. DBEdit4Change (Sender: TObject);

begin

edit2. text:=dbedit4. Field. AsString;

ADOQuery4. Close;

ADOQuery4. SQL. Text:='Select * from Yieoaiou where ID_yieoaioa ='+edit2. text;

ADOQuery4. Open;

end;

procedure TForm1. DBEdit5Change (Sender: TObject);

begin

edit7. Text:=dbedit5. Field. AsString;

edit3. Text:=(dbedit6. Field. AsVariant*dbedit7. Field. AsVariant)/100;

edit4. Text:=floattostrf ((dbedit6. Field. AsVariant*dbedit9. Field. AsVariant/dbedit11. Field. AsVariant)*((Exp ((dbedit12. Field. AsVariant*dbedit13. Field. AsVariant)*ln ((1+dbedit10. Field. AsVariant/dbedit12. Field. AsVariant)))-1)/(Exp ((dbedit12. Field. AsVariant/dbedit11. Field. AsVariant)*ln ((1+dbedit10. Field. AsVariant/dbedit12. Field. AsVariant)))-1)), fffixed, 6,2);

edit5. Text:=floattostrf (edit4. text+dbedit15. Field. AsVariant*(1-dbedit16. Field. AsVariant/100), fffixed, 6,2);

edit6. Text:=floattostrf (((Exp ((1/dbedit20. Field. AsVariant)*ln (((edit4. text+dbedit18. Field. AsVariant)/(dbedit19. Field. AsVariant*dbedit18. Field. AsVariant/100)))))-1)*100,fffixed, 0,0);

end;

procedure TForm1. FormShow (Sender: TObject);

begin

PasswordDlg. ShowModal;

end;

end.

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