Реферати

Реферат: Аналіз ефективності вкладень грошових коштів в РКО

Особисті відносини студента до здоров'я як умови формування здорового способу життя. Налагодження раціонального способу життя студентів. Здоровий спосіб життя - плідна праця, раціональний режим праці і відпочинку, викорінювання шкідливих звичок, особиста гігієна, загартовування, раціональне харчування. Перша допомога при відмороженні і травмах.

Автоматизація автосервісу. Функціональна модель бізнесів-процесів в автосервісі. Проектоване програмне забезпечення. Специфікації процесів: "Видача інформації про послуги", "Видача інформації про виконання замовлення", "Реєстрація клієнтів" і "Розрахунок вартості і термінів виконання".

Правові нормативно-технічні й організаційні основи захисту населення і територій у надзвичайних екологічних ситуаціях. Загальні зведення про надзвичайні екологічні ситуації. Державна політика в області захисту населення і територій від ЧС природного і техногенного характеру. Основні закони, нормативно-правові акти по попередженню і ліквідації наслідків ЧС.

Державне регулювання національної економіки. Характеристика держави як економічного суб'єкта. Ознайомлення з об'єктами і методами державного регулювання економіки, його основними напрямками діяльності в сучасних умовах. Зміст монетаристской і кейнсианской концепцій.

Контроль за суб'єктами адміністративного права. Представлення про контрольні повноваження в державному керуванні. Поняття і види нагляду за суб'єктами адміністративного права і суспільний контроль. Принципи застосування отриманих знань для визначення контрольних повноважень у менеджменті.

Зміст.

стор.

Вступ._

Розділ 1. Функціонування ринку РКО._

Учасники ринку._

Процедура торгів._

Первинне розміщення (аукціон)._

Повторні торги._

Погашення._

Документообіг._

Звіти, що надаються біржею._

Звіти, що надаються Ділерами._

Розділ 2. Задачі Ділера на ринку РКО._

Ведіння бек-офісу._

Оптимізація вкладень власних коштів._

Управління коштами інвесторів._

Виконання доручень Інвесторів._

Аналіз ефективності вкладень._

Розділ 3. Задачі формування і ведіння власного портфеля облігацій Ділера.

Формування портфеля облігацій._

Ліквідність портфеля._

Період інвестування._

Інвестування з метою максимізації доходу._

Безризикове інвестування._

Аналіз ефективності вкладень грошових коштів в РКО._

Постановка задачі._

Метод рішення._

Економічна інтерпретація методу._

Економічна інтерпретація отриманих результатів._

Застосування результатів дослідження для побудови методів ефективного управління портфелем облігацій._

Висновок._

Список літератури._

Додатки._

Додаток № 1. Програма автоматизації обліку РКО._

Додаток 1.1. Керівництво користувача._

Додаток 1.2. Текст програми._

Додаток № 1.3. Журнал оборотів._

Додаток № 1.4. Журнал лицьового обліку._

Додаток № 1.5. Меморіальний ордер._

Додаток № 1.6. Звіт інвестору про довершені операції._

Додаток № 1.7. Структура пртфеля в розрізі по паперах._

Додаток № 1.8. Структура портфеля узагальнена._

Додаток № 1.9. Біржова інформація._

Додаток № 1.10. Щотижневий звіт в депозитарій._

Додаток № 1.11. Щомісячний звіт в депозитарій._

Додаток № 2. Програма аналізу ефективності вкладень в РКО._

Додаток 2.1. Текст програми._

Додаток № 2.2. Діаграма порівняння прибутковості портфеля і ринку._

Додаток № 2.3. Діаграма порівняння індексу портфеля і ринку._

Додаток № 3. Вхідні статистичні дані._

Додаток 3.1. Інформація про папери._

Додаток 3.2. Інформація про операції._

Додаток 3.3. Інформація про рухи грошових коштів._

Додаток 3.4. Біржова інформація._

Вступ.

Республіканські короткострокові бескупонние облігації (РКО) випускаються Міністерством Фінансів Республіки Татарстан. Ринок РКО існує з 1995 року. За три роки він став найважливішим сегментом в економіці Татарстана, порівнянний по об'єму заимствований з ринком міжбанківських кредитів і іноземної валюти.

Гарантом надійності вкладень в РКО є Уряд РТ. РКО - ліквідний і найбільш прибутковий інструмент фінансового ринку. Прибутковість по РКО вище, ніж по банківських внесках і депозитних сертифікатах, а також державних цінних паперах. Маючи пільгове оподаткування, РКО є найбільш привабливим вкладенням вільних фінансових ресурсів.

Вкладати кошти в РКО можуть як юридичні, так і фізичні особи. Дохід по цих облігаціях виходить від різниці між ціною купівлі і продажу, т. е. дисконт.

РКО звертаються в бездокументарній формі і враховуються записами по рахунках депо. Продаж і купівля проводиться на фондовій біржі. У зв'язку з цим виникає задача обліку операцій з РКО як з боку біржі, так і з боку організацій-інвесторів.

На даному сегменті фондового ринку можна виробляти як короткострокові спекулятивні операції, так і довгострокові вкладення вільних власних або позикових коштів. Таким чином, актуальною є задача оцінки ефективності вкладень в РКО.

У даній дипломній роботі вирішуються дві задачі:

1. Автоматизація обліку операцій з РКО;

2. Оцінка ефективності вкладень в РКО.

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

Розділ 1. Функціонування ринку РКО.

Республіканські короткострокові облігації звертаються на Волжско-Камской біржі (ВКБ) за допомогою проведення електронних торгів. У функціонуванні ринку РКО можна виділити наступні моменти:

1. Учасники ринку.

2. Процедура торгів.

3. Документообіг.

Учасники ринку.

Учасники ринку розділяються на дві категорії: Ділери і інвестори.

Ділер - будь-яка юридична особа, професійним учасником ринку цінних паперів, що уклало договір на виконання функцій по обслуговуванню операцій з облігаціями з комунальним підприємством "Дирекція по роботі з цінними паперами". Ділер може укладати операції з РКО від свого імені і за свій рахунок, а також може виконувати функції фінансового брокера при висновку операцій від свого імені за рахунок і за дорученням інвестора.

Інвестор - будь-яка юридична або фізична особа, що уклала з Ділером договір брокерського обслуговування на ринку РКО. Інвестор може придбавати облігації тільки через Ділерів, сплачуючи при цьому комісію.

Процедура торгів.

У ході торгів РКО проходять наступні етапи:

- Первинне розміщення;

- Повторні торги;

- Погашення.

Первинне розміщення (аукціон).

Аукціон - це первинне розміщення облігацій, Міністерства фінансів, що проводиться Організатором (Комунальне підприємство "Дирекція по роботі з цінними паперами", агент Міністерства фінансів РТ по обслуговуванню випусків облігацій) за дорученням Республіки Татарстан. Вони проводяться по спеціальному графіку. Дата аукціону, граничний обсяг випуску, місце і час проведення аукціону появляються Організатором. Контрагентами в цій процедурі є Міністерство Фінансів з одного боку, і Ділери - інші. У ході аукціону Ділери подають заявки на купівлю облігацій. Після подачі всіх заявок до встановленого часу, Міністерство Фінансів встановлює ціну відсікання - мінімальна ціна, по якій він готів продати облігації. Всі заявки, подані вище за ціну відсікання, задовольняються, заявки, подані з більш низькою ціною, не задовольняються.

Повторні торги.

Звертання облігацій на повторних торгах здійснюється в формі операцій купівлі-продажу через Торгову систему (організація, уповноважена на основі договору з Міністерством фінансів РТ і двосторонніх договорів з Ділерами забезпечувати процедуру висновку операцій купівлі-продажу шляхом надання технічних засобів). Контрагентами в цій процедурі виступають Ділери. Ділери вводять в Торгову систему за допомогою робочих терміналів заявки на купівлю або продаж облігацій. Якщо ціни заявок співпадають, то вони задовольняються, т. е. операція вважається довершеною.

Погашення.

Погашення облігацій призначується певним днем Міністерством Фінансів по номінальній вартості.

Документообіг.

РКО звертаються в електронній формі. Облік по них ведеться за допомогою записів на рахунках депо, відкритих в Волжско-Камской трастовій компанії (ВКТК). У зв'язку з цим виникають питання відображення обліку операцій в документальній формі. У ході звертання РКО можна виділити наступні типи документів:

- Звіти, що надаються біржею;

- Звіти, що надаються Ділерами.

Звіти, що надаються біржею.

По завершенні торгів біржа надає кожному Ділеру наступні документи:

- Біржова інформація;

- Виписка з протоколу торгів;

- Зобов'язання Ділера по підсумках торгів;

- Виписка з реєстру операцій.

Звіти, що надаються Ділерами.

У процесі участі в торгах Ділери зобов'язані надавати наступні документи біржі:

- Щотижневий звіт;

- Щомісячний звіт;

- Інші документи, необхідні для допуску Ділера до торгів.

Після здійснення операції купівлі-продажу за дорученням Інвестора, Ділер зобов'язаний надати Інвестору звіт про довершену операцію в формі, встановленій в договорі по брокерському обслуговуванню і виписку з рахунку депо. Ділер також може надати біржову інформацію і робити консультаційні послуги.

Розділ 2. Задачі Ділера на ринку РКО.

Будучи активним учасником ринку РКО, Ділер стикається з наступними задачами:

1. Ведіння бек-офісу;

2. Оптимізація вкладень власних коштів;

3. Управління коштами Інвесторів;

4. Виконання доручень Інвесторів;

5. Аналіз ефективності вкладень.

Ведіння бек-офісу.

Бек-офіс - система електронного обліку операцій з цінними паперами. Він включає в себе дуже широкий спектр функціональних питань:

- Ведіння журналу лицьового обліку і журналу оборотів (Додаток № 1.3, 1.4);

- Формування і друк меморіальних ордерів (Додаток №1.5);

- Формування і друк звітів Інвесторам (Додаток №1.6);

- Формування і друк власного портфеля Ділера (Додаток № 1.7, 1.8);

- Формування і друк біржової інформації (Додаток №1.9);

- Формування і друк щотижневого і щомісячного звітів (Додаток №1.10, 1.11).

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

Оптимізація вкладень власних коштів.

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

Для формування портфеля можна вийти з наступних чинників:

- Ліквідність;

- "Час життя";

- Отримання найбільшого доходу;

- Використання РКО в заставних операціях для отримання міжбанківських кредитів.

Управління коштами інвесторів.

Ділер може сам управляти коштами Інвесторів, якщо був укладений договір трастового обслуговування. При цьому він може брати комісію як з окремої операції, так і з доходу, отриманого Інвестором. У цьому випадку актуальною є задача оптимального управління портфелем Інвестора і оцінка ефективності діяльності Ділера.

Виконання доручень Інвесторів.

Ділер, будучи також і брокером на ринку РКО, здійснює операції купівлі-продажу від свого імені, але за дорученням Інвестора і за його рахунок. У цьому випадку Ділер повинен вести облік прийому заявок Інвесторів, виконання доручень на біржі і формування звітів. За ці послуги він отримує комісійну винагороду.

Аналіз ефективності вкладень.

Дана задача є однією з найбільш складних і необхідних. Визначення методу аналізу - нетривіальна задача. У Розділі 3 розглянуті дві методики аналізу ефективності вкладень власних коштів в облігації.

Розділ 3. Задачі формування і ведіння власного

портфеля облігацій Ділера

В процесі управління портфелем облігацій Ділер ставить перед собою наступні задачі:

- формування портфеля облігацій;

- аналіз ефективності вкладень грошових коштів.

Формування портфеля облігацій.

У процесі участі в торгах Ділер інвестує вільні грошові кошти в облігації, створюючи при цьому портфель, що складається з різних серій РКО, відмінний тим, що мають різні терміни до погашення.

Специфікою портфеля, що складається з РКО, можуть бути наступні моменти:

- ліквідність портфеля;

- період інвестування;

- інвестування з метою максимізації доходу;

- безризикове інвестування.

Ліквідність портфеля.

При інвестуванні коштів в РКО необхідно враховувати наступний момент. Грошові засобу Ділерів, що інвестуються в облігації на повторних торгах, часто перевищують об'єми торгів по якій-небудь окремій серії облігації. У зв'язку з цим виникає питання ліквідності портфеля. Як показує практика фондового ринку, облігації з найменшим терміном погашення більш ліквідні, ніж ті, які мають більш тривалий термін до погашення. Але, з іншого боку, облігації з меншим терміном до погашення мають і меншу прибутковість. Таким чином, при продажу легше усього продати облігації з меншим терміном до погашення, а купити ті, які мають більш тривалий термін до погашення.

Період інвестування.

Ділер при інвестуванні стикається і з наступною задачею: період інвестування. Оскільки ліквідність ринку прямо залежить від терміну до погашення облігації, то з цим доводиться диверсифицировать портфеля по термінах погашення облігацій. Причому необхідно вибрати найкращу стратегію, що залежить від цілей інвестування. Якщо метою інвестування є отримання максимального доходу за тривалий період часу, то можна інвестувати кошти в найбільш прибуткові серії облігацій. У випадку якщо метою інвестування є короткострокова спекуляція, то найбільш оптимальною стратегією в цьому випадку є купівля серій облігацій з терміном погашення, близьким до встановленого терміну інвестування; в цьому випадку мінімізується ризик неможливості продажу облігацій на повторному ринку.

Інвестування з метою максимізації доходу.

У випадку якщо метою інвестування є максимізація доходу, причому термін інвестування не фіксований, т. е. невідомий період інвестування, Ділер стикається з двома суперечливими чинниками: прибутковість і ліквідність. У зв'язку з цим виникають задачі оптимального управління портфелем облігацій. Методи, які застосовують Ділери, є їх власними розробками (ноу-хау). Існують безліч публікацій в фінансово-економічній літературі по оптимізації вкладень в бескупонние облігації, але запропоновані методи або містять в собі невірні передумови при побудові методу оптимізації, або містять спрощення, після чого модель стає непридатна на практиці.

Безризикове інвестування.

З метою отримання доходу, але також мінімізації ризику видобування грошових коштів з портфеля, можна формувати портфеля за допомогою диверсифікації по термінах погашення серій облігацій. Облігації, по визначенню, будучи борговими зобов'язаннями, мають термін погашення, т. е. термін, в який інвестор отримує номінал облігації, тому про ризик вкладень доводиться говорити лише з точки зору періоду вкладення.

Аналіз ефективності вкладень грошових коштів в РКО.

Постановка задачі.

Аналіз ефективності вкладення грошових в РКО можна розділити на аналіз внутрішнього управління портфелем облігацій і зовнішнього.

Внутрішнє управління - це оцінка зміни індексу портфеля в порівнянні з індексом ринку.

Зовнішнє управління - це оцінка зміни середньозважений прибутковості до погашення портфеля в порівнянні зі середньозважений прибутковістю до погашення ринку.

Таким чином, виникає задача порівняння управління портфелем облігацій відносно ринку шляхом побудови деякого показника, який адекватно відображав би динаміку зміни портфеля в порівнянні з динамікою зміни ринку.

Метод рішення.

Пропонуються методики для рішення поставлених задач шляхом побудови наступних показників:

1. Індекс портфеля і ринку (для оцінки внутрішнього управління).

Індекс будується таким чином.

Для портфеля:

(1)

(1.1)

(1.2)

де:

значення індексу в момент t

коефіцієнт

вартість портфеля по середньозважений цінах на момент закриття торгів в момент t

сума додаткових вкладень (видобування) грошових коштів в портфель в момент t, причому, якщо

додаткові вкладення

сума вилучених грошей

середньозважений ціна i серії на момент закриття торгів

кількість паперів i серії в портфелі

кількість серій паперів, обіговій на ринку

Для ринку при розрахунку коефіцієнта і змінні будуть мати наступне значення:

об'єм капіталізації ринку по середньозважений цінах на момент t

сума розміщених (погашених) коштів на аукціоні

сума розміщених коштів на аукціоні

сума погашених коштів на аукціоні

кількість паперів i серії, обіговій на ринку

Даний індекс показує, наскільки ефективніше було внутрішнє управління портфелем в порівнянні з ринковою конъюктурой. Причому, якщо індекс портфеля менше індексу ринку, то управління було неефективним.

2. Ефективна норма прибутковості до погашення портфеля і ринку (для оцінки зовнішнього управління).

Показник будується таким чином (2 методи):

У теорії розрахунку застосовується наступний метод:

(2)

де:

(2.1)

сума i витратного платежу

сума i прибуткового платежу

кількість днів між i витратним і прибутковим платежами

ефективна норма прибутковості, яка і визначається з рішення даного рівняння

кількість витратних і прибуткових платежів

Рівняння (2) вирішується чисельними методами, причому рішення єдине.

Через незручність рішення рівняння на практиці звичайно застосовують інший метод знаходження:

(2.2)

де:

прибутковість до погашення i паперу

кількість i паперу

днів до погашення i паперу

розраховується таким чином:

(2.3)

де:

ціна купівлі i паперу у % від номінала (витратний платіж)

ціна погашення у % від номінала (прибутковий платіж)

кількість днів в році

днів до погашення i паперу

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

Економічна інтерпретація методу.

Аналіз за допомогою методики побудови індексу портфеля і ринку включає в себе наступні моменти:

Індекс побудований таким чином, що він адекватно відображає управління портфелем і поведінка ринку.

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

Крім того, можна оцінити поведінку ринку РКО в порівнянні з іншими ринками. Методика порівняння може бути різною і їх побудова вимагає обліку специфіки різних ринків.

Другий вигляд аналізу - обчислення ефективної норми прибутковості портфеля і ринку.

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

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

Економічна інтерпретація отриманих результатів.

У даній роботі порівнювався портфель РКО банку і ринок РКО з лютого по травень місяць 1997 року.

При аналізі шляхом побудови індексу було виявлене наступне. Графік, побудований на основі індексу ринку (Додаток №2.3), має позитивний нахил. Це зумовлене тим, що ринок в той час мав тенденцію до зниження прибутковості, тому, індекс, що відображає прибутковість до придбання, збільшувався. У приведеному прикладі, заснованому на реальних даних, внутрішнє управління портфелем було ефективним в порівнянні з ринком до початку травня місяця.

На графіку порівняння прибутковості портфеля і ринку (Додаток № 2.2) можна бачити падіння прибутковості до погашення портфеля в зв'язку з чим склався ринковою кон'юнктурою. При аналізі за допомогою даного показника можна сказати, що квітень місяць був найбільш сприятливим для додаткового інвестування грошових коштів.

Застосування результатів дослідження для побудови методів ефективного управління портфелем облігацій.

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

Для побудови методик ефективного управління портфелем облігацій необхідно враховувати наступне:

1) управління повинно давати максимальний ефект;

2) в управлінні треба враховувати можливість введення-виведення грошових;

3) необхідність спроби прогнозування ситуації при зміні ринкової кон'юнктури;

4) управління портфелем з точки зору як прибутковості, так і ліквідність;

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

Інша задача, якою можна вирішити на основі отриманих результатів - це задача довірчого управління (траст). Засновуючись на результатах, можна запропонувати наступну схему стягування плати за траст з боку керівника з клієнта. Порівнюється індекс ринку і індекс портфеля облігацій, що знаходиться в трасті. У випадку, якщо індекс портфеля перевершує індекс ринку, то додатковий дохід, що виходить від більш ефективного управління портфелем облігацій, ділиться в певній пропорції між керівником і клієнтом. Інший варіант: керівник гарантує клієнту певний відсоток, а плата керівнику розраховується по певній методиці виходячи з гарантованого доходу і доходу, отриманого понад.

Висновок.

У роботі вирішені наступні ключові моменти, необхідні для роботи з Республіканськими короткостроковими бескупонними облігаціями (РКО):

- Автоматизація обліку операцій з РКО

- Оцінка ефективності вкладень в РКО

- Описано функціонування ринку РКО, поставлені задачі, які вирішує Ділер на ринку.

Рішенням задачі автоматизації операцій з РКО є програмний продукт, написаний на Visual Basic for Microsoft Excel, який дозволяє вести повний документообіг Ділера на ринку РКО. Результатами автоматизації є стандартизовані вихідні форми, необхідні для ведіння бухгалтерського обліку РКО і надання різних звітів.

При рішенні задачі оцінки ефективності вкладень в РКО застосовувалися статті, вмісні інформацію про різні методики розрахунку прибутковості облігацій. Результатом рішення даної задачі є розробка власної методики аналізу. Методика перевірена на реальних чисельних даних за певний період функціонування ринку РКО. Кінцевим продуктом методу є програма, написана на Visual Basic for Microsoft Excel, що дозволяє робити аналіз ефективності управління портфелем облігацій. Приведений метод аналізу також можна застосувати надалі для побудови методів ефективного управління портфелем облігацій.

Обидві поставлені задачі впроваджені і використовуються на практиці.

Список літератури.

1. Башарин Г. П. «Почала фінансової математики» Москва, «ИНФРА-М» 1997 р.

2. Бродский В., Горлін Ю. «Модель дійсної прибутковості ГКО для клієнтів» журнал «Ринок цінних паперів» №1 1994 м.

3. Ветров А. «Як побудувати агрегированние показники прибутковості ринку ГКО/ОФЗ» журнал «Ринок цінних паперів» №5 1996 м.

