Сучасна економіка немислима без бірж та фондового ринку. Торгівля на цих майданчиках називається
трейдингом . Трейдери активно використовують можливості комп’ютерної техніки для полегшення ведення справ. Трейдинг із використанням математичних моделей та обчислювальної техніки називають алготрейдингом. У цій статті розповідається про цей вид торгівлі на фінансових ринках, його різновиди, застосовувані способи, переваги та недоліки, що застосовується програмним забезпеченням.
- Що таке Алготрейдінг (алгоритмічний трейдінг)
- У чому суть алготрейдингу?
- Які види алготрейдингу існують?
- Коли та як з’явився алготрейдинг, як явище
- Чим відрізняється алготрейдінг від алгоритмічної торгівлі?
- Яке ПЗ підійде для алготрейдингу?
- Що варто пам’ятати перед тим, як зайнятися алготрейдінгом?
- TSLab – одна з найпопулярніших програм для запуску алгороботів
- Встановлення
- Навчання алготрейдингу на TSLab
- Налаштування постачальника
- Створення скрипту
- Stocksharp
- WealthLab
- Які стратегії використовуються для алготрейдингу?
- Як запобігти збиткам при заняттях алготрейдингом, ризик-менеджмент
- Алготрейдинг: переваги та недоліки
Що таке Алготрейдінг (алгоритмічний трейдінг)
Термін «алгоритмічний трейдинг» або «алготрейдинг» має два значення. У першому випадку під цим словом розуміють спосіб виконання великої заявки на ринку, згідно з яким вона відкривається поступово за певними правилами та автоматично ділиться на кілька підзаявок, які мають власну ціну та обсяг. Кожна заявка відправляється на ринок для виконання. Мета технології полягає у полегшенні діяльності трейдерів при скоєнні великих угод, які потрібно здійснити, якнайменше помітно. Наприклад, потрібно придбати 200 000 акцій, а кожна позиція включає по 4 акції за раз.
Друге значення цього слова – система, яка відкриває заявки за заданим алгоритмом без участі трейдера. Алгоритми задаються для безпосереднього отримання прибутку від автоматичного аналізу ринку. Ці системи також мають назву ”
торговий робот “. Алготрейдинг та алгоритмічна торгівля застосовуються на біржах, у тому числі на криптовалютних, на Форексі.
У чому суть алготрейдингу?
Алготрейдинг має на увазі збір даних по конкретному активу, виходячи з історії його розвитку, підбір алгоритмів для угод та відповідних торгових роботів. Для визначення ціни застосовується теорія ймовірності, визначаються недоліки ринку та ймовірність їх повторення у майбутньому. Існує три типи підбору. При ручному підході фахівець застосовує математичні формули та фізичні моделі. Генетичний підхід передбачає розробку правил комп’ютерними системами та штучним інтелектом. Автоматичний виробляється спеціальною комп’ютерною програмою, яка обробляє масиви правил та тестує їх.
Які види алготрейдингу існують?
Алгоритмічний трейдинг реалізується за кількома основними напрямками:
- Технічний аналіз . Використання неефективності ринку та виявлення актуальних тенденцій шляхом класичного математичного та фізичного аналізу.
- Market making . У межах цього методу підтримується ринкова ліквідність. Маркет-мейкери отримують винагороду від біржі, задовольняючи попит, зокрема проти вигоди. Стратегія ґрунтується на обліку та швидкому потоці інформації з ринків.
- Front running . Аналіз обсягу заявок по інструменту та виділення найбільших з них. Ця стратегія ґрунтується на тому, що велика заявка матиме велику ціну та приверне багато зустрічних заявок. Алгоритми аналізують дані стрічки та склянки та намагаються зафіксувати рухи під час проведення великих угод швидше за інших учасників.
- Парний та баскет-трейдинг . Співвідносяться два або кілька інструментів із високою, але не однозначною кореляцією. Відхилення одного з інструментів від заданого курсу означає, що з більшою ймовірністю він повернеться до своєї групи. Визначення кореляції допомагає зробити прибуткову угоду.
- Арбітраж . Спосіб грунтується на зіставленні активів зі схожою ціновою динамікою. Ця схожість іноді порушується з різних факторів. Суть арбітражу полягає у продажу дорожчого активу та купівлі дешевшого. Через війну активи зрівняються у ціні, і найдешевший актив зросте у цене. Системи алготрейдингу виявляють зміну ціни ринку і проводять вигідні арбітражні угоди.
- Торгівля волатильністю . Складний тип трейдингу, що полягає у покупці різних опціонів. Той, хто проводить торгівлю, розраховує на зростання волатильності акції при продажу та зниження при покупці. Для цього різновиду торгівлі потрібні значні потужності обладнання та кваліфіковані фахівці.
Працюючі стратегії в алготрейдингу, вся правда про торгівлю роботами: https://youtu.be/eg3s0c_X_ao
Коли та як з’явився алготрейдинг, як явище
Торгівля із застосуванням алгоритмів була розроблена на початку 1970-х років, коли було створено біржу NASDAQ – першу біржу, яка застосовувала торгівлю з використанням ЕОМ. У той час алгоритмічна торгівля була доступна лише великим інвесторам, звичайні люди доступу до такої технології не мали. ЕОМ тоді були досконалими, й у 1987 року сталася помилка в устаткуванні, що призвела до краху американського ринку. У 1998 році SEC – Комісія з цінних паперів США офіційно дозволила використати електронні торгові майданчики. Цей рік слід вважати датою появи алготрейдингу у сучасному вигляді. На початку 2000-х років угоди з допомогою комп’ютерів проводилися кілька секунд. Але частка роботів на ринку була меншою за 90%. До 2009 року заявки на біржах виконувались за мілісекунди, а
торгові роботи проводили 60% угод. Після 2012 року ситуація змінилася. Непередбачуваність ринку призвела до збоїв у програмному забезпеченні, що існувало тоді. Відсоток операцій, що проводилися автоматично, було знижено до 50% від загальної кількості. Щоб уникнути помилок розпочато розробку та використання штучного інтелекту.
Чим відрізняється алготрейдінг від алгоритмічної торгівлі?
Незважаючи на подібність понять, що здається, слід розрізняти поняття «алгоритмічна торгівля» і «алготрейдинг». У першому випадку мається на увазі метод виконання великої заявки шляхом її поділу на частини та подальшої подачі за певними правилами, а у другому говорять про автоматизовану систему, що створює заявки без трейдера за певним алгоритмом. Алгоритми в алгоритмічній торгівлі застосовуються для спрощення проведення великих угод трейдером. У алготрейдингу з допомогою проводиться аналіз ринку України і відкриття позицій збільшення доходу.
Яке ПЗ підійде для алготрейдингу?
Оскільки алгоритмічна торгівля має на увазі використання комп’ютерної техніки, потрібно правильно вибрати необхідне програмне забезпечення. Торговий робот є основним засобом для автоматизованого трейдингу. Його можна як розробити самому за допомогою мов
програмування , так і скористатися платформою для створення.
Що варто пам’ятати перед тим, як зайнятися алготрейдінгом?
Спочатку варто застерегти, що алготрейдеру необхідно вміти програмувати, тому що більшість платформ можна освоїти, володіючи цією навичкою. Мова програмування, що використовується для алготрейдингу, повинна бути сумісною з усіма платформами та алгоритмами, що розробляються. Найбільша мова програмування – C# (сі-шарп). Він застосовується у таких платформах, як TSLab, StockSharp, WealthLab. Не знаючи мову програмування, останні 2 програми доведеться освоювати кілька місяців.
TSLab – одна з найпопулярніших програм для запуску алгороботів
Платформа для створення, тестування та запуску
торгових роботів та систем. Включає зручний візуальний редактор у вигляді кубиків, який дозволить займатися розробити робота без знання мови програмування. Із кубиків можна зібрати потрібний торговий алгоритм. Історія торгових інструментів, що збирається програмою, дозволить знайти та виправити помилки у скриптах, а інструменти технічного аналізу допоможуть створити унікальне рішення.
Встановлення
Щоб встановити платформу, необхідно завантажити програму встановлення з офіційного сайту. На сторінці завантаження вказано, що програма працює лише на 64-розрядних версіях Windows. Після завантаження відкриваємо інсталяційний файл. Перед інсталяцією вона запропонує встановити останню версію .NET Framework та Visual C++ Redistributable Studio.
Якщо потрібні версії цих програм відсутні, слід їх встановити. Без них платформа не працюватиме. Якщо є останні версії цих програм, відкриється стартове вікно інсталятора. Натисніть “Далі”.
Погоджуємося з умовами ліцензійної угоди та вибираємо шлях, яким буде встановлена програма.
Потім слід дати дозвіл на встановлення та дочекатися його завершення.
Після завершення встановлення відкриється відповідне вікно. Можна запустити програму після інсталяції.
Навчання алготрейдингу на TSLab
Налаштування постачальника
Для налаштування та тестування торгового робота потрібна наявність історії котирувань. Для отримання історії котирувань необхідно настроїти постачальника даних. У меню “Дані” вибираємо пункт “Постачальники”.
Відкриється порожня вкладка постачальників. Нам треба натиснути кнопку “Додати”. У діалоговому вікні, що відкрилося, вибираємо «Історичні дані». На цьому етапі потрібно вибрати тип даних щодо котирувань. У цьому випадку вибрано текстовий файл із котируваннями з кроком ціни 0,01. Завантажуємо потрібний файл із сховища.
Завантажуємо файл 1.rand.quote.step=0,01_1m.txt.zip. Після завантаження знайдіть файл у папці завантаження та вийміть його з архіву. Повертаємось у TSLab та вибираємо в меню «Дані» пункт «Постачальники».
Відкриється вікно. Потрібно натиснути кнопку «Додати».
Відкриється вікно додавання постачальника. У ньому слід вибрати пункт “Історичні дані”, після чого натиснути “Далі”.
У наступному вікні вказуємо ім’я та тип даних постачальника. Задаємо ім’я TextData, а тип даних – текстові файли. Натискаємо “Далі”.
Вибираємо шлях до постачальника. За замовчуванням заданий шлях C: ProgramData TSLab TSLab 2.1 Providers Text. Можна вказати інший шлях, натиснувши … у рядку шляху. Задаємо шлях нашого файлу, після чого встановлюємо параметри: 1. Кількість знаків після коми – 2. 2. Крок ціни визначається автоматично, якщо він менший за 1. Файл з кроком 0,01 та вказівкою в налаштуваннях 1 знака буде обраний крок 0,1
Натискаємо на кнопку “Далі”. У вікні постачальників буде видно постачальник даних TextData.
Створення скрипту
Платформа TSLab дозволяє розробляти торгові алгоритми, тестувати та створювати торгові роботи – агенти. Але перш ніж створити торговий алгоритм, потрібно написати скрипт щодо нього. Для цього в меню потрібно вибрати “Лаб”. У спадному списку виберіть “Скрипти”.
Відкриється діалогове вікно, в якому натискаємо “Створити новий”. У другому вікні вводимо ім’я скрипта та натискаємо “ОК”.
Двічі натиснемо лівою кнопкою миші по створеному скрипту для редагування. Ми побачимо візуальний редактор скриптів.
Синій прямокутний блок – “Торгується інструмент”. Сірий прямокутник “Обсяг 1” – кількість операцій з опціонами або ф’ючерсними контрактами за певний час. Блок «Закриття» відображає вартість закриття бару. Блок панелі графіка створює відповідну панель.
Натисніть правою кнопкою миші. У спадному меню виберіть «Властивості». Виберіть вкладку “Скрипт”.
Вимкніть пункт «Ісп. Дату від». Виберіть вкладку «Джерела», а в ній інструмент. Натисніть на поле. Відкриється вікно “Вибір цінних паперів”, в якому потрібно буде вибрати постачальника даних TextData і вкажіть інструмент – котирування текстового файлу 1.rand.quote.step=0.01_1m. Натискаємо “ОК” для підтвердження.
Після вибору інструмента у верхній частині вікна з’явиться вкладка з картинкою графіка та написом «Завантаження». Після обробки даних на цій вкладці з’явиться назва вибраного інструменту – 1.rand.quote.step=0.01_1m
Натисніть “Зберегти та виконати” після завантаження даних.
Цей скрипт призначений для відображення інструмента на графіку. Зрештою, відкриється вкладка з графіком. Аналогічним чином налаштовуються торгові алгоритми та торгові агенти. Як можна переконатися, алготрейдинг за допомогою TSLab доступний практично кожному і вимагає попереднього навчання. Головною перевагою TSLab є те, що упорядкуванням торгових роботів може зайнятися будь-який користувач після 2-3 днів вивчення платформи. Цьому сприяє візуальний редактор. За допомогою редактора Ви навчитеся потрібному мисленню, необхідному в алгоритмі. TSLab підтримує мову C#, надалі програмування на цій платформі можна продовжити на TSLab API. Однак подальше занурення в алгоритмічну торгівлю краще продовжити із складнішими програмами.
Stocksharp
Stocksharp є бібліотекою торгових роботів на C#. Торгові роботи складаються серед програмування Visual Studio. Тому, перш ніж написати робота з допомогою цього ресурсу, потрібно буде витратити щонайменше півроку освоєння мови програмування. Не кожен здатний довести вивчення остаточно. Проте використання цієї платформи цілком виправдовує насправді.
WealthLab
WealthLab – ще одна платформа для тестування та розробки торгових роботів та систем від Fidelity. Існує дві версії програми: Pro для громадян США, які мають рахунок Fidelity, і Developer для всіх інших. WealthLab дозволяє використовувати в розробці роботів інструменти технічного аналізу, отримувати сигнали на вступ і закриття угоди і передавати з терміналу. Якщо трейдер не вміє програмувати, може скористатися помічником (wizard). Платформа ґрунтується на мовах програмування C# та Pascal. Платформа будує графіки як відрізків, японських свічок, лінійних графіків тощо.
Основна функція програми – оптимізація та тестування стратегій на основі історичних даних. WealthLab можна вивчити не так швидко, як TSLab, але лише за 2 місяці. Вбудована мова програмування дає більші можливості у створенні вигідних торгових стратегій. Трейдер може зв’язати платформу із програмним комплексом Quik, що дозволить розміщувати заявки в автономному режимі.
Які стратегії використовуються для алготрейдингу?
Щоб трейдинг із використанням алгоритмів приносив відчутний результат, потрібно дотримуватись стратегії, призначеної для певної ситуації.
- Спекулятивна стратегія . Направлена на досягнення найвигіднішої ціни входу в угоду для отримання наступного прибутку. Використовується переважно приватними трейдерами.
- Data Mining . Знаходження нових закономірностей нових алгоритмів. Більшість даних збирається за цією стратегією до початку тестування. Інформація шукається за ручними налаштуваннями.
- TWAP – виважена за часом середня вартість. Відкриття заявок через рівні часові відрізки за найкращими за попитом та пропозицією цінами.
- VWAP – виважена за обсягом середня вартість. Відкриття позиції по рівних частинах з однаковим обсягом протягом певного часу та цінами не вище середнього значення.
- Execution Strategy . Стратегія, що застосовується для придбання активу за середньою ціною у великому обсязі. Використовується головним чином брокерами та хедж-фондами.
Як запобігти збиткам при заняттях алготрейдингом, ризик-менеджмент
Великою помилкою є переконання, що алготрейдер достатньо лише створити торгового робота. Необхідно попередити та усунути всі ризики. Перебої в електриці, інтернет-з’єднанні та помилки у обчисленнях та програмуванні можуть призвести до значних збитків і зовсім позбавити доходу.
Інфраструктурний сервер, на якому ведеться алготрейдинг, може раптово втратити працездатність або на ньому може перезавантажитися операційна система. Щоб уникнути проблем із сервером, можна орендувати сервер або підняти власний. Якщо це недоступно, потрібно вибрати сервер у стабільного провайдера з хорошим підключенням. Система повинна мати мінімальний запас потужності в 40-50%. Проблеми із підключенням завжди відбуваються несподівано. Можна настроїти підключення таким чином, щоб біржа закрила позиції після втрати з’єднання. Пошкодження пакетів даних відслідковуються через алгоритми WatchDog, що слідкують. Торгові стратегії, що застосовуються в трейдингу, недосконалі та їхнє поєднання може призвести до абсолютно різноманітних наслідків. У заявках, API можуть бути допущені помилки.Можуть бути невірно виставлені вартість, обсяг, значення лотів. Також торги можуть бути проведені у вихідні або святкові дні, порушені ліміти торгової стратегії чи рахунки.
Для виключення даних помилок необхідно здійснювати контроль та аналіз заявок та лімітів торгових стратегій з метою виключення помилкових параметрів.
У разі виникнення позаштатної ситуації необхідно негайно повідомити про це всіх зацікавлених осіб через SMS, електронну пошту, месенджери та інші канали зв’язку. Необхідно обов’язково фіксувати кожну збій у логах, щоб не допустити його повторення надалі. Як створити пасивний дохід за допомогою алгоритмічного трейдингу: https://youtu.be/UeUANvatDdo
Алготрейдинг: переваги та недоліки
Торгові роботи не схильні до «людських» факторів, які могли б вплинути на їхню роботу: втому, емоційні зриви та інше. Це є головною перевагою алготрейдингу. Алгоритми йдуть за чітко заданою програмою і ніколи не відхиляються від неї. Алготрейдинг має низку недоліків. До них відноситься, зокрема, важкодоступність інформації з даного виду торгівлі у вільному доступі. Алготрейдер повинен володіти програмуванням, що досить складно більшість фахівців у сфері фінансів. Якщо на ринку відбудуться зміни, доведеться повністю змінити алгоритм. У написанні торгового робота може бути припущена помилка, яка поведе весь алгоритм неправильним шляхом, і це призведе до втрати коштів.
Алготрейдинг – досить складний вид біржової торгівлі, що вимагає знань у трейдингу, а й у математиці і програмуванні. Потрібно не тільки вміти створити потрібний алгоритм, але й запобігти неполадкам у поєднанні, помилкам в алгоритмах та програмному коді. Потрібно добре подумати, перш ніж наважитися торгувати подібним чином. Проте, освоївши його та правильно застосувавши на практиці, трейдер отримає значне зростання доходу та полегшить свою працю.