
задания / Инф.каскады / СИНЕРГЕТИЧНІ ТА ЕКОНОФІЗИЧНІ МЕТОДИ ДОСЛІДЖЕННЯ - монографія Дербенцев, Сердюк, Соловьйов, Шарапов
.pdf
Рис. Д.3.6
291

Додаток 4
Опис програмного комплексу Entropy_complex
Програмний комплекс Entropy_complex був створений за допомогою середовища Matlab. Для створення інтерфейсу програми було використано вбудований інструмент GUIDE (GUI Design Environment), що дозволяє в інтерактивному режимі керувати візуальними елементами.
Запуск програмного комплексу відбувається за допомогою команди: >>Entropy_complex у командному вікні Matlab. Після цього відкривається головне вікно програми (Рис.Д.4.1.).
Рис. Д.4.1. Головне вікно програми
Для зручності, всі алгоритми обрахунку створені у вигляді окремих функцій та розміщені у окремих файлах (MyApen.m, sampen.m, sampenc.m, cmatches.dll, permen.m, TSentropy.m, wavelet.m, waventropy.m, waventropy_dynamic.m ). Програма працює з даними які завантажуються з текстового файлу. Завантажений ряд відображається графічно, а ім’я завантаженого файлу записується у текстове поле „Завантажені файли” (Рис.Д.4.2). Як видно на малюнку, програма дозволяє завантажувати декілька файлів одразу. Для того щоб вибрати необхідний файл треба його виділити мишкою з поміж інших.
Перед тим як обрахувати ентропію, необхідно вибрати яким саме методом вона буде обрахована та початкові параметри обрахунку (ширина вікна та крок зміщення вікна). Початкові параметри обрахунку використовуються для реалізації віконного методу обрахунку. За допомогою
292

цього методи ми спостерігаємо динаміку зміни показника, а не просто його точкове значення. Слід також зауважити, що обрахунок можна здійснювати одразу всіма методами. Для цього достатньо вибрати параметр „Вибрати всі”. Для початку обрахунку необхідно натиснути кнопку обрахувати. Під час обрахунку певним методом з’являється вікно прогресу обрахунку
(Рис.Д.4.3.).
Рис. Д.4.2. Головне вікно програми після завантаження даних.
Рис. Д.4.3. Процес обчислення
293

Рис. Д.4.4. Результат обчислення Approximate Entropy
Результат обрахунку ентропії подається у графічному вигляді (Рис.Д.4.4.), причому таким чином, що графік динаміки ентропії знаходиться під вхідним рядом. Це подання є дуже зручним при дослідженнях, оскільки так ми наочно бачимо відповідність ділянок вхідного ряду та ділянок обрахованої ентропії. Також, всі точкові значення ентропії записуються у текстовий файл з відповідною назвою (наприклад
„Apen_values.txt”).
294

Додаток 5
Опис програмного комплексу AgentCL
Для агентного моделювання в пакеті Matlab розроблено програмний пакет AgentsCL. Для його запуску необхідно змінити папку системи Matlab на кореневу пакету AgentsCL. Пакет записаний в папці C:\Work\AgentsCL, для початку роботи необхідно відкрити закладку менеджеру файлів та перейти в папку AgentsCL. Вміст цієї папки зображено на наступному рисунку.
Рис. Д.5.1. Вміст кореневої папки пакету AgentsCL
В зазначеній папці міститься ряд каталогів, у яких знаходяться програмні реалізації моделей агентів. Кожна папка відповідає одному виду агентів та включає наступні файли:
295

Defsettings.m – скрипт для задання початкових властивостей агента. Settings.m – скрипт для зміни властивостей агента.
Settings.fig - діалогове вікно налаштування агенту.
OrderModel.m – скрипт для аналізу ситуації агентом та подачі заявки на придбання чи продаж активу.
Рис. Д.5.2. Вікно налаштування симуляції ринку
Деякі моделі поведінки агентів, які розроблені в пакеті AgentsCL: Випадковий трейдер (random_trader) Заявки такого трейдера
генеруються випадково в межах, які задані на лаштуваннями агента. Трейдер, який працює по стандартній схемі максимізації прибутку
(див. Levi-Levi-Solomon)
Трейдер, який слідує тренду, наявному у ряді курсу (trend_follower). Трейдери цього виду купують актив при зростанні ціни, а при пониженні на певний відсоток, продають весь куплений портфель. Дана стратегія відповідає діям „биків” на ринку.
На основі вищезазначених, можна розробляти нові моделі агентів за допомогою програмування стратегії його життєдіяльності.
296