4. Горелов М. «Побудова оптимального портфеля ГКО: як максимізувати прибуток» журнал «Ринок цінних паперів» №6 1996 м.

5. Горелов М., Нікифоров Л. «Про межі застосовності принципу ринкового моменту» журнал «Ринок цінних паперів» №16 1996 м.

6. Горелов М. «Що не можна упускати при побудові моделі управління портфелем ГКО» журнал «Ринок цінних паперів» №11 1996 м.

7. Горлін Ю. «Оцінка прибутковості операцій з ГКО: вирианти біржової гри» журнал «Ринок цінних паперів» №6 1994 м.

8. Грядовая О. «Прибутковість як критерій оптимізації рішень по управлінню портфелем ГКО» журнал «Ринок цінних паперів» №15 1994 м.

9. Губернієв В. «ГКО в оптимальному портфелі» журнал «Ринок цінних паперів» №15 1996 м.

10. Демушкина Е. «Операції з державними цінними паперами» журнал «Ринок цінних паперів» №23 1996 м.

11. Екушов А. «Як перевищити середню прибутковість ринку ГКО» журнал «Ринок цінних паперів» №11 1997 м.

12. Івахин А. «Як подолати обмеження в моделюванні ринку ГКО» журнал «Ринок цінних паперів» №12 1996 м.

13. Комягин В. Б. «Програмування в Excel 5 і Excel 7 на мові Visual Basic» Москва, «Радіо і зв'язок» 1996 р.

14. Ковалів М., Ніфатов П. «Грошовий потік і торгові операції на ринку ГКО» журнал «Ринок цінних паперів» №4 1996 м.

15. Мешкова Н. Кулакова Ю. «Прогнозування тренда ціни ГКО» журнал «Ринок цінних паперів» №6 1996 м.

16. Міхеєв А. «Граємо на позикові кошти» журнал «Ринок цінних паперів» №3 1997 м.

17. Остроушко О., Грішин О. «Прибутковість і дюрация портфеля ГКО» журнал «Ринок цінних паперів» №5 1996 р.

18. Положення про обслуговування і звертання випусків РКО РТ (затверджено постановою Кабінету Міністрів РТ від 21 квітня 1995 р. № 238)

19. «Потоки платежів, види облігацій і обчислення прибутковості» Москва «Консультаційне агентство «Собольов» 1996 р.

20. «Ринок цінних паперів» підручник під ред. Галанова В. А., Басова А. И. Моськва «Фінанси і статистика» 1996 р.

21. Суменкова Е. В. «Операції з цінними паперами» Москва «Перспектива» 1997 р.

22. Ушаков П. «Про взаємозв'язки індикаторів ринку ГКО» журнал «Ринок цінних паперів» №3 1997 м.

23. Черкасов В. Е. «Практичне керівництво по фінансово-економічних розрахунках» Москва «Метаїнформ» 1995 р.

24. Черновський А. «Як оцінити еффективноть управління портфелем ГКО» журнал «Ринок цінних паперів» №24 1996 м.

25. Четиркин Е. «Методи фінансових і комерційних розрахунків»

Додатку.

Додаток № 1. Програма автоматизації обліку РКО.

Додаток 1.1. Керівництво користувача.

Дана програма написана на Microsoft Visual Basic for Excel. Для запуску програми необхідно відкрити файл sprav.xls в Excel, після чого в лінійці меню з'явиться додатковий пункт меню «Довідник», що складається з наступних розділів:

Дата

Перегляд залишків

Друк

Депозитарій

Портфель

Біржова інформація

Звіти клієнтам

Звіт тижневий

Звіт місячний

Журнал лицьового обліку

Вікно

Паперу

Операції

Клієнти

Біржа

Розглянемо детальніше кожне з пунктів меню.

Дата- зміна дати для роботи.

Перегляд залишків- перегляд залишків по Клієнтах.

Друк- роздрук на принтер наступних даних:

Депозитарій - друк депозитарія.

Портфель - друк власного портфеля Ділера.

Біржова інформація - друк біржової інформації.

Звіти клієнтам - друк звітів Клієнтам.

Звіт тижневий - друк щотижневого звіту, що надається в депозитарій.

Звіт місячний - друк щомісячного звіту, що надається в депозитарій.

Журнал лицьового обліку - друк журналу лицьового обліку і журналу оборотів Ділера.

Вікно- вибір наступних вікон для введення інформації:

Папери - вибір вікна введення інформації про обіговій на ринку папери.

Операції - вибір вікна введення операцій.

Клієнти - вибір вікна введення Клієнтів.

Біржа - вибір вікна введення біржової інформації.

Результатом роботи програми є Додатки №1.3-1.12

Додаток 1.2. Текст програми.

Option Explicit

Option Base 1

Public CurDate As Date

Public DepoArray() As Integer

Public BumArray(); BumArrayV() As Integer

Public Button; Перегляд; ExitVar; Купівля; Продаж; Погашення As Boolean

Const DilerConst = 1000900000

Const FilialConst = 1000999999

Const ConstMaxBum = 100 ' максимальна к-ть паперів (випусків)

Const MaxCount = 1000 ' максимальна к-ть операцій по 1-ой паперу

Const S192 = "50202"

Const S904 = "47423"

Const S960 = "70102"

Const S970 = "70204"

Const SR970 = "70204"

Sub Auto_Open()

ActiveWindow.WindowState = xlMaximized

CurDate = Date

Worksheets( "Брешемо").Cells(1; 4) = "CurDate

Application.OnWindow = CancelChanges"

Application.Windows( "Sprav.xls")."OnWindow = Start"

End Sub

Sub Auto_Close()

MenuBars(xlModule).Reset

MenuBars(xlWorksheet).Reset

Application.OnWindow = ""

Application.Windows( "Sprav.xls").OnWindow = ""

ActiveWorkbook.Save

End Sub

Sub Start()

Call CreateMenu

Application.DisplayFullScreen = False

ActiveWindow.WindowState = xlMaximized

CurDate = Date

Worksheets( "Брешемо").Cells(1; 4) = CurDate

End Sub

Sub CancelChanges()

MenuBars(xlModule).Reset

MenuBars(xlWorksheet).Reset

End Sub

Sub CreateMenu()

MenuBars(xlModule).Reset

MenuBars(xlWorksheet).Reset

With MenuBars(xlModule).Menus.Add("& Довідник").

MenuItems.Add "& Дата"; "DateChange".

MenuItems."Add П& росмотр залишків"; "PrintOst".

MenuItems.AddMenu ("& Друк").

MenuItems("& Друк").MenuItems.Add "& Депозитарій"; "PrintDepo".

MenuItems("& Друк").MenuItems.Add "& Портфель"; "PrintPortfel".

MenuItems("& Друк").MenuItems.Add "& Біржова інформація"; "PrintBirgaInfo".

MenuItems("& Друк").MenuItems.Add "Звіти & клієнтам"; "PrintOtchClient".

MenuItems("& Друк").MenuItems.Add "Звіт & тижневий"; "PrintOtchWeek".

MenuItems("& Друк").MenuItems.Add "Звіт & місячний"; "PrintOtchMonth".

MenuItems("& Друк").MenuItems.Add "Журнал & лицьового обліку"; "PrintMagazine".

MenuItems.AddMenu ("& Вікно").

MenuItems("& Вікно").MenuItems.Add "& Паперу"; "ViewPaper".

MenuItems("& Вікно").MenuItems.Add "& Операції"; "ViewDeal".

MenuItems("& Вікно").MenuItems.Add "& Клієнти"; "ViewClient".

MenuItems("& Вікно")."MenuItems.Add Бі& ржа"; "ViewBirga".

MenuItems("& Вікно").MenuItems.Add "& Залишки 812"; "ViewOst812".

MenuItems("& Вікно"). MenuItems.Add "Об& статки біржа"; "ViewOstBirga".

MenuItems("& Вікно").MenuItems.Add "& Захист"; "ViewProgram"

End With

With MenuBars(xlWorksheet).Menus.Add("& Довідник").

MenuItems.Add "& Дата"; "DateChange".

MenuItems."Add П& росмотр залишків"; "PrintOst".

MenuItems.AddMenu ("& Друк").

MenuItems("& Друк").MenuItems.Add "& Депозитарій"; "PrintDepo".

MenuItems("& Друк").MenuItems.Add "& Портфель"; "PrintPortfel".

MenuItems("& Друк").MenuItems.Add "& Біржова інформація"; "PrintBirgaInfo".

MenuItems("& Друк").MenuItems.Add "Звіти & клієнтам"; "PrintOtchClient".

MenuItems("& Друк").MenuItems.Add "Звіт & тижневий"; "PrintOtchWeek".

MenuItems("& Друк").MenuItems.Add "Звіт & місячний"; "PrintOtchMonth".

MenuItems("& Друк").MenuItems.Add "Журнал & лицьового обліку"; "PrintMagazine".

MenuItems.AddMenu ("& Вікно").

MenuItems("& Вікно").MenuItems.Add "& Паперу"; "ViewPaper".

MenuItems("& Вікно").MenuItems.Add "& Операції"; "ViewDeal".

MenuItems("& Вікно").MenuItems.Add "& Клієнти"; "ViewClient".

MenuItems("& Вікно")."MenuItems.Add Бі& ржа"; "ViewBirga".

MenuItems("& Вікно").MenuItems.Add "& Залишки 812"; "ViewOst812".

MenuItems("& Вікно"). MenuItems.Add "Об& статки біржа"; "ViewOstBirga".

MenuItems("& Вікно").MenuItems.Add "& Захист"; "ViewProgram"

End With

End Sub

Sub ViewPaper()

Sheets( "Папери").Select

Call EndOf

End Sub

Sub ViewDeal()

Sheets( "Операції").Select

Call EndOf

End Sub

Sub ViewClient()

Sheets( "Клієнти").Select

Call EndOf

End Sub

Sub ViewBirga()

Sheets( "Біржа").Select

Call EndOf

End Sub

Sub ViewOst812()

Sheets("Остатки812").Select

Call EndOf

End Sub

Sub ViewOstBirga()

Sheets( "ОстаткиБіржа").Select

Call EndOf

End Sub

Sub ViewProgram()

Sheets( "Захист").Select

End Sub

' - Друк Депозитарія -

Sub PrintDepo()

Dim BumNum; CliNum; i; j; k; a; n; Sign; s As Integer

Dim Flag As Boolean

Dim Code As Long

Dim Str As String

Dim DepoFil() As Integer

Dim Num As Integer

CurDate = Worksheets( "Брешемо").Cells(1; 4)

Call FormBum

Sheets( "Депо").Select

BumNum = Worksheets( "Брешемо").Cells(1; 2)

Cells(3; 5) = Worksheets( "Брешемо").Cells(1; 4)

Cells(3; 5) "NumberFormat = Д ММММ, ГГГГ"

Cells(3; 5). HorizontalAlignment = xlCenterAcrossSelection

Cells(3; 5). Font.Bold = True

Num = 9

For i = 1 To BumNum

Cells(6; i + 1) = Worksheets( "Брешемо").Cells(i; 1)

Cells(6; i + 1). Font.Bold = True

Cells(6; i + 1). Interior.ColorIndex = 40

Cells(Num + 1; i + 1). Interior.ColorIndex = 15

Cells(Num + 1; i + 1) = ""

Cells(Num; i + 1). Interior.ColorIndex = 40

Cells(Num; i + 1) = ""

Cells(5; i + 1). Interior.ColorIndex = 40

Next

Cells(Num; 1). Interior.ColorIndex = 40

Cells(Num; 1) = "Разом"

Cells(Num; 1). Font.Bold = True

Cells(Num; 1). Font.Italic = True

Cells(Num; 1). HorizontalAlignment = xlCenter

Cells(Num + 1; 1) = ""

Cells(Num + 1; 1). Interior.ColorIndex = 15

CliNum = Worksheets( "Брешемо").Cells(1; 3)

ReDim DepoArray(CliNum; BumNum)

ReDim DepoFil(BumNum)

а = 2

While Worksheets( "Операції").Cells(a; 1) < > Empty

i = 1

While Worksheets( "Клієнти").Cells(i + 1; 2) < > _

Worksheets( "Операції").Cells(a; 2)

If Worksheets( "Клієнти").Cells(i + 1; 2) = Empty Then

MsgBox "Невірний номер клієнта в Вікні ' Операції' рядок: " + CStr(a)

Sheets( "Операції").Select

Cells(a; 2). Select

Exit Sub

End If

i = i + 1

Wend

k = 0

For j = 1 To BumNum

If Worksheets( "Брешемо").Cells(j; 1) = Worksheets( "Операції").Cells(a; 3) Then

k = j

Exit For

End If

Next

If k = 0 Then

а = а + 1

GoTo NNN

End If

If Not IsEmpty(Worksheets( "Операції").Cells(a; 4)) Then

Sign = 1

Else

Sign = -1

End If

If CurDate > = Worksheets( "Операції").Cells(a; 1) Then

If Worksheets( "Операції").Cells(a; 2) = FilialConst Then

DepoFil(k) = DepoFil(k) + Sign * Worksheets( "Операції").Cells(a; 6)

Else

DepoArray(i; k) = DepoArray(i; k) + Sign * Worksheets( "Операції").Cells(a; 6)

End If

End If

а = а + 1

NNN:

Wend

n = 7

For i = 1 To CliNum

Flag = False

For k = 1 To BumNum

If DepoArray(i; k) > 0 Then Flag = True

Next

If Flag Then

Str = Format(Worksheets( "Клієнти").Cells(i + 1; 2); "0000000000")

Str = Right(Str; 5)

Cells(n; 1) "NumberFormat = @"

Cells(n; 1). Font.Bold = True

Cells(n; 1). HorizontalAlignment = xlCenter

Cells(n; 1). Font.Italic = False

Cells(n; 1). Interior.ColorIndex = 2

Cells(n; 1) = Str

For k = 1 To BumNum

If DepoArray(i; k) < > 0 Then

Cells(n; k + 1) = DepoArray(i; k)

Else

Cells(n; k + 1) = ""

End If

Cells(n; k + 1). Font.Bold = False

Cells(n; k + 1). Font.Italic = False

Cells(n; k + 1). Interior.ColorIndex = 2

Next

If n = 7 Then

n = n + 4

Else

n = n + 1

End If

End If

Next

' розрахунок по філії

Cells(8; 1) = "Філія"

Cells(8; 1). Font.Bold = True

Cells(8; 1). HorizontalAlignment = xlCenter

Cells(8; 1). Font.Italic = False

Cells(8; 1). Interior.ColorIndex = 2

For k = 1 To BumNum

If DepoFil(k) < > 0 Then

Cells(8; k + 1) = DepoFil(k)

Else

Cells(8; k + 1) = ""

End If

Cells(8; k + 1). Font.Bold = False

Cells(8; k + 1). Font.Italic = False

Cells(8; k + 1). Interior.ColorIndex = 2

Next

For i = 1 To BumNum

Cells(n; i + 1). Interior.ColorIndex = 40

s = 0

For k = 11 To n - 1

s = s + Cells(k; i + 1)

Next

Cells(n; i + 1). Value = s

Next

For i = 1 To BumNum

Cells(9; i + 1) = Cells(7; i + 1) + Cells(8; i + 1)

Next

Cells(n; 1). Interior.ColorIndex = 40

Cells(n; 1) = "Разом 9998"

Cells(n; 1). Font.Bold = True

Cells(n; 1). Font.Italic = True

Range( "A1:)(Z200").Borders(xlLeft).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlRight).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlTop).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlBottom).LineStyle = xlNone

Range( "A1:)(Z200").BorderAround LineStyle:=xlNone

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlLeft). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlRight). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlTop). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlBottom). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).BorderAround Weight:=xlMedium

Range(Cells(n + 1; 1); Cells(100; 30)).Delete shift:=xlToLeft

Range(Cells(1; BumNum + 2); Cells(100; 30)).Delete shift:=xlToLeft

If DialogPrint( "Депо"; 1) Then Exit Sub

Call EditOstBirga(DilerConst)

End Sub

' - Друк Звіти клієнтам -

Sub PrintOtchClient()

Dim Sheet; Ost812 As Object

Dim i; j; d; a; Col; m; MM; NN; MMM; k; b; q As Long

Dim FlagBuy; FlagCell; FlagDeal; FlagDepo As Boolean

Dim CliNum As Long

Dim ComStr; StrComS As String

Dim BumNum; z; z1; Index As Integer

Dim s; sum; SumBuy; Ost; SumCom; ComBirga; ComDiler; ComSum As Double

Dim Com As Double

Dim OstIn; OstOut; OstBegin; OstEnd As Double

Dim RowNum As Long

Dim OstInDate; OstOutDate As String

Dim DoFlag As Boolean

Dim Auk As Boolean

Set Sheet = Worksheets( "Операції")

Sheet.Range("A2").Sort Key1:=Sheet.Range("A2"); Order1:=xlAscending; _

Key2:=Sheet.Range("B2"); Order2:=xlAscending; _

Key3:=Sheet.Range("D2"); Order3:=xlAscending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

CurDate = Worksheets( "Брешемо").Cells(1; 4)

Worksheets( "ОтчетиЇнвесторам").Select

i = 2

FlagDeal = False

FlagBuy = True

FlagCell = True

NN = 29 ' почало

m = NN

Range(Cells(NN - 1; 2); Cells(NN + 200; 6)). Delete shift:=xlToLeft

Rows(CStr(NN - 1) + ":" + CStr(NN - 1)). RowHeight = 28

Rows(CStr(NN - 1) + ":" + CStr(NN - 1)). WrapText = True

Rows(CStr(NN - 1) + ":" + CStr(NN - 1)). HorizontalAlignment = xlCenter

Rows(CStr(NN - 1) + ":" + CStr(NN - 1)). VerticalAlignment = xlBottom

Cells(NN - 1; 2) = "№ випуску"

Cells(NN - 1; 3) = "Дата погашення"

Cells(NN - 1; 4) = "Ціна операції"

Cells(NN - 1; 5) = "Кількість"

Cells(NN - 1; 6) = "Сума операції"

Cells(NN - 3; 3) = "Довершені операції на ринку РКО"

Cells(NN - 3; 3). Font.Bold = True

sum = 0

SumBuy = 0

SumCom = 0

ComBirga = 0

Call FormBum

BumNum = Worksheets( "Брешемо").Cells(1; 2)

ReDim BumArray(BumNum)

ReDim BumArrayV(BumNum)

Index = CInt(InputBox( "Введіть номер 1-го ордера"))

Do While Sheet.Cells(i; 1) < > Empty

If Sheet.Cells(i; 1) = CurDate And Sheet.Cells(i; 2) < > DilerConst Then

FlagDeal = True

If FlagBuy And Sheet.Cells(i; 4) < > Empty Then

Купівля = True

CliNum = Sheet.Cells(i; 2)

Cells(m; 2) = "Купівля"

Cells(m; 2). HorizontalAlignment = xlLeft

Range(Cells(m; 2); Cells(m; 6)). Interior.ColorIndex = 15

m = m + 1

MM = m

FlagBuy = False

End If

If FlagCell And Sheet.Cells(i; 4) = Empty Then

If Not FlagBuy Then

s = 0

Col = 0

SumCom = 0

ComBirga = 0

For а = MM To m - 1

Cells(a; 6) = Cells(a; 4) * Cells(a; 5) * 10

If Cells(a; 4) < > 100 Then

SumCom = SumCom + Cells(a; 4) * Cells(a; 5) * 10

ComBirga = ComBirga + _

CDbl(Format(Cells(a; 4) * Cells(a; 5) * 0,1 * Worksheets( "Інфо").Cells(1; 2) + 0,001; "0,00"))

Else

Погашення = True

End If

Cells(a; 6). NumberFormat = "# ###"

s = s + Cells(a; 6)

Col = Col + Cells(a; 5)

Next а

sum = sum + s

SumBuy = s

Cells(m; 6) = s

Cells(m; 6). NumberFormat = "# ###"

Cells(m; 5) = Col

Cells(m; 2) = "Разом"

m = m + 1

End If

CliNum = Sheet.Cells(i; 2)

Cells(m; 2) = "Продаж"

Продаж = True

Cells(m; 2). HorizontalAlignment = xlLeft

Range(Cells(m; 2); Cells(m; 6)). Interior.ColorIndex = 15

m = m + 1

MM = m

FlagCell = False

End If

Cells(m; 2) = Sheet.Cells(i; 3)

q = 2

While Worksheets( "Папери").Cells(q; 1) < > Empty

If Worksheets( "Папери").Cells(q; 1) = Cells(m; 2) Then

Cells(m; 3) = Worksheets( "Папери").Cells(q; 3)

Cells(m; 3) "NumberFormat = ДД. ММ. ГГ"

End If

q = q + 1

Wend

If Sheet.Cells(i; 4) < > Empty Then

Cells(m; 4) = Sheet.Cells(i; 4)

Else

Cells(m; 4) = Sheet.Cells(i; 5)

End If

Cells(m; 4). NumberFormat = "0,00"

Cells(m; 5) = Sheet.Cells(i; 6)

m = m + 1

If CliNum < > Sheet.Cells(i + 1; 2) Or Sheet.Cells(i + 1; 1) < > CurDate Then

s = 0

Col = 0

For а = MM To m - 1

Cells(a; 6) = Cells(a; 4) * Cells(a; 5) * 10

If Cells(a; 4) < > 100 Then

