Please use this identifier to cite or link to this item: https://er.chdtu.edu.ua/handle/ChSTU/8657
Title: Дослідження та синтез комп'ютерної системи інформаційного аналізу арбітражних ситуацій
Authors: ХРУЛЬОВ, Микола
БЕРКУТ, Олексій
Keywords: КОМП'ЮТЕРНА СИСТЕМА;СТРАТЕГІЇ РИЗИК- МЕНЕДЖМЕНТУ;КРИПТОВАЛЮТНИЙ АРБІТРАЖ;АРБІТРАЖНІ СИТУАЦІЇ;ІНФОРМАЦІЙНИЙ АНАЛІЗУ;СТРАТЕГІЇ АРБІТРАЖУ
Issue Date: 2023
Abstract: Обсяг кваліфікаційної роботи магістра складає 80 сторінок, у тому числі вступ, чотири розділи, висновки та список використаних джерел. Робота містить 35 рисунків. Для виконання роботи використано 18 джерел. Метою даного дослідження є розробка комп'ютерної системи інформаційного аналізу арбітражних ситуацій для процесів прийняття рішень у криптовалютному арбітражі. Це включає в себе створення програмного продукту та розробку стратегій, які допомагатимуть ефективно використовувати ринкові різниці для максимізації прибутку та мінімізації ризиків. Об’єктом дослідження є процеси синтезу компʼютерних систем інформаційного аналізу арбітражних ситуацій Предметом дослідження є моделі та алгоритми інформаційного аналізу арбітражних ситуацій та на їх основі синтез комп’ютерної системи призначеної для формування торгової стратегії криптовалютного арбітражу. Практична цінність роботи полягає в доведенні отриманих результатів до конкретних структурних і функціональних схем, алгоритмів, програмних рішень комп’ютерної системи призначеної для формування торгової стратегії криптовалютного арбітражу.
URI: https://er.chdtu.edu.ua/handle/ChSTU/8657
Appears in Collections:123 Комп’ютерна інженерія (Комп'ютерні системи та мережі)

Files in This Item:
File Description SizeFormat 
1_ТИТУЛКА_Беркут_ДРУК_нова-merged.pdf
  Restricted Access
2.82 MBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

Extracted text
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ І СИСТЕМ
КАФЕДРА ІНФОРМАЦІЙНОЇ БЕЗПЕКИ ТА КОМП’ЮТЕРНОЇ
ІНЖЕНЕРІЇ
Пояснювальна записка
до кваліфікаційної роботи магістра
на тему: «Дослідження та синтез комп'ютерної
системи інформаційного аналізу арбітражних
ситуацій»
ЧДТУ.232288.001 ПЗ
Виконав: студент 2 курсу, групи МКМ-2205
спеціальності 123 – Комп’ютерна інженерія
за освітньою програмою – Комп’ютерні системи
та мережі
Олексій БЕРКУТ
Керівник
к.т.н., доцент
Микола ХРУЛЬОВ
Н. контроль
Світлана ГРЕСЬКО
Рецензент
науковий консультант ТОВ «Юнібіт»,
к.т.н., доцент
Юрій ЄРОФЕЄВ
«ЗАХИСТ ДОЗВОЛЯЮ»
Завідувач кафедри ІБ та КІ
д.т.н., професор ___________ Віра БАБЕНКО
Черкаси 2023 року
Форма № Н-9.01
Черкаський державний технологічний університет
Факультет інформаційних технологій і систем
Кафедра інформаційної безпеки та комп‘ютерної інженерії
Освітньо-кваліфікаційний рівень Магістр
Спеціальність 123 – Комп’ютерна інженерія
Освітня програма Комп’ютерні системи та мережі
«ЗАТВЕРДЖУЮ»
Завідувач кафедри _____ Володимир РУДНИЦЬКИЙ
«10» жовтня 2023 року
ЗАВДАННЯ
на кваліфікаційну роботу магістра студенту
Беркуту Олексію Володимировичу
(прізвище, ім‘я, по батькові)
1. Тема роботи: Дослідження та синтез комп'ютерної системи інформаційного
аналізу арбітражних ситуацій
Керівник роботи к.т.н., доцент Хрульов Микола Васильович
(прізвище, ім’я, по батькові, науковий ступінь, вчене звання)
затверджені наказом університету від «06» жовтня 2023 р. № 267/04
2. Строк подання студентом роботи 15.11.2023
3. Вихідні дані до роботи:
Система, що розроблюється, повинна здійснювати: аналіз великих обсягів структурованих
і неструктурованих даних; враховувати контекст; використовувати алгоритми машинного
навчання.
4. Зміст розрахунково-пояснювальної записки (перелік питань, що їх належить розробити):
Вступ
Розділ 1 Аналіз предметної області та постановка задачі дослідження
Розділ 2 Синтез структури та основних алгоритмів комп'ютерної системи інформаційного
аналізу арбітражних ситуацій
Розділ 3 Опис програмного забезпечення комп'ютерної системи інформаційного аналізу
арбітражних ситуацій
Розділ 4 Опис програмного забезпечення та користувацького інтерфейсу комп'ютерної системи
інформаційного аналізу арбітражних ситуацій
Висновки
Список використаних джерел
5. Перелік графічного матеріалу (з точним зазначенням обов’язкових креслень, плакатів):
6. Консультанти розділів роботи
Підпис, дата
Розділ Прізвище, ініціали та
посада завдання видав завдання прийняв
консультанта
7. Дата видачі завдання 10 жовтня 2023 року
КАЛЕНДАРНИЙ ПЛАН
№ з/п Назва етапів кваліфікаційної роботи магістра Строк виконання
етапів роботи Примітка
1 Збір матеріалу 1.09.2023 - виконано
2.10.2023
2 Обробка матеріалу 3.10.2023 - виконано
20.10.2023
3 Обґрунтування актуальності виконання 23.10.2023 - виконано
досліджень 25.10.2023
4 Оцінка стану проблеми, виокремлення виконано
дослідницьких задач, постановка 26.10.2023 -
задачі дослідження 3.11.2023
5 Викладення сутності і результатів дослідження 6.11.2023 - виконано
10.11.2023
6 Практичне застосування результатів виконано
дослідження 13.11.2023
7 Оформлення результатів в пояснювальну записку 14.11.2023 виконано
8 Подання роботи на відгук та рецензування 15.11.2023 виконано
Студент-магістрант ____________________________ Олексій БЕРКУТ
(підпис)
Керівник роботи _____________________________ Микола ХРУЛЬОВ
(підпис)
АНОТАЦІЯ
Обсяг кваліфікаційної роботи магістра складає 80 сторінок, у тому
числі вступ, чотири розділи, висновки та список використаних джерел.
Робота містить 35 рисунків. Для виконання роботи використано 18 джерел.
Метою даного дослідження є розробка комп'ютерної системи
інформаційного аналізу арбітражних ситуацій для процесів прийняття рішень
у криптовалютному арбітражі. Це включає в себе створення програмного
продукту та розробку стратегій, які допомагатимуть ефективно
використовувати ринкові різниці для максимізації прибутку та мінімізації
ризиків.
Об’єктом дослідження є процеси синтезу компʼютерних систем
інформаційного аналізу арбітражних ситуацій
Предметом дослідження є моделі та алгоритми інформаційного
аналізу арбітражних ситуацій та на їх основі синтез комп’ютерної системи
призначеної для формування торгової стратегії криптовалютного арбітражу.
Практична цінність роботи полягає в доведенні отриманих
результатів до конкретних структурних і функціональних схем, алгоритмів,
програмних рішень комп’ютерної системи призначеної для формування
торгової стратегії криптовалютного арбітражу.
Ключові слова: КОМП'ЮТЕРНА СИСТЕМА, СТРАТЕГІЇ РИЗИК-
МЕНЕДЖМЕНТУ, КРИПТОВАЛЮТНИЙ АРБІТРАЖ, АРБІТРАЖНІ
СИТУАЦІЇ, ІНФОРМАЦІЙНИЙ АНАЛІЗУ, СТРАТЕГІЇ АРБІТРАЖУ.
ANOTATION
The volume of the master's thesis is 80 pages, including an introduction, four
chapters, conclusions and a list of sources used. The work contains 35 drawings.
18 sources were used to perform the work.
The purpose of this study is to develop a computer system for information
analysis of arbitration situations for decision-making processes in cryptocurrency
arbitration. This includes creating a software product and developing strategies that
will help you effectively exploit market differences to maximize profits and
minimize risks.
The object of the study is the process of synthesis of computer systems for
information analysis of arbitration situations
The subject of the study is the models and algorithms of information
analysis of arbitration situations and, based on them, the synthesis of a computer
system intended for the formation of a cryptocurrency arbitrage trading strategy.
The practical value of the work consists in bringing the obtained results to
specific structural and functional schemes, algorithms, software solutions of the
computer system intended for the formation of a trading strategy of cryptocurrency
arbitrage.
Keywords: COMPUTER SYSTEM, RISK MANAGEMENT
STRATEGIES, CRYPTOCURRENCY ARBITRAGE, ARBITRAGE
SITUATIONS, INFORMATION ANALYSIS, ARBITRAGE STRATEGIES.
2
ЗМІСТ
ВСТУП.....................................................................................................................4
РОЗДІЛ 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА
ЗАДАЧІ ДОСЛІДЖЕННЯ...................................................................................7
1.1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ................................................................... 7
1.2 ОГЛЯД ІСНУЮЧИХ СИСТЕМ АРБІТРАЖНОЇ ТОРГІВЛІ.................................19
1.3 ПОСТАНОВКА ЗАДАЧІ .............................................................................. 27
1.4 ВИСНОВКИ ДО РОЗДІЛУ 1.........................................................................28
РОЗДІЛ 2 СИНТЕЗ СТРУКТУРИ ТА ОСНОВНИХ АЛГОРИТМІВ
КОМП'ЮТЕРНОЇ СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ
АРБІТРАЖНИХ СИТУАЦІЙ ...........................................................................30
2.1 ФУНКЦІЇ КОМП'ЮТЕРНОЇ СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ
АРБІТРАЖНИХ СИТУАЦІЙ ...............................................................................30
2.2 СТРУКТУРНО АЛГОРИТМІЧНА ОРГАНІЗАЦІЯ СИСТЕМИ ІНФОРМАЦІЙНОГО
АНАЛІЗУ АРБІТРАЖНИХ СИТУАЦІЙ.................................................................31
2.3 ВИМОГИ ДО АПАРАТНОГО ЗАБЕЗПЕЧЕННЯ КЛІЄНТСЬКОЇ ЧАСТИНИ
СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ АРБІТРАЖНИХ СИТУАЦІЙ...................33
2.4 ВИСНОВКИ ДО РОЗДІЛУ 2.........................................................................33
РОЗДІЛ 3 ОПИС ОСНОВНИХ МАТЕМАТИЧНИХ ЗАЛЕЖНОСТЕЙ ТА
АЛГОРИТМІВ .....................................................................................................35
3.1 ОПИС ОСНОВНИХ МАТЕМАТИЧНИХ ЗАЛЕЖНОСТЕЙ ТА АНАЛІЗУ
АРБІТРАЖНИХ СИТУАЦІЙ ...............................................................................35
3.2 ОПИС ОСНОВНИХ АЛГОРИТМІВ АНАЛІЗУ РИНКОВИХ УМОВ.....................35
3.3 АЛГОРИТМ КРИПТОВАЛЮТНОГО АРБІТРАЖУ...........................................38
3.4 АРБІТРАЖНИЙ АНАЛІЗ..............................................................................42
3.5 ОСЦИЛЯТОРНА СТРАТЕГІЯ .......................................................................47
3.6 ПРИКЛАД ТА АНАЛІЗ ................................................................................50
3
3.7 ВИСНОВКИ ДО РОЗДІЛУ 3.........................................................................52
РОЗДІЛ 4 ОПИС ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ТА
КОРИСТУВАЦЬКОГО ІНТЕРФЕЙСУ КОМП'ЮТЕРНОЇ СИСТЕМИ
ІНФОРМАЦІЙНОГО АНАЛІЗУ АРБІТРАЖНИХ СИТУАЦІЙ...............54
4.1 ОПИС ОСНОВНИХ МОДУЛІВ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
КОМП'ЮТЕРНОЇ СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ АРБІТРАЖНИХ
СИТУАЦІЙ ...................................................................................................... 54
4.2 ОПИС ІНТЕРФЕЙСУ КОМП'ЮТЕРНОЇ СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ
АРБІТРАЖНИХ СИТУАЦІЙ ...............................................................................65
4.3 СЕРЕДОВИЩЕ РОЗРОБКИ ..........................................................................68
4.4 ВИСНОВКИ ДО РОЗДІЛУ 4.........................................................................76
ВИСНОВКИ ......................................................................................................... 77
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ.........................................................79
4
ВСТУП
Актуальність теми.
Актуальність теми дослідження проявляється в контексті зростаючої
потреби у вдосконаленні арбітражних процедур за допомогою передових
технологій інформаційного аналізу. В умовах швидко змінюваного бізнес-
середовища та великого обсягу доступної інформації стає вельми критичним
вдосконалення методів прийняття рішень у сфері арбітражу.
Наявність широкого спектру даних, що підлягають аналізу у сучасному
світі бізнесу, вимагає новаторських технологічних рішень для ефективного
виявлення та оцінювання арбітражних ситуацій.
Арбітражні процедури є складними та чутливими, і впровадження
передових технологій для аналізу інформації дозволить значно підвищити
об'єктивність та точність прийняття рішень. Аналіз великих обсягів
структурованих і неструктурованих даних, врахування контексту та
використання алгоритмів машинного навчання можуть допомогти в
ідентифікації тенденцій, що важливо в контексті арбітражу, де кожна деталь
може вплинути на кінцевий результат.
Дослідження спрямоване на створення інноваційної системи, яка
дозволить забезпечити об'єктивний та швидкий аналіз інформації у складних
арбітражних випадках, що відповідає сучасним вимогам ефективного
управління ризиками та конфліктами в бізнес-середовищі.
Криптовалютний арбітраж може служити важливим прикладом для
обґрунтування актуальності дослідження з синтезу комп'ютерної системи
інформаційного аналізу арбітражних ситуацій, особливо в контексті
використання ботів на Python.
Припустимо, що інвестор прагне здійснювати арбітражні операції на
різних криптовалютних біржах з метою отримання прибутку внаслідок
різниці в цінах одного та того ж активу. Наприклад, на Біржі А вартість
5
Bitcoin може бути нижчою, ніж на Біржі Б. У цьому випадку, інвестор може
використовувати бота, написаного на мові програмування Python, для
автоматизованого виявлення таких різниць та виконання купівлі на біржі з
меншою ціною та продажу на біржі з вищою ціною. Однак важливо
враховувати, що криптовалютний арбітраж пов'язаний з ризиками, такими як
затримки в обробці транзакцій, коливання цін, комісії бірж та інші фактори.
Такі ускладнення можуть виникнути внаслідок великої кількості факторів, і
саме тут вирішальне значення набуває синтез комп'ютерної системи, яка
може ефективно аналізувати ці параметри та допомагати інвесторові в
прийнятті рішень на основі об'єктивних даних.
Отже, дослідження та синтез такої системи стає актуальним у зв'язку з
потребою автоматизованого аналізу та оптимізації криптовалютного
арбітражу для максимізації прибутку та мінімізації ризиків для інвестора.
Мета дослідження.
Метою даного дослідження є розробка комп'ютерної системи
інформаційного аналізу арбітражних ситуацій для процесів прийняття рішень
у криптовалютному арбітражі. Це включає в себе створення програмного
продукту та розробку стратегій, які допомагатимуть ефективно
використовувати ринкові різниці для максимізації прибутку та мінімізації
ризиків.
Завдання дослідження:
 синтезувати структуру компʼютерної системи інформаційного
аналізу арбітражних ситуацій;
 розробити основні моделі інформаційного аналізу арбітражних
ситуацій;
 розробити основні алгоритми інформаційного аналізу арбітражних
ситуацій;
 розробити користувацький інтерфейс компʼютерної системи
інформаційного аналізу арбітражних ситуацій.
6
Об’єктом дослідження є процеси синтезу компʼютерних систем
інформаційного аналізу арбітражних ситуацій
Предметом дослідження є моделі та алгоритми інформаційного
аналізу арбітражних ситуацій та на їх основі синтез комп’ютерної системи
призначеної для формування торгової стратегії криптовалютного арбітражу.
Методи дослідження. В процесі виконання магістерської роботи були
використані: методи загальної теорії систем, системного підходу, теорії
алгоритмів.
Наукова новизна одержаних результатів.
 вперше на основі аналізу роботи біржі криптовалют та існуючих
торгових систем синтезовано структуру компʼютерної системи
інформаційного аналізу арбітражних ситуацій яка забезпечує
торгову стратегію купівлі/продажу цифрового активу, прибуток
трейдерів та обмежує ризики криптовалютної торгівлі;
 вперше запропоновано та реалізовано основні алгоритми
інформаційного аналізу арбітражних ситуацій.
Практичне значення одержаних результатів.
Практична цінність роботи полягає в доведенні отриманих результатів
до конкретних структурних і функціональних схем, алгоритмів, програмних
рішень комп’ютерної системи призначеної для формування торгової стратегії
криптовалютного арбітражу.
Апробація результатів досліджень. Основні положення і результати
кваліфікаційної роботи магістра були представлені та отримали позитивну
оцінку на ІІ Міжнародній науково-практичній Інтернет-конференції
ІННОВАЦІЇ ТА ПЕРСПЕКТИВНІ ШЛЯХИ РОЗВИТКУ ІНФОРМАЦІЙНИХ
ТЕХНОЛОГІЙ (ІПШРІТ-2023), м. Черкаси, 6 грудня 2023 р.
Беркут О.В., Хрульов М.В. Дослідження та синтез комп'ютерної
системи інформаційного аналізу арбітражних ситуацій.
7
РОЗДІЛ 1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ТА ПОСТАНОВКА
ЗАДАЧІ ДОСЛІДЖЕННЯ
1.1 Аналіз предметної області
Арбітраж криптовалют полягає в отриманні вигоди від різниці в цінах
на користь того, хто придбав актив. Торгівля криптовалютою існує протягом
кількох років, і ціни на неї коливаються від однієї біржі до іншої. Кожна
криптовалюта має свою вартість в порівнянні з іншими, і це залежить від
різноманітних факторів. Криптоарбітраж надає можливість трейдерам
використовувати цю різницю, купуючи криптовалюту на одній біржі та
негайно продаючи її на іншій.
Торгівля криптовалютою є складним завданням, оскільки пов'язана з
ризиками, в основному через нестабільність криптовалютного ринку. Точно
передбачити, коли ціни зростуть чи зменшаться, неможливо. Для досягнення
успіху в цьому напрямку, важливо вивчити закономірності графіків цін для
аналізу майбутніх тенденцій.
Криптоарбітраж представляє собою один із методів торгівлі, який
дозволяє трейдерам здобувати прибуток внаслідок неефективностей на
криптовалютному ринку. Проте такі операції вимагають миттєвого
виконання для отримання максимального прибутку, оскільки ринок може
змінюватися, створюючи ризик збитків [1].
Опис арбітражу криптовалютами
Арбітраж в економіці означає вигоду від купівлі та продажу одного
активу на різних ринках з метою здобуття прибутку за рахунок різниці в
цінах на цьому активі на обох біржах. Наприклад, якщо ціна біткоіна вища на
Indodax, ніж на Zipmex, трейдер може купувати BTC на Zipmex та продавати
його на Indodax, отримуючи прибуток від цінової різниці.
8
Криптоарбітраж виникає через різницю в цінах на однакові активи на
різних біржах, що може служити прикладом ефективного використання
аномалій ринку для здобуття прибутку. Наприклад, якщо ціна біткоіна нижча
на одній біржі, ніж на іншій, трейдер може використовувати цю різницю для
купівлі на дешевшій біржі та продажу на дорожчій.
З ризиками, пов'язаними з криптоарбітражем, пов'язана волатильність
цін криптовалют та можливість затримок в виконанні угод на різних біржах.
Трейдерам також слід враховувати комісії за торгівлю та зняття коштів,
оскільки це може вплинути на загальний прибуток.
Трикутний арбітраж є ще одним видом криптоарбітражу, що включає
використання трьох різних криптовалют для створення циклу угод між
трьома різними біржами. Ця стратегія використовує неефективності цін для
здобуття прибутку.
Успішний криптоарбітраж вимагає швидкості виконання угод та
вміння трейдера ефективно аналізувати ринкові умови. Треба також
враховувати законодавчі аспекти та регулювання криптовалютних операцій,
оскільки вони можуть відрізнятися в різних країнах.
Важливою частиною успішного криптоарбітражу є здатність
адаптуватися до динаміки ринку, де більші біржі можуть пропонувати кращі
ціни, а менші повинні конкурувати та надавати конкурентоспроможні умови.
Однак ціни визначаються попитом та пропозицією, що може призвести до
стабільності на менших біржах
Існують в основному два типи криптоарбітражу: арбітраж між біржами
(рисунок 1.1) і арбітраж в межах біржі (також відомий як трикутний
арбітраж) (рисунок 1.2).
Можна використовувати два підходи для здійснення такої торгівлі:
одночасно купувати та продавати одну й ту ж криптовалюту на різних біржах
або купувати одну криптовалюту на одній біржі та обмінювати її на іншу
криптовалюту на іншій біржі.
9
У випадку одночасного купівлі та продажу однієї криптовалюти можна
використовувати різницю в ціні на двох різних ринках для отримання
прибутку. Це може стати ефективним, якщо криптовалюта торгується на
обох біржах і можливість отримання прибутку досить велика.
Інший підхід передбачає купівлю однієї криптовалюти на одній біржі, а
потім обмін її на іншу криптовалюту на іншій біржі, використовуючи
різницю в обмінних курсах для отримання прибутку. Цей метод може бути
ефективним, якщо існує велика різниця в цінах між обраною криптовалютою
та криптовалютою, на яку ви плануєте її обміняти.
В обох випадках важливо враховувати комісії за торгівлю та
переведення, а також швидкість виконання торговельних операцій.
Здійснення арбітражу вимагає ретельного аналізу ринкових умов та ризиків,
щоб забезпечити ефективну стратегію та підтримати успішні операції.
Рисунок 1.1 – Арбітраж між біржами
Звичайний арбітраж у фінансах, відомий як внутрішній арбітраж або
трикутний арбітраж, передбачає використання різниці у цінах лістингу в
межах однієї біржі для отримання прибутку. Однак існують ще два методи -
транскордонний арбітраж та статистичний арбітраж [3].
10
Рисунок 1.2 – Арбітраж в рамках біржі
Транскордонний арбітраж у контексті криптовалют може включати в
себе використання різних бірж чи ринків криптовалют у різних країнах для
отримання прибутку внаслідок різниці в цінах. Основні етапи
транскордонного арбітражу криптовалютами виглядають наступним чином:
 вибір ринків;
 реєстрація на біржах;
 арбітражна угода;
 ризик-менеджмент;
 вилучення прибутку;
 валютні та податкові аспекти.
Транскордонний арбітраж у криптовалютному просторі може бути
важливим для трейдерів, оскільки різниця в цінах на різних ринках може
бути значною через різні умови попиту та пропозиції, локальні регуляторні
вимоги та інші фактори.
Арбітраж може бути викликаний різними ринковими факторами, і
одним з основних чинників є різниця в обсягах торгівлі між біржами. На
11
великих біржах обсяги торгівлі криптовалютами можуть бути досить
високими, що часто веде до зниження цін. У той час, на інших менших
біржах, де обсяг торгівлі обмежений, ціни на криптовалюти можуть бути
високими.
Ця різниця в обсягах створює можливість для арбітражистів
отримувати прибуток, купуючи криптовалюту на біржі з низьким обсягом
торгівлі та продавати її на біржі з високим обсягом. Такі операції
допомагають вирівнювати ціни на різних платформах і зменшують різницю
між ними.
Проте, важливо враховувати, що ринкові умови можуть швидко
змінюватися, і цінність криптовалют може коливатися від однієї біржі до
іншої. Також трейдерам слід ураховувати витрати на комісії та можливі
затримки при виконанні угод в різних місцях.
Рисунок 1.3 – Різні ціни на двох біржах
Купівля криптовалют на менших біржах та їх подальший продаж на
більших біржах для арбітражу свідчить про можливість отримання прибутку
через різницю у цінах між різними ринками. Такі ситуації можуть виникати
через географічні, ринкові або інші фактори, що впливають на ціни
криптовалют.
12
Також слід враховувати, що криптоарбітраж може піддаватися впливу
часових обмежень, таких як час на підтвердження транзакцій основними
криптовалютами. Наприклад, якщо для підтвердження транзакції потрібно
близько 15-20 хвилин, а ринкова ціна знижується протягом цього часу, існує
ризик втрати можливості вигідного арбітражу.
Одночасний арбітраж у світі криптовалют дійсно є рідкісним, оскільки
ринок досить мінливий і може вимагати чекання на виникнення ідеальної
арбітражної ситуації. Це може бути викликано непередбачуваністю цін і
обсягів торгів, що зробить одночасний арбітраж менш доступним.
В арбітражній стратегії важливо бути виваженим і ураховувати всі
можливі ризики та обмеження, які можуть виникнути на шляху до отримання
прибутку від ринкових різниць.
Виконуючи крипто арбітраж, необхідно переконатися, що дані про
купівлю не зіпсовані. Обов’язковий до перевірки аналіз списків купівлі та
продажу на біржах. Також необхідно уважно ознайомитись з обсягом торгів.
Зважаючи на те, що арбітраж у світі криптовалют може бути вкрай
швидким і динамічним процесом, трейдери шукають ефективні інструменти
та технології для автоматизації цього процесу. Високочастотні торгові боти
та програми оповіщення є популярними інструментами серед трейдерів,
оскільки вони дозволяють швидко реагувати на зміни у цінах та обсягах
торгів.
Такі програми можуть автоматично сканувати ринки на різних біржах,
виявляти різниці у цінах та відправляти трейдерам сповіщення про
потенційні арбітражні можливості. Деякі з них також можуть виконувати
автоматичні торгові операції, при цьому реагуючи на певні умови ринку.
Проте трейдерам слід бути обережними при виборі та використанні
такого програмного забезпечення. Недобросовісні боти або програми можуть
призвести до втрат та ризиків безпеки. Тому ретельний аналіз та перевірка
13
надійності програм є важливим етапом для тих, хто вирішує використовувати
автоматизовані засоби для арбітражу.
Загалом, використання технологій та програмного забезпечення може
значно полегшити процес арбітражу, але це повинно супроводжуватися
обережністю, особливо в умовах динамічного та швидкозмінного
криптовалютного ринку.
Боти для торгівлі криптовалютами
Відправка замовлень на купівлю та продаж криптовалют на біржах
може бути автоматизована за допомогою торгових ботів. Ці комп'ютерні
програми виконують заздалегідь задані правила торгівельної стратегії.
Наприклад, простий торговий бот може автоматично продавати Ethereum
(ETH), якщо ціна цієї криптовалюти перевищить певний поріг на одній біржі
порівняно з іншою.
Рисунок 1.4 – Графік різниці
Боти для торгівлі криптовалютами дозволяють здійснювати торгівлю
на основі аналізу даних та тенденцій, уникаючи впливу емоційних факторів.
Це часто призводить до збільшення прибутку, зменшення ризиків та
обмеження збитків на біржах. Додатково, боти можуть працювати,
14
приносячи пасивний дохід, незалежно від часу, оскільки вони функціонують
цілодобово [7].
Завдяки сучасним технологіям, боти ефективно впораються з багатьма
завданнями, перевершуючи людські можливості. Зокрема, комплексний
аналіз даних, який є ключовим для онлайн-торгівлі, стає більш точним та
ефективним завдяки рішенням штучного інтелекту та машинного навчання.
Ці технології перетворюються на потужний інструмент, який є невід'ємною
частиною торгівельної стратегії для трейдерів.
Використання торгових ботів на ринку криптоактивів має кілька
вагомих переваг:
 безперервна доступність. Боти працюють цілодобово, 7 днів на
тиждень, без вихідних та свят, що забезпечує постійний моніторинг
ринку;
 логіка та алгоритми. Їхні дії базуються на чітко визначених логіках
та алгоритмах, уникaючи емоційного впливу та необдуманих
рішень;
 гнучкість стратегій. Боти можуть бути легко налаштовані з різними
торговельними стратегіями, що охоплюють різноманітні сценарії;
 швидкий аналіз ринку. Вони швидко аналізують тенденції ринку та
ефективно оцінюють ймовірність успіху нових стратегій, порівняно
з людським аналізом;
 автоматизація нудних завдань. Боти автоматично виконують
рутинні завдання, такі як перебалансування портфеля активів,
вивільняючи час трейдера для більш важливих завдань;
 швидкість виконання замовлень. Вони здатні розміщати велику
кількість замовлень швидше, ніж це може зробити людина вручну.
З урахуванням вищезазначених переваг, стає очевидним, що торгові
боти виявляються більш ефективними та надійними, особливо для тих, хто
тільки розпочинає свій шлях в світі криптовалют та торгівлі.
15
Функціональність
Використання торгових ботів може спростити фінансову діяльність і
зробити її менш затратною з точки зору прикладених людських зусиль.
Однак, для максимальної ефективності, важливо, щоб програмне
забезпечення мало велику кількість як базових, так і розширених функцій.
Тільки в такий спосіб воно зможе відповідати високим стандартам та
вимогам, а також задовольняти потреби досвідчених трейдерів.
Важливо враховувати також те, що вибір торгового бота повинен
враховувати конкретні потреби та стратегії трейдера. Перед використанням
будь-якого програмного забезпечення рекомендується ретельно вивчити його
можливості, перевірити відгуки та здійснити власне тестування для
переконання в його придатності до конкретних потреб.
Функції, які мають бути присутніми у боті для торгівлі
криптовалютами, включають:
 реалізація стратегії та динамічні зміни. Це ядро бота, яке забезпечує
виконання гнучкої стратегії, здатної змінюватися відповідно до
алгоритмів;
 відстеження ринку та ведення історії. Функції, що дозволяють
збирати та зберігати ринкові дані для подальшого аналізу та
розробки стратегій;
 бектестування. Можливість тестувати нові стратегії за допомогою
імітації результатів на основі минулих даних;
 режим "sandbox" для імітації торгівлі. Навчальний модуль, який
надає ізольоване середовище для вивчення практичних навичок без
ризику втрати коштів;
 реєстрація, архівація та пошук даних транзакцій. Збереження історії
всіх операцій для подальшого відстеження та аналізу;
16
 повідомлення. Сповіщення користувачів про успішні транзакції або
досягнення встановлених значень через різні канали (електронна
пошта, повідомлення в програмах тощо);
 планувальник. Функція, яка дозволяє боту працювати автономно
визначений час та переходити в режим очікування за неактивності.
Ці функції забезпечують повноцінне та ефективне управління
криптоторгівлею з мінімізацією ризиків та максимізацією можливостей для
трейдерів.
Додаткові вимоги для покращення користувацького досвіду та безпеки
включають:
 інтуїтивно зрозумілий інтерфейс. Забезпечення зручності
користувачів через легкий у використанні та зрозумілий інтерфейс
для полегшення взаємодії з програмним забезпеченням;
 безпека. Захист рахунків та транзакцій шляхом впровадження
сучасних заходів безпеки, таких як сильна аутентифікація, що може
включати біометричні методи;
 підтримка декількох валют і бірж. Можливість працювати з різними
криптовалютами та на різних біржах для більшого спектру
торговельних можливостей.
Важливо враховувати, що обрання бота, орієнтованого лише на одну
валюту чи біржу, може бути вигідним рішенням в залежності від конкретних
потреб та обмежень підприємця. Такі рішення можуть бути економічно
доступнішими та швидше розробленими, але варто розглядати їх у контексті
конкретних цілей та стратегій трейдера.
Ризики
Ризики, пов'язані з торгівлею криптовалютами, можуть бути значними і
вимагають обережності. Навіть при використанні передових технологій і
наявності репутованих бірж, існує завжди ризик фінансових втрат через
коливання ринку та інші непередбачувані фактори.
17
Однією з можливих загроз є ризик на ринку, коли зміни, не передбачені
алгоритмами торгового бота, можуть вплинути на результати та вивести їх із
стриму. Розробники ботів часто попереджають користувачів про потенційні
ризики, пов'язані з такими ситуаціями.
Недобросовісні розробники торгових ботів можуть надавати хибні
обіцянки щодо швидкого збагачення. Важливо розуміти, що навіть легальні
боти не гарантують постійний прибуток через можливі несприятливі умови
на ринку.
Окрім того, існують ризики використання підроблених програм, що
можуть викрадати акаунти користувачів або надавати обманну інформацію
щодо торгівельних можливостей. Шахрайські суб'єкти можуть зловживати
довірою користувачів, що може призвести до великих втрат.
Загалом, трейдерам слід бути вкрай обачними при виборі торгових
ботів, ретельно перевіряти програмне забезпечення та дотримуватися
основних принципів безпеки в інвестуванні в криптовалютні активи.
Використання здорового глузду та досвіду є ключовим елементом для
уникнення ризиків у сфері торгівлі криптовалютами. Важливо розуміти, що
жодна стратегія не забезпечить стійкого уникнення фінансових втрат завжди,
і навіть найсучасніший торговий бот не може служити "срібною кулею" для
миттєвого збагачення.
Замість того, щоб сподіватися на універсальне рішення, краще
розглядати торгового бота як багатофункціональний інструмент. Він може
виконувати рутинні операції, автоматизувати транзакції та працювати в
автономному режимі. Основна перевага полягає в тому, щоб
використовувати його як засіб для тестування та реалізації унікальних
стратегій, що можуть надати конкурентну перевагу.
Персоналізація є важливим аспектом успішного торгового бота,
оскільки вона дозволяє враховувати унікальні потреби кожного користувача.
Загальні рішення не завжди здатні задовольнити індивідуальні вимоги, і їхня
18
ефективність може бути обмеженою порівняно з персоналізованими
програмними рішеннями.
Створення торгового боту з використанням мови Python
Python відомий своєю простотою та читабельністю коду, роблячи його
привабливим для програмування торгових ботів, особливо для початківців у
програмуванні.
Багата бібліотека та фреймворки Python роблять його відмінним
вибором для розробки торгових ботів, дозволяючи легко взаємодіяти з
ринками криптовалют. Наприклад, бібліотека ccxt надає уніфікований
інтерфейс для роботи з численними біржами.
Python, хоч і високорівнева мова, завдяки оптимізаціям та стороннім
бібліотекам, може бути ефективною для розробки торгових ботів, особливо в
контексті криптовалютних ринків. Його гнучкість та можливість легкої
настройки дозволяють розробникам створювати різноманітні стратегії та
алгоритми торгівлі [8].
Завдяки активній та великій спільноті розробників, Python надає
різноманітні ресурси, включаючи документацію, форуми та бібліотеки, які
полегшують роботу з ринками криптовалют. При цьому важливо
дотримуватися найвищих стандартів безпеки, оскільки програмування
торгових ботів пов'язане із фінансовими операціями.
Різноманіття бібліотек уможливлює ефективне керування завданнями в
індустрії торгівлі, такими як відправлення електронних листів, створення
статистичних моделей та побудова діаграм. Python також славиться своєю
швидкозростаючою та активною спільнотою, що гарантує доступ до якісних
розробників та інновацій у сфері торгівлі. Однак важливо враховувати
виклики, такі як обмеження швидкості виконання коду та питання безпеки,
особливо з урахуванням доступу ботів до фінансових ресурсів [9].
19
1.2 Огляд існуючих систем арбітражної торгівлі
1.2.1 Blackbird Bitcoin Arbitrage
Blackbird Bitcoin Arbitrage – це система, написана на мові
програмування C++, яка автоматизовано здійснює стратегію арбітражу на
ринку біткойнів, використовуючи можливості для укладення угод на різних
біржах (рисунок 1.5).
Рисунок 1.5 – Інтерфейс програми Blackbird Bitcoin Arbitrage
У відміну від інших систем арбітражу біткойнів, Blackbird не продає
активи; фактично, вона укладає короткі угоди на біржі біткойнів. Це важлива
особливість, яка надає дві ключові переваги:
 нейтральність до ринку. Стратегія завжди залишається нейтральною до
рухів ринку біткойнів, незалежно від того, чи йде зростання, чи спад. Це
дозволяє стратегії уникнути великого ризику, пов'язаного з різкими
коливаннями вартості біткойну;
 безперешкодні торгівельні операції. Стратегія не вимагає переміщення
коштів (доларів США або BTC) між біржами біткойнів. Операції
купівлі/продажу та продажу/купівлі здійснюються паралельно на двох
різних біржах, і це не залежить одне від одного. Це усуває потребу
20
вирішення проблем, пов'язаних з затримкою передачі коштів. Результати
торгівлі зберігаються в файлах CSV, а подробиці операцій фіксуються в
файлах журналу, які створюються при кожному запуску Blackbird.
Є можливість автоматично завершувати роботу Blackbird після
закриття наступної угоди, створивши будь-який час порожній файл з ім'ям
stop_after_notrade. Кодування і декодування base64 використовують функції,
розроблені Рене Ніффенеггер.
Для використання кожного облікового запису на біржі потрібно
створити ключі аутентифікації API, зазвичай це робиться у розділі
налаштувань облікових записів. Після цього ключі API додаються в файл
blackbird.conf. Важливо мати як мінімум дві біржі, причому одна з них
повинна підтримувати можливість коротких продажів.
1.2.2 Bitsgap
Bitsgap представляє собою універсальну торгову платформу, яка
дозволяє об'єднати всі облікові записи на криптовалютних біржах і
здійснювати торгівлю через єдиний інтерфейс.
Рисунок 1.6 – Демонстрація інтерфейсу програми Bitsgap
21
Bitsgap забезпечує інтеграцію з понад 25 визначеними криптобіржами,
включаючи такі великі платформи, як Bitfinex, Binance, Kraken, Poloniex, та
Coinbase Pro (рисунок 1.6). Всі послуги, надані для кожної біржі, є
однаковими:
 торгівля. Можливість торгувати на всіх біржах з однієї платформи,
використовуючи різноманітні інструменти, такі як Smart Trade, Stop-
Limit і Shadow;
 арбітраж. Отримання переваги за рахунок різниці в цінах між двома
чи більше біржами;
 портфель. Відстеження стану засобів в реальному часі та аналіз
того, що фактично приносить прибуток в портфелі;
 сигнали. Моніторинг ринкових аномалій і отримання відповідних
сигналів для прийняття правильних рішень.
Bitsgap дозволяє торгувати на різних криптобіржах, інтегруючись з
такими платформами, як Binance, OKEX, Kraken та 25 іншими [10].
Існує кілька основних типів ордерів на фінансових ринках, які
визначають, як саме торгівельна операція повинна бути виконана. Ось
декілька типових видів ордерів:
 лімітний ордер (Limit Order). Цей тип ордеру встановлює
максимальну (при покупці) або мінімальну (при продажу) ціну, за
якою трейдер готовий купити або продати актив. Ордер виконується
тільки за умови, що ринкова ціна досягає вказаного рівня;
 ринковий ордер (Market Order). Такий ордер вказує на негайне
виконання торгівельної операції за поточною ринковою ціною. Це
означає, що актив буде куплено або продано за найкращою
доступною ціною на ринку, незалежно від поточного рівня ціни;
 стоп-лімітний ордер (Stop-Limit Order). Цей ордер має дві частини -
стоп-ціну та лімітну ціну. Коли ринкова ціна досягає стоп-ціни,
22
ордер перетворюється в лімітний, і торгівля відбувається за
вказаною лімітною ціною;
 стоп-ринковий ордер (Stop-Market Order). Аналогічно до стоп-
лімітного ордеру, але при досягненні стоп-ціни ордер виконується
за ринковою ціною, а не лімітною;
 тейк-профіт ордер (Take Profit Order). Цей ордер встановлює
цільовий рівень прибутку для трейдера. Коли ринкова ціна досягає
вказаного рівня, ордер виконується;
 стоп-втрата ордер (Stop-Loss Order). Встановлює рівень ціни, за
яким актив автоматично продаватиметься, зменшуючи можливі
збитки в разі негативного руху ціни.
Ці типи ордерів дозволяють трейдерам більше контролювати їхні
торгівельні стратегії і ризики.
Бот для торгівлі криптовалютами у Bitsgap дозволяє автоматизувати
торгівельні операції на різних біржах, таких як Binance, Bitfinex, Kraken, і
більше ніж 25 інших. Коли ціни рухаються, алгоритм бота автоматично
розміщує ордери на купівлю і продаж з метою отримання прибутку. Це
дозволяє трейдерам ефективно реагувати на зміни на ринку без постійного
моніторингу та вручного введення ордерів.
Bitsgap пропонує ряд функцій для зручної та ефективної торгівлі
криптовалютами:
 розробка розумної стратегії: Ви можете створити власну торгову
стратегію всього лише кількома кліками, надаючи гнучкість у
визначенні своїх умов та алгоритмів;
 перевірка перед інвестуванням: Функція тестування дозволяє
оцінити, як ваші налаштування реагуватимуть на різні ринкові
умови, допомагаючи у визначенні ефективності стратегії перед
реальними інвестиціями;
23
 готові стратегії: Ви можете вибрати одну з готових стратегій, що
базуються на успішних тестах. Це дозволяє скористатися досвідом
інших трейдерів;
 графіки TradingView: Для зручності оцінки продуктивності бота ви
можете використовувати графіки TradingView, які надають
деталізовану інформацію про торгові операції;
 відсутність завантажень: Платформа використовує хмарні онлайн-
сервіси, що робить її доступною без необхідності завантаження
додаткового програмного забезпечення.
Ще однією важливою функцією є Арбітраж, який дозволяє
використовувати різницю в цінах між різними біржами для отримання
прибутку. Це робиться на основі балансу рахунку користувача, вибору між
можливостями криптовалютного і фіатного арбітражу, при цьому комісії
бірж враховуються в прибуток.
1.2.3 Botsfolio
Botsfolio – це інноваційний інструмент для криптовалютного
інвестування, спрямований на автоматизацію торгівлі та інвестування для
осіб без технічного або трейдерського досвіду (рисунок 1.7).
24
Рисунок 1.7 – Демонстрація інтерфейсу Botsfolio
Таке інвестування в криптовалюту стає таким же простим, як прив'язка
особистого профілю до Binance. Після зв'язування готові торгові боти
автоматично виконують операції з купівлі та продажу найкращих
криптовалют (BTC, ETH та інших), створюючи добре диверсифікований
портфель.
Торгові роботи не вимагають втручання чи налаштувань стратегій від
користувача – вони працюють автономно. Будь-хто, у кого є обліковий запис
Binance, може використовувати ці боти без особливих торговельних чи
технічних навичок.
Основна ідея полягає в тому, що, подібно до того, як Wealthsimple
диверсифікує капітал в різні індексні фонди, Botsfolio диверсифікує гроші
інвестора в портфель робочих ботів, які використовують різні торгові
стратегії на різних часових інтервалах.
Кожен користувач отримує 4 готові боти з різними торговими
стратегіями, які працюють паралельно для оптимального управління
портфелем.
25
Довгостроковий бот призначений для пошуку довгострокових
можливостей купівлі та продажу. Він формує портфель інвестора з
використанням від 80 до 90% чистих інвестицій. Даний бот інвестує у
близько 10 криптовалют, диверсифікованих згідно з варіантами, вказаними
користувачем.
Скальпер-бот зосереджений на скальпуванні невеликих можливостей і
заробітку кількох доларів кожні кілька годин на дуже невеликих цінових
рухах.
Свінг-бот визначає коливання ціни в одному напрямку і утримує більші
позиції протягом тривалого періоду часу, отримуючи прибуток кілька разів
на тиждень або місяць.
Трендовий бот виявляє чіткі діапазони руху ціни і торгує відповідно,
коли ринок рухається в чіткому тренді.
Хедж-бот очікує високої волатильності для здійснення хеджування
позицій та отримання фінансування від ф'ючерсів. Він скасовує одну частину
угоди, якщо базовий актив не приймає чіткого напрямку після певного
періоду часу.
Програмне забезпечення Botsfolio призначене для мінімізації та
усунення невиправданих ризиків, що часто зустрічаються серед початківців
інвесторів. Боти в здатністю хеджувати портфель інвестора в умовах високої
волатильності ринку, зберігаючи чисту вартість на основі параметрів
управління ризиками.
Для користувачів з низьким рівнем апетиту до ризику боти можуть
виконувати рознесення угод, заробляючи фіксоване фінансування з позиції
користувача. При цьому ризик впливу рухів цін зберігається на мінімальному
рівні.
Використовуючи лише невеликий відсоток коштів для торгівлі
ф'ючерсами, боти максимізують прибутковість та мінімізують ризик
26
капіталу. Автоматичні стоп-лоси виключають можливість ліквідації при
використанні ф'ючерсів.
У випадку, якщо чиста вартість портфеля знижується нижче
початкових інвестицій, боти автоматично регулюють рівень ризику,
виконуючи обмежену кількість угод з меншими сумами, доки початкова сума
інвестицій не буде відновлена.
До особливостей даного програмного забезпечення можна віднести
необхідність вводити стратегію та встановлювати параметри бота в Botsfolio,
як це вимагається у інших інструментах, наприклад, TradeSanta або 3commas.
Сервіс створює добре диверсифікований криптопортфель, що купує
активи на спадах та продає їх за завищеною ціною для автоматичного
збільшення чистої вартості з часом.
Боти в Botsfolio торгують ф'ючерсами, використовуючи чітко визначені
тенденції на ринку та збалансований рівень ризику, щоб надати переваги
криптопортфелю.
Також можливе зайняття хеджуючих позицій, коли ринки рухаються в
бічному напрямку, для заробітку фінансування через ф'ючерси.
Сервіс пропонує конкурентноспроможну ціну та велику цінність для
користувачів.
Робота здійснюється тільки на біржі Binance, і для початку торгівлі
необхідно внести мінімальні вкладення в розмірі 1000 Tether.
Щодо безпеки, важливо відзначити, що весь процес торгівлі
відбувається на біржі Binance, і активи залишаються безпечними.
Використання API для підключення до Binance дає можливість роботам
розміщувати замовлення на купівлю та продаж за користувача. Ключі API
зберігаються в зашифрованому вигляді, а в разі крадіжки або злому, навіть
якщо хакер отримає доступ, він не матиме можливості вивести гроші в інший
гаманець за допомогою ключів API.
27
1.3 Постановка задачі
Загальна постановка задачі:
Це дослідження спрямоване на розробку і впровадження комп'ютерної
системи інформаційного аналізу для оптимізації процесів криптовалютного
арбітражу. Основною метою є створення програмного продукту та стратегій,
які забезпечать автоматизований аналіз ринкових умов та ефективне
прийняття рішень для максимізації прибутку та мінімізації ризиків.
Конкретні задачі дослідження:
 розробка програмного інтерфейсу для взаємодії з API
криптовалютних бірж та забезпечення стабільної роботи;
 реалізація алгоритмів виявлення та використання арбітражних
можливостей на ринках;
 аналіз ліквідності та волатильності криптовалютних ринків та
розробка оптимальних стратегій арбітражу;
 дослідження впливу економічних та соціальних подій на
криптовалютні ринки та розробка стратегій, що адаптуються до змін
у середовищі;
 використання методів машинного навчання для створення точних
моделей прогнозування руху цін та адаптації стратегій до
середовища;
 тестування програмного продукту на історичних даних та апробація
на реальних ринках з подальшою оптимізацією.
Очікується успішний синтез комп’ютерної системи, яка ефективно
буде взаємодіяти з біржами та забезпечить стабільну роботу. Також
планується визначення оптимальних стратегій арбітражу та створення точних
моделей прогнозування ринкових тенденцій. Результатом має бути система,
що максимізує прибуток та мінімізує ризики в умовах ринкової
нестабільності.
28
1.4 Висновки до розділу 1
Арбітраж криптовалют – це сфера, яка постійно змінюється, і в ній
використовуються два основних методи виявлення арбітражних ситуацій,
однак один із них є досить ризикованим.
Один з методів - арбітраж між біржами, може призвести до значного
прибутку. Наприклад, у вівторок біткойн можна було придбати на
зарубіжних біржах приблизно на 3,4% дешевше, ніж на місцевих. Це
дозволяє купити біткоін на зарубіжній біржі, використовуючи квоти на
обмін, а потім продати його на криптовалютній біржі, отримуючи прибуток.
Проте цей метод супроводжується рядом ризиків, таких як падіння цін
під час переміщення біткойна на біржу, затримки при доставці біткойна,
можливі проблеми з біржами, такі як їхній злам чи банкрутство, а також
ризик втрати біткоіна через неправильну адресу або інші фактори.
Це лише декілька з очевидних ризиків, які супроводжують арбітраж
між біржами у криптовалютному просторі.
Оптимальним рішенням є використання арбітражу в межах однієї
біржі, оскільки це дозволяє проводити всі операції на одній платформі,
зменшуючи ризики. Хоча ризики залишаються, контроль над ними значно
полегшується, і слід уважно відстежувати усі аспекти торгівлі.
Крипто-арбітражні боти - це комп'ютерні програми, які автоматично
генерують та виконують запити на купівлю та продаж криптовалют на біржі
відповідно до заданої торгової стратегії. Наприклад, простий торговий бот
може бути налаштований на продаж Ethereum, коли його ціна досягає
певного рівня.
Узагальнено, боти для криптовалют дозволяють здійснювати торгівлю
на підставі об'єктивних даних та тенденцій, уникати емоційного втручання.
Це, зазвичай, підвищує їхню прибутковість, зменшує ризики та обмежує
втрати на біржах. Автоматизована торгівля також може генерувати пасивний
дохід навіть протягом 24 годин на добу.
29
Важливо, щоб платформа для автоматичної торгівлі була надійною та
безпечною, і передача приватних ключів повинна бути проведена тільки
через довірені та безпечні програми, де користувач має повний контроль над
цим процесом.
30
РОЗДІЛ 2 СИНТЕЗ СТРУКТУРИ ТА ОСНОВНИХ АЛГОРИТМІВ
КОМП'ЮТЕРНОЇ СИСТЕМИ ІНФОРМАЦІЙНОГО АНАЛІЗУ
АРБІТРАЖНИХ СИТУАЦІЙ
2.1 Функції комп'ютерної системи інформаційного аналізу
арбітражних ситуацій
Комп'ютерна система інформаційного аналізу арбітражних ситуацій
відзначається великим спектром функцій, спрямованих на автоматизацію та
оптимізацію процесів криптовалютного арбітражу.
Центральною функцією є автоматизований аналіз ринкових умов.
Система постійно моніторить криптовалютні ринки, аналізуючи цінові зміни,
обсяги торгів та інші параметри. Це дозволяє системі швидко виявляти
арбітражні можливості та приймати оптимальні рішення в реальному часі.
Значною частиною функціоналу є інтеграція з API криптовалютних
бірж, що дозволяє системі ефективно отримувати та обмінюватися
актуальною інформацією з ринків. Це важливо для забезпечення надійності
та швидкості обміну даними.
Система реалізує алгоритми арбітражу, які автоматично виявляють та
використовують вигідні торгові можливості. Це включає в себе не лише
виявлення точок для виконання операцій, але і управління портфелем для
максимізації прибутку та мінімізації ризиків.
Система також використовує методи машинного навчання для аналізу
та прогнозування ринкових тенденцій. Це дозволяє створювати точні моделі
для прийняття рішень та адаптації до змін у ринкових умовах.
Однією з ключових функцій є розробка стратегій ризик-менеджменту,
спрямованих на мінімізацію фінансових та технічних ризиків у
криптовалютних операціях. Це важливо для забезпечення стійкості системи в
умовах невизначеності [11].
31
Гнучка адаптація до змін ринкових умов є також важливою функцією
системи. Застосування алгоритмів, які ефективно пристосовуються до
швидких змін у криптовалютному ландшафті, дозволяє системі залишатися
стійкою та ефективною в диічному середовищі.
Також слід відзначити функцію створення інтерфейсу для користувача,
що дозволяє зручно моніторити та керувати основними функціональностями
системи. Це забезпечує зручність користувача та його легкий доступ до
управління операціями системи.
2.2 Структурно алгоритмічна організація системи інформаційного
аналізу арбітражних ситуацій
У цьому розділі розглянуті основні модулі, пов'язані із здійсненням
аналізу ринкових умов у контексті криптовалютного арбітражу.
Модуль обробки маршруту. Цей модуль відповідає за виявлення та
обробку потенційних маршрутів арбітражу між різними криптовалютними
біржами. Основні функції модулю включають:
 визначення Маршрутів: Розробка алгоритмів для виявлення
можливих маршрутів арбітражу, враховуючи різницю у цінах
активів на різних біржах;
 оптимізація Маршрутів: Реалізація методів оптимізації для вибору
найбільш вигідних маршрутів з урахуванням різних факторів, таких
як комісії та час виконання;
 ліквідність та Ризики: Врахування рівня ліквідності на ринках та
оцінка ризиків, пов'язаних із вибраними маршрутами.
Модуль розрахунку стратегії. Модуль розрахунку стратегії визначає
методики прийняття рішень для максимізації прибутку та мінімізації ризиків
при здійсненні арбітражних операцій. Основні аспекти модулю включають:
32
 розробка Торгових Сигналів: Створення алгоритмів для
визначення торгових сигналів, що вказують на вигідні моменти
для виконання операцій;
 управління Портфелем: Реалізація стратегій управління
портфелем, включаючи розподіл активів, диверсифікацію та
зменшення величини операцій при певних умовах;
 оптимізація Входу/Виходу: Розробка методів для точного
визначення моментів входу та виходу з позицій для максимізації
прибутку.
Модуль виводу даних користувачу. Цей модуль відповідає за
взаємодію користувача із системою та представлення результатів аналізу.
Основні функції модулю включають:
 графічний Інтерфейс: Розробка графічного інтерфейсу для
зручного та інтуїтивного взаємодії користувача з системою;
 візуалізація Даних: Представлення результатів аналізу у вигляді
графіків, діаграм та інших візуальних засобів;
 статистичні Звіти: Генерація статистичних звітів щодо
продуктивності стратегій, виконаних операцій та інших
ключових показників.
Модуль вибору бірж. Модуль вибору бірж реалізує алгоритми для
вибору конкретних криптовалютних бірж для виконання торгових операцій.
Основні функції модулю включають:
 оцінка Ліквідності: Аналіз рівня ліквідності на різних біржах для
вибору тих, які найбільше підходять для виконання операцій;
 урахування Комісій: Врахування розміру комісій на кожній біржі
при виборі оптимальних маршрутів;
 безпека Транзакцій: Оцінка безпеки та надійності транзакцій на
різних біржах.
33
Модуль, що відправляє запити на сервер біржі. Цей модуль відповідає
за взаємодію з API криптовалютних бір
На рисунку 2.1 наведено структурно алгоритмічну організацію системи
інформаційного аналізу арбітражних ситуацій.
Рисунок 2.1 – Структурно алгоритмічна організація системи інформаційного
аналізу арбітражних ситуацій
2.3 Вимоги до апаратного забезпечення клієнтської частини
системи інформаційного аналізу арбітражних ситуацій
Мінімальні Системні Вимоги:
 процесор: Intel Pentium IV/Xeon з тактовою частотою 2,4 ГГц або
вище;
 оперативна пам'ять: Мінімум 1024 Мб;
 жорсткий диск: Мінімум 40 Гб вільного місця;
 пристрій для читання компакт-дисків;
 USB-порт;
 SVGA-відеокарта.
2.4 Висновки до розділу 2
Розділ 2 надає глибокий огляд функцій, структурно-алгоритмічної
організації та вимог до апаратного забезпечення комп'ютерної системи
34
інформаційного аналізу арбітражних ситуацій. Зглядаючи представлені
аспекти, можна зробити кілька ключових висновків:
Функціональність Системи. Система успішно впроваджує
автоматизований аналіз ринкових умов, стратегії ризик-менеджменту та інші
ключові функції, що роблять її ефективним інструментом для
криптовалютного арбітражу.
Модульна структура системи, представлена в розділі 2.2, дозволяє
ефективно керувати та розвивати систему. Модулі, такі як обробка маршруту
та розрахунок стратегії, сприяють високій гнучкості та оптимізації.
Вимоги до апаратного забезпечення, описані у розділі 2.3, націлені на
забезпечення ефективної роботи клієнтської частини системи. Це включає в
себе високу швидкодію та надійність для забезпечення швидкої реакції на
зміни на ринку.
Загальною метою цього розділу є створення комп'ютерної системи, яка
не лише ефективно виявляє арбітражні можливості, але й забезпечує зручне
взаємодію користувача та стійкість до змін у криптовалютному середовищі.
На основі розглянутих функцій та структурно-алгоритмічної організації
можна зробити висновок, що система відповідає вимогам та може бути
ефективною в реальних умовах криптовалютного арбітражу.
35
РОЗДІЛ 3 ОПИС ОСНОВНИХМАТЕМАТИЧНИХ ЗАЛЕЖНОСТЕЙ ТА
АЛГОРИТМІВ
3.1 Опис основних математичних залежностей та аналізу
арбітражних ситуацій
Для визначення прибуткових можливостей в арбітражних умовах
використовується математичний підхід. Цей підхід включає аналіз різниці у
ціні крос-курсу, який вказує на наявність арбітражу, а отже, можливості
отримання прибутку при вірному виконанні ордерів.
Щоб оцінити переоцінку крос-курсу, що вказує на розбіжність у ціні
між трьома активами, розглядаються два можливих шляхи замовлень.
Обидва шляхи включають початковий та кінцевий актив (у даному випадку -
долари США). Для кожного шляху виконується розрахунок крос-курсу, а
якщо результат більше 1, це свідчить про завищення. Проте, важливо
враховувати торгові комісії, які також будуть враховані при заповненні
ордерів.
3.2 Опис основних алгоритмів аналізу ринкових умов
Для забезпечення прибутковості крос-курсу, його значення повинно
перевищувати загальну суму комісій за кожну угоду. У цьому контексті
припускається, що кожна ринкова пара має ставку комісії тейкера 0,2%.
Отже, крос-курс має бути більше ніж 1+0,002+0,002+0,002, щоб бути
прибутковим.
Для деталізації цього підходу розглянемо приклад з такими ключовими
точками даних:
 початковий актив – USD (валюта початку операцій);
 торгова пара A - BTC-USD;
 торгова пара B - LTC-BTC;
 торгова пара C - LTC-USD;
36
 розмір торгових зборів – припустимо, що кожна торгова пара має
ставку комісії тейкера 0,2%.
Нижче наведено два можливі шляхи замовлення та відповідні формули
крос-курсу:
Алгоритм першого порядку включає наступні етапи:
 покупка за “торговельною парою А”: Починаючи з USD,
проводиться операція купівлі BTC;
 покупка за “торговельною парою B”: Використовуючи BTC,
здійснюється покупка LTC;
 продаж за “торговельною парою C”: LTC продаються за долари.
Формула крос-курсу шляху першого порядку: (1 / Попит “Торгівельна
пара A”) * (1 / Попит “Торгівельна пара B”) * (Пропозиція “Торгівельна
пара C”)
Рисунок 3.1 – Шлях першого порядку
37
Шлях другого порядку
 покупка за «торговельною парою C». Почни з USD, купуй LTC;
 продати «Торгівельну пару B». Продати LTC за BTC;
 продати по «торговій парі А». Продайте BTC за долари.
Формула крос-курсу шляху другого порядку: (1 / пропозиція
«Торгівельна пара C») * (пропозиція «Торгівельна пара B») * (пропозиція
«Торгівельна пара A»)
Рисунок 3.2 – Шлях другого порядку
При використанні даної торговельної стратегії важливо враховувати дві
ключові аспекти: прослизання та вимоги до точності ринкової інформації.
Прослизання виникає, коли існує можливість отримати менш вигідну ціну,
ніж очікувалося, через те, що було виконано кілька замовлень у книзі
ордерів. Наприклад, якщо ви хочете придбати BTC в книзі ордерів BTC-USD,
38
і там є запит на 0,1 BTC за ціною 20 000 доларів США, а наступний - 0,2 BTC
за ціною 20 100 доларів США, і ви купуєте 0,15 BTC, то ви отримаєте перші
0,1 за курсом 20 000 доларів, а залишок - за ціною 20 100 доларів. Щоб
уникнути прослизання, важливо переконатися, що розмір ордера не
перевищує розмір аскінгу, визначеного в даному випадку запиту, оскільки
трикутний арбітраж передбачає виконання трьох різних ордерів [12].
Вимоги до точності даних визначають кількість десяткових знаків, яку
підтримує кожен ринок під час обміну, як для сум, так і для ставок ордерів.
Біржі встановлюють ці обмеження з метою уникнення торгівлі надто малими
сумами, і кожна торговельна пара на біржі може мати різну кількість
десяткових знаків. Якщо з'являється можливість арбітражу, для якої
необхідно мати суму ордера 0,65201 BTC на двох ринках, але на одному з
ринків дозволено тільки три десяткові знаки, користувач не зможе подати
такі ордери.
3.3 Алгоритм криптовалютного арбітражу
Стратегія торгівлі спредом, відома як арбітражна стратегія "Червоний
Фенікс", складається з двох етапів. Під час першого етапу, коли ціни на
криптобіржах суттєво відрізняються одна від одної, здійснюється
прибутковий арбітраж. На другому етапі, коли ціни стають ближчими, може
відбутися втрата, але менша, ніж здобуток на першому етапі. У цьому
випадку використовується стратегія продажу на коротку позицію зі спредом,
коли він високий, і її покупка, коли спред низький.
Стратегія "Червоний Фенікс" ефективна на ринках, які стабільно
випереджають інші. Наприклад, ціна на BTC/USD на деяких місцевих біржах
завжди вища, ніж на більших біржах США. Однак зазначено, що отримання
прибутку від цієї стратегії може бути викликане певними труднощами.
Представляє таку ситуацію:
39
Рисунок 3.3 – Діаграма ілюструє як можливий теоретичний прибуток
перетворюється на збиток
На цій діаграмі відображено, як теоретичний прибуток від арбітражу
перетворюється на збиток через високі комісії за виведення коштів. Стратегія
арбітражу "Червоний Фенікс" розроблена з урахуванням подібних ситуацій.
На першому етапі інвестор отримує значний прибуток, а на другому етапі
може виникнути збиток. Принцип простий: доцільно заробляти більше, ніж
втрачати, і стратегія побудована з урахуванням цього правила.
40
Починаючи з 5 серпня 2018 року, ціна YoBit TRX/BTC постійно
перевищувала ціну TRX/BTC на Binance. Здійснення петельного арбітражу
було ускладнене через велику комісію за виведення TRX на YoBit. У цьому
випадку допомогла стратегія "Червоний Фенікс".
Рисунок 3.4 – Графік представляє ціну TRX/BTC
Графік (Рисунок 3.4) ілюструє ціну TRX/BTC на двох біржах. Червона
лінія представляє ціну BID TRX/BTC на YoBit, що вказує на те, скільки BTC
можна отримати за TRX на YoBit. Синя лінія відображає ціну ASK TRX/BTC
на Binance, показуючи, скільки BTC потрібно заплатити, щоб отримати TRX.
Приблизно о 17:18 14 серпня відзначається момент, коли різниця в цінах
досягла максимального значення:
 ціна за якою можна продати TRX на YoBit становить 0,00000312
BTC;
 ціна за якою можна купити TRX на Binance становить 0,00000280
BTC.
Це означає, що, теоретично, на кожному TRX, який буде куплений на
Binance, можна заробити 0,00000032 BTC. Це багато. Але потрібно пройти
повний цикл, щоб наші базові USD були там, звідки все починалося. Ось
чому необхідно робити зворотню торгівлю.
41
Припускаючи, що купуючи трохи TRX на Binance і продаючи трохи
TRX на Yobit, тепер потрібно здійснити зворотну угоду. Потрібно дочекатися
моменту, коли ціни стануть найближчими.
Рисунок 3.5 – Ціна за якою можна продати на Binance
Демонстрація моменту у колі:
Рисунок 3.6 – Ціна за якою можна продати на YoBit
Ці графіки відображають ціну TRX/BTC, проте на цей раз червона лінія
представляє ціну, за якою можна продавати на YoBit, тоді як синя лінія
показує ціну для продажу на Binance, без урахування торгових комісій.
Необхідно звернути увагу на цей момент о 02:12 15 серпня:
 ціна, за якою можливо продати на Binance, складає 0,00000324 BTC
(рисунок 3.5);
42
 ціна, за якою можливо купити на YoBit, становить 0,00000323 BTC
(рисунок 3.6).
Розглядаючи вищенаведені графіки цін тікерів, слід зауважити, що
вони не враховують комісію за торгівлю та обсяг угод. Для отримання
реальної ціни, яку доведеться заплатити або отримати, важливо враховувати
торговельну комісію на біржі і обсяг угод, доступних для цін тікера. Отже, у
вказаному прикладі здається, що можливий прибуток, але після застосування
комісій за торгівлю та врахування обсягів можуть виникнути невеликі
втрати. На першому етапі можна отримати значний прибуток, а на другому
етапі можуть відбутися невеликі втрати [13].
3.4 Арбітражний аналіз
Використовуючи книги замовлень обох бірж для проведення
порівняльного аналізу, ми оцінюємо відповідність книг замовлень між
біржами. Проведений аналіз базується на транзакції на суму 1000 доларів
США.
Рисунок 3.7 – Купівлі на Binance та продажу на Yobit
Графік, який було наведено вище (Рисунок 3.7), відображає прибуток
від арбітражної транзакції, що включає покупку на Binance та продаж на
Yobit (зелена лінія), виражений у відсотках. Червона лінія на графіку
відображає збиток від угоди, при якій відбувається покупка на Yobit та
43
продаж на Binance. Важливо зауважити, що позитивний відсоток збитків
означає, що відсоток втрат є від'ємним.
Кола на діаграмі представляють два моменти, які були описані вище:
 приблизно о 17:18 14 серпня, якщо вирішимо купувати на Binance та
продавати на YoBit, то заробимо 7% від суми транзакції (~ 70
доларів США) (рисунок 3.8).
Рисунок 3.8 – Демонстрація можливого прибутку через різницю курсів
 приблизно о 02:12 15 серпня, якщо вирішимо продавати на Binance
та купувати на YoBit, то втратимо 0,3% від суми транзакції (~3
долари США) (рисунок 3.9).
Рисунок 3.9 – Демонстрація можливого збитку через різницю курсів
Після цих двох угод станемо багатшими майже на 67 доларів! і наші
кошти повернулися туди, де розпочали - можемо повторити всю операцію.
44
Детальний аналіз на діаграмі нижче, розберемо докладно цю ситуацію.
Рисунок 3.10 – Демонстрація детального аналізу проведених операцій
45
Щоб торгувати на суму, що відповідає 1000 доларів США. На першому
етапі торгуємо 52120 TRX, на другому етапі, оскільки ціна TRX/USD зросла,
зменшуємо суму транзакції до 48790 TRX. Демонстрація результатів після
кожного кроку.
Рисунок 3.11 – Результат після кожної операції
46
Після першого етапу можна відзначити, що загальна кількість BTC
зросла на 0,01315463 BTC, і кількість TRX залишилася незмінною. Це
означає, що ви заробили близько 7,1%, що в еквіваленті становить приблизно
71 долар США. На другому етапі втратили 0,00039519 BTC, що приблизно
дорівнює 3 доларам (-0,3%). У підсумку здійснений арбітраж приніс
прибуток у розмірі 68 доларів.
Розбіжності в кількості TRX, які залишилися після другої серії
транзакцій порівняно з початковою кількістю 53,000 TRX на YoBit,
виникають через те, що розмір нашої транзакції "індексується" TRX/USD. На
кожному етапі здійснюється угода на суму 1000 доларів США, але ціна
TRX/USD змінюється з часом, що призводить до зміни кількості TRX, яку ми
використовуємо для транзакції. У першій угоді курс TRX/USD був 0,01918, у
другій він зріс до 0,02049. Це призвело до зміни розміру транзакції, але
вихідний пул TRX на YoBit не було перебудовано. Зазначено, що це не є
проблемою, оскільки сума TRX на YoBit відповідає 1000 доларів США, і ми
готові до наступного раунду арбітражу. Оскільки ціна коливається в обидва
напрямки, після наступного раунду арбітражу можна буде повернутися до
вихідного положення [14].
Другою проблемою є комісія за транзакцію на Binance, яка складає
0,05%, але тільки у випадку, якщо на рахунку є монети BNB. BNB - це
монета Binance, і Binance підтримує використання цієї монети, знижуючи
початкову комісію за торгівлю з 0,1% до 0,05%, якщо на рахунку є BNB.
Торгова комісія в розмірі 0,05% більш зручна для арбітражу, тому для
повноти зображень на діаграмах вище рекомендується також мати гаманець
BNB.
Однак для спрощення ситуації всі розрахунки, наведені вище, були
виконані при умові оплати комісії у BTC замість BNB. У більш докладному
сценарії, де на рахунку є кілька BNB, комісія буде сплачуватися не у BTC, а у
47
BNB. Це означає, що у нашому гаманці BTC буде трохи більше BTC, і
відповідно менше BNB у гаманці BNB.
Важливо відзначити, що після підсумовування наших коштів на обох
біржах та гаманцях перша група транзакцій призвела до руху вперед,
забезпечивши прибуток в розмірі 71 долар США. Другий крок призвів до
невеликого відступу, з втратами у розмірі 3 доларів США. Однак після обох
цих кроків портфель все одно став більшим, ніж на початку, і загальна
кількість обох монет зросла. Прибуток складає 68 доларів США, що
представляє монети вартістю 2000 доларів США, що визначається як 3,4%, і
це все без будь-якого ризику.
3.5 Осциляторна стратегія
Погляньте на графіки, що представляють ціни LTC/BTC на YoBit та
Binance (рисунок 3.12).
Рисунок 3.12 – Графік розбіжності цін LTC/BTC
Важливо відзначити, що після узагальнення стану активів на обох
біржах та в гаманцях перша група транзакцій, надаючи прибуток у розмірі 71
долара США. Другий етап викликав невелике відступлення із збитками у
розмірі 3 доларів США. Тривалість обох етапів призвела до зростання
портфеля порівняно з початковим станом, і загальна кількість обох монет
збільшилася. Отриманий прибуток склав 68 доларів США, що представляє
48
монети вартістю 2000 доларів США, що еквівалентно 3,4%, і це все відбулося
без будь-якого ризику [15].
Рисунок 3.13 – Ціна на покупку і продажу YoBit та Binance
Даний графік ілюструє ціну попиту на біржі YoBit та ціну продажу на
Binance. Звертає увагу, що якщо ми маємо намір придбати активи на Binance
та реалізувати їх на YoBit, то це відображає протилежний напрямок
порівняно з першим проведеним аналізом [16].
Розглянемо графік, що відображає аналіз арбітражу.
Рисунок 3.13 – Аналіз арбітражних ситуацій
Проведено порівняння книги замовлень між біржами YoBit та Binance
для всіх угод з LTC/BTC, зібраних протягом дня. Аналіз виконувався з
урахуванням припущення, що розмір угоди становить 0,75 LTC, що
приблизно дорівнює 50 доларів США. На цьому графіку ось Y представляє
49
відсоток прибутку від арбітражної угоди. Зелена лінія вказує на відсоток
зростання в напрямку від YoBit до Binance (купівля на YoBit, продаж на
Binance). Червона лінія представляє розмір збитків для угод, які б були
здійснені в протилежному напрямку (купівля на Binance, продаж на YoBit).
Платформа відображає збиток як позитивне значення, що є зручним
для іншого методу арбітражу - Red Phoenix. На даній платформі купівля на
YoBit та продаж на Binance позначається червоною лінією, яка вказує на
негативний відсоток приросту - іншими словами, відсоток збитків. У цьому
випадку це вказує на негативний виграш у зворотному напрямку, оскільки це
збиток. Червона лінія вище 0, що означає, що значення збитку більше 0 для
всіх операцій у напрямку Binance-> YoBit. Зниження червоної лінії нижче 0
показує, що збиток негативний, що фактично вказує на позитивний прибуток
у напрямку Binance-> YoBit.
Отже, завершуючи, буде наступний приріст (позначений синім
кружком на графіку):
 прибуток на Yobit - Binance о 15:40 6 серпня: 0,12%;
 прибуток на Binance - Yobit о 19:20 6 серпня: 0,15%;
 приріст на Yobit - Binance о 20:08 6 серпня: 0,13%;
 прибуток на Binance - Yobit о 23:49 6 серпня: 0,17%;
 прибуток на Yobit - Binance о 00:55 7 серпня: 0,18%
 прибуток на Binance - Yobit о 06:39 7 серпня: 0,12%
 приріст на Yobit - Binance о 09:33 7 серпня: 0,33%.
Важливо зауважити, що цей аналіз проведений для обсягу угоди 0,75
LTC. При збільшенні розміру угоди можливості арбітражу стали б менш
доступними. Замість того, щоб ризикувати великими сумами, програмний
код використовує доступний обсяг - розмір кожної угоди залежить від
доступного обсягу та потенційного прибутку. Програма може виконувати
кілька послідовних покупок, а не одного продажу, якщо це є можливим, щоб
ефективно використовувати наявні ресурси, і не обов'язково дотримується
50
стратегії одного "все разом" для покупки та одного "все разом" для продажу
[17].
3.6 Приклад та аналіз
Розпочавши з 0,01 BTC та 1 LTC на обох біржах, проводилися торгівлі
LTC на BTC та в зворотному напрямку з метою постійного збільшення
загальної кількості LTC та BTC. Суми, які використовувалися для угод,
визначалися за допомогою середньої ціни. Програма використовувала
заздалегідь визначене значення - параметр для бота - як суму транзакції, що в
даному випадку становила 0,75 LTC. За допомогою середньої ціни вона
розраховувала кількість BTC, яка мала бути використана у торгівлі.
Для докладнішого аналізу проведених операцій в цьому арбітражі є
ілюстрація (рисунок 3.14).
51
Рисунок 3.14 – Демонстрація операцій виконаних у арбітражі
Зведення загальних коштів на обох біржах у кожний момент часу
(рисунок 3.15).
52
Рисунок 3.15 – Зведення загальних коштів на обох біржах у кожний момент
часу
3.7 Висновки до розділу 3
Для максимізації ефективності програми виявилася необхідність
здійснювати арбітраж в обох напрямках. Це сприятиме збільшенню
можливого прибутку та підвищенню ймовірності виявлення арбітражних
можливостей. Крім того, важливу роль відіграє комісія на біржах, і
дослідження показало, що різні біржі мають відмінні рівні комісій.
Рівень комісії залежить від обсягу торгів на обліковому записі.
Зокрема, при роботі програми, якщо обсяг торгів перевищує 4000 доларів,
комісія буде зменшена. Це відкриває можливість отримання більшого
прибутку.
53
Під час тестування виявилася проблема прослизання, що визначає,
наскільки змінюється ціна монети, яку ви хочете купити, після укладання
угоди. Навіть дрібний розрив може мати велике значення, особливо при
торгівлі з вузькою маржою в арбітражі. Проблема прослизання стає ще більш
актуальною при роботі з менш ліквідними монетами, оскільки вони часто
мають проблеми з ліквідністю, що може призвести до оплати менш вигідної
ціни [18].
Наступним важливим аспектом є рух цін, особливо в умовах класичної
волатильності криптовалюти. Це подвійне лезо меча: з одного боку,
волатильність може створити більше можливостей для отримання прибутку,
але, з іншого боку, може швидко змести всі досягнуті доходи, залишаючи нас
із меншою кількістю монет.
Ця особливість волатильності особливо поширена серед менших
криптовалют. Це важливо враховувати, оскільки вона може впливати на
стратегію та рішення щодо торгівлі, забезпечуючи як можливості, так і
ризики.
54
РОЗДІЛ 4 ОПИС ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ТА
КОРИСТУВАЦЬКОГО ІНТЕРФЕЙСУ КОМП'ЮТЕРНОЇ СИСТЕМИ
ІНФОРМАЦІЙНОГО АНАЛІЗУ АРБІТРАЖНИХ СИТУАЦІЙ
4.1 Опис основних модулів програмного забезпечення
комп'ютерної системи інформаційного аналізу арбітражних ситуацій
Перший етап передбачає виявлення можливостей арбітражу в режимі
реального часу. Час грає ключову роль у цьому процесі, оскільки будь-яка
відмінність у курсах обміну між ринками повинна бути використана швидко.
Лістинг – Python “Алгоритм пошуку арбітражних ситуацій”
import requests
import ccxt
COMMISSION = 0.07
coin =float(100)
def birga(c):
binance= c
markets = binance.fetchTickers ()
return markets
def price_paru(markets):
price={}
for k in markets:
ask = markets[k]['ask']
bid = markets[k]['bid']
price[k] = {'bid': bid, 'ask': ask}
55
return price
#print(f'{k} | ask:{ask} bid:{bid} ')
def sort(markets):
i = 0
pare = {}
for key in markets:
symbol_1 = key
right_tiker = symbol_1[-3:]
left_tiker = symbol_1[:3]
spl = symbol_1.split('/')[0]
if len(spl) > 3:
continue
for key_1 in markets:
symbol_2 = key_1
lefttiker_two = symbol_2[:3]
right_tiker_two = symbol_2[-3:]
spl = symbol_2.split('/')[0]
if len(spl) > 3:
continue
if len( symbol_2)>9:
continue
if right_tiker == right_tiker_two:
for key_2 in markets:
symbol_3 = key_2
left_tiker_three= symbol_3[:3]
righ_ttiker_three = symbol_3[-3:]
56
spl = symbol_3.split('/')[0]
if len(spl) > 3:
continue
if len(symbol_3) > 9:
continue
if lefttiker_two == righ_ttiker_three:
if left_tiker == left_tiker_three :
i+=1
pare[i] = {'one': symbol_1,'two':symbol_2,'tree':symbol_3}
return pare
def form (paru,price):
data = []
i = 1
for key in paru:
one = paru[key]['one']
two = paru[key]['two']
tree = paru[key]['tree']
for key_1 in price:
if one == key_1:
ontes = price[key_1]['bid']
for key_2 in price:
if two == key_2:
twomen = price[key_2]['ask']
for key_3 in price:
if tree == key_3:
treemen = price[key_3]['ask']
57
c=coin*ontes
b=c/twomen
e = b/treemen
procent = (e/100-1)*100
if procent > 0:
data.append((f'{one}->{two}->{tree} \n ↑ Прибуто
к:{procent}%' ))
return data
Важливо звернути увагу на комісію і кількість монет:
COMMISSION = 0.07
coin =float(100)
Рисунок 4.1 – Комісія і кількість монет
Угода збору тут вкрай важлива. Зокрема, комісія за спотову угоду для
Okex VIP 0 становить 0,075%, що призводить до значення COMMISSION у
розмірі 0,0007. Ця комісія стягується за кожну угоду. Для спот-угод VIP 1
комісія складає 0,0675%.
Рисунок 4.2 – Види комісій на біржі
Треба детально розглянути екран торгових комісій на Binance. Тут
існують відокремлені комісії для “Творців” та “Тейкерів”. Останні
відносяться до не ринкових угод (наприклад, лімітних ордерів), і наші
58
арбітражні ордери мають бути обмеженими лімітними ордерами, інакше
може бути втрачена волатильність ринку. Маржа тут буде дуже тонкою.
Знайти можливості для арбітражу може вимагати сотні ітерацій.
Початкові дані для монет наразі є достатніми, але вони можуть
розширюватися з часом.
Рисунок 4.3 – Трикутний арбітраж
Трикутник, вказаний тут, представляє угоду USDT для обміну BTC на
AR (Arweave) за USDT, що приносить 0,441% прибутку. Таким чином, 100
USDT призвели б до отримання 44 центи в цьому арбітражі, ймовірно, за не
більше ніж 2 секунди (рисунок 4.3). Зазначена інформація є ключем до
розгадки, оскільки в наступний момент часу, о 17:00:30, подібного арбітражу
не було, і він зник. Якщо угода була ініційована на BTC, то вона могла б бути
виконана, але угода на AR може не відбутися. Нам неможливо бути
впевненими лише у цій інформації.
Ймовірно, через секунду обмін USDT/BTC більше не був доступний за
граничною ціною: BTC/USDT: 0,00002973. Але тепер, коли у нас є BTC,
можливо, що залишилися ще дві угоди, які все ще можуть бути виконані. Ми
не можемо цього знати, ініціюючи арбітражний обмін.
Кожний виклик REST API займає щонайменше 200 мс, залежно від
того, де виконується код (де знаходяться сервери). Сервери розташовані в
різних країнах. Лімітний ордер не є миттєвим, для його виконання може
знадобитися ще 500 мс, тому загальний час для 3 лімітних ордерів може
реально збільшитися до ~2 секунд. Звісно, може існувати деяка нездатність
виконати лімітний ордер, як вказано в цей момент, тому є безліч причин,
через які виконання арбітражу може не завершитися.
59
Багато причин може завадити успішному виконанню арбітражу у
доступному часовому вікні. Розгляньте наступний приклад арбітражу
(рисунок 4.4).
Рисунок 4.4 – Розгляд нестандартної умови арбітражу
Інший сценарій арбітражу залишається активним протягом кількох
секунд, що дозволяє виконати всі три угоди. Однак прибуток варіюється від
0,0077% до 0,0282%. При використанні 100 доларів США це призводило б до
прибутку менше 1 центу після врахування комісій.
Визначено, що можливості арбітражу обмежені величиною торгових
комісій, які стягуються біржами. Зауважено, що біржі беруть 0,075% від
вартості кожної з трьох транзакцій в арбітражі, які вважаються транзакціями
Taker через лімітні ордери.
Арбітражні трикутники, як правило, існують лише короткий час після
їх виявлення, з урахуванням часу PING для бірж (близько 20 мс) та часу
виконання лімітного ордера на ПОКУПКУ або ПРОДАЖ (включаючи виклик
API), швидкість виконання грає важливу роль.
Неможливо передбачити, чи залишиться арбітражний набір доступним
на всіх трьох біржах на момент виявлення. Немає гарантії, що ціни на
наступні валюти залишаться сталими після нашого першого обміну.
Деякі довгострокові арбітражні можливості мають низьку маржу
прибутку, і важливо балансувати їхню прибутковість відносно ризику,
оскільки існує реальний ризик невиконання угод, як зазначено вище.
Аналіз даних арбітражу
Тепер важливо здійснити захоплення даних арбітражу,
використовуючи поданий код, і подальший аналіз цих даних для визначення
кількості арбітражних можливостей та встановлення того, скільки з них мали
60
тривалість не менше 2-3 секунд. Основний акцент повинен бути на розмірі
прибутку від цих угод. Ось приклад прогону, що охоплює ~60 можливостей
арбітражу.
Розпочнемо, конвертуючи дані результатів наших угод у словникову
структуру, щоб забезпечити організацію часу кожного арбітражу
(рисунок 4.5):
Рисунок 4.5 – Створення словника, щоб організувати час кожного арбітражу
Розглядаємо дві угоди як послідовні, якщо вони надходять протягом
певного часового інтервалу, наприклад, 1,5 секунди. Це пояснює невеликі
затримки у часі відгуку при отриманні наших даних. Це значення може бути
збільшене для роботи з повільними мережами (рисунок 4.6).
Рисунок 4.6 – Визнання результатів послідовними
Після цього система обробляє нормалізований словник для підрахунку
кількості можливостей арбітражу в послідовних тіках (рисунок 4.7).
61
Рисунок 4.7 – Демонстрація нормалізованого словнику
Тут зображено послідовність, що охоплює майже 5 секунд, з 11.01 до
15.74, це, ймовірно, було б розумною кількістю часу для виконання 3 угод як
лімітні ордери.
Виключити послідовності
Тепер система організовує нормалізований словник результатів для
визначення кількості послідовностей для кожного унікального обміну, які
були виявлені під час збору даних. У реалізації використовується Python код,
щоб це здійснити.
Лістинг 2 – Python «Маршрут кожного унікального обміну»
results = {}
sequences = []
sequence = 0
prev_time = None
for key in norm:
for t in norm[key]:
if not prev_time:
prev_time = t[0]
continue
if (datetime.strptime(t[0], FMT) - datetime.strptime(prev_time,
FMT)).total_seconds() < 1.5:
62
sequence += 1
else:
if sequence:
if sequences:
sequences.append([sequence, t[0], t[1]])
else:
sequences = [[sequence, t[0], t[1]]] list
sequence = 1
prev_time = t[0]
if sequence:
sequences.append([sequence, t[0], t[1]])
if sequences:
results[key] = sequences
sequences = []
sequence = 0
results
{'USDT->BNB->TROY->USDT': [[1, '14:57:06.26', '0.0714']],
'USDT->BTC->POND->USDT': [[1, '15:11:55.46', '0.1555'],
[1, '15:11:55.46', '0.1555']],
'USDT->POND->BTC->USDT': [[1, '15:35:53.35', '0.0831'],
[1, '15:35:53.35', '0.0831']],
'USDT->BTC->SUSD->USDT': [[5, '15:36:40.69', '0.0722'],
[3, '15:36:41.93', '0.159']],
'USDT->IRIS->BTC->USDT': [[1, '14:57:19.19', '0.1332']],
'USDT->WAN->BTC->USDT': [[1, '15:01:53.48', '0.0329']],
'USDT->COCOS->BNB->USDT': [[1, '15:01:53.48', '0.0091']],
63
'USDT->WING->BNB->USDT': [[4, '15:04:16.92', '0.0029']],
'USDT->BNB->AAVE->USDT': [[1, '15:11:04.73', '0.0706']],
'USDT->ETH->AAVE->USDT': [[1, '15:11:04.73', '0.0465']],
'USDT->MFT->ETH->USDT': [[1, '15:18:45.87', '0.0631']],
'USDT->BTC->RUNE->USDT': [[1, '15:23:58.05', '0.0054']],
'USDT->BNB->COCOS->USDT': [[1, '15:36:43.03', '0.016']],
'USDT->BNB->STMX->USDT': [[3, '15:41:15.04', '0.0217'],
[2, '15:41:15.74', '0.0292']],
'USDT->ETH->KEY->USDT': [[1, '15:46:22.55', '0.228'],
[2, '15:46:23.74', '0.1123']]}
З отриманих результатів видно, що більшість виявлених арбітражних
можливостей мають унікальну послідовність. Важливо зауважити, що для
ефективного відкриття угод на час потрібна послідовність не менше 4–5
тіків. Для додаткового аналізу порахуємо кількість унікальних
послідовностей, які складаються з 4 тіків і подивимося, який відсоток угод у
цьому зборі даних має достатню тривалість для успішної реалізації угоди
(рисунок 4.8).
64
Рисунок 4.8 – Кількість послідовностей за 4 тіки
10% арбітражних можливостей, виявлених під час цього прогону,
зберігались достатньо довго, щоб намати угоди. Проте 90% цих можливостей
ймовірно залишалися незавершеними торговими "трикутниками",
залишаючи криптовалютні монети в нашому гаманці, які не були обмінені
згідно плану, та піддаючись впливу волатильності.
Ще гірше, середній прибуток від довгих угод у цьому прогоні склав
лише 0,05%! Якщо б ми проводили обміни, починаючи з 100 USDT, середньо
ми отримали б лише 5 центів прибутку. Проте 90% незавершених угод
залишили б нас вразливими перед волатильністю цих монет, і це легко
призвело б до збитків, які перевищують прогнозований прибуток.
65
4.2 Опис інтерфейсу комп'ютерної системи інформаційного аналізу
арбітражних ситуацій
Після входу користувача до системи з'являється головний екран, де
розташована Панель для виконання основних дій та основна інформація, така
як поточні ціни криптовалют, вибір доступних бірж та інше.
Рисунок 4.9 – Демонстрація інтерфейсу програми
Кнопка "Розрахунок маршруту" призначена для пошуку всіх доступних
валют на обраній біржі. Для активації користувач повинен вибрати біржу, на
якій він бажає здійснити розрахунок всіх можливих маршрутів. Після вибору
біржі користувач має натискати кнопку "Розрахувати маршрут". Алгоритм
автоматично проводить фільтрацію непотрібних криптовалют, знаходить
маршрут для потенційної арбітражної ситуації та виводить результат у правій
колонці програми.
66
Рисунок 4.10 – Покрокова інструкція для розрахунку маршруту
Пояснення до рисунку 4.10:
 лейбл (виводить результат кнопки “Розрахунок маршруту”);
 вибір біржі;
 кнопка “Розрахунок маршруту”.
Після проведення розрахунку маршруту, користувач може дізнатися
ціни кожної валюти, розрахувати прибуток та переглянути всі пари, які
призводять до позитивного результату. Це можна зробити, натиснувши
кнопку "Розрахунок прибутку". Результати виводяться в лівому лейблі
програми (рисунок 4.11).
67
Рисунок 4.11 – Демонстрація роботи кнопки “Розрахунок прибутку”
На зображенні видно, що після розрахунку програма вивела на екран
угоди, деякі з яких є досить позитивними, наприклад, угода, де можливий
прибуток становить 0,12%. Такі розрахунки можливі і з іншими біржами, але
для цього спершу необхідно очистити всі поля. Це можна зробити окремою
кнопкою, після натискання на яку вся інформація з лейблів буде очищена
(Рисунок 4.12).
Рисунок 4.12 Демонстрація роботи кнопки “Очистити”
68
4.3 Середовище розробки
Використання мови програмування Python є відмінним вибором для
цього проекту. Python - це мова загального призначення з відкритим
вихідним кодом, яка пропонує зручний синтаксис, легкість читання і
потужність для вирішення різноманітних завдань. Його властивості, такі як
інтерпретація, відсутність необхідності у компіляції та високий рівень
абстракції, роблять його привабливим вибором для програмістів.
Python створений з фокусом на читабельності коду, що сприяє легкості
розробки і сприяє швидкому розгортанню проектів. Його велика активна
спільнота та багатий екосистема бібліотек і модулів роблять його сильним
інструментом для широкого спектру завдань.
Особливо важливо вказати, що Python є дуже популярним в середовищі
наукового обчислення, машинного навчання та аналізу даних, що може бути
корисним, якщо ваш проект включає в себе обробку даних чи використання
алгоритмів машинного навчання.
Загальною висновком є те, що Python - це потужна та гнучка мова
програмування, і ваш вибір її використання видається дуже обґрунтованим.
Python є однією з найпопулярніших мов програмування, і це зумовлено
численними перевагами, які привертають розробників на початковому етапі.
Ось деякі з них:
 простота і читабельність коду: Python має простий і лаконічний
синтаксис, що робить код більш зрозумілим. Це дозволяє новачкам
швидко вивчати мову та розробляти ефективний код. Читабельний
синтаксис також полегшує спільну роботу великих команд
розробників;
 широкий спектр бібліотек і фреймворків: Python має велику
кількість бібліотек і фреймворків для різних задач, що дозволяє
розробникам ефективно вирішувати різноманітні завдання, не
переписуючи код з нуля. Це допомагає економити час і зусилля;
69
 активна спільнота: Python має велику та активну спільноту
розробників. Це означає, що завжди можна знайти відповіді на
питання, отримати допомогу або навіть знайти готові рішення для
багатьох проблем;
 портативність: Python підтримує роботу на різних платформах, що
робить його переносимим. Код, написаний на Python, може
безпроблемно виконуватися на різних операційних системах, що
збільшує його універсальність;
 широке використання: Python застосовується у різних областях,
таких як веб-розробка, наука про дані, штучний інтелект,
автоматизація, аналіз даних, ігрова розробка та інше. Це робить його
універсальним і привабливим для новачків, які можуть вибрати
конкретну галузь відповідно до своїх інтересів;
 загальна придатність: Python може використовуватися для широкого
спектра завдань, від простих сценаріїв до складних систем. Це
дозволяє розробникам використовувати мову на різних етапах свого
професійного розвитку.
Ці переваги роблять Python привабливим вибором для початківців і
сприяють його широкому використанню в індустрії програмного
забезпечення.
Мінуси мови Python
Хоча Python є потужною та популярною мовою програмування, вона
також має свої недоліки. Ось деякі з них:
 швидкодія: Python може бути менш ефективним за інші мови
програмування, такі як C або C++, особливо у випадках, коли
вимагається велика продуктивність та швидкодія. Це особливо
важливо для завдань, пов'язаних із обробкою великої кількості
даних або виконання великих обчислень;
70
 обмеження у використанні ресурсів: Python може бути менш
ефективним у використанні ресурсів порівняно із компільованими
мовами, що може призводити до високого споживання пам'яті та
тривалих часів виконання;
 глобальний інтерпретаторний замікання (Global Interpreter Lock,
GIL): GIL - це механізм в інтерпретаторі Python, який обмежує
виконання одночасної многозадачності в багатоядерних системах.
Це може ускладнювати паралельне використання потоків та
впливати на продуктивність деяких програм;
 менша підтримка для мобільної розробки: У порівнянні з іншими
мовами, такими як Java або Kotlin, Python має меншу підтримку для
розробки мобільних додатків. Це може зробити його менш
привабливим для розробників, які спеціалізуються на мобільних
платформах;
 обмежена підтримка для розробки ігор: Хоча існують фреймворки
для розробки ігор на Python, в порівнянні з іншими мовами, такими
як C++ чи Java, підтримка для геймдеву менш розвинена. Це може
бути важливим для розробників, які спеціалізуються на геймдеві;
 неідеальна підтримка для паралельного програмування: Хоча Python
має можливості для паралельного програмування, існують
обмеження, особливо через GIL. Це може ускладнювати реалізацію
ефективних паралельних програм.
Незважаючи на ці недоліки, Python залишається однією з
найпопулярніших і універсальних мов програмування, особливо для
початківців та розробників з фокусом на простоті розробки.
Python тримає лідерські позиції серед мов програмування протягом
багатьох років, випереджаючи свої конкуренти. Він може бути використаний
для широкого спектру завдань. Основною метою Python є підвищення
продуктивності програмістів, акцентуючи увагу на результаті, а не на деталях
71
написання коду. Ця характеристика робить Python ідеальним вибором для
різноманітних областей, таких як веб-розробка, аналіз даних, штучний
інтелект, машинне навчання та інше.
В даний час Python використовується для:
 Процес отримання даних з Інтернету, відомий як веб-парсинг,
виникає тоді, коли потрібно отримати доступ до всесвітньої
павутини (WWW) через веб-браузер або протокол передачі
гіпертексту (HTTP). У Python існують різні бібліотеки для цієї
задачі, серед найефективніших зокрема можна виділити Scrapy та
BeautifulSoup. Вони дозволяють зручно взаємодіяти з веб-
сторінками, ефективно витягувати та обробляти необхідні дані для
подальшого використання в програмах.
 Інтелектуальний аналіз даних виникає, коли ми опрацьовуємо та
аналізуємо великі обсяги необроблених даних, які отримані з різних
джерел. Цей процес передбачає використання різноманітних
бібліотек, таких як BeautifulSoup, Orange та Scrapy, які допомагають
ефективно витягувати та обробляти дані, щоб подальше їх
аналізувати.
 Очищення даних – це етап, який настає після трансформації
необроблених даних у придатні для подальшого використання дані.
На цьому етапі вирішується ряд завдань, пов'язаних із виправленням
можливих помилок, які можуть з'явитися в даних. Ці помилки
можуть включати відсутні дані, нульові значення, викиди,
пошкоджені або невірні дані, а також зайві або непотрібні дані. Для
вирішення цих завдань можна використовувати різноманітні
бібліотеки Python, такі як Beautifier, Datacleaner, PrettyPandas та
scrubadub.
 обробка даних та моделювання - це етапи, які настають після
очищення даних і дозволяють провести глибший аналіз та отримати
72
висновки. Це може включати створення візуальних репрезентацій
для частини або всіх даних, що досліджуються. Для цих завдань
можна використовувати бібліотеки, такі як NumPy для числових
обчислень, Keras для моделювання нейронних мереж, а також
Matplotlib для створення графіків та візуалізації результатів.
 описова і логічна статистика використовується для аналізу та
отримання характеристик даних. Python надає зручні бібліотеки для
математиків і статистиків, що спрощують обчислення різних
статистичних параметрів. У бібліотеках, таких як Scipy, Pandas та
Scikit-learn, існують вбудовані функції для визначення показників
центральної тенденції, асиметрії, ексцесу та інших характеристик
даних.
 обробка природної мови (ОПМ) зосереджується на вивченні того, як
люди спілкуються один з одним та розуміють людську мову і текст.
У Python існують бібліотеки, спрямовані на розвиток цієї області,
такі як NLTK (Natural Language Toolkit), spaCy, Pattern, PyNLPl.
Вони надають інструменти для аналізу та розуміння текстової
інформації, включаючи виявлення мовних структур, аналіз емоцій,
визначення теми та інші завдання ОПМ.
 машинне навчання — це процес використання даних для
покращення їх розуміння та надання машині можливості робити
обґрунтовані припущення. Штучний інтелект, з іншого боку,
спрямований на відтворення або наближення до імітації здібностей
людського розуму в сприйнятті, навчанні, вирішенні проблем і
прийнятті рішень. У Python існують різні бібліотеки, такі як MDP,
які допомагають дослідникам і розробникам у галузі машинного
навчання та штучного інтелекту. Інші важливі бібліотеки
включають mlpy, scikits-learn, Tensorflow і Keras.
73
 графічний аналіз. Багатьом компаніям потрібно візуалізація, щоб
краще розуміти свої дані. Графіки – одні з найбільш
використовуваних. можете використовувати бібліотеки Python, такі
як NetworkX, PyTorch, Matplotlib, Seaborn і Plotly.
 обробка зображень представляє собою процес конвертації візуальної
інформації у цифрові формати та ефективного керування ними.
SciKit-Learn виступає як одна з широко застосовуваних бібліотек у
даному контексті.
 для проведення арифметичних, числових та наукових обчислень
використовуються наявні функції у бібліотеках Python, таких як
SciPy, Pandas, IPython, Numeric Python, NetworkX, scikit-image, h5py,
scikit-learn, PyTables.
 в ситуаціях, де потрібна допомога з вирішенням простих або
рутинних завдань, таких як стандартні електронні листи або
повторювані відповіді, Python може бути корисним інструментом.
Можна створювати сценарії за допомогою Python, що означає
розробку невеликих програм для автоматизації цих завдань.
 у сфері веб-розробки на стороні сервера Python володіє багатьма
бібліотеками, які сприяють створенню та функціонуванню серверної
частини. Деякі з них включають такі бібліотеки, як Django, Flask,
Pyramid і CherryPy.
 python також надає розробникам інструменти для створення
графічних інтерфейсів користувача, спрощуючи процес розробки та
поліпшуючи зручність навігації. Розробники можуть обирати серед
різноманітних бібліотек, таких як wxWidgets, GTK+, Kivy, Delphi, та
Qt, щоб створювати інтерфейси, які відповідають конкретним
потребам та вимогам користувачів.
Простота мови Python виявляється в лаконічності та зрозумілості коду,
навіть для тих, хто раніше не працював з цією мовою програмування. Ця
74
простота полегшує обслуговування програм, написаних на Python, що робить
процес більш приємним та ефективним у порівнянні з іншими мовами
програмування. З погляду бізнесу, ця характеристика Python дозволяє
організаціям зменшити витрати та одночасно підвищити продуктивність
програмістів.
PyCharm є однією з найпопулярніших інтегрованих середовищ
розробки для мови програмування Python, і це має безліч обґрунтованих
причин. Розроблений компанією JetBrains, відомою своєю роботою над
IntelliJ IDEA, яка є однією з топових IDE для Java, і WebStorm, визнаною як
«розумна» IDE для JavaScript, PyCharm наслідує цей високий стандарт
якісної розробки.
Однією з ключових переваг PyCharm є його підтримка веб-розробки з
використанням фреймворку Django, що робить його привабливим вибором
для розробників, які працюють у цьому напрямку.
Існує безліч факторів, які роблять PyCharm однією з найбільш повних
та всебічних IDE для роботи з мовою програмування Python. Додаток
кросплатформений і сумісний з операційними системами Linux, macOS і
Windows. Підтримка як версій Python 2 (зокрема 2.7), так і Python 3
(починаючи з версії 3.5), робить його універсальним інструментом для
широкого кола розробників.
Поза тим, IDE комплектується розширеним набором функцій, які
спрощують розробку програмного забезпечення. Серед цих функцій варто
відзначити можливість відображення програмних об'єктів різними
кольорами, що зазвичай відомо як підсвічування синтаксису, що полегшує:
 розрізнення різних програмних об'єктів, таких як класи і функції, та
їхнє визначення;
 виявлення неправильних ключових слів;
 зручне читання та зберігання коду.
75
Більшість IDE також володіють функцією автозаповнення, яка
пропонує варіанти під час написання коду. Це підвищує ефективність
написання коду, робить його швидшим і менш схильним до помилок.
Сучасні IDE також пропонують стандартні функції, такі як:
 Вікно редактора проекту для ефективного управління та організації
файлів, необхідних для програми/проекту.
 Перегляд виводу коду за допомогою вікна виведення.
 Пропозиції щодо виправлення помилок і попереджень.
 Різноманітні модулі та пакети, доступні в одному місці.
PyCharm також підтримує редагування в реальному часі, що дозволяє
розробникам створювати або змінювати веб-сторінки та спостерігати за
змінами в режимі реального часу. Це забезпечує зручний веб-розробницький
процес, оскільки зміни можна відслідковувати прямо в веб-браузері.
Крім того, PyCharm дозволяє розробникам створювати веб-додатки,
використовуючи популярні технології, такі як AngularJS або NodeJS. Це
розширює можливості розробки веб-застосунків та дозволяє працювати з
різними фреймворками для веб-розробки, що є важливим для сучасних
розробників. Функція навігації по коду значно спрощує розробникам перехід
до класу, функції або файлу. Це також допомагає значно скоротити зусилля і
час, необхідні для редагування і поліпшення коду Python.
76
4.4 Висновки до розділу 4
Вибір середовища розробки для даної системи спрямований на
поєднання Python та PyCharm, що утворює важливу та потужну комбінацію.
Python надає простоту в написанні коду та володіє обширною базою модулів
і фреймворків. PyCharm, з свого боку, забезпечує легку інтеграцію з Python та
швидке завантаження необхідних модулів.
Для вирішення завдань з отримання цін та назв криптовалют був
обраний модуль ccxt, якому було налаштовано API для зручного з’єднання з
біржами. Розроблено алгоритм, проведено його оптимізацію та інтеграцію в
програму.
Для візуалізації програмного коду використано бібліотеку pyqt5, яка,
незважаючи на наявність альтернатив, обрана за вікном розробника для
створення інтерфейсу.
Після визначення дизайну та кольорової гами програми був створений
макет, який був компільований. Зібравши макет і програмний код, отриманий
результат виведено в стандартному вікні, замість консолі. Таким чином,
створена програма для виявлення арбітражних можливостей на біржах,
доступна для використання будь-яким користувачем.
77
ВИСНОВКИ
На сьогоднішній момент ринкова оцінка всіх криптовалют перевищує
3.3 трильйона доларів США, відкриваючи широкі можливості для зростання
інвестиційного капіталу. Свідченням цього є різке зростання цін на
криптовалюти та ринкова капіталізація протягом 2021-2022 років.
З іншого боку, ринок криптовалют характеризується високою
волатильністю та численними ризиками. Більшість інвестиційних стратегій в
цьому сегменті базуються на принципах "купи і тримай", але існує попит на
автоматизовані рішення для збереження та збільшення інвестиційного
капіталу при обмеженій участі трейдерів.
Основною метою даної роботи є створення відкритого програмного
забезпечення для криптовалютної торгівлі, яке можна завантажити,
редагувати та налаштовувати для впровадження різних торгових стратегій.
На ринку існує багато криптоботів для трейдерів, але є потреба у рішенні з
відкритим вихідним кодом, яке може бути налаштоване згідно з метою,
термінами торгівлі та рівнем ризику кожного трейдера.
Багато існуючих торгових ботів є пропрієтарними, а інші розроблені на
інших мовах програмування, відмінних від Python, як, наприклад, програмне
забезпечення Gekko Trading Bot. Моєю метою було отримати торгового бота
на Python, який можна запускати на власному комп'ютері і повністю
контролювати закриті ключі.
Під час дослідження стало очевидним, чому багато криптотрейдерів
відмовляються від використання арбітражу як стратегії. По-перше, навіть
невелика комісія за транзакції може суттєво впливати на результат, якщо не
досягнути достатньо високого рівня зниження комісій на біржі, що може
призвести до відсутності арбітражних можливостей.
По-друге, обмежене тимчасове вікно затримки API, яке знаходиться
між часткою секунди та 1-2 секундами, створює короткий інтервал, протягом
78
якого можна ефективно виконати лише три угоди. Навіть за умови, що
торговий код розташований біля серверів біржі, затримка виклику REST API
залишається проблемою.
По-третє, маржа часто залишається дуже малою, навіть при низькій
комісії за транзакції. Використання маржі в рамках цієї стратегії повинно
компенсувати невід'ємний ризик незавершених угод, де залишок монет стає
вразливим до волатильності, що є неодмінним.
79
СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ
1. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System.
[Електронний ресурс] / С. Nakamoto // Bitcoin.org. – Режим доступу до
ресурсу: https://bitcoin.org/bitcoin.pdf
2. Antonopoulos, A. M. (2014). "Mastering Bitcoin: Unlocking Digital
Cryptocurrencies." [Електронний ресурс] / A. M. Antonopoulos // O'Reilly
Media. – Режим доступу до ресурсу: https://aantonop.com/books/
3. Araki, K., Iwamura, M., & Yaguchi, Y. (2016). "On the use of blockchain for
bitcoin gambling." [Електронний ресурс] / K. Araki, M. Iwamura, Y.
Yaguchi // 2016 IEEE European Symposium on Security and Privacy. –
Режим доступу до ресурсу: https://ieeexplore.ieee.org/document/7486896
4. Swan, M. (2015). "Blockchain: blueprint for a new economy." [Електронний
ресурс] / M. Swan // O'Reilly Media, Inc. – Режим доступу до ресурсу:
h t t p s : / /www .o r e i l l y . c om / l i b r a r y / v i ew / b l o c k ch a i n - b l u e p r i n t -
for/9781491920480/
5. Zohar, A. (2015). "Bitcoin: under the hood." [Електронний ресурс] / A. Zohar
// Communications of the ACM, 58(9), 104-113. – Режим доступу до
ресурсу: https://doi.org/10.1145/2701411
6. Atzei, N., Bartoletti, M., & Cimoli, T. (2017). A survey of attacks on Ethereum
smart contracts. Journal of Cryptocurrency Engineering, 7(2), 95-108.
[Електронний ресурс] – Режим доступу до ресурсу:
https://doi.org/10.21428/88f1490a
7. Chen, T., Li, M., Luo, X., Zhang, J., & Zhang, J. (2018). Under-optimized
smart contracts devour your money. In Proceedings of the 2018 ACM SIGSAC
Conference on Computer and Communications Security (CCS '18), 2663-2678.
[Електронний ресурс] – Режим доступу до ресурсу:
80
https://doi.org/10.1145/3243734.3243847
8. Rizzo, J. (2016). The Ethereum Ecosystem Could Use More Bug Bounties.
CoinDesk. [Електронний ресурс] / J. Rizzo // – Режим доступу до ресурсу:
https://www.coindesk.com/ethereum-ecosystem-use-bug-bounties
9. Narayanan, A., Bonneau, J., Felten, E., Miller, A., & Goldfeder, S. (2016).
Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction.
[Електронний ресурс] / A. Narayanan, J. Bonneau, E. Felten, A. Miller, S.
Goldfeder // Princeton University Press.
10.Pop, C., & Ball, J. A. (2018). Security Analysis of Ethereum Smart Contracts.
IEEE Security & Privacy, 16(6), 20-29. [Електронний ресурс] / C. Pop, J. A.
Ball // – Режим доступу до ресурсу:
https://doi.org/10.1109/MSP.2018.3641433
11.Tapscott, D., & Tapscott, A. (2016). Blockchain revolution: how the
technology behind bitcoin is changing money, business, and the world.
[Електронний ресурс] / D. Tapscott, A. Tapscott // Penguin.
12.Zheng, Z., Xie, S., Dai, H. N., Chen, W., & Wang, H. (2018). Blockchain
challenges and opportunities: a survey. International Journal of Web and Grid
Services, 14(4), 352-375. [Електронний ресурс] / Z. Zheng, S. Xie, H. N. Dai,
W. Chen, H. Wang // – Режим доступу до ресурсу:
https://doi.org/10.1504/IJWGS.2018.095647
13.Swan, M. (2018). Blockchain: Blueprint for a New Economy. [Електронний
ресурс] / M. Swan // O'Reilly Media.
14.Tapscott, D., & Tapscott, A. (2017). Blockchain revolution: how the
technology behind bitcoin and other cryptocurrencies is changing the world.
[Електронний ресурс] / D. Tapscott, A. Tapscott // Penguin.
15.Casey, M. J., & Vigna, P. (2018). The truth machine: the blockchain and the
future of everything. [Електронний ресурс] / M. J. Casey, P. Vigna // St.
81
Martin's Press.
16.Zheng, Z., Xie, S., Dai, H. N., & Wang, H. (2016). Blockchain challenges and
opportunities: a survey. Work Pap. Available at SSRN 2812121.
[Електронний ресурс] / Z. Zheng, S. Xie, H. N. Dai, H. Wang // – Режим
доступу до ресурсу: https://ssrn.com/abstract=2812121
17.Mougayar, W. (2016). The Business Blockchain: Promise, Practice, and
Application of the Next Internet Technology. [Електронний ресурс] / W.
Mougayar // John Wiley & Sons.
18.Narayanan, A., & Clark, J. (2017). Bitcoin's academic pedigree.
Communications of the ACM, 60(12), 36-45. [Електронний ресурс] / A.
Narayanan, J. Clark // – Режим доступу до ресурсу:
https://doi.org/10.1145/3132712