Sort Finance logo

Огляд торгових ботів: Чи можуть вони приносити прибуток?

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

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

Дослідження торгових ботів: Всебічний посібник

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

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

Якщо ви програміст або знайомі з основами скриптінгу, ви можете написати власного бота за кілька годин. Але чи принесе він достатньо грошей вам? Чи буде стабільний дохід? Чи досягне він колись $100,000 річного доходу? У цьому пості ми відповімо на ці питання і дамо кілька порад щодо подальших кроків.

Що таке торговий бот?

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

Які існують типи торгових ботів?

Торговий бот (зазвичай комп'ютерна програма), який використовують трейдери на ринку, базується на алгоритмах, створених програмістами. Такий бот здатний приймати різні типи стратегій, оскільки може бути оснащений різними логічними схемами або правилами, які визначають його поведінку на ринку. Це означає, що програмісти можуть додавати різні торгові стратегії та тактики до бота, роблячи його гнучким інструментом для трейдерів.

За типом трейдерів та видами торгівлі можна виділити наступні варіанти:

  1. Довгострокові трейдери - інвестори.
  2. Свінг-трейдери - ті, хто здійснює угоди на тиждень, місяць або рік.
  3. Деньові трейдери - ті, хто здійснює невелику кількість угод протягом дня, не залишаючи їх на ніч.
  4. Скальпери - ті, хто робить багато угод на день, годину або навіть хвилину.

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

Де може торговий бот розміщувати ордери?

Де завгодно, якщо ви можете отримати доступ до API брокера або через зворотне інженерування (це може вважатися шахрайством/хакерством для деяких брокерів, тому краще уточнити цей момент у їхній політиці).

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

Які існують типи реалізації ботів?

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

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

  • Кількісна торгівля (quantitative trading) - заснована на стратегії, що поєднує будь-які критерії для прийняття рішень, це може бути порівняння індикаторів, поведінка цін, пошук шаблонів тощо.

  • Частково автоматизовані, алертні боти - використовуватимуть деякі алгоритми для того, щоб повідомити трейдерам, що робити. До цього типу відносяться індикатори на основі будь-якої стратегії.

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

Отже, ми відповіли на основні питання, які можуть розкрити трохи теорії перед тим, як ви почнете писати свій бот. Але що далі? Як тільки ми зрозуміємо, що таке бот, ми можемо подумати про вимірювання його KPI.

Вимірювання якості торгового бота

Щоб виміряти якість бота, можна використовувати техніку бек-тестування.

Бек-тестування — це техніка, яка включає симуляцію торгівлі з використанням певного часового інтервалу попередньо доступних даних та/або додатково змодельованих ситуацій (так званих бічних випадків, до яких відносяться кризи, раптові падіння або зростання ринку, масові рухи "акул" тощо).

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

Найкращий спосіб визначити якість стратегії — це написати її прототип, використовуючи TradingView. За допомогою їхньої документації ви можете легко написати стратегію на Pine Script (який має дуже простий синтаксис).

Як видно на зображенні вище, реалізована проста стратегія скальпінгу, яка базується на торгівлі на підвищення (довга угода) після кожної зеленої свічки.

Однак, незважаючи на експоненціальне зростання рахунку в TradingView, ця стратегія не підходить для жодної з бірж, оскільки вона використовує стоп-лосс 0,01% і прибуток 0,5%. При такому відсотку ви можете автоматизувати торгівлю і навіть розміщувати стоп-лімітні ордери в межах цього діапазону, але ви не зможете вижити через комісії, які пропонує брокер.

Розрахунок торгового бота: Binance пропонує комісію 0,04% за будь-яку ринкову угоду (ордер на виконання) на першому VIP рівні. Таким чином, будь-який стоп-лосс буде виконаний з наступним результатом: 0,01 + 0,04 * 2 = 0,09% збитків при 0,5% прибутку (множимо на 2, оскільки комісія застосовується як при відкритті торгівлі, так і при закритті).

Ця стратегія не зможе вижити при співвідношенні прибутку 1:5, оскільки ми маємо лише 2,79% прибуткових угод (це означає, що тільки 2% всіх розміщених ордерів є прибутковими, решта виконуються зі стоп-лоссом).

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

Ось як виглядає успішна реалізація торгового алгоритму:

Якщо у вас є хороший чистий прибуток в поєднанні з відсотком прибутку понад 60 (мінімум), вам слід розглянути можливість реалізації реального торгового бота. Чи означає це, що боти ефективні? Чи можемо ми відповісти на це питання зараз? Так, безумовно. Вони ефективні. Але давайте детальніше розглянемо це питання.

Чи допомагають торгові боти заробляти гроші?

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

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

Нижче наведена стратегія з щоденним зростанням 1% з компаундними відсотками дає приблизно 40% місячних доходів. Але це лише теоретично.

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

Можна зазначити, що хороший прогноз протягом торгового дня з низькою волатильністю може дати близько 0,6-1% руху акцій. Якщо ваш бот не втрачає жодної угоди протягом торгового місяця, ви заробите близько 20% щомісяця, для стратегії “все в” рахунок $10,000 принесе $2,000.

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

Вам потрібно розуміти, що поганий алгоритм може знищити ваш весь депозит, якщо буде допущена будь-яка помилка. Тож переконайтеся, що ви завершили всі тести та використовували ваш бот для демо-торгівлі перед тим, як почати використовувати його з реальними грошима.

Отже, чи може він заробити $100,000 за рік? Звісно, правильне управління ризиками, стратегія та пропорційна сума грошей можуть дати вам такі прибутки.

Стабільність фінансових ботів

Стабільність у наш час стає все більш розмитим поняттям. Щодо постійного прибутку, вона залежить від умов ринку, обраної стратегії та типу алгоритму. Бот може отримати 2% прибутку за кілька годин, а потім ринок змінює напрямок, і він закриває позиції в мінус кілька разів, в результаті чого страждає від 3% збитків наприкінці дня.

Програмісти повинні дотримуватися заходів управління ризиками. Для цього слід вивчити основи торгівлі архівно.

Нижче ви можете побачити крах NASDAQ у 2020 році на 30% за місяць. Якщо бот купив би падіння в кінці місяця, то через кілька тижнів він би компенсував усі збитки.

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

Висновок

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

Published
6 серпеня 2023
Updated
6 серпеня 2023