SumCom = SumCom + Cells(a; 4) * Cells(a; 5) * 10

ComBirga = ComBirga + _

CDbl(Format(Cells(a; 4) * Cells(a; 5) * 0,1 * Worksheets( "Інфо").Cells(1; 2) + 0,001; "0,00"))

Else

Погашення = True

End If

Cells(a; 6). NumberFormat = "# ###, 00"

s = s + Cells(a; 6)

Col = Col + Cells(a; 5)

Next а

sum = sum + s

If FlagCell Then SumBuy = s

Cells(m; 6) = s

Cells(m; 6). NumberFormat = "# ###, 00"

Cells(m; 5) = Col

Cells(m; 2) = "Разом"

Cells(5; 4) = CliNum

If CliNum = FilialConst Then Cells(5; 4) = DilerConst

k = 2

While Worksheets( "Клієнти").Cells(k; 1) < > Empty

If Worksheets( "Клієнти").Cells(k; 2) = CliNum Then

Cells(4; 4) = Worksheets( "Клієнти").Cells(k; 1)

End If

k = k + 1

Wend

Range(Cells(NN - 1; 2); Cells(m; 6)). Borders(xlLeft).Weight = xlThin

Range(Cells(NN - 1; 2); Cells(m; 6)). Borders(xlRight).Weight = xlThin

Range(Cells(NN - 1; 2); Cells(m; 6)). Borders(xlTop).Weight = xlThin

Range(Cells(NN - 1; 2); Cells(m; 6)). Borders(xlBottom).Weight = xlThin

Range(Cells(NN - 1; 2); Cells(m; 6)). BorderAround Weight:=xlMedium

For b = 1 To BumNum

BumArray(b) = 0

BumArrayV(b) = 0

Next

b = 2

While Worksheets( "Операції").Cells(b; 1) < > Empty

If CurDate > = Worksheets( "Операції").Cells(b; 1) And _

CliNum = Worksheets( "Операції").Cells(b; 2) Then

z = 0

For z1 = 1 To BumNum

If Worksheets( "Брешемо").Cells(z1; 1) = Worksheets( "Операції").Cells(b; 3) Then

z = z1

Exit For

End If

Next

If z < > 0 Then

If Not IsEmpty(Worksheets( "Операції").Cells(b; 4)) Then

If CurDate > Worksheets( "Операції").Cells(b; 1) Then

BumArrayV(z) = BumArrayV(z) + Worksheets( "Операції").Cells(b; 6)

End If

BumArray(z) = BumArray(z) + Worksheets( "Операції").Cells(b; 6)

Else

If CurDate > Worksheets( "Операції").Cells(b; 1) Then

BumArrayV(z) = BumArrayV(z) - Worksheets( "Операції").Cells(b; 6)

End If

BumArray(z) = BumArray(z) - Worksheets( "Операції").Cells(b; 6)

End If

End If

End If

b = b + 1

Wend

' M+4

MMM = m + 5

Rows(CStr(m + 1) + ":" + CStr(m + 200)). Delete

FlagDepo = False

For b = 1 To BumNum

If BumArray(b) > 0 Or BumArrayV(b) > 0 Then

FlagDepo = True

Cells(MMM; 2) = Worksheets( "Брешемо").Cells(b; 1)

If BumArrayV(b) <BumArray(b) Then

Cells(MMM; 4) = BumArray(b) - BumArrayV(b)

Else

If BumArrayV(b) > BumArray(b) Then

Cells(MMM; 5) = BumArrayV(b) - BumArray(b)

End If

End If

Cells(MMM; 3) = BumArrayV(b)

Cells(MMM; 6) = BumArray(b)

MMM = MMM + 1

End If

Next

If FlagDepo Then

Rows(CStr(m + 4) + ":" + CStr(m + 4)). RowHeight = 28

Rows(CStr(m + 4) + ":" + CStr(m + 4)). WrapText = True

Rows(CStr(m + 4) + ":" + CStr(m + 4)). HorizontalAlignment = xlCenter

Rows(CStr(m + 4) + ":" + CStr(m + 4)). VerticalAlignment = xlBottom

Cells(m + 4; 2) = "№ випуску"

Cells(m + 4; 3) = "Вхідний залишок"

Cells(m + 4; 4) = "Куплене"

Cells(m + 4; 5) = "Продано/ Погашене"

Cells(m + 4; 6) = "Вихідний залишок"

Cells(m + 2; 3). Font.Bold = True

Cells(m + 2; 3) = "Кількість паперів, належних Інвестору (штук)"

Range(Cells(m + 4; 2); Cells(MMM - 1; 6)). Borders(xlLeft).Weight = xlThin

Range(Cells(m + 4; 2); Cells(MMM - 1; 6)). Borders(xlRight).Weight = xlThin

Range(Cells(m + 4; 2); Cells(MMM - 1; 6)). Borders(xlTop).Weight = xlThin

Range(Cells(m + 4; 2); Cells(MMM - 1; 6)). Borders(xlBottom).Weight = xlThin

Range(Cells(m + 4; 2); Cells(MMM - 1; 6)). BorderAround Weight:=xlMedium

End If

' -

' - розрахунок залишків

Set Ost812 = Worksheets("Остатки812")

Ost812.Range("B2").Sort Key1:=Ost812.Range("B2"); Order1:=xlAscending; _

Key2:=Ost812.Range("A2"); Order2:=xlDescending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

OstIn = 0

OstOut = 0

OstBegin = 0

OstInDate = ""

OstOutDate = ""

RowNum = 0

k = 2

DoFlag = True

Do While Ost812.Cells(k; 1) < > Empty

If Ost812.Cells(k; 2) = CliNum And DoFlag Then

If Ost812.Cells(k; 1) <CurDate Then

OstBegin = Ost812.Cells(k; 8)

Else

Do While Ost812.Cells(k; 1) < > Empty

If Ost812.Cells(k; 2) < > CliNum Then Exit Do

If Ost812.Cells(k; 1) = CurDate Then

OstBegin = Ost812.Cells(k; 3)

OstIn = Ost812.Cells(k; 4)

OstInDate = Ost812.Cells(k; 5)

OstOut = Ost812.Cells(k; 6)

OstOutDate = Ost812.Cells(k; 7)

RowNum = k

Exit Do

End If

k = k + 1

Loop

End If

DoFlag = False

End If

k = k + 1

Loop

If RowNum = 0 Then RowNum = k

k = RowNum

' - початок таблиці

With DialogSheets( "ДіалогКлієнт").

Labels(8).Text = Cells(4; 4) ' Клієнт.

Labels(9).Text = sum ' Сума операції.

Labels(10).Text = CurDate ' Дата поточна.

Labels(17).Text = CliNum

If CliNum = FilialConst Then. Labels(17).Text = DilerConst.

EditBoxes(1).Text = "0" ' Сума списання.

EditBoxes(1).InputType = xlNumber.

EditBoxes(2).Text = CurDate ' Дата операції.

EditBoxes(7).Text = OstOutDate ' списано (дата).

EditBoxes(8).Text = OstOut ' списане (сума).

EditBoxes(8).InputType = xlNumber.

EditBoxes(9).Text = OstInDate ' перераховане (дата).

EditBoxes(10).Text = OstIn ' перераховане (сума).

EditBoxes(10).InputType = xlNumber

Com = 0,00015

Select Case SumCom

Case Is <, 005

Case Is < 0,004

Case Is <m = 0,003

Case Is <Com = 0,002

Case Is <

Com = 0,001

Case Is <000

Com = 0,0005

Case Is <01000

Com = 0,00025

End Select

If Cells(4; 4) = "Универсалбанк" Then Com = 0.

EditBoxes(3).Text = Com ' Комісія ділера.

EditBoxes(3).InputType = xlNumber.

EditBoxes(4).Text = "0" ' Сума винагороди ділера.

EditBoxes(4).InputType = xlNumber.

EditBoxes(5).Text = "" ' Запис про винагороду.

EditBoxes(6).Text = OstBegin ' Залишок на 812 рахунку клієнта.

EditBoxes(6).InputType = xlNumber

Cells(MMM + 3; 1) = "Начальник інвестиційно-аналітичного отдела_"

Cells(MMM + 3; 6) = ""

Again:

Перегляд = False

ExitVar = False

Button = False.

Show

If. EditBoxes(1).Text = "" Then. EditBoxes(1).Text = 0

If. EditBoxes(3).Text = "" Then. EditBoxes(3).Text = 0

If. EditBoxes(4).Text = "" Then. EditBoxes(4).Text = 0

If. EditBoxes(6).Text = "" Then. EditBoxes(6).Text = 0

If. EditBoxes(8).Text = "" Then. EditBoxes(8).Text = 0

If. EditBoxes(10).Text = "" Then. EditBoxes(10).Text = 0

Cells(21; 1) =. EditBoxes(5).Text ' Запис про винагороду

Cells(21; 1). Font.Italic = True

Cells(6; 4) =. EditBoxes(2).Text ' Дата операції

' занесення даних в підсумкову таблицю

Cells(10; 6) =. EditBoxes(6).Text ' Вхідний залишок

OstBegin =. EditBoxes(6).Text

Cells(14; 6) = SumBuy

Cells(15; 6) = sum - SumBuy

ComStr = Format(SumCom *. EditBoxes(3).Text; "0,00")

ComDiler = CDbl(ComStr)

Cells(16; 6) = ComBirga

Cells(18; 6) = ComDiler

Cells(20; 6) =. EditBoxes(4).Text

Cells(11; 6) =. EditBoxes(8).Text

OstOut =. EditBoxes(8).Text

OstIn =. EditBoxes(10).Text

Cells(12; 6) =. EditBoxes(10).Text

Cells(13; 6) =. EditBoxes(6).Text -. EditBoxes(8).Text +. EditBoxes(10).Text

Cells(11; 1) = "2. Списано на р/р / видане готівкою " +. EditBoxes(7).Text

OstInDate =. EditBoxes(9).Text

OstOutDate =. EditBoxes(7).Text

Cells(12; 1) = "3. Перераховано на купівлю " +. EditBoxes(9).Text

Cells(22; 6) = 2 * SumBuy - sum + ComBirga + ComDiler

Cells(23; 6) =. EditBoxes(1).Text

Cells(24; 6) =. EditBoxes(6).Text -. EditBoxes(8).Text +. EditBoxes(10).Text - _

(2 * SumBuy - sum + ComBirga + ComDiler) - _.

EditBoxes(1).Text -. EditBoxes(4).Text

OstEnd = Cells(24; 6)

Ost812.Cells(k; 1) = CurDate

Ost812.Cells(k; 2) = CliNum

Ost812.Cells(k; 3) = OstBegin

Ost812.Cells(k; 4) = OstIn

Ost812.Cells(k; 5) = OstInDate

Ost812.Cells(k; 6) = OstOut

Ost812.Cells(k; 7) = OstOutDate

Ost812.Cells(k; 8) = OstEnd

Ost812.Cells(k; 9) = Cells(14; 6) + Cells(15; 6)

Ost812.Cells(k; 10) = Cells(16; 6)

Ost812.Cells(k; 11) = Cells(18; 6)

Call EditOstBirga(CliNum)

' кінець занесення даних

If Перегляд Then

Worksheets( "ОтчетиЇнвесторам").PrintPreview

GoTo Again

End If

If Button Then ActiveWindow.SelectedSheets.PrintOut copies:=2

If ExitVar Then Exit Sub

End With

' друк меморіальних ордерів

Dim StrS As String

Auk = False

With DialogSheets( "ДіалогОперация").

Show

If. OptionButtons(1).Value = xlOn Then StrS = "Купівля"

If. OptionButtons(2).Value = xlOn Then StrS = "Продаж"

If. OptionButtons(3).Value = xlOn Then StrS = "Погашення"

If. OptionButtons(4).Value = xlOn Then StrS = "Купівля / Продаж"

If. OptionButtons(5).Value = xlOn Then StrS = "Купівля / Погашення"

If. OptionButtons(5).Value = xlOn Then Auk = True

End With

Worksheets( "Ордер").Select

Dim Pos812 As Integer

Dim Page; Page1 As Object

Set Page = Worksheets( "ОтчетиЇнвесторам")

Set Page1 = Worksheets( "Клієнти")

Pos812 = 2

While (Page1.Cells(Pos812; 1) < > Empty) And (Worksheets( "Клієнти").Cells(Pos812; 2) < > CliNum)

Pos812 = Pos812 + 1

Wend

If Page.Cells(14; 6) - Page.Cells(15; 6) > 0 Then

If MemoOrder(Index; Page.Cells(14; 6) - Page.Cells(15; 6); 6; 7; Pos812; _

StrS + " РКО за " + CStr(CurDate)) Then Exit Sub

Index = Index + 1

Else

If MemoOrder(Index; Page.Cells(15; 6) - Page.Cells(14; 6); 7; 6; Pos812; _

StrS + " РКО за " + CStr(CurDate)) Then Exit Sub

Index = Index + 1

End If

Dim SumS As Double

SumS = Page.Cells(16; 6) + Page.Cells(18; 6) + Page.Cells(20; 6)

If SumS > 0 Then

StrS = ""

If Page.Cells(18; 6) > 0 Then StrS = "Комісія Ділера " + CStr(Page.Cells(18; 6)) + " в т. ч. ПДВ " + _

CStr(Format(Page.Cells(18; 6) / 6; "0,00"))

If Page.Cells(16; 6) > 0 And Not Auk Then StrS = StrS + " відшкодування ком. ВКБ " + CStr(Page.Cells(16; 6)) + " в т. ч. ПДВ " + _

CStr(Format(Page.Cells(16; 6) / 6; "0,00"))

If CliNum = FilialConst Then

If MemoOrder(Index; SumS; 6; 7; Pos812; StrS) Then Exit Sub

Else

If Auk Then

StrS = StrS + " по придбанню на аукціоні"

If MemoOrder(Index; Page.Cells(18; 6) + Page.Cells(20; 6); 6; 12; Pos812; StrS) Then Exit Sub

StrS = "Відшкодування ком. ВКБ " + CStr(Page.Cells(16; 6)) + " в т. ч. ПДВ " + _

CStr(Format(Page.Cells(16; 6) / 6; "0,00"))

Index = Index + 1

If MemoOrder(Index; Page.Cells(16; 6); 6; 8; Pos812; StrS) Then Exit Sub

Else

If MemoOrder(Index; SumS; 6; 8; Pos812; StrS) Then Exit Sub

End If

End If

Index = Index + 1

End If

If CliNum < > FilialConst Then

If Len(StrComS) > 0 Then

StrComS = StrComS + "," + CStr(Right(CliNum; 3))

Else

StrComS = StrComS + CStr(Right(CliNum; 3))

End If

End If

If CliNum < > FilialConst Then ComSum = ComSum + Page.Cells(16; 6)

Worksheets( "ОтчетиЇнвесторам").Select

' -

Rows(CStr(m + 4) + ":" + CStr(m + 4)). RowHeight = 13,8

Rows(CStr(m + 4) + ":" + CStr(m + 4)). WrapText = False

Rows(CStr(m + 4) + ":" + CStr(m + 4)). HorizontalAlignment = xlRight

Rows(CStr(m + 4) + ":" + CStr(m + 4)). VerticalAlignment = xlBottom

Range(Cells(NN; 2); Cells(NN + 200; 6)). Delete shift:=xlToLeft

m = NN

FlagBuy = True

FlagCell = True

ComBirga = 0

sum = 0

SumBuy = 0

SumCom = 0

End If

End If

i = i + 1

Loop

If Not FlagDeal Then

MsgBox "Операцій в поточний день не було"

Else

If ComSum > 0 Then

Worksheets( "Ордер").Select

If MemoOrder(Index; ComSum; 9; 7; 2; _

"Комісія ВКБ з інвесторів " + StrComS + " в т. ч. ПДВ " + _

CStr(Format(ComSum / 6; "0,00"))) Then Exit Sub

End If

End If

End Sub

' - Друк Звіти тижневі -

Sub PrintOtchWeek()

Dim BumNum; CliNum; i; j; k; a; n; Sign; s As Integer

Dim Flag As Boolean

Dim Code As Long

Dim Str As String

Dim DepoFil() As Integer

Dim Num As Integer

CurDate = Worksheets( "Брешемо").Cells(1; 4)

Call FormBum

Sheets( "ОтчетНедельний").Select

BumNum = Worksheets( "Брешемо").Cells(1; 2)

Num = 8

For i = 1 To BumNum

Cells(6; i + 1) = Worksheets( "Брешемо").Cells(i; 1)

Cells(6; i + 1). Font.Bold = True

Cells(6; i + 1). Interior.ColorIndex = 40

Cells(Num; i + 1). Interior.ColorIndex = 15

Cells(Num; i + 1) = ""

Cells(5; i + 1). Interior.ColorIndex = 40

Next

Cells(Num; 1). Interior.ColorIndex = 15

Cells(Num; 1) = ""

Cells(5; 1). Interior.ColorIndex = 40

Cells(5; 1) = ""

Cells(6; 1). Interior.ColorIndex = 40

Cells(6; 1). Font.Bold = True

Cells(6; 1) = "№ папери"

Cells(7; 1) = "Ділер"

Cells(6; 1). HorizontalAlignment = xlCenter

Cells(7; 1). HorizontalAlignment = xlCenter

Cells(7; 1). Font.Bold = True

CliNum = Worksheets( "Брешемо").Cells(1; 3)

ReDim DepoArray(CliNum; BumNum)

а = 2

While Worksheets( "Операції").Cells(a; 1) < > Empty

i = 1

While Worksheets( "Клієнти").Cells(i + 1; 2) < > _

Worksheets( "Операції").Cells(a; 2)

If Worksheets( "Клієнти").Cells(i + 1; 2) = Empty Then

MsgBox "Невірний номер клієнта в Вікні ' Операції'"

Exit Sub

End If

i = i + 1

Wend

k = 0

For j = 1 To BumNum

If Worksheets( "Брешемо").Cells(j; 1) = Worksheets( "Операції").Cells(a; 3) Then

k = j

Exit For

End If

Next

If k = 0 Then

а = а + 1

GoTo NNN

End If

If Not IsEmpty(Worksheets( "Операції").Cells(a; 4)) Then

Sign = 1

Else

Sign = -1

End If

If CurDate > = Worksheets( "Операції").Cells(a; 1) Then

DepoArray(i; k) = DepoArray(i; k) + Sign * Worksheets( "Операції").Cells(a; 6)

End If

а = а + 1

NNN:

Wend

For k = 1 To BumNum

DepoArray(1; k) = DepoArray(1; k) + DepoArray(2; k)

DepoArray(2; k) = 0

Next k

n = 7

For i = 1 To CliNum

Flag = False

For k = 1 To BumNum

If DepoArray(i; k) > 0 Then Flag = True

Next

If Flag Then

If n > 7 Then

Str = Format(Worksheets( "Клієнти").Cells(i + 1; 2); "0000000000")

Str = Right(Str; 5)

Cells(n; 1) "NumberFormat = @"

Cells(n; 1). Font.Bold = True

Cells(n; 1). HorizontalAlignment = xlCenter

Cells(n; 1). Font.Italic = False

Cells(n; 1). Interior.ColorIndex = 2

Cells(n; 1) = Str

End If

For k = 1 To BumNum

If DepoArray(i; k) < > 0 Then

Cells(n; k + 1) = DepoArray(i; k)

Else

Cells(n; k + 1) = ""

End If

Cells(n; k + 1). Font.Bold = False

Cells(n; k + 1). Font.Italic = False

Cells(n; k + 1). Interior.ColorIndex = 2

Next

If n = 7 Then

n = n + 2

Else

n = n + 1

End If

End If

Next

For i = 1 To BumNum

Cells(n; i + 1). Interior.ColorIndex = 40

s = 0

For k = 9 To n - 1

s = s + Cells(k; i + 1)

Next

Cells(n; i + 1). Value = s

Next

Cells(n; 1). Interior.ColorIndex = 40

Cells(n; 1) = "Разом по інвесторах"

Cells(n; 1). Font.Bold = True

Cells(n; 1). Font.Italic = True

Range( "A1:)(Z200").Borders(xlLeft).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlRight).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlTop).LineStyle = xlNone

Range( "A1:)(Z200").Borders(xlBottom).LineStyle = xlNone

Range( "A1:)(Z200").BorderAround LineStyle:=xlNone

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlLeft). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlRight). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlTop). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).Borders(xlBottom). Weight = xlThin

Range(Cells(5; 1); Cells(n; BumNum + 1)).BorderAround Weight:=xlMedium

Range(Cells(n + 1; 1); Cells(100; 30)).Delete shift:=xlToLeft

Range(Cells(1; BumNum + 2); Cells(100; 30)).Delete shift:=xlToLeft

Range("a2") = "на " + CStr(CurDate)

Range(Cells(n + 2; 1); Cells(n + 3; BumNum + 1)).BorderAround Weight:=xlMedium

Cells(n + 2; 1) = "Кількість перерахованих облігацій на рахунки " "Депо """

Cells(n + 3; 1) = "без здійснення операцій купівлі-продажу"

Cells(n + 2; 1). Font.Bold = True

Cells(n + 3; 1). Font.Bold = True

Cells(n + 5; 1). Font.Size = 12

Cells(n + 5; 1) = "Відповідальне обличчя Ділера " + _

" _ "

Cells(n + 3; BumNum + 1) = 0