Для запуску середовища необхідно задати параметри моделювання. Для цього, заходжуючись в папці C:\Work\AgentsCL, необхідно ввести команду parameters. З’явиться діалогове вікно налаштування параметрів симуляції.
Існують наступні можливості налаштування:
–задання типу, кількості та специфічних параметрів агентів;
–задання кількості одиниць часу для моделювання. В нашій моделі одиниця часу рівна часу однієї торгівельної сесії;
–задання файлу дивідендів, які будуть впливати на торгівлю акціями.
Після вибору типу агента можна задати кількість таких агентів та їх параметри. Параметри задаються натисканням кнопки „Параметри” навпроти виду агентів, який налаштовується. Для кожного виду агентів з’являється своє вікно на лаштувань. Наприклад, на наступному рисунку, зображене вікно налаштувань випадкового агента („random trader”).
Рис. Д.5.3. Налаштування параметрів агенту
297
Багато з цих параметрів спільні для усіх агентів. Розглянемо дані параметри на прикладі агентів типу „випадковий агент” („random trader”).
–Максимальна і мінімальна кількість грошей агента. Для агентів з цієї групи кількість грошових одиниць буде згенерована випадковим чином рівномірно в указаному інтервалі;
–Максимальна і мінімальна кількість акцій. Аналогічно кількість наявних акцій у агентів цієї групи буде генеруватись як випадкові цілі числа рівномірні в указаному інтервалі.
–Ймовірність торгівлі. Агент в кожен момент часу приймає рішення, торгувати чи не торгувати. Випадковий трейдер це рішення „приймає” випадково зі ймовірністю (від 0 до 1), яка вказується у відповідному полі.
–Ймовірність покупки. Якщо прийняте рішення про активність на ринку, то приймається рішення про покупку або продаж. Випадковий трейдер це питання вирішує випадково зі вказаною ймовірністю.
Окремо для покупки і продажу можна задати параметри ціни та об’єму, які будуть вказуватись в заявці агента. Ці параметри вказують діапазон ціни та об’єму в процентах від наявної ціни на ринку. Наприклад:
–Макс ціна % – максимальна ціна в заявці в процентах від наявної;
–Мін ціна % – максимальна ціна в заявці в процентах від наявної;
–Макс акцій – максимальна кількість акцій, шт.;
–Мін акцій – мінімальна кількість акцій, шт.
Ці параметри заявки можна окремо задати для заявки на продаж та на покупку.
Перед симуляцією необхідно вибрати види агентів та задати їх кількість. Якщо не натискається кнопка „параметри”, для цього виду агентів приймаються налаштування по замовчуванню. Також необхідно задати кількість кроків моделювання. Після задання значень усіх параметрів, симуляція запускається натисканням кнопки „Старт” Після закінчення симуляції на екрані зявиться графік зміни середньої ціни активу, яка утворилась при моделюванні. Під час моделювання середовище зберігає результати торгів (середню максимальну та мінімальну ціну та об’єми торгів) в файлі simulation.xls, а також кількість грошей та акцій кожного з агентів (agentmoney.xls та agentshare.xls відповідно). Всі файли є текстовими, що дає можливість конвертувати результати в потрібний формат чи імпортувати в будь-яке середовище для подальшого аналізу.
Радимо робити копії цих файлів для кожного етапу моделювання, тому що старі файли будуть замінені новими. Тому після симуляції необхідно скопіювати файли simulation.xls, agentmoney.xls та agentshare.xls в окрему папку.
Результати моделювання можна імпортувати в Microsoft Excel для подальшої обробки. Для цього достатньо завантажити необхідний файл в табличний процесор. Комірки, які містять числа, необхідно перетворити на числовий формат, замінивши точку на кому. Це можна здійснити за
298

допомогою опції меню „Правка – Заменить”. В полі введення „Найти” задати точку (символ „.”), а в полі „Заменить на” задати кому (символ„,”), після чого натиснути кнопку „Заменить все”.
Рис. Д.5.4. Результат моделювання торгів, збережені в файлі simulation.xls
На рис. Д.5.4 зображені результати моделювання, відкриті в табличному процесорі Microsoft Excel. Структура файлу simulation.xls наступна:
Процес моделювання торгів проходить наступним чином:
–всі агенти подають заявки;
–автоматично формуються пари взаємних заявок – угоди;
–здійснюється розрахунок агентів згідно з угодами;
–обчислюється статистика проведених торгів.
299
|
|
Таблиця Д.5.1 |
|
Структура файлу simulation.xls |
|
№ поля |
Назва поля |
Опис |
1. |
n |
Номер проміжку часу (етапу торгів), |
|
|
параметр часу |
2. |
open |
Ціна відкриття торгів (перша угода) |
3. |
max |
Максимальна ціна за етап торгів |
4. |
min |
Мінімальна ціна за етап торгів |
5. |
average |
Середня ціна за етап торгів |
6. |
close |
Ціна закриття (остання угода) |
7. |
Price2 |
Ціна векторної моделі ціноутворення |
8. |
volume |
Об’єм торгів за етап |
9. |
AverageMoney |
Середня к-сть грошей агентів |
10. |
MinMoney |
Мінімальна кількість грошей в агентів |
11. |
MaxMoney |
Максимальна кількість грошей в агентів |
12. |
AverageShare |
Середня к-сть акцій агентів |
13. |
MinShare |
Мінімальна кількість акцій агентів |
14. |
MaxShare |
Максимальна кількість акцій агентів |
Кожен етап торгів ці дії повторюються, таким чином у відповідних файлах зберігається інформація про результати торгів (файл simulation.xls, див. табл. Д.5.1.) та фінанси кожного агента (файли agentmoney.xls та agentshare.xls відповідно).
300