Cells(n + 3; BumNum + 1) "Font.Bold = True

If DialogPrint( ОтчетНедельний"; 2) Then Exit Sub

End Sub

' - Друк Звіти Місячні -

Sub PrintOtchMonth()

Dim DateBegin; DateEnd; DateMas() As Date

Dim i; k; m; NumberClients; kk As Long

Dim Sign; BumNum; Row; Col; Num; sum As Integer

Dim DateFlag; Flag; CliInput(); BumInput() As Boolean

Dim Bum(ConstMaxBum) As Long

Dim mas() As Integer

Dim Sheet As Object

Dim Str As String

With DialogSheets( "ДіалогМесОтчет").

EditBoxes(1).InputType = xlDate.

EditBoxes(2).InputType = xlDate.

Show

If Not Button Then Exit Sub

If IsDate(. EditBoxes(1).Text) = False Or _

IsDate(. EditBoxes(2).Text) = False Then

MsgBox "Невірно введені дати"

Exit Sub

End If

DateBegin = CDate(. EditBoxes(1).Text)

DateEnd = CDate(. EditBoxes(2).Text)

If DateBegin > = DateEnd Then

MsgBox "Дати не перетинаються"

Exit Sub

End If

End With

Set Sheet = Worksheets( "Папери")

i = 2

BumNum = 0

While Sheet.Cells(i; 1) < > Empty

If (Sheet.Cells(i; 2) < DateBegin And Sheet.Cells(i; 3) > DateBegin) Or _

(Sheet.Cells(i; 2) < DateEnd And Sheet.Cells(i; 3) > DateEnd) Or _

(Sheet.Cells(i; 2) > DateBegin And Sheet.Cells(i; 3) <DateEnd) Then

Bum(BumNum + 1) = Sheet.Cells(i; 1)

BumNum = BumNum + 1

End If

i = i + 1

Wend

Set Sheet = Worksheets( "Клієнти")

i = 2

k = 0

While Sheet.Cells(i; 1) < > Empty

If Sheet.Cells(i; 2) > k And Sheet.Cells(i; 2) < > FilialConst Then

k = Sheet.Cells(i; 2)

End If

i = i + 1

Wend

NumberClients = k - DilerConst

DateFlag = True

ReDim mas(NumberClients; BumNum * 7)

ReDim DateMas(NumberClients; BumNum)

ReDim CliInput(NumberClients)

ReDim BumInput(BumNum)

i = 2

Worksheets( "Операції").Select

While Cells(i; 1) < > Empty

If Cells(i; 2) < > DilerConst And Cells(i; 2) < > FilialConst Then

If Cells(i; 1) <teBegin Then

Flag = True

For k = 1 To BumNum ' пошук номера паперу

If Cells(i; 3) = Bum(k) Then

Flag = False

Exit For

End If

Next k

If Flag Then GoTo cont

Sign = 1

If IsEmpty(Cells(i; 4)) Then Sign = -1

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 1) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 1) + Sign * Cells(i; 6)

End If

If Cells(i; 1) > = DateBegin And DateFlag Then

For k = 1 To NumberClients

For m = 1 To BumNum

mas(k; (m - 1) * 7 + 2) = mas(k; (m - 1) * 7 + 1)

Next m

Next k

DateFlag = False

End If

If Cells(i; 1) > = DateBegin And Cells(i; 1) <DateEnd Then

Flag = True

For k = 1 To BumNum

If Cells(i; 3) = Bum(k) Then

Flag = False

Exit For

End If

Next k

If Flag Then GoTo cont

If Cells(i; 7) < > "списання" And Cells(i; 7) < > "зарахування" Then

If Not IsEmpty(Cells(i; 4)) Then

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 3) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 3) + Cells(i; 6)

Else

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 4) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 4) + Cells(i; 6)

End If

If DateMas(Cells(i; 2) - DilerConst; k) < > Cells(i; 1) Then

DateMas(Cells(i; 2) - DilerConst; k) = Cells(i; 1)

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 5) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 5) + 1

End If

End If

If Cells(i; 7) = "списання" Then

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 6) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 6) + Cells(i; 6)

End If

If Cells(i; 7) = "зарахування" Then

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 7) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 7) + Cells(i; 6)

End If

Sign = 1

If IsEmpty(Cells(i; 4)) Then Sign = -1

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 2) = _

mas(Cells(i; 2) - DilerConst; (k - 1) * 7 + 2) + Sign * Cells(i; 6)

End If

End If

cont:

i = i + 1

Wend

For i = 1 To NumberClients

CliInput(i) = False

For k = 1 To BumNum

If mas(i; (k - 1) * 7 + 1) > 0 Or _

mas(i; (k - 1) * 7 + 2) > 0 Or _

mas(i; (k - 1) * 7 + 3) > 0 Or _

mas(i; (k - 1) * 7 + 4) > 0 Or _

mas(i; (k - 1) * 7 + 5) > 0 Or _

mas(i; (k - 1) * 7 + 6) > 0 Or _

mas(i; (k - 1) * 7 + 7) > 0 Then CliInput(i) = True

Next k

Next i

For k = 1 To BumNum

BumInput(k) = False

For i = 1 To NumberClients

If mas(i; (k - 1) * 7 + 1) > 0 Or _

mas(i; (k - 1) * 7 + 2) > 0 Or _

mas(i; (k - 1) * 7 + 3) > 0 Or _

mas(i; (k - 1) * 7 + 4) > 0 Or _

mas(i; (k - 1) * 7 + 5) > 0 Or _

mas(i; (k - 1) * 7 + 6) > 0 Or _

mas(i; (k - 1) * 7 + 7) > 0 Then BumInput(k) = True

Next i

Next k

Worksheets( "ОтчетМесячний").Select

Range(Cells(7; 1); Cells(800; 22)).Delete shift:=xlToLeft

Row = 4

Col = 2

Cells(2; 1) = "за період від " + CStr(DateBegin) + " до " + CStr(DateEnd)

kk = 0

Flag = False

For k = 1 To BumNum

If BumInput(k) Then

Cells(Row; Col) = Bum(k)

Num = 0

For i = 1 To NumberClients

If CliInput(i) Then

If Col = 2 Then

Str = Format(i; "0000000000")

Str = Right(Str; 5)

Cells(Row + Num + 3; Col - 1) "NumberFormat = @"

Cells(Row + Num + 3; Col - 1). Font.Bold = True

Cells(Row + Num + 3; Col - 1). HorizontalAlignment = xlCenter

Cells(Row + Num + 3; Col - 1). Font.Italic = False

Cells(Row + Num + 3; Col - 1). Interior.ColorIndex = 2

Cells(Row + Num + 3; Col - 1) = Str

End If

Cells(Row + Num + 3; Col) = mas(i; (k - 1) * 7 + 1)

Cells(Row + Num + 3; Col + 1) = mas(i; (k - 1) * 7 + 2)

Cells(Row + Num + 3; Col + 2) = mas(i; (k - 1) * 7 + 3)

Cells(Row + Num + 3; Col + 3) = mas(i; (k - 1) * 7 + 4)

Cells(Row + Num + 3; Col + 4) = mas(i; (k - 1) * 7 + 5)

Cells(Row + Num + 3; Col + 5) = mas(i; (k - 1) * 7 + 6)

Cells(Row + Num + 3; Col + 6) = mas(i; (k - 1) * 7 + 7)

Num = Num + 1

End If

Next i

Col = Col + 7

kk = kk + 1

Flag = True

End If

If (kk > 0)( And (kk Mod 3 = 0) And Flag) Or k = BumNum Then

Flag = False

For i = 2 To 22

sum = 0

For m = 1 To NumberClients

sum = sum + Cells(m + 6; i)

Next m

Cells(Num + 7; i) = sum

Cells(Num + 7; i).Font.Bold = True

Cells(Num + 7; i).Interior.ColorIndex = 15

Next i

Cells(Num + 7; 1) = "Разом"

Cells(Num + 7; 1). Font.Bold = True

Cells(Num + 7; 1). HorizontalAlignment = xlCenter

Cells(Num + 7; 1). Interior.ColorIndex = 15

Range(Cells(7; 1); Cells(Num + 7; 22)).Borders(xlLeft). Weight = xlThin

Range(Cells(7; 1); Cells(Num + 7; 22)).Borders(xlRight). Weight = xlThin

Range(Cells(7; 1); Cells(Num + 7; 22)).Borders(xlTop). Weight = xlThin

Range(Cells(7; 1); Cells(Num + 7; 22)).Borders(xlBottom). Weight = xlThin

Range(Cells(7; 1); Cells(Num + 7; 22)).BorderAround Weight:=xlMedium

Range(Cells(7; 9); Cells(Num + 7; 15)).BorderAround Weight:=xlMedium

Cells(Num + 10; 10) = "Відповідальна особа "Ділера_"

If DialogPrint( ОтчетМесячний"; 2) Then Exit Sub

Row = 4

Col = 2

Cells(Row; Col) = " "

Cells(Row; Col + 7) = " "

Cells(Row; Col + 14) = " "

Range(Cells(7; 1); Cells(800; 22)).Delete shift:=xlToLeft

End If

Next k

Worksheets( "СпісокКлієнтов").Select

Num = 5

Range(Cells(Num; 1); Cells(100; 3)). Delete shift:=xlToLeft

For i = 1 To NumberClients

If CliInput(i) Then

k = 2

While Sheet.Cells(k; 2) < > DilerConst + i

k = k + 1

Wend

Cells(Num; 1) = Sheet.Cells(k; 1)

Cells(Num; 2) = Sheet.Cells(k; 2)

Cells(Num; 3) = Sheet.Cells(k; 3)

Cells(Num; 1). HorizontalAlignment = xlLeft

Cells(Num; 2). HorizontalAlignment = xlCenter

Cells(Num; 3). HorizontalAlignment = xlCenter

Cells(Num; 3). WrapText = True

Num = Num + 1

End If

Next i

Cells(2; 1) = "за період від " + CStr(DateBegin) + " до " + CStr(DateEnd)

Range(Cells(5; 1); Cells(Num - 1; 3)). Borders(xlLeft).Weight = xlThin

Range(Cells(5; 1); Cells(Num - 1; 3)). Borders(xlRight).Weight = xlThin

Range(Cells(5; 1); Cells(Num - 1; 3)). Borders(xlTop).Weight = xlThin

Range(Cells(5; 1); Cells(Num - 1; 3)). Borders(xlBottom).Weight = xlThin

Range(Cells(5; 1); Cells(Num - 1; 3)). BorderAround Weight:=xlMedium

Range(Cells(5; 2); Cells(Num - 1; 2)). BorderAround Weight:=xlMedium

Cells(Num + 2; 2) = "Відповідальна особа Ділера_"

With DialogSheets( "ДіалогПечать")

AgainMonthOtch1:

Перегляд = False

ExitVar = False

Button = False.

Show

If Перегляд Then

Worksheets( "СпісокКлієнтов").PrintPreview

GoTo AgainMonthOtch1

End If

If ExitVar Then Exit Sub

If Button Then ActiveWindow.SelectedSheets.PrintOut copies:=2

End With

End Sub

' - Перелік/списання біржа -

Sub GotoBirga()

Dim Sheet As Object

Dim OstIn; OstOut; OstBegin; CliNum As Double

Dim RowNum; k As Long

Dim DoFlag As Boolean

Set Sheet = Worksheets( "ОстаткиБіржа")

Sheet.Range("B2").Sort Key1:=Sheet.Range("B2"); Order1:=xlAscending; _

Key2:=Sheet.Range("A2"); Order2:=xlDescending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

Sheet.Select

CurDate = Worksheets( "Брешемо").Cells(1; 4)

k = 2

While Worksheets( "Клієнти").Cells(k; 1) < > Empty

k = k + 1

Wend

With DialogSheets( "ДіалогБіржа").

DropDowns.ListFillRange = "Клієнти!$У$2:$У$" + CStr(k - 1).

EditBoxes(1).InputType = xlNumber.

EditBoxes(2).InputType = xlNumber.

Show

If Button = False Then

MsgBox "Дані не занесені"

Exit Sub

End If

CliNum =. DropDowns(1).List(. DropDowns(1).ListIndex)

If. EditBoxes(1).Text = "" Then

OstIn = 0

Else

OstIn =. EditBoxes(1).Text

End If

If. EditBoxes(2).Text = "" Then

OstOut = 0

Else

OstOut =. EditBoxes(2).Text

End If

OstBegin = 0

k = 2

DoFlag = True

Do While Cells(k; 1) < > Empty

If Cells(k; 2) = CliNum And DoFlag Then

If Cells(k; 1) <CurDate Then

OstBegin = Cells(k; 6)

Else

MsgBox "Неможливе введення інформації"

Exit Sub

End If

DoFlag = False

End If

k = k + 1

Loop

Cells(k; 1) = CurDate

Cells(k; 2) = CliNum

Cells(k; 3) = OstBegin

Cells(k; 4) = OstIn

Cells(k; 5) = OstOut

Cells(k; 6) = OstBegin + OstIn - OstOut

End With

End Sub

' - Перегляд залишків 812 -

Sub PrintOst()

Dim Sheet; Sheet1 As Object

Dim i; k; CliNum As Long

Dim Ost As Double

CurDate = Worksheets( "Брешемо").Cells(1; 4)

i = 2

While Worksheets( "Операції").Cells(i; 1) < > Empty

If Worksheets( "Операції").Cells(i; 1) = CurDate Then

Call EditOstBirga(Worksheets( "Операції").Cells(i; 2))

End If

i = i + 1

Wend

Set Sheet = Worksheets("Остатки812")

Set Sheet1 = Worksheets( "ОстаткиБіржа")

Sheets( "Клієнти").Select

i = 2

Sheet.Range("B2").Sort Key1:=Sheet.Range("B2"); Order1:=xlAscending; _

Key2:=Sheet.Range("A2"); Order2:=xlDescending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

Sheet1.Range("B2").Sort Key1:=Sheet1.Range("B2"); Order1:=xlAscending; _

Key2:=Sheet1.Range("A2"); Order2:=xlDescending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

While Cells(i; 2) < > Empty

CliNum = Cells(i; 2)

k = 2

Do

If Sheet.Cells(k; 1) = Empty Then

Ost = 0

Exit Do

End If

If Sheet.Cells(k; 2) = CliNum Then

Ost = Sheet.Cells(k; 8)

Exit Do

End If

k = k + 1

Loop

Cells(i; 4) = Ost

k = 2

Do

If Sheet1.Cells(k; 1) = Empty Then

Ost = 0

Exit Do

End If

If Sheet1.Cells(k; 2) = CliNum Then

Ost = Sheet1.Cells(k; 6)

Exit Do

End If

k = k + 1

Loop

Cells(i; 5) = Ost

i = i + 1

Wend

End Sub

' - Друк портфель -

Sub PrintPortfel()

Dim Sheet As Object

Dim i; k; BumNum; m As Long

Dim Bum(ConstMaxBum); DatePog(ConstMaxBum) As Long

Dim Volume(); BiginIndex(); dates(); V() As Integer

Dim Price(); BumPrice(); DohPog(); DohPriobr() As Double

Dim DateMas() As Date

Dim Flag; BumIndex() As Boolean

Dim SumPog1(); SumPog2(); SumPriobr1(); SumPriobr2() As Double

Dim SumPog11; SumPriobr11; SumPog22; SumPriobr22 As Double

Dim BumVol() As Integer

Dim AllVol As Long

Dim PortfelCost; PortfelBalance As Double

CurDate = Worksheets( "Брешемо").Cells(1; 4)

Set Sheet = Worksheets( "Папери")

i = 2

BumNum = 0

While Sheet.Cells(i; 1) < > Empty

If (Sheet.Cells(i; 2) < = CurDate And Sheet.Cells(i; 3) > CurDate) Then

Bum(BumNum + 1) = Sheet.Cells(i; 1)

DatePog(BumNum + 1) = Sheet.Cells(i; 3)

BumNum = BumNum + 1

End If

i = i + 1

Wend

Worksheets( "Операції").Select

Range("B2").Sort Key1:=Range("A2"); Order1:=xlAscending; _

Key2:=Range("D2"); Order2:=xlAscending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

ReDim Volume(BumNum; MaxCount)

ReDim Price(BumNum; MaxCount)

ReDim DateMas(BumNum; MaxCount)

ReDim DohPog(BumNum; MaxCount)

ReDim DohPriobr(BumNum; MaxCount)

ReDim dates(BumNum); V(BumNum); BeginIndex(BumNum)

ReDim BumIndex(BumNum); BumPrice(BumNum)

ReDim SumPog1(BumNum); SumPog2(BumNum); SumPriobr1(BumNum); SumPriobr2(BumNum)

ReDim BumVol(BumNum)

For i = 1 To BumNum

dates(i) = 1

Next i

i = 2

While Cells(i; 1) < > Empty

If Cells(i; 2) = DilerConst And Cells(i; 7) < > "списання" _

And Cells(i; 7) < > "зарахування" Then

Flag = True

For k = 1 To BumNum ' пошук номера паперу

If Cells(i; 3) = Bum(k) Then

Flag = False

Exit For

End If

Next k

If Flag Then GoTo cont

If Cells(i; 1) <= CurDate Then

If Not IsEmpty(Cells(i; 4)) Then

Volume(k; dates(k)) = Cells(i; 6)

Price(k; dates(k)) = Cells(i; 4)

DateMas(k; dates(k)) = Cells(i; 1)

dates(k) = dates(k) + 1

V(k) = V(k) + Cells(i; 6)

Else

V(k) = V(k) - Cells(i; 6)

End If

End If

End If

cont:

i = i + 1

Wend

For k = 1 To BumNum

For i = dates(k) To 1 Step -1

If V(k) > Volume(k; i) Then

V(k) = V(k) - Volume(k; i)

Else

Volume(k; i) = V(k)

BeginIndex(k) = i

Exit For

End If

Next i

Next k

For k = 1 To BumNum

BumIndex(k) = False

If V(k) > 0 Then BumIndex(k) = True

Next k

i = 2

While Cells(i; 1) < = CurDate And Cells(i; 1) < > Empty

If (Cells(i; 1) = CurDate And Cells(i; 2) = DilerConst) _

And (Cells(i; 7) < > "зарахування" And Cells(i; 7) < > "списання") Then

For k = 1 To BumNum

If Cells(i; 3) = Bum(k) Then

BumIndex(k) = True

End If

Next k

End If

i = i + 1

Wend

i = 2

Set Sheet = Worksheets( "Біржа")

Flag = True

While Sheet.Cells(i; 1) < > Empty

If Sheet.Cells(i; 1) = CurDate Then

Flag = False

For k = 1 To BumNum

If Sheet.Cells(i; 2) = Bum(k) Then

If Sheet.Cells(i; 6) > 0 Then

BumPrice(k) = Sheet.Cells(i; 6)

Else

BumPrice(k) = 0

End If

End If

Next k

End If

i = i + 1

Wend

If Flag Then

MsgBox "Біржової інформації немає. Портфель сформувати неможливо."

Exit Sub

End If

Worksheets("Портфель1").Select

Cells(4; 3) = CurDate

Range( "A7:)(H200").Delete shift:=xlToLeft

m = 7

PortfelCost = 0

PortfelBalance = 0

For k = 1 To BumNum

If Volume(k; BeginIndex(k)) > 0 Then

For i = BeginIndex(k) To dates(k)

If Volume(k; i) > 0 Then

Cells(m; 1) = Bum(k)

Cells(m; 1). NumberFormat = "0"

Cells(m; 2) = DateMas(k; i)

Cells(m; 2) "NumberFormat = ДД. ММ. ГГ"

Cells(m; 3) = Price(k; i)

Cells(m; 3). NumberFormat = "0,00"

Cells(m; 4) = Volume(k; i)

Cells(m; 4). NumberFormat = "0"

DohPog(k; i) = (100 / Price(k; i) - 1) * 36500 / (DatePog(k) - DateMas(k; i))

Cells(m; 5) = DohPog(k; i)

Cells(m; 5). NumberFormat = "0,00"

Cells(m; 8). NumberFormat = "0"

Dim tmp As Long

tmp = CurDate - DateMas(k; i)

Cells(m; 8) = tmp

PortfelBalance = PortfelBalance + Price(k; i) * Volume(k; i)

If BumPrice(k) > 0 Then

PortfelCost = PortfelCost + BumPrice(k) * Volume(k; i)

Else

PortfelCost = PortfelCost + Price(k; i) * Volume(k; i)

End If

If BumPrice(k) > 0 Then

Cells(m; 6) = BumPrice(k)

Cells(m; 6). NumberFormat = "0,00"

If CurDate < > DateMas(k; i) Then

DohPriobr(k; i) = (BumPrice(k) / Price(k; i) - 1) * 36500 / (CurDate - DateMas(k; i))

Cells(m; 7) = DohPriobr(k; i)

Cells(m; 7). NumberFormat = "0,00"

End If

End If

m = m + 1

End If

Next i

Range(Cells(m; 1); Cells(m; 8)). Interior.ColorIndex = 15

m = m + 1

End If

Next k

Range(Cells(7; 1); Cells(m - 1; 8)). Borders(xlLeft).Weight = xlThin

Range(Cells(7; 1); Cells(m - 1; 8)). Borders(xlRight).Weight = xlThin

Range(Cells(7; 1); Cells(m - 1; 8)). Borders(xlTop).Weight = xlThin

Range(Cells(7; 1); Cells(m - 1; 8)). Borders(xlBottom).Weight = xlThin

Range(Cells(7; 1); Cells(m - 1; 8)). BorderAround Weight:=xlMedium

If DialogPrint("Портфель1"; 1) Then Exit Sub

Worksheets("Портфель2").Select

Cells(4; 3) = CurDate

SumPog11 = 0

SumPog22 = 0

SumPriobr11 = 0

SumPriobr22 = 0

AllVol = 0

m = 7

Range( "A7:)(H200").Delete shift:=xlToLeft

For k = 1 To BumNum

If Volume(k; BeginIndex(k)) > 0 Then

SumPog1(k) = 0

SumPog2(k) = 0

SumPriobr1(k) = 0

SumPriobr2(k) = 0

BumVol(k) = 0

For i = BeginIndex(k) To dates(k)

If Volume(k; i) > 0 Then

SumPog1(k) = SumPog1(k) + DohPog(k; i) * Volume(k; i) * (DatePog(k) - DateMas(k; i))

SumPog2(k) = SumPog2(k) + Volume(k; i) * (DatePog(k) - DateMas(k; i))

If CurDate < > DateMas(k; i) Then

SumPriobr1(k) = SumPriobr1(k) + DohPriobr(k; i) * Volume(k; i) * (CurDate - DateMas(k; i))

SumPriobr2(k) = SumPriobr2(k) + Volume(k; i) * (CurDate - DateMas(k; i))

End If

SumPog11 = SumPog11 + SumPog1(k)

SumPog22 = SumPog22 + SumPog2(k)

SumPriobr11 = SumPriobr11 + SumPriobr1(k)

SumPriobr22 = SumPriobr22 + SumPriobr2(k)

BumVol(k) = BumVol(k) + Volume(k; i)

AllVol = AllVol + Volume(k; i)

End If

Next i

Cells(m; 1) = Bum(k)

Cells(m; 1). NumberFormat = "0"

Cells(m; 2) = BumVol(k)

Cells(m; 2). NumberFormat = "0"

Cells(m; 3) = SumPog1(k) / SumPog2(k)

Cells(m; 3). NumberFormat = "0,00"

If SumPriobr2(k) > 0 And SumPriobr1(k) > 0 Then

Cells(m; 4) = SumPriobr1(k) / SumPriobr2(k)

Cells(m; 4). NumberFormat = "0,00"

End If

m = m + 1

End If

Next k

Cells(m; 1) = "Разом"

Cells(m; 1). Font.Bold = True

Cells(m; 1). HorizontalAlignment = xlCenter

Cells(m; 2) = AllVol

Cells(m; 2). NumberFormat = "0"

Cells(m; 3) = SumPog11 / SumPog22

Cells(m; 3). NumberFormat = "0,00"

Cells(m; 4) = SumPriobr11 / SumPriobr22

Cells(m; 4). NumberFormat = "0,00"

Range(Cells(m; 1); Cells(m; 4)). Interior.ColorIndex = 15

Range(Cells(7; 1); Cells(m; 4)). Borders(xlLeft).Weight = xlThin

Range(Cells(7; 1); Cells(m; 4)). Borders(xlRight).Weight = xlThin

Range(Cells(7; 1); Cells(m; 4)). Borders(xlTop).Weight = xlThin

Range(Cells(7; 1); Cells(m; 4)). Borders(xlBottom).Weight = xlThin

Range(Cells(7; 1); Cells(m; 4)). BorderAround Weight:=xlMedium

Range(Cells(m; 1); Cells(m; 4)). BorderAround Weight:=xlMedium

Cells(m + 1; 1) = "Вартість портфеля по балансу"

Cells(m + 2; 1) = "Поточна вартість потфеля"

Cells(m + 1; 1). Font.Bold = True

Cells(m + 2; 1). Font.Bold = True

Range(Cells(m + 1; 1); Cells(m + 2; 4)). BorderAround Weight:=xlMedium

Cells(m + 1; 4) = PortfelBalance * 10

Cells(m + 1; 4). NumberFormat = "### ### ###, 00"

Cells(m + 1; 4). Font.Bold = True

Cells(m + 2; 4) = PortfelCost * 10

Cells(m + 2; 4). NumberFormat = "### ### ###, 00"

Cells(m + 2; 4). Font.Bold = True

If DialogPrint("Портфель2"; 1) Then Exit Sub

End Sub

' - Друк Журналу лицьового обліку -

Sub PrintMagazine()

Dim Sheet As Object

Dim i; k; BumNum; m; m1; j As Long

Dim Bum(ConstMaxBum) As Long

Dim Volume(); BiginIndex(); dates(); V(); Vol As Integer

Dim sum; Price() As Double

Dim DateMas() As Date

Dim Flag; BumIndex() As Boolean

Dim ComBirga; ComMas(); MagMas(); Mag(4) As Double

CurDate = Worksheets( "Брешемо").Cells(1; 4)

i = 2

Flag = True

Do While Worksheets( "Операції").Cells(i; 1) < > Empty

If Worksheets( "Операції").Cells(i; 1) = CurDate And _

Worksheets( "Операції").Cells(i; 2) = DilerConst Then

Flag = False

Exit Do

End If

i = i + 1

Loop

If Flag Then

MsgBox "Операцій в поточний день не було"

Exit Sub

End If

Set Sheet = Worksheets( "Папери")

i = 2

BumNum = 0

While Sheet.Cells(i; 1) < > Empty

If (Sheet.Cells(i; 2) < = CurDate And Sheet.Cells(i; 3) > = CurDate) Then

Bum(BumNum + 1) = Sheet.Cells(i; 1)

BumNum = BumNum + 1

End If

i = i + 1

Wend

Worksheets( "Операції").Select

Range("B2").Sort Key1:=Range("A2"); Order1:=xlAscending; _

Key2:=Range("D2"); Order2:=xlAscending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

ReDim Volume(BumNum; MaxCount)

ReDim Price(BumNum; MaxCount)

ReDim DateMas(BumNum; MaxCount)

ReDim dates(BumNum); V(BumNum); BeginIndex(BumNum)

ReDim BumIndex(BumNum); ComMas(BumNum)

ReDim MagMas(BumNum; 4)

For i = 1 To BumNum

ComMas(i) = 0

dates(i) = 1

Next i

i = 2

While Cells(i; 1) < > Empty And CurDate > Cells(i; 1)

If Cells(i; 2) = DilerConst And Cells(i; 7) < > "списання" _

And Cells(i; 7) < > "зарахування" Then

Flag = True

For k = 1 To BumNum ' пошук номера паперу

If Cells(i; 3) = Bum(k) Then

Flag = False

Exit For

End If

Next k

If Flag Then GoTo cont

If Not IsEmpty(Cells(i; 4)) Then

Volume(k; dates(k)) = Cells(i; 6)

Price(k; dates(k)) = Cells(i; 4)

DateMas(k; dates(k)) = Cells(i; 1)

dates(k) = dates(k) + 1

V(k) = V(k) + Cells(i; 6)

Else

V(k) = V(k) - Cells(i; 6)

End If

End If

cont:

i = i + 1

Wend

For k = 1 To BumNum

For i = dates(k) To 1 Step -1

If V(k) > Volume(k; i) Then

V(k) = V(k) - Volume(k; i)

Else

Volume(k; i) = V(k)

BeginIndex(k) = i

Exit For

End If

Next i

Next k

For k = 1 To BumNum

BumIndex(k) = False

If V(k) > 0 Then BumIndex(k) = True

Next k

ComBirga = Worksheets( "Інфо").Cells(1; 2)

i = 2

While Cells(i; 1) < > Empty

If (Cells(i; 1) = CurDate And Cells(i; 2) = DilerConst) _

And (Cells(i; 7) < > "зарахування" And Cells(i; 7) < > "списання") Then

For k = 1 To BumNum

If Cells(i; 3) = Bum(k) Then

BumIndex(k) = True

If Not IsEmpty(Cells(i; 4)) Then

ComMas(k) = ComMas(k) + Format(Cells(i; 4) * Cells(i; 6) * ComBirga * 0,1 + 0,0001; "0,00")

Else

If Cells(i; 5) < > 100 Then

ComMas(k) = ComMas(k) + Format(Cells(i; 5) * Cells(i; 6) * ComBirga * 0,1 + 0,0001; "0,00")

End If

End If

End If

Next k

End If

i = i + 1

Wend

Set Sheet = Worksheets( "Операції")

Worksheets( "Журнал лицьового обліку").Select

Cells(5; 1) = CurDate

Cells(49; 2) = ComBirga

Купівля = False

Продаж = False

Vol = 0

sum = 0

For k = 1 To BumNum

If BumIndex(k) Then

m = 7

Range( "A7:)(C43").ClearContents

Range( "E7:)(G43").ClearContents

Vol = 0

sum = 0

For i = BeginIndex(k) To dates(k)

If Volume(k; i) > 0 Then

Cells(m; 1) = DateMas(k; i)

Cells(m; 2) = Volume(k; i)

Cells(m; 3) = Format(Price(k; i); "0,00")

Vol = Vol + Volume(k; i)

sum = sum + Format(Price(k; i); "0,00") * Volume(k; i) * 10

m = m + 1

End If

Next i

Cells(6; 2) = Vol

Cells(6; 4) = sum

Cells(49; 3) = ComMas(k)

Cells(5; 3) = "CStr(Bum(k)) + MFTS"

i = 2

m1 = 7

j = BeginIndex(k)

While Sheet.Cells(i; 1) < > Empty

If Sheet.Cells(i; 1) = CurDate And Sheet.Cells(i; 3) = Bum(k) And _

Sheet.Cells(i; 7) < > "зарахування" And Sheet.Cells(i; 7) < > "списання" And _

Sheet.Cells(i; 2) = DilerConst Then

If Not IsEmpty(Sheet.Cells(i; 4)) Then

Купівля = True

Cells(m; 1) = Sheet.Cells(i; 1)

Cells(m; 2) = Sheet.Cells(i; 6)

Cells(m; 3) = Sheet.Cells(i; 4)

Volume(k; dates(k)) = Sheet.Cells(i; 6)

Price(k; dates(k)) = Sheet.Cells(i; 4)

DateMas(k; dates(k)) = Sheet.Cells(i; 4)

dates(k) = dates(k) + 1

m = m + 1

Else

Продаж = True

Vol = Sheet.Cells(i; 6)

If Vol < Volume(k; j) Then

Cells(m1; 5) = Vol

Cells(m1; 6) = Format(Price(k; j); "0,00")

Cells(m1; 7) = Sheet.Cells(i; 5)

Volume(k; j) = Volume(k; j) - Sheet.Cells(i; 6)

m1 = m1 + 1

Else

If Volume(k; j) = 0 Then j = j + 1

While Vol > Volume(k; j) And Volume(k; j) < > Empty

Cells(m1; 5) = Volume(k; j)

Cells(m1; 6) = Format(Price(k; j); "0,00")

Cells(m1; 7) = Sheet.Cells(i; 5)

Vol = Vol - Volume(k; j)

j = j + 1

m1 = m1 + 1

Wend

If Volume(k; j) < > Empty Then

Cells(m1; 5) = Vol

Cells(m1; 6) = Format(Price(k; j); "0,00")

Cells(m1; 7) = Sheet.Cells(i; 5)

Volume(k; j) = Volume(k; j) - Vol

m1 = m1 + 1

End If

End If

End If

End If

i = i + 1

Wend

no_do:

MagMas(k; 1) = Format(Cells(46; 3); "0,00")

MagMas(k; 2) = Format(Cells(47; 3); "0,00")

MagMas(k; 3) = Format(Cells(48; 3); "0,00")

MagMas(k; 4) = Format(Cells(45; 4); "0,00")

If DialogPrint( "Журнал лицьового обліку"; 1) Then Exit Sub

End If

Next k

' Формування журналу оборотів

Worksheets( "ЖурналОборотов").Select

Cells(6; 1) = CurDate

Range(Cells(7; 1); Cells(100; 6)). Delete shift:=xlToLeft

m = 7

For k = 1 To BumNum

If BumIndex(k) Then

Cells(m; 1) = "CStr(Bum(k)) + MFTS"

Cells(m; 2) = MagMas(k; 1)

Cells(m; 3) = MagMas(k; 2)

Cells(m; 4) = MagMas(k; 3)

Cells(m; 5) = MagMas(k; 4)

Cells(m; 6) = ComMas(k)

Cells(m; 1). Font.Bold = True

Cells(m; 2). NumberFormat = "0,00"

Cells(m; 3). NumberFormat = "0,00"

Cells(m; 4). NumberFormat = "0,00"

Cells(m; 5). NumberFormat = "0,00"

Cells(m; 6). NumberFormat = "0,00"

m = m + 1

End If

Next k

For i = 2 To 6

sum = 0

For m1 = 7 To m - 1

sum = sum + Cells(m1; i)

Next m1

Cells(m; i) = sum

Cells(m; i).NumberFormat = "0,00"

Next i

Mag(1) = Cells(m; 2)

Mag(2) = Cells(m; 3)

Mag(3) = Cells(m; 4)

Mag(4) = Cells(m; 6)

If Cells(m; 2) > 0 Then Cells(m + 1; 2) = "Дт" + S192

If Cells(m; 2) < 0 Then Cells(m + 1; 2) = "Кт" + S192

If Cells(m; 3) > 0 Then Cells(m + 1; 3) = "Дт" + S904

If Cells(m; 3) < 0 Then Cells(m + 1; 3) = "Кт" + S904

If Cells(m; 4) > 0 Then Cells(m + 1; 4) = "Кт" + S960

If Cells(m; 4) < 0 Then Cells(m + 1; 4) = "Дт" + S970

Cells(m + 1; 6) = "Дт" + S970

Range(Cells(m + 1; 2); Cells(m + 2; 6)). HorizontalAlignment = xlCenter

Range(Cells(m + 1; 1); Cells(m + 1; 6)). Interior.ColorIndex = 15

Cells(m + 2; 6) = "Кт" + S904

Cells(m + 2; 6). Interior.ColorIndex = 15

Range(Cells(7; 1); Cells(m - 1; 6)). Borders(xlRight).Weight = xlThin

Range(Cells(m; 1); Cells(m; 6)). Borders(xlRight).LineStyle = xlDouble

Range(Cells(m; 1); Cells(m; 6)). Borders(xlLeft).LineStyle = xlDouble

Range(Cells(m; 1); Cells(m; 6)). Borders(xlTop).LineStyle = xlDouble

Range(Cells(m; 1); Cells(m; 6)). Borders(xlBottom).LineStyle = xlDouble

Cells(m + 2; 4) = "Підпис відповідального"

Cells(m + 3; 4) = "співробітника"

Range(Cells(m + 2; 4); Cells(m + 3; 4)). Font.Size = 8

Range(Cells(m + 2; 4); Cells(m + 3; 4)). HorizontalAlignment = xlLeft

Range(Cells(7; 1); Cells(m + 4; 6)). BorderAround Weight:=xlMedium

Range(Cells(m + 2; 3); Cells(m + 4; 3)). Borders(xlRight).Weight = xlThin

Range(Cells(m + 1; 1); Cells(m + 1; 5)). Borders(xlBottom).Weight = xlThin

Cells(m + 2; 6). Borders(xlLeft).Weight = xlThin

Cells(m + 2; 6). Borders(xlBottom)."Weight = xlThin

If DialogPrint( ЖурналОборотов"; 1) Then Exit Sub

' друк меморіального ордера

Dim StrS As String

With DialogSheets( "ДіалогОперация").

Show

If. OptionButtons(1).Value = xlOn Then StrS = "Купівля"

If. OptionButtons(2).Value = xlOn Then StrS = "Продаж"

If. OptionButtons(3).Value = xlOn Then StrS = "Погашення"

If. OptionButtons(4).Value = xlOn Then StrS = "Купівля / Продаж"

If. OptionButtons(5).Value = xlOn Then StrS = "Купівля / Погашення"

End With

Worksheets( "Ордер").Select

i = CInt(InputBox( "Введіть номер 1-го ордера"))

If Mag(1) > 0 Then

If Mag(2) <0 Then

If MemoOrder(i; min(Mag(1); Mag(2)); S192; S904; 0; _

StrS + " РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

If Mag(3) > 0 Then

If MemoOrder(i; min(Mag(1); Mag(3)); S192; S960; 0; _

"Дохід від продажу РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

End If

If Mag(2) > 0 Then

If Mag(1) <0 Then

If MemoOrder(i; min(Mag(2); Mag(1)); S904; S192; 0; _

StrS + " РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

If Mag(3) > 0 Then

If MemoOrder(i; min(Mag(2); Mag(3)); S904; S960; 0; _

"Дохід від продажу РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

End If

If Mag(3) < Then

If Mag(1) <0 Then

If MemoOrder(i; min(Mag(3); Mag(1)); SR970; S192; 0; _

"Негативна різниця від продажу РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

If Mag(2) <0 Then

If MemoOrder(i; min(Mag(3); Mag(2)); SR970; S904; 0; _

"Негативна різниця від продажу РКО за " + CStr(CurDate)) Then Exit Sub

i = i + 1

End If

End If

If Format(Mag(4)) > 0 Then

If MemoOrder(i; Mag(4); S970; S904; 0; _

"Комісія ВКБ в т. ч. ПДВ " + CStr(Format(Mag(4) / 6; "0,00"))) Then Exit Sub

End If

End Sub

' - Memo Order

Function MemoOrder(Num; sum As Double; n1; n2; Pos As Integer; Order As String)

Dim i As Integer

Dim Flag As Boolean

Dim Str; Str1 As String

Str1 = ""

Str = CStr(sum)

Str = Format(Str; "000000000000,00")

Flag = False

For i = 1 To Len(Str)

If Mid(Str; i; 1) = "," Then

If CInt(Right(Str; 2)) = 0 Then

Str1 = Str1 + "="

Exit For

Else

Str1 = Str1 + "-"

End If

Else

If Mid(Str; i; 1) < > "0" Then Flag = True

If Mid(Str; i; 1) < > "0" Or Flag Then Str1 = Str1 + Mid(Str; i; 1)

End If

Next i

Cells(3; 6) = Str1

If Pos > 0 Then

If n1 > 6 Then

Cells(5; 6) = Worksheets( "Клієнти").Cells(2; n1)

Else

Cells(5; 6) = Worksheets( "Клієнти").Cells(Pos; n1)

End If

If n2 > 6 Then

Cells(10; 6) = Worksheets( "Клієнти").Cells(2; n2)

Else

Cells(10; 6) = Worksheets( "Клієнти").Cells(Pos; n2)

End If

Else

Cells(5; 6) = n1

Cells(10; 6) = n2

End If

Cells(16; 1) = Order

Cells(1; 6) = Num

Range( "A1:)(H24").Copy

Range("A32").Select

ActiveSheet.Paste

If DialogPrint( "Ордер"; 2) Then

MemoOrder = True

Else

MemoOrder = False

End If

End Function

' - Друк біржової інформації -

Sub PrintBirgaInfo()

Dim Sheet As Object

Dim Flag As Boolean

Dim i; n; k; Num As Long

Dim mas(3) As Double

Set Sheet = Worksheets( "Біржа")

CurDate = Worksheets( "Брешемо").Cells(1; 4)

Sheets( "Біржова Інформація").Select

Cells(3; 10) = CurDate

For i = 1 To 3

mas(i) = 0

Next i

i = 2

n = 7

Range(Cells(n; 1); Cells(n + 100; 17)).Delete shift:=xlToLeft

Flag = True

Do While Sheet.Cells(i; 1) < > Empty

If Sheet.Cells(i; 1) = CurDate Then

Flag = False

Cells(n; 1) = Sheet.Cells(i; 2)

Cells(n; 7) = Sheet.Cells(i; 3)

Cells(n; 9) = Sheet.Cells(i; 4)

Cells(n; 10) = Sheet.Cells(i; 5)

Cells(n; 5). Font.Bold = True

Cells(n; 11) = Sheet.Cells(i; 6)

Cells(n; 11). Font.Bold = True

Cells(n; 12) = Sheet.Cells(i; 7)

Cells(n; 13) = Sheet.Cells(i; 8)

k = 2

While Worksheets( "Папери").Cells(k; 1) < > Empty

If Worksheets( "Папери").Cells(k; 1) = Cells(n; 1) Then

Cells(n; 2) = Worksheets( "Папери").Cells(k; 2)

Cells(n; 3) = Worksheets( "Папери").Cells(k; 3)

Cells(n; 6) = Worksheets( "Папери").Cells(k; 4)

End If

k = k + 1

Wend

Cells(n; 2) "NumberFormat = ДД. ММ. ГГ"

Cells(n; 3) "NumberFormat = ДД. ММ. ГГ"

Cells(n; 6). NumberFormat = "# ##0"

Cells(n; 9). NumberFormat = "# ##0"

Range(Cells(n; 10); Cells(n; 17)).NumberFormat = "0,00"

Cells(n; 4) = Cells(3; 10) - Cells(n; 2)

Cells(n; 5) = Cells(n; 3) - Cells(3; 10)

Cells(n; 8) = Cells(n; 9) / Cells(n; 6) * 100

Cells(n; 8). NumberFormat = "0,00"

If Cells(n; 7) < > 0 And Cells(n; 5) < > 0 Then

Cells(n; 14) = (100 / Cells(n; 10) - 1) * 36500 / Cells(n; 5) * 0,85

Cells(n; 15) = (100 / Cells(n; 10) - 1) * 36500 / Cells(n; 5)

Cells(n; 16) = (100 / Cells(n; 11) - 1) * 36500 / Cells(n; 5) * 0,85

Cells(n; 16). Font.Bold = True

Cells(n; 17) = (100 / Cells(n; 11) - 1) * 36500 / Cells(n; 5)

mas(1) = mas(1) + Cells(n; 5) * Cells(n; 9) * Cells(n; 14)

mas(2) = mas(2) + Cells(n; 5) * Cells(n; 9) * Cells(n; 16)

mas(3) = mas(3) + Cells(n; 5) * Cells(n; 9)

End If

n = n + 1

End If

i = i + 1

Loop

If Flag Then

MsgBox "Біржової інформації немає"

Exit Sub

End If

Num = n

Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlLeft). Weight = xlThin

Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlRight). Weight = xlThin

Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlTop). Weight = xlThin

Range(Cells(7; 1); Cells(Num - 1; 17)).Borders(xlBottom). Weight = xlThin

Range(Cells(7; 1); Cells(Num - 1; 17)).BorderAround Weight:=xlMedium

Cells(Num; 1) = "Разом"

Cells(Num; 1). Font.Bold = True

Cells(Num; 1). HorizontalAlignment = xlCenter

Cells(Num; 14) = mas(1) / mas(3)

Cells(Num; 15) = mas(1) / mas(3) / 0,85

Cells(Num; 16) = mas(2) / mas(3)

Cells(Num; 16). Font.Bold = True

Cells(Num; 17) = mas(2) / mas(3) / 0,85

Range(Cells(Num; 14); Cells(Num; 17)).NumberFormat = "0,00"

For i = 1 To 3

mas(i) = 0

Next i

For i = 7 To Num - 1

mas(1) = mas(1) + Cells(i; 6)

mas(2) = mas(2) + Cells(i; 7)

mas(3) = mas(3) + Cells(i; 9)

Next

Cells(Num; 6) = mas(1)

Cells(Num; 6). NumberFormat = "# ##0"

Cells(Num; 7) = mas(2)

Cells(Num; 9) = mas(3)

Cells(Num; 9). NumberFormat = "# ##0"

Cells(Num; 8) = mas(3) / mas(1) * 100

Cells(Num; 8). NumberFormat = "0,00"

Cells(Num; 7). Font.Bold = True

Cells(Num; 9). Font.Bold = True

Range(Cells(Num; 1); Cells(Num; 17)).BorderAround Weight:=xlMedium

Range(Cells(Num; 1); Cells(Num; 17)).Interior. ColorIndex = 15

If DialogPrint( "Біржова Інформація"; 1) Then Exit Sub

End Sub

' - Дата -

Sub DateChange()

With DialogSheets( "ДіалогДата").

EditBoxes.Text = CurDate.

EditBoxes.InputType = 1.

Show

CurDate = Worksheets( "Брешемо").Cells(1; 4)

If Button = False Then

CurDate = Date

Worksheets( "Брешемо").Cells(1; 4) = CurDate

MsgBox "Дата відновлена"

Else

If IsDate(. EditBoxes.Text) Then

CurDate =. EditBoxes.Text

MsgBox "Дата змінена"

Worksheets( "Брешемо").Cells(1; 4) = CurDate

Exit Sub

End If

MsgBox "Помилка при введенні дати"

End If

End With

End Sub

' - Формування поточної таблиці паперів -

Sub FormBum()

Dim L As Object

Dim i; k As Integer

Set L = Worksheets( "Папери")

CurDate = Worksheets( "Брешемо").Cells(1; 4)

i = 2

k = 1

While L.Cells(i; 1) < > Empty

If L.Cells(i; 2) < = CurDate And L.Cells(i; 3) > = CurDate Then

Worksheets( "Брешемо").Cells(k; 1) = L.Cells(i; 1)

k = k + 1

End If

i = i + 1

Wend

Worksheets( "Брешемо").Cells(1; 2) = k - 1

Set L = Worksheets( "Клієнти")

i = 1

While L.Cells(i; 1) < > Empty

i = i + 1

Wend

Worksheets( "Брешемо").Cells(1; 3) = i - 2

End Sub

' - Залишки на біржі -

Sub EditOstBirga(CliNum As Long)

Dim ComBirga; sum; OstBegin As Double

Dim DoFlag As Boolean

Dim Sheet; Sheet1 As Object

Dim i; k; RowNum As Long

Set Sheet = Worksheets( "ОстаткиБіржа")

Set Sheet1 = Worksheets( "Операції")

CurDate = Worksheets( "Брешемо").Cells(1; 4)

ComBirga = Worksheets( "Інфо").Cells(1; 2)

Sheet.Range("B2").Sort Key1:=Sheet.Range("B2"); Order1:=xlAscending; _

Key2:=Sheet.Range("A2"); Order2:=xlDescending; _

Header:=xlYes; OrderCustom:=1; _

MatchCase:=False; Orientation:=xlTopToBottom

OstBegin = 0

RowNum = 0

k = 2

DoFlag = True

Do While Sheet.Cells(k; 1) < > Empty

If Sheet.Cells(k; 2) = CliNum And DoFlag Then

If Sheet.Cells(k; 1) <CurDate Then

OstBegin = Sheet.Cells(k; 6)

Else

Do While Sheet.Cells(k; 1) < > Empty

If Sheet.Cells(k; 2) < > CliNum Then Exit Do

If Sheet.Cells(k; 1) = CurDate Then

OstBegin = Sheet.Cells(k; 3)

RowNum = k

Exit Do

End If

k = k + 1

Loop

End If

DoFlag = False

End If

k = k + 1

Loop

If RowNum = 0 Then RowNum = k

k = RowNum

sum = 0

i = 2

While Sheet1.Cells(i; 1) < > Empty

If Sheet1.Cells(i; 1) = CurDate And Sheet1.Cells(i; 2) = CliNum Then

If Sheet1.Cells(i; 4) < > Empty Then

sum = sum - _

Sheet1.Cells(i; 4) * Sheet1.Cells(i; 6) * 10000 - _

Format(Sheet1.Cells(i; 4) * Sheet1.Cells(i; 6) * 100 * ComBirga + 0,0001; "0,00")

Else

If Sheet1.Cells(i; 5) = 100 Then ComBirga = 0

sum = sum + _

Sheet1.Cells(i; 5) * Sheet1.Cells(i; 6) * 10000 - _

Format(Sheet1.Cells(i; 5) * Sheet1.Cells(i; 6) * 100 * ComBirga + 0,0001; "0,00")

End If

End If

i = i + 1

Wend

Sheet.Cells(k; 3) = OstBegin

Sheet.Cells(k; 6) = OstBegin + sum + Sheet.Cells(k; 4)

Sheet.Cells(k; 1) = CurDate

Sheet.Cells(k; 2) = CliNum

End Sub

Sub Ok()

Button = True

End Sub

Sub Cancel()

Button = False

End Sub

Sub ПросмотрОтчетов ()

Перегляд = True

End Sub

Sub Останов ()

ExitVar = True

End Sub

Sub EndOf()

Dim i As Long

i = 2

While Cells(i; 1) < > Empty

i = i + 1

Wend

Cells(i; 1). Select

End Sub

Function DialogPrint(Str As String; Count As Integer)

With DialogSheets( "ДіалогПечать")

AgainView:

Перегляд = False

ExitVar = False

Button = False.

Show

If Перегляд Then

Worksheets(Str).PrintPreview

GoTo AgainView

End If

If ExitVar Then

DialogPrint = True

Else

DialogPrint = False

End If

If Button Then ActiveWindow.SelectedSheets.PrintOut copies:=Count

End With

End Function

Function min(a; b)

If Abs(a) > Abs(b) Then

min = Abs(b)

Else

min = Abs(a)

End If

End Function

Додаток № 1.3. Журнал оборотів.

Додаток № 1.4. Журнал лицьового обліку.

Додаток № 1.5. Меморіальний ордер.

Додаток № 1.6. Звіт інвестору про довершені операції.

Додаток № 1.7. Структура пртфеля в розрізі по паперах.

Додаток № 1.8. Структура портфеля узагальнена.

Додаток № 1.9. Біржова інформація.

Додаток № 1.10. Щотижневий звіт в депозитарій.

Додаток № 1.11. Щомісячний звіт в депозитарій.

Додаток № 2. Програма аналізу ефективності вкладень в РКО.

Додаток 2.1. Текст програми.

Option Explicit

Option Base 1

'*************************** Сортування *************************

' Процедура сортування сторінки

' Параметри:

' Sheet - лист

' RangeSort - перший осередок для сортування

' StrKey1 - сортування спочатку проводиться по цьому стовпцю

' StrKey2 - а потім по цьому

' StrKey3 - і по цьому в останню чергу

' OrderType1 - Напрям сортування по стовпцю StrKey1

' OrderType2 - Напрям сортування по стовпцю StrKey2

' OrderType3 - Напрям сортування по стовпцю StrKey3

' Приклад використання:

' Call Сортування (Worksheets( "Біржа"); "A2"; "A2"; "B2"; "C2"; xlAscending; xlDescending; xlAscending)

'*****************************************************************

Sub Сортування (Sheet As Object; RangeSort As String; StrKey1 As String; _

StrKey2 As String; StrKey3 As String; TypeOrder1 As Integer; TypeOrder2 As Integer; TypeOrder3 As Integer)

Sheet.Range(RangeSort).Sort Key1:=Sheet.Range(StrKey1); Order1:=TypeOrder1; Key2:= _

Sheet.Range(StrKey2); Order2:=TypeOrder2; Key3:=Sheet.Range(StrKey3); Order3:= _

TypeOrder3; Header:=xlGuess; OrderCustom:=1; MatchCase:=False _;

Orientation:=xlTopToBottom

End Sub

'******************************* Пошук ***************************

' Функція пошуку значення в певному стовпці з певної позиції уперед/назад

' Параметри:

' Sheet - лист

' Column - колонка для пошуку

' Row - початковий рядок пошуку

' Text - шукане значення

' Direction - напрям пошуку:

' 1 - уперед

' -1 - назад

' Приклад використання:

' MsgBox Пошук (Worksheets( "Біржа"); 4; 8; 5; -1)

'*******************************************************************

Function Пошук (Sheet As Object; Column As Integer; Row As Integer; Text; Direction As Integer)

Dim i As Integer

Dim Compare; Compare1

If Direction < > 1 And Direction < > -1 Then

MsgBox "Невірно заданий напрям пошуку"

End

End If

On Error GoTo ErrorFuncFind

i = Row

While Not IsEmpty(Sheet.Cells(i; Column))

If IsDate(Text) Then

Compare = CDate(Sheet.Cells(i; Column))

Compare1 = CDate(Text)

Else

If IsNumeric(Text) Then

Compare = CDbl(Sheet.Cells(i; Column))

Compare1 = CDbl(Text)

Else

Compare = CStr(Sheet.Cells(i; Column))

Compare1 = CStr(Text)

End If

End If

If Compare = Compare1 Then

Пошук = i

Exit Function

End If

i = i + Direction

Wend

Пошук = 0

Exit Function

ErrorFuncFind:

MsgBox "Неспівпадання типів даних у виклику" + Chr(13) + "функції Пошук і в шуканому стовпці." _

+ Chr(13) + Chr(13) + "Дані різних типів в стовпці бази" + Chr(13)

End

End Function

Option Explicit

Option Base 1

' - Загальна частина -

' зовнішні параметри

' тип даних для запису інформації про папір

Type BumRecord

Num As Long ' номер паперу

DateStart As Date ' дата випуску

DateEnd As Date ' дата погашення

Volume As Long ' обсяг випуску

Present As Boolean

End Type

' тип даних для запису інформації про структуру портфеля

Type PortfelRecord

Dates() As Date ' дата купівлі

Price() As Single ' ціна купівлі

Volume() As Long ' кількість

StartPos() As Integer ' початковий індекс паперу в масиві паперів даної серії

EndPos() As Integer ' кінцевий індекс паперу в масиві паперів даної серії

VolumeAll() As Long ' кількість паперів даної серії в портфелі

End Type

' тип даних для запису інформації об индксах портфеля і ринку

Type IndexRecord

Dates As Date

Portfel As Single

Birga As Single

End Type

Const MaxBum = 500 ' максимальна кількість паперів в портфелі однієї серії

Const DilerConst = 1000900000 ' константа для вибірки портфеля ділера

Dim MaxPeriod As Long ' максимальна кількість днів для аналізу (можна обчислити як останній день аналіз-перший день аналізу+1)

Dim Portfel As PortfelRecord ' дані про портфель

Dim BumInfo() As BumRecord ' дані про папери

Dim BumNum As Integer ' кількість різних серій паперів

Dim Index() As IndexRecord ' індекси портфеля і ринку

Dim Revenue() As IndexRecord ' прибутковість до погашення портфеля і ринку

Dim BirgaInfo() As Single ' поточна біржова інформація по кожній серії

Dim CoefIndex As Long ' індекс коефіцієнта

Dim RevIndex As Long ' індекс прибутковості

Dim EvalDate As Date ' дата для розрахунку

Dim StartDate As Date ' початкова дата для постоения індексів

Dim PortfelPricePred; BirgaPricePred As Single

Dim Analize1; Analize2 As Boolean

' - Процедура розрахунку портфеля (головний модуль)-

Sub АнализПортфель ()

Dim Sheet As Object

Dim i; Ind As Integer

Dim SumCell As Long

Dim CurDate As Date

Set Sheet = Worksheets( "Папери")

BumNum = 0

While Sheet.Cells(BumNum + 2; 1) < > Empty

BumNum = BumNum + 1

Wend

With DialogSheets( "ДіалогДата").

EditBoxes(1).Text = "05.02.97".

EditBoxes(2).Text = "30.05.97".

EditBoxes(1).InputType = xlDate.

EditBoxes(2).InputType = xlDate.

Show

StartDate = CDate(. EditBoxes(1).Text)

EvalDate = CDate(. EditBoxes(2).Text)

End With

With DialogSheets( "ДіалогВибор")

again:.

Show

Analize1 = False

Analize2 = False

If. CheckBoxes(1).Value = 1 Then Analize1 = True

If. CheckBoxes(2).Value = 1 Then Analize2 = True

If Not Analize1 And Not Analize2 Then

MsgBox "Виберіть тип аналізу"

GoTo again

End If

End With

MaxPeriod = EvalDate - StartDate + 1

ReDim Index(MaxPeriod)

ReDim Revenue(MaxPeriod)

Index(1).Portfel = 1

Index(1).Birga = 1

Index(1).Dates = StartDate

ReDim BumInfo(BumNum)

ReDim BirgaInfo(BumNum)

For i = 1 To BumNum

With BumInfo(i).

Num = Sheet.Cells(i + 1; 1).

DateStart = Sheet.Cells(i + 1; 2).

DateEnd = Sheet.Cells(i + 1; 3).

Volume = Sheet.Cells(i + 1; 4)

End With

Next i

ReDim Portfel.Dates(BumNum; MaxBum)

ReDim Portfel.Price(BumNum; MaxBum)

ReDim Portfel.Volume(BumNum; MaxBum)

ReDim Portfel.StartPos(BumNum)

ReDim Portfel.EndPos(BumNum)

ReDim Portfel.VolumeAll(BumNum)

For i = 1 To BumNum

Portfel.StartPos(i) = 1

Portfel.EndPos(i) = 0

Next i

Set Sheet = Worksheets( "Операції")

Call Сортування (Worksheets( "Операції"); "A2"; "A2"; "B2"; "D2"; _

xlAscending; xlAscending; xlAscending)

i = 2

CoefIndex = 1

RevIndex = 1

CurDate = StartDate

While Sheet.Cells(i; 1) < > Empty And Sheet.Cells(i; 1) <= EvalDate

If Sheet.Cells(i; 2) = DilerConst Then

Ind = ReturnBum(Sheet.Cells(i; 3))

If Not IsEmpty(Sheet.Cells(i; 4)) Then

Portfel.EndPos(Ind) = Portfel.EndPos(Ind) + 1

Portfel.Dates(Ind; Portfel.EndPos(Ind)) = Sheet.Cells(i; 1)

Portfel.Price(Ind; Portfel.EndPos(Ind)) = Sheet.Cells(i; 4)

Portfel.Volume(Ind; Portfel.EndPos(Ind)) = Sheet.Cells(i; 6)

Portfel.VolumeAll(Ind) = Portfel.VolumeAll(Ind) + Sheet.Cells(i; 6)

Else

SumCell = Sheet.Cells(i; 6)

Portfel.VolumeAll(Ind) = Portfel.VolumeAll(Ind) - Sheet.Cells(i; 6)

While SumCell > = Portfel.Volume(Ind; Portfel.StartPos(Ind)) And SumCell > 0

SumCell = SumCell - Portfel.Volume(Ind; Portfel.StartPos(Ind))

Portfel.StartPos(Ind) = Portfel.StartPos(Ind) + 1

Wend

If SumCell < Portfel.Volume(Ind; Portfel.StartPos(Ind)) Then

Portfel.Volume(Ind; Portfel.StartPos(Ind)) = Portfel.Volume(Ind; Portfel.StartPos(Ind)) - SumCell

End If

End If

End If

' в даному місці можео провести аналіз на основі даних про портфель за поточну дату

' дата поточна - це Worksheets( "Операції").cells(i-1;1)

' т. е. аналіз за цю поточну дату (прибутковість до погашення портфеля, індекс,...)

If StartDate < = Sheet.Cells(i; 1) And Sheet.Cells(i; 1) < > CurDate Then

Call Процедура_анализа (Sheet.Cells(i; 1))

CoefIndex = CoefIndex + 1

RevIndex = RevIndex + 1

CurDate = Sheet.Cells(i; 1)

End If

i = i + 1

Wend

If Analize1 Then

Worksheets( "РезультатІндекс").Cells(1; 2) = "Портфель"

Worksheets( "РезультатІндекс").Cells(1; 3) = "Ринок"

For i = 1 To CoefIndex - 1

Worksheets( "РезультатІндекс").Cells(i + 1; 1) = Index(i).Dates

Worksheets( "РезультатІндекс").Cells(i + 1; 2) = Index(i).Portfel

Worksheets( "РезультатІндекс").Cells(i + 1; 3) = Index(i).Birga

Next i

Charts( "ДіаграммаЇндекс").ChartWizard Source:=Sheets( "РезультатІндекс").Range(

"A1:)(З" + CStr(i)); Gallery:=xlLine; Format:=4; PlotBy:=xlColumns; _

CategoryLabels:=1; SeriesLabels:=1; HasLegend:=1; Title:= _

"Порівняння індексу портфеля і ринку"; CategoryTitle:= "дата"; ValueTitle:= _

"індекс"; ExtraTitle:=""

Charts( "ДіаграммаЇндекс").Select

MsgBox "Діаграма Індексу"

End If

If Analize2 Then

Worksheets( "РезультатДоходность").Cells(1; 2) = "Портфель"

Worksheets( "РезультатДоходность").Cells(1; 3) = "Ринок"

For i = 1 To RevIndex - 1

Worksheets( "РезультатДоходность").Cells(i + 1; 1) = Revenue(i).Dates

Worksheets( "РезультатДоходность").Cells(i + 1; 2) = Revenue(i).Portfel

Worksheets( "РезультатДоходность").Cells(i + 1; 3) = Revenue(i).Birga

Next i

Charts( "ДіаграммаДоходность").ChartWizard Source:=Sheets( "РезультатДоходность").Range(

"A1:)(З" + CStr(i)); Gallery:=xlLine; Format:=4; PlotBy:=xlColumns; _

CategoryLabels:=1; SeriesLabels:=1; HasLegend:=1; Title:= _

"Порівняння прибутковості портфеля і ринку"; CategoryTitle:= "дата"; ValueTitle:= _

"прибутковість"; ExtraTitle:=""

Charts( "ДіаграммаДоходность").Select

MsgBox "Діаграма Прибутковості"

End If

End Sub

' - функція повертає індекс паперу в масиві BumInfo -

Function ReturnBum(bum As Long)

Dim i As Integer

For i = 1 To BumNum

If bum = BumInfo(i).Num Then

ReturnBum = i

Exit Function

End If

Next i

MsgBox "Не знайдений папір в списку паперів. Занести папір в лист Папери"

End

End Function

' - Процедура побудови індексів портфеля і ринку -

Sub Процедура_анализа (CurDate As Date)

Dim i; k As Long

Dim Sheet As Object

Dim PortfelPrice; BirgaPrice As Single

Dim BirgaCoef; PortfelCoef As Single

Dim Doh; Volume As Single

Dim Flag As Boolean

Set Sheet = Worksheets( "Біржа")

' пошук першого рядка почала біржовій інформації за поточний день

i = Пошук (Worksheets( "Біржа"); 1; 2; CurDate; 1)

If i = 0 Then

'MsgBox "Біржова інформація за " + CStr(CDate(CurDate)) + "не знайдена"

' End

CoefIndex = CoefIndex - 1

Exit Sub

End If

' занесення біржової інформації за поточний день

If i < > 0 Then

While Sheet.Cells(i; 1) = CurDate

If Sheet.Cells(i; 6) < > Empty Then

BirgaInfo(ReturnBum(Sheet.Cells(i; 2))) = Sheet.Cells(i; 6)

End If

i = i + 1

Wend

End If

' визначення по кожному паперу звертання на біржі

For i = 1 To BumNum

If BumInfo(i).DateStart <CurDate <ateEnd Then

BumInfo(i).Present = True

Else

BumInfo(i).Present = False

End If

Next i

' якщо вибраний аналіз ефективної прибутковості портфеля і ринку

If Analize2 Then

Doh = 0

Volume = 0

Flag = True

For k = 1 To BumNum

If BumInfo(k).Present Then

For i = Portfel.StartPos(k) To Portfel.EndPos(k)

Flag = False

Doh = Doh + (100 / Portfel.Price(k; i) - 1) * 36500 * Portfel.Volume(k; i)

Volume = Volume + Portfel.Volume(k; i) * (BumInfo(k).DateEnd - Portfel.Dates(k; i))

Next i

End If

Next k

If Flag Then

RevIndex = RevIndex - 1

GoTo Anal1

End If

Revenue(RevIndex).Portfel = Doh / Volume

Revenue(RevIndex).Dates = CurDate

Flag = True

Doh = 0

Volume = 0

For k = 1 To BumNum

If BumInfo(k).Present Then

Flag = False

Doh = Doh + (100 / BirgaInfo(k) - 1) * 36500 * BumInfo(k).Volume

Volume = Volume + BumInfo(k).Volume * (BumInfo(k).)(DateEnd - CurDate)

End If

Next k

If Flag Then

RevIndex = RevIndex - 1

GoTo Anal1

End If

Revenue(RevIndex).Birga = Doh / Volume

End If

Anal1:

' якщо вибраний аналіз індексу портфеля і ринку

If Analize1 Then

' визначення вартості портфеля і біржі по середньозважений цінах

PortfelPrice = 0

BirgaPrice = 0

For i = 1 To BumNum

PortfelPrice = PortfelPrice + Portfel.VolumeAll(i) * BirgaInfo(i) * 10000

BirgaPrice = BirgaPrice + BumInfo(i).Volume * BirgaInfo(i) * 10000

Next i

' розрахунок індексів

If CoefIndex < > 1 Then

' пошук залишків за поточний день

k = Пошук (Worksheets( "Залишок"); 1; 2; CurDate; 1)

If k < > 0 Then

PortfelPrice = PortfelPrice + Worksheets( "Залишок").Cells(k; 2)

End If

' обчислення коефіцієнта портфеля

If k < > 0 Then

PortfelCoef = (PortfelPrice - Worksheets( "Залишок").Cells(k; 3) _

+ Worksheets( "Залишок").Cells(k; 4)) / PortfelPricePred

Else

PortfelCoef = PortfelPrice / PortfelPricePred

End If

PortfelPricePred = PortfelPrice

' визначення індексу портфеля за поточний день

Index(CoefIndex).Portfel = Index(CoefIndex - 1).Portfel * PortfelCoef

Index(CoefIndex).Dates = CurDate

BirgaCoef = BirgaPrice

k = Пошук (Worksheets( "Папери"); 2; 2; CurDate; 1)

If k < > 0 Then

BirgaCoef = BirgaCoef - Worksheets( "Папери").Cells(k; 4)

End If

k = Пошук (Worksheets( "Папери"); 3; 2; CurDate; 1)

If k < > 0 Then

BirgaCoef = BirgaCoef + Worksheets( "Папери").Cells(k; 4)

End If

BirgaCoef = BirgaCoef / BirgaPricePred

BirgaPricePred = BirgaPrice

' визначення індексу біржі за поточний день

Index(CoefIndex).Birga = Index(CoefIndex - 1).Birga * BirgaCoef

Else

k = Пошук (Worksheets( "Залишок"); 1; 2; CurDate; 1)

If k < > 0 Then

PortfelPrice = PortfelPrice + Worksheets( "Залишок").Cells(k; 2)

End If

PortfelPricePred = PortfelPrice

BirgaPricePred = BirgaPrice

End If

End If

End Sub

Sub Cancel()

End

End Sub

Додаток № 2.2. Діаграма порівняння прибутковості портфеля і ринку.

Додаток № 2.3. Діаграма порівняння індексу портфеля і ринку.

Додаток № 3. Вхідні статистичні дані.

Додаток 3.1. Інформація про папери.

Дата випуску

Дата погашення

Обсяг випуску

21019

14.11.96

13.02.97

60 000 000

21020

09.01.97

10.04.97

65 000 000

21021

13.02.97

15.05.97

55 000 000

21022

10.04.97

10.07.97

55 000 000

21023

10.07.97

09.10.97

40 000 000

21024

18.12.97

09.04.98

45 000 000

22002

29.08.96

27.02.97

25 000 000

22003

26.09.96

27.03.97

30 000 000

22004

24.10.96

24.04.97

40 000 000

22005

28.11.96

29.05.97

45 000 000

22006

19.12.96

19.06.97

90 000 000

22007

30.01.97

24.07.97

30 000 000

22008

27.02.97

28.08.97

55 000 000

22009

27.03.97

25.09.97

55 000 000

22010

24.04.97

23.10.97

60 000 000

22011

15.05.97

13.11.97

60 000 000

22012

29.05.97

27.11.97

60 000 000

24001

20.03.97

12.03.98

30 000 000

24002

08.05.97

07.05.98

25 000 000

Додаток 3.2. Інформація про операції.

Дата

№ паперу

Ціна приобр

Ціна продажу

К-ть

02.12.96

22004

92,99

62

02.12.96

22004

93,00

340

04.12.96

22005

77,50

6

05.12.96

22003

85,14

5

19.12.96

22006

80,05

300

19.12.96

22006

80,21

500

19.12.96

22006

80,37

259

01.01.97

22005

92,06

7

01.01.97

21021

0,00

1126

01.01.97

22005

0,00

95

01.01.97

22008

0,00

75

01.01.97

22009

0,00

457

01.01.97

22008

0,00

29

01.01.97

21020

0,00

642

01.01.97

22004

0,00

12

01.01.97

22006

0,00

20

01.01.97

22009

0,00

16

01.01.97

21020

0,00

90

01.01.97

22006

0,00

26

01.01.97

21020

0,00

20

01.01.97

22004

0,00

15

01.01.97

22006

0,00

5

01.01.97

21021

0,00

12

01.01.97

22006

0,00

27

01.01.97

21020

0,00

0

01.01.97

21021

0,00

63

01.01.97

22004

0,00

159

01.01.97

22005

0,00

146

01.01.97

22009

0,00

46

01.01.97

22007

0,00

32

01.01.97

22008

0,00

13

01.01.97

22006

0,00

73

01.01.97

22006

0,00

59

01.01.97

22006

0,00

56

01.01.97

21020

0,00

29

01.01.97

21021

0,00

8

01.01.97

22005

0,00

12

01.01.97

22006

0,00

27

01.01.97

21021

0,00

10

01.01.97

22008

0,00

28

01.01.97

22008

0,00

57

01.01.97

21021

0,00

42

01.01.97

24001

0,00

34

01.01.97

24001

0,00

69

01.01.97

21021

0,00

104

09.01.97

21020

90,93

300

09.01.97

21020

91,03

600

09.01.97

21020

91,24

900

09.01.97

21020

91,35

600

09.01.97

21020

91,50

500

10.01.97

22004

91,54

24

13.01.97

21020

93,65

50

14.01.97

21020

93,22

32

15.01.97

22005

88,51

10

17.01.97

21020

92,50

10

28.01.97

21020

93,40

7

31.01.97

22007

84,19

16

31.01.97

22007

84,20

184

06.02.97

22004

92,80

60

10.02.97

22006

89,00

500

13.02.97

21021

91,20

430

13.02.97

21021

91,30

430

13.02.97

21021

91,33

320

17.02.97

22005

92,25

78

17.02.97

22007

88,42

78

19.02.97

22005

93,00

122

19.02.97

22003

97,55

41

19.02.97

22007

89,39

122

20.02.97

22005

92,60

28

25.02.97

22005

92,01

100

25.02.97

22005

92,03

60

25.02.97

21020

96,00

101

26.02.97

22004

95,10

12

26.02.97

21021

92,50

12

27.02.97

22008

84,04

300

27.02.97

22008

84,10

432

27.02.97

22008

84,22

318

27.02.97

22008

84,09

311

27.02.97

22008

84,22

182

27.02.97

22008

84,42

100

28.02.97

21021

93,23

80

03.03.97

21020

97,30

200

03.03.97

21021

94,00

154

03.03.97

22006

92,50

200

04.03.97

22006

92,40

24

04.03.97

22006

92,52

200

04.03.97

22006

92,53

200

06.03.97

22006

92,63

25

06.03.97

22004

96,45

4

06.03.97

21020

97,53

108

12.03.97

21020

97,70

489

13.03.97

21020

97,50

822

13.03.97

21021

94,00

399

17.03.97

21021

93,67

100

19.03.97

22003

99,19

128

19.03.97

22003

99,20

229

20.03.97

24001

72,00

50

20.03.97

24001

72,15

290

21.03.97

22005

94,20

2

21.03.97

22005

94,25

100

24.03.97

22005

94,25

108

24.03.97

22005

94,39

27

24.03.97

22005

94,40

598

24.03.97

21020

98,40

200

25.03.97

22006

92,10

70

25.03.97

22005

94,05

320

25.03.97

22003

99,78

403

26.03.97

22006

92,00

314

26.03.97

21021

94,45

80

26.03.97

21020

98,10

50

28.03.97

22005

94,15

7

28.03.97

21021

95,10

135

28.03.97

21021

95,19

378

28.03.97

21021

95,20

90

28.03.97

21020

99,07

288

28.03.97

21020

99,01

300

31.03.97

22006

92,92

200

31.03.97

22006

92,93

400

31.03.97

22006

92,94

100

31.03.97

22005

94,50

10

31.03.97

21020

99,10

88

31.03.97

21020

99,11

12

31.03.97

21020

99,12

2

31.03.97

22006

92,94

100

31.03.97

22006

92,93

400

31.03.97

22006

92,92

200

01.04.97

22006

92,70

1

01.04.97

22006

92,91

89

01.04.97

22004

97,72

10

03.04.97

22004

98,00

100

03.04.97

21020

99,28

38

03.04.97

22006

93,06

29

03.04.97

22006

93,23

5

03.04.97

22006

93,31

145

04.04.97

21020

99,30

370

04.04.97

22006

93,32

50

04.04.97

22006

93,37

47

04.04.97

22006

93,39

45

08.04.97

22004

98,35

239

08.04.97

22008

87,50

167

08.04.97

24001

73,15

23

08.04.97

22004

98,35

53

09.04.97

21020

99,80

13

09.04.97

21020

99,86

27

09.04.97

21020

99,87

325

09.04.97

24001

73,20

117

09.04.97

24001

73,25

200

09.04.97

22009

84,86

61

10.04.97

21022

91,50

2101

10.04.97

21020

100,00

1630

10.04.97

21022

91,50

91

10.04.97

21022

91,65

609

10.04.97

21020

100,00

642

10.04.97

21022

91,65

98

10.04.97

21020

100,00

90

10.04.97

21022

91,50

10

10.04.97

21020

100,00

20

10.04.97

21022

91,65

42

10.04.97

21020

100,00

39

10.04.97

21022

91,65

31

10.04.97

21020

100,00

29

10.04.97

21022

91,50

5458

11.04.97

21022

92,40

1

11.04.97

24001

73,50

300

14.04.97

22009

85,50

340

14.04.97

21021

97,25

300

14.04.97

22006

94,53

157

16.04.97

22008

88,40

330

16.04.97

21021

97,80

600

16.04.97

22004

99,60

90

16.04.97

22009

86,39

340

16.04.97

22004

99,60

50

17.04.97

22009

86,50

60

17.04.97

22004

99,64

3

17.04.97

24001

73,80

1

21.04.97

21022

92,45

515

21.04.97

22006

95,30

500

21.04.97

21022

92,38

3

21.04.97

22006

95,30

321

22.04.97

22004

99,90

189

22.04.97

22008

88,72

112

23.04.97

22005

97,20

12

24.04.97

22004

100,00

572

24.04.97

22010

84,35

14

24.04.97

22004

100,00

12

24.04.97

22010

84,32

10

24.04.97

22004

100,00

15

24.04.97

22010

84,32

28

24.04.97

22010

84,35

34

24.04.97

22004

100,00

53

24.04.97

22010

84,28

586

24.04.97

22010

84,32

355

25.04.97

22008

89,89

18

25.04.97

21022

93,55

48

25.04.97

21022

93,49

2

25.04.97

21022

93,50

4

28.04.97

21022

93,50

790

28.04.97

22005

97,68

200

28.04.97

22005

97,70

500

28.04.97

21022

93,50

1008

28.04.97

21022

93,65

982

28.04.97

21022

93,60

80

28.04.97

21022

93,55

468

28.04.97

21022

93,56

67

28.04.97

21022

93,50

1916

28.04.97

21022

93,61

10

28.04.97

21022

93,51

46

29.04.97

21022

94,01

826

29.04.97

22006

96,50

800

29.04.97

21022

94,00

400

29.04.97

21022

94,01

836

29.04.97

21022

94,05

55

29.04.97

21022

94,10

300

29.04.97

21022

94,15

298

06.05.97

21021

99,40

78

06.05.97

21022

94,70

131

06.05.97

22006

97,00

1

06.05.97

22006

96,90

1

06.05.97

22006

96,65

31

06.05.97

22006

96,61

263

06.05.97

22008

91,20

42

06.05.97

22008

90,80

501

12.05.97

21022

0,00

32

12.05.97

22009

0,00

160

14.05.97

21022

95,40

300

14.05.97

21022

95,45

300

14.05.97

21022

95,48

500

15.05.97

22011

86,30

1190

15.05.97

21021

100,00

500

15.05.97

22011

86,35

477

15.05.97

22011

86,41

826

15.05.97

21021

100,00

1126

15.05.97

22011

86,35

13

15.05.97

21021

100,00

12

15.05.97

22011

86,35

63

15.05.97

21021

100,00

63

15.05.97

21021

100,00

8

15.05.97

21021

100,00

10

15.05.97

22011

86,35

48

15.05.97

21021

100,00

42

15.05.97

21021

100,00

104

16.05.97

24001

79,30

50

16.05.97

22011

87,09

60

16.05.97

22011

87,10

90

16.05.97

22011

87,35

353

16.05.97

21022

95,75

355

16.05.97

21022

95,80

145

19.05.97

21022

96,54

50

20.05.97

21022

96,65

13

20.05.97

21022

96,73

44

21.05.97

22005

99,65

1

22.05.97

22011

88,40

92

22.05.97

22011

88,43

17

22.05.97

22011

88,44

391

22.05.97

22011

88,50

1

22.05.97

22011

88,70

350

22.05.97

22005

99,80

500

22.05.97

22005

99,82

252

23.05.97

22011

88,70

224

23.05.97

22005

99,82

119

26.05.97

22011

88,55

129

26.05.97

22011

88,54

26

26.05.97

22011

88,53

410

27.05.97

22011

0,00

791

28.05.97

22011

88,03

2

28.05.97

21022

96,40

10

28.05.97

21022

96,50

12

28.05.97

21022

96,69

100

28.05.97

21022

96,70

45

28.05.97

21022

96,88

144

28.05.97

22008

93,30

25

28.05.97

22011

88,21

50

28.05.97

22011

88,26

20

28.05.97

22011

88,25

100

28.05.97

22011

88,20

48

29.05.97

22012

87,30

108

29.05.97

22005

100,00

95

29.05.97

22012

87,30

8

29.05.97

22005

100,00

7

29.05.97

22012

87,30

64

29.05.97

22005

100,00

57

29.05.97

22005

100,00

12

29.05.97

22012

87,00

573

30.05.97

22007

95,79

73

30.05.97

22006

98,65

82

30.05.97

22012

87,85

50

30.05.97

22012

87,85

13

Додаток 3.3. Інформація про рухи грошових коштів.

Дата

Залишок на кінець

Введення

Висновок

05.02.97

61 746 712,20

06.02.97

481 785 980,60

10.02.97

36 340 980,60

14.02.97

297 257 974,60

17.02.97

294 129 652,00

19.02.97

249 467 440,70

20.02.97

223 513 512,70

25.02.97

20 918 675,30

26.02.97

21 253 187,30

28.02.97

8 953 377,10

03.03.97

532 789 017,10

04.03.97

140 120 741,10

06.03.97

7 640 493,20

12.03.97

484 915 740,20

13.03.97

660 249 230,20

1 000 000 000,00

17.03.97

566 485 560,20

19.03.97

912 000 229,00

700 000 000,00

21.03.97

570 289 860,00

24.03.97

74 813 572,70

25.03.97

8 058 802,70

26.03.97

6 123 432,20

28.03.97

6 838 506,90

31.03.97

97 060 573,30

01.04.97

3 578 284,40

02.04.97

503 578 284,40

500 000 000,00

03.04.97

368 270 852,10

04.04.97

493 442,10

07.04.97

500 493 442,10

500 000 000,00

08.04.97

427 988 436,10

09.04.97

295 022 078,40

11.04.97

684 663,40

14.04.97

1 152 213,40

16.04.97

678 336 327,40

21.04.97

3 004 364,27

675 000 000,00

22.04.97

290 965 631,22

23.04.97

302 620 883,22

24.04.97

2 620 883,22

300 000 000,00

25.04.97

574 620 883,22

28.04.97

5 756 283,52

29.04.97

72 291,57

06.05.97

122 502,22

980 000 000,00

14.05.97

533 285 039,72

516 000 000,00

16.05.97

5 009 715,72

22.05.97

931 583,51

23.05.97

1 584 837,51

26.05.97

1 432 570,33

500 000 000,00

28.05.97

650 729 151,73

500 000 000,00

29.05.97

151 229 151,73

499 500 000,00

30.05.97

296 336,95

Додаток 3.4. Біржова інформація.

Дата

№ паперу

Ціна середньозважений

06.01.97

21018

99,643

06.01.97

21019

94,126

06.01.97

22001

98,422

06.01.97

22002

94,880

06.01.97

22003

93,288

06.01.97

22004

90,318

06.01.97

22005

87,458

06.01.97

22006

96,187

08.01.97

21018

99,886

08.01.97

21019

96,830

08.01.97

22001

98,422

08.01.97

22002

95,664

08.01.97

22003

93,032

08.01.97

22004

91,372

08.01.97

22005

88,078

08.01.97

22006

86,150

09.01.97

21018

100,000

09.01.97

21020

90,832

10.01.97

21019

97,123

10.01.97

21020

92,340

10.01.97

22001

99,009

10.01.97

22002

95,907

10.01.97

22003

92,999

10.01.97

22004

90,773

10.01.97

22005

88,050

10.01.97

22006

86,316

13.01.97

21019

97,245

13.01.97

21020

93,147

13.01.97

22001

99,176

13.01.97

22002

96,648

13.01.97

22003

94,013

13.01.97

22004

93,042

13.01.97

22005

89,735

13.01.97

22006

90,704

14.01.97

21019

97,670

14.01.97

21020

93,335

14.01.97

22001

99,343

14.01.97

22002

96,617

14.01.97

22003

94,127

14.01.97

22004

92,800

14.01.97

22005

90,000

14.01.97

22006

86,999

15.01.97

21019

97,693

15.01.97

21020

93,354

15.01.97

22001

99,621

15.01.97

22002

96,500

15.01.97

22003

94,369

15.01.97

22004

91,988

15.01.97

22005

89,289

15.01.97

22006

88,008

16.01.97

21019

97,685

16.01.97

21020

92,831

16.01.97

22001

99,634

16.01.97

22002

96,500

16.01.97

22003

94,325

16.01.97

22004

91,525

16.01.97

22005

89,500

16.01.97

22006

87,936

17.01.97

21019

97,413

17.01.97

21020

92,541

17.01.97

22001

99,680

17.01.97

22002

96,544

17.01.97

22003

92,338

17.01.97

22004

91,715

17.01.97

22005

89,000

17.01.97

22006

87,373

20.01.97

21019

97,650

20.01.97

21020

92,538

20.01.97

22001

99,826

20.01.97

22002

95,996

20.01.97

22003

93,943

20.01.97

22004

91,855

20.01.97

22005

87,862

20.01.97

22006

87,631

21.01.97

21019

97,557

21.01.97

21020

92,463

21.01.97

22001

99,801

21.01.97

22002

96,402

21.01.97

22003

94,097

21.01.97

22004

91,114

21.01.97

22005

88,438

21.01.97

22006

86,820

22.01.97

21019

97,691

22.01.97

21020

92,509

22.01.97

22001

99,861

22.01.97

22002

96,990

22.01.97

22003

94,097

22.01.97

22004

91,349

22.01.97

22005

88,389

22.01.97

22006

86,710

23.01.97

22001

100,000

23.01.97

22006

86,597

24.01.97

21019

98,164

24.01.97

21020

92,854

24.01.97

22002

96,740

24.01.97

22003

94,233

24.01.97

22004

91,920

24.01.97

22005

89,055

24.01.97

22006

87,196

27.01.97

21019

98,620

27.01.97

21020

93,200

27.01.97

22002

97,327

27.01.97

22003

94,658

27.01.97

22004

92,081

27.01.97

22005

89,153

27.01.97

22006

87,163

28.01.97

21019

98,681

28.01.97

21020

93,369

28.01.97

22002

97,412

28.01.97

22003

94,732

28.01.97

22004

92,486

28.01.97

22005

89,617

28.01.97

22006

87,152

29.01.97

21019

98,242

29.01.97

21020

93,041

29.01.97

22002

97,485

29.01.97

22003

94,821

29.01.97

22004

91,200

29.01.97

22005

89,617

29.01.97

22006

87,353

30.01.97

22007

83,554

31.01.97

21019

98,864

31.01.97

21020

93,385

31.01.97

22002

97,485

31.01.97

22003

94,652

31.01.97

22004

91,787

31.01.97

22005

85,900

31.01.97

22006

87,419

31.01.97

22007

84,043

03.02.97

21019

99,326

03.02.97

21020

93,500

03.02.97

22002

97,880

03.02.97

22003

94,829

03.02.97

22004

92,601

03.02.97

22005

89,415

03.02.97

22006

88,276

03.02.97

22007

84,480

04.02.97

21019

99,155

04.02.97

21020

93,831

04.02.97

22002

97,954

04.02.97

22003

95,089

04.02.97

22004

92,484

04.02.97

22005

90,000

04.02.97

22006

88,181

04.02.97

22007

84,612

05.02.97

21019

99,245

05.02.97

21020

94,120

05.02.97

22002

97,954

05.02.97

22003

95,330

05.02.97

22004

92,705

05.02.97

22005

90,182

05.02.97

22006

88,575

05.02.97

22007

84,749

06.02.97

21019

99,502

06.02.97

21020

94,255

06.02.97

22002

98,440

06.02.97

22003

95,631

06.02.97

22004

93,010

06.02.97

22005

90,650

06.02.97

22006

89,112

06.02.97

22007

86,097

07.02.97

21019

99,646

07.02.97

21020

94,650

07.02.97

22002

97,238

07.02.97

22003

95,946

07.02.97

22004

93,249

07.02.97

22005

91,013

07.02.97

22006

89,136

07.02.97

22007

86,035

10.02.97

21019

99,771

10.02.97

21020

94,990

10.02.97

22002

98,667

10.02.97

22003

95,760

10.02.97

22004

93,520

10.02.97

22005

90,591

10.02.97

22006

88,109

10.02.97

22007

86,113

11.02.97

21019

99,842

11.02.97

21020

94,759

11.02.97

22002

98,667

11.02.97

22003

96,000

11.02.97

22004

93,565

11.02.97

22005

90,800

11.02.97

22006

89,259

11.02.97

22007

86,157

12.02.97

21019

99,875

12.02.97

21020

94,844

12.02.97

22002

98,571

12.02.97

22003

96,000

12.02.97

22004

93,678

12.02.97

22005

90,520

12.02.97

22006

89,239

12.02.97

22007

86,558

13.02.97

21019

100,000

13.02.97

21021

91,357

14.02.97

21020

95,057

14.02.97

21021

92,133

14.02.97

22002

99,233

14.02.97

22003

96,400

14.02.97

22004

94,100

14.02.97

22005

91,400

14.02.97

22006

90,053

14.02.97

22007

87,650

17.02.97

21020

95,604

17.02.97

21021

92,377

17.02.97

22002

99,535

17.02.97

22003

96,852

17.02.97

22004

94,484

17.02.97

22005

92,159

17.02.97

22006

90,548

17.02.97

22007

88,149

18.02.97

21020

96,133

18.02.97

21021

92,625

18.02.97

22002

99,700

18.02.97

22003

97,191

18.02.97

22004

94,987

18.02.97

22005

92,690

18.02.97

22006

90,988

18.02.97

22007

88,547

19.02.97

21020

96,364

19.02.97

21021

92,841

19.02.97

22002

99,702

19.02.97

22003

97,195

19.02.97

22004

95,049

19.02.97

22005

92,979

19.02.97

22006

91,236

19.02.97

22007

89,245

20.02.97

21020

96,263

20.02.97

21021

93,056

20.02.97

22002

99,800

20.02.97

22003

97,400

20.02.97

22004

95,370

20.02.97

22005

92,948

20.02.97

22006

90,918

20.02.97

22007

89,336

21.02.97

21020

96,490

21.02.97

21021

93,234

21.02.97

22002

99,800

21.02.97

22003

97,496

21.02.97

22004

95,310

21.02.97

22005

92,643

21.02.97

22006

91,359

21.02.97

22007

88,513

24.02.97

21020

96,071

24.02.97

21021

92,965

24.02.97

22002

99,800

24.02.97

22003

97,500

24.02.97

22004

95,200

24.02.97

22005

92,007

24.02.97

22006

90,456

24.02.97

22007

88,500

25.02.97

21020

96,000

25.02.97

21021

90,057

25.02.97

22002

99,852

25.02.97

22003

97,427

25.02.97

22004

95,454

25.02.97

22005

92,054

25.02.97

22006

90,930

25.02.97

22007

88,199

26.02.97

21020

96,119

26.02.97

21021

92,786

26.02.97

22002

99,883

26.02.97

22003

97,734

26.02.97

22004

95,019

26.02.97

22005

92,299

26.02.97

22006

90,874

26.02.97

22007

88,730

27.02.97

22002

100,000

27.02.97

22008

84,092

28.02.97

21020

96,809

28.02.97

21021

93,293

28.02.97

22003

98,120

28.02.97

22004

95,190

28.02.97

22005

93,100

28.02.97

22006

91,725

28.02.97

22007

88,782

28.02.97

22008

84,956

03.03.97

21020

97,293

03.03.97

21021

94,125

03.03.97

22003

98,350

03.03.97

22004

96,362

03.03.97

22005

93,100

03.03.97

22006

92,266

03.03.97

22007

90,333

03.03.97

22008

86,453

04.03.97

21020

97,348

04.03.97

21021

94,392

04.03.97

22003

98,436

04.03.97

22004

96,124

04.03.97

22005

93,939

04.03.97

22006

92,416

04.03.97

22007

89,930

04.03.97

22008

87,157

05.03.97

21020

97,600

05.03.97

21021

94,421

05.03.97

22003

98,811

05.03.97

22004

96,685

05.03.97

22005

94,343

05.03.97

22006

92,647

05.03.97

22007

89,930

05.03.97

22008

87,016

06.03.97

21020

97,654

06.03.97

21021

94,503

06.03.97

22003

98,962

06.03.97

22004

96,782

06.03.97

22005

94,450

06.03.97

22006

92,646

06.03.97

22007

90,257

06.03.97

22008

86,887

07.03.97

21020

97,636

07.03.97

21021

94,630

07.03.97

22003

99,125

07.03.97

22004

96,903

07.03.97

22005

94,450

07.03.97

22006

92,953

07.03.97

22007

90,257

07.03.97

22008

87,081

11.03.97

21020

96,775

11.03.97

21021

94,860

11.03.97

22003

99,209

11.03.97

22004

96,650

11.03.97

22005

94,500

11.03.97

22006

93,162

11.03.97

22007

90,993

11.03.97

22008

87,317

12.03.97

21020

97,700

12.03.97

21021

94,132

12.03.97

22003

97,682

12.03.97

22004

95,787

12.03.97

22005

94,000

12.03.97

22006

92,513

12.03.97

22007

90,000

12.03.97

22008

87,138

13.03.97

21020

97,490

13.03.97

21021

94,000

13.03.97

22003

99,000

13.03.97

22004

96,064

13.03.97

22005

93,625

13.03.97

22006

92,141

13.03.97

22007

90,000

13.03.97

22008

86,400

14.03.97

21020

97,485

14.03.97

21021

94,946

14.03.97

22003

99,090

14.03.97

22004

96,501

14.03.97

22005

93,602

14.03.97

22006

92,133

14.03.97

22007

89,000

14.03.97

22008

86,731

17.03.97

21020

97,955

17.03.97

21021

92,545

17.03.97

22003

99,010

17.03.97

22004

96,800

17.03.97

22005

93,890

17.03.97

22006

92,423

17.03.97

22007

89,064

17.03.97

22008

87,328

18.03.97

21020

98,024

18.03.97

21021

94,576

18.03.97

22003

99,112

18.03.97

22004

96,576

18.03.97

22005

94,031

18.03.97

22006

92,455

18.03.97

22007

89,064

18.03.97

22008

86,166

19.03.97

21020

98,007

19.03.97

21021

94,668

19.03.97

22003

99,195

19.03.97

22004

96,819

19.03.97

22005

93,877

19.03.97

22006

91,269

19.03.97

22007

88,900

19.03.97

22008

86,649

20.03.97

24001

72,152

21.03.97

21020

98,278

21.03.97

21021

94,772

21.03.97

22003

99,600

21.03.97

22004

97,004

21.03.97

22005

94,285

21.03.97

22006

92,474

21.03.97

22007

88,900

21.03.97

22008

86,200

21.03.97

24001

72,503

24.03.97

21020

98,542

24.03.97

21021

94,855

24.03.97

22003

99,782

24.03.97

22004

97,333

24.03.97

22005

94,290

24.03.97

22006

92,693

24.03.97

22007

89,014

24.03.97

22008

86,303

24.03.97

24001

73,415

25.03.97

21020

98,273

25.03.97

21021

94,770

25.03.97

22003

99,784

25.03.97

22004

97,212

25.03.97

22005

94,182

25.03.97

22006

90,967

25.03.97

22007

88,855

25.03.97

22008

86,255

25.03.97

24001

72,600

26.03.97

21020

98,248

26.03.97

21021

94,563

26.03.97

22003

99,845

26.03.97

22004

97,248

26.03.97

22005

94,264

26.03.97

22006

92,016

26.03.97

22007

88,934

26.03.97

22008

86,300

26.03.97

24001

72,495

27.03.97

22003

100,000

27.03.97

22009

83,778

28.03.97

21020

99,032

28.03.97

21021

95,190

28.03.97

22004

97,329

28.03.97

22005

94,188

28.03.97

22006

92,888

28.03.97

22007

89,682

28.03.97

22008

88,090

28.03.97

22009

84,019

28.03.97

24001

72,997

31.03.97

21020

99,106

31.03.97

21021

95,565

31.03.97

22004

97,543

31.03.97

22005

94,517

31.03.97

22006

92,818

31.03.97

22007

89,682

31.03.97

22008

87,300

31.03.97

22009

84,050

31.03.97

24001

72,900

01.04.97

21020

99,249

01.04.97

21021

95,723

01.04.97

22004

97,727

01.04.97

22005

94,517

01.04.97

22006

92,953

01.04.97

22007

90,000

01.04.97

22008

86,996

01.04.97

22009

84,330

01.04.97

24001

73,000

02.04.97

21020

99,250

02.04.97

21021

95,693

02.04.97

22004

97,963

02.04.97

22005

94,736

02.04.97

22006

93,156

02.04.97

22007

90,990

02.04.97

22008

86,940

02.04.97

22009

84,022

02.04.97

24001

73,000

03.04.97

21020

99,268

03.04.97

21021

95,807

03.04.97

22004

98,022

03.04.97

22005

94,922

03.04.97

22006

93,274

03.04.97

22007

90,558

03.04.97

22008

86,610

03.04.97

22009

83,988

03.04.97

24001

72,952

04.04.97

21020

99,308

04.04.97

21021

95,800

04.04.97

22004

98,072

04.04.97

22005

95,226

04.04.97

22006

93,486

04.04.97

22007

90,893

04.04.97

22008

86,444

04.04.97

22009

84,133

04.04.97

24001

72,857

07.04.97

21020

99,642

07.04.97

21021

95,765

07.04.97

22004

98,337

07.04.97

22005

95,438

07.04.97

22006

93,650

07.04.97

22007

91,200

07.04.97

22008

88,400

07.04.97

22009

84,131

07.04.97

24001

73,053

08.04.97

21020

99,790

08.04.97

21021

96,330

08.04.97

22004

98,380

08.04.97

22005

95,533

08.04.97

22006

93,841

08.04.97

22007

91,200

08.04.97

22008

87,490

08.04.97

22009

84,432

08.04.97

24001

73,006

09.04.97

21020

99,862

09.04.97

21021

96,427

09.04.97

22004

98,455

09.04.97

22005

95,674

09.04.97

22006

93,827

09.04.97

22007

91,038

09.04.97

22008

87,525

09.04.97

22009

85,103

09.04.97

24001

73,208

10.04.97

21020

100,00

10.04.97

21022

91,650

11.04.97

21021

96,963

11.04.97

21022

92,066

11.04.97

22004

98,780

11.04.97

22005

95,861

11.04.97

22006

94,384

11.04.97

22007

91,498

11.04.97

22008

87,907

11.04.97

22009

84,907

11.04.97

24001

73,500

14.04.97

21021

97,091

14.04.97

21022

92,221

14.04.97

22004

99,137

14.04.97

22005

96,461

14.04.97

22006

94,535

14.04.97

22007

91,570

14.04.97

22008

88,076

14.04.97

22009

85,445

14.04.97

24001

73,561

15.04.97

21021

97,503

15.04.97

21022

92,419

15.04.97

22004

99,180

15.04.97

22005

96,521

15.04.97

22006

94,953

15.04.97

22007

91,891

15.04.97

22008

88,044

15.04.97

22009

85,768

15.04.97

24001

73,568

16.04.97

21021

97,762

16.04.97

21022

92,643

16.04.97

22004

99,514

16.04.97

22005

96,747

16.04.97

22006

95,016

16.04.97

22007

92,800

16.04.97

22008

88,395

16.04.97

22009

86,464

16.04.97

24001

73,614

17.04.97

21021

97,699

17.04.97

21022

92,528

17.04.97

22004

99,647

17.04.97

22005

96,600

17.04.97

22006

95,063

17.04.97

22007

92,009

17.04.97

22008

88,789

17.04.97

22009

86,860

17.04.97

24001

73,647

21.04.97

21021

97,836

21.04.97

21022

92,444

21.04.97

22004

99,809

21.04.97

22005

96,810

21.04.97

22006

95,262

21.04.97

22007

92,009

21.04.97

22008

86,911

21.04.97

22009

86,487

21.04.97

24001

73,671

22.04.97

21021

97,894

22.04.97

21022

92,642

22.04.97

22004

99,862

22.04.97

22005

96,854

22.04.97

22006

95,350

22.04.97

22007

92,487

22.04.97

22008

88,720

22.04.97

22009

86,314

22.04.97

24001

73,938

23.04.97

21021

98,091

23.04.97

21022

92,955

23.04.97

22004

99,893

23.04.97

22005

97,196

23.04.97

22006

95,347

23.04.97

22007

92,693

23.04.97

22008

88,859

23.04.97

22009

86,535

23.04.97

24001

74,051

24.04.97

22004

100,000

24.04.97

22010

84,320

25.04.97

21021

98,472

25.04.97

21022

93,593

25.04.97

22005

97,478

25.04.97

22006

95,920

25.04.97

22007

92,693

25.04.97

22008

89,248

25.04.97

22009

87,185

25.04.97

22010

84,823

25.04.97

24001

75,000

28.04.97

21021

98,686

28.04.97

21022

93,569

28.04.97

22005

97,687

28.04.97

22006

96,382

28.04.97

22007

93,300

28.04.97

22008

89,248

28.04.97

22009

88,132

28.04.97

22010

86,361

28.04.97

24001

76,105

29.04.97

21021

98,913

29.04.97

21022

94,045

29.04.97

22005

97,880

29.04.97

22006

96,498

29.04.97

22007

93,800

29.04.97

22008

89,248

29.04.97

22009

88,106

29.04.97

22010

86,366

29.04.97

24001

76,318

30.04.97

21021

99,023

30.04.97

21022

94,968

30.04.97

22005

98,284

30.04.97

22006

96,779

30.04.97

22007

93,800

30.04.97

22008

90,700

30.04.97

22009

89,266

30.04.97

22010

86,498

30.04.97

24001

76,811

04.05.97

21021

99,205

04.05.97

21022

94,962

04.05.97

22005

98,202

04.05.97

22006

96,818

04.05.97

22007

94,351

04.05.97

22008

90,750

04.05.97

22009

88,884

04.05.97

22010

86,817

04.05.97

24001

76,987

05.05.97

21021

99,378

05.05.97

21022

94,962

05.05.97

22005

98,500

05.05.97

22006

96,600

05.05.97

22007

94,290

05.05.97

22008

91,176

05.05.97

22009

88,810

05.05.97

22010

86,953

05.05.97

24001

76,983

06.05.97

21021

99,433

06.05.97

21022

94,700

06.05.97

22005

98,331

06.05.97

22006

96,649

06.05.97

22007

94,290

06.05.97

22008

90,865

06.05.97

22009

89,017

06.05.97

22010

86,915

06.05.97

24001

76,880

07.05.97

21021

97,211

07.05.97

21022

94,820

07.05.97

22005

98,369

07.05.97

22006

96,859

07.05.97

22007

94,377

07.05.97

22008

91,100

07.05.97

22009

89,046

07.05.97

22010

86,797

07.05.97

24001

76,980

08.05.97

24002

73,909

12.05.97

21021

99,765

12.05.97

21022

94,939

12.05.97

22005

98,501

12.05.97

22006

95,704

12.05.97

22007

94,377

12.05.97

22008

91,260

12.05.97

22009

89,035

12.05.97

22010

88,008

12.05.97

24001

77,406

12.05.97

24002

73,923

13.05.97

21021

99,850

13.05.97

21022

95,315

13.05.97

22005

98,694

13.05.97

22006

97,399

13.05.97

22007

94,698

13.05.97

22008

90,403

13.05.97

22009

89,313

13.05.97

22010

87,685

13.05.97

24001

77,422

13.05.97

24002

74,508

14.05.97

21021

99,892

14.05.97

21022

95,445

14.05.97

22005

98,872

14.05.97

22006

97,414

14.05.97

22007

95,000

14.05.97

22008

91,750

14.05.97

22009

89,683

14.05.97

22010

87,630

14.05.97

24001

77,601

14.05.97

24002

74,762

15.05.97

21021

100,000

15.05.97

22011

86,347

16.05.97

21022

96,203

16.05.97

22005

99,396

16.05.97

22006

98,034

16.05.97

22007

95,000

16.05.97

22008

92,360

16.05.97

22009

90,972

16.05.97

22010

88,562

16.05.97

22011

87,236

16.05.97

24001

79,057

16.05.97

24002

75,700

19.05.97

21022

96,549

19.05.97

22005

99,577

19.05.97

22006

98,254

19.05.97

22007

95,650

19.05.97

22008

92,754

19.05.97

22009

91,107

19.05.97

22010

88,993

19.05.97

22011

87,497

19.05.97

24001

79,448

19.05.97

24002

77,016

20.05.97

21022

96,686

20.05.97

22005

99,765

20.05.97

22006

98,239

20.05.97

22007

95,852

20.05.97

22008

93,027

20.05.97

22009

91,487

20.05.97

22010

89,323

20.05.97

22011

87,627

20.05.97

24001

79,926

20.05.97

24002

77,002

21.05.97

21022

96,819

21.05.97

22005

99,650

21.05.97

22006

98,492

21.05.97

22007

95,850

21.05.97

22008

93,298

21.05.97

22009

91,846

21.05.97

22010

89,554

21.05.97

22011

87,971

21.05.97

24001

80,371

21.05.97

24002

77,202

22.05.97

21022

98,222

22.05.97

22005

99,804

22.05.97

22006

98,492

22.05.97

22007

96,143

22.05.97

22008

93,672

22.05.97

22009

92,145

22.05.97

22010

89,949

22.05.97

22011

88,536

22.05.97

24001

81,219

22.05.97

24002

78,777

23.05.97

21022

97,250

23.05.97

22005

99,811

23.05.97

22006

98,629

23.05.97

22007

96,232

23.05.97

22008

92,804

23.05.97

22009

92,625

23.05.97

22010

90,014

23.05.97

22011

88,937

23.05.97

24001

81,434

23.05.97

24002

79,200

26.05.97

21022

96,616

26.05.97

22005

99,803

26.05.97

22006

98,649

26.05.97

22007

96,232

26.05.97

22008

93,498

26.05.97

22009

92,338

26.05.97

22010

89,902

26.05.97

22011

88,581

26.05.97

24001

79,606

26.05.97

24002

79,001

27.05.97

21022

96,645

27.05.97

22005

99,890

27.05.97

22006

98,094

27.05.97

22007

27.05.97

22008

93,545

27.05.97

22009

91,260

27.05.97

22010

89,563

27.05.97

22011

88,897

27.05.97

24001

81,543

27.05.97

24002

78,102

28.05.97

21022

96,287

28.05.97

22005

99,869

28.05.97

22006

98,338

28.05.97

22007

28.05.97

22008

93,475

28.05.97

22009

91,221

28.05.97

22010

89,391

28.05.97

22011

88,233

28.05.97

24001

81,067

28.05.97

24002

78,200

29.05.97

22005

100,000

29.05.97

22012

87,303

30.05.97

21022

96,982

30.05.97

22006

98,667

30.05.97

22007

95,814

30.05.97

22008

93,096

30.05.97

22009

90,537

30.05.97

22010

89,430

30.05.97

22011

88,050

30.05.97

22012

87,858

30.05.97

24001

80,994

30.05.97

24002

77,325