Побудова алгоритмічних систем торгівлі: 2 основні підходи, тестування, інструменти

Побудова алгоритмічних систем торгівлі: 2 основні підходи, тестування, інструменти

переглядів: переглядів 476
Час читання: 6 хвилин



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

  1. Якою буде частота торгів та ймовірний обсяг торгів?
  2. Чи вимагатиме система управління ризиками або модуль побудови портфеля?
  3. Чи потребуватиме система високоефективного підключення?

Трейдерам, яким потрібні більше побудовані на замовлення та складні системи, можливо, доведеться використовувати C #, Matlab або Python, але я б сказав, що для решти 95% торгових користувачів, що мають алгоритмічне програмне забезпечення для торгівлі, буде достатньо.

1 - Обчислити в Python, Matlab, C #

У цьому випадку навичка програмування є важливим фактором у створенні автоматизованого алгоритму Торгова стратегія. Знання мови програмування, наприклад Python або R, дозволить вам самостійно створити цілісне зберігання даних, резервну систему та систему виконання. Це дозволяє вивчити стратегії вищої частоти, оскільки ви будете повністю контролювати свій "стек технологій". Хоча це означає, що ви можете протестувати своє програмне забезпечення та усунути помилки, це також означає більше часу, витраченого на кодування інфраструктури та менше на реалізацію стратегій, принаймні у попередній частині вашої кар'єри з альготрейдингом.

Основний робочий процес такий:

  • Алгоритмічна стратегія торгівлі подає ринкові дані (історичні чи прямі) в комп'ютерну програму (в режимі зворотного або автоматичного виконання).
  • Потім програма надсилає замовлення брокеру через API і отримує сповіщення про стан замовлення назад від брокера.

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

Імпорт історичних даних з Yahoo Finance до Python
Зображення: імпорт історичних даних з Yahoo Finance до Python
Процес алгоритмічної торгівлі
Малюнок: процес алгоритмічної торгівлі

2 - Алгоритмічне програмне забезпечення для торгівлі. Відсутність навичок кодування

Другий підхід - це алгоритмічні інструменти, такі як Multicharts, StrategyQuant або R Trader Strategy Builder (безкоштовний та простий у використанні, на основі хмар) та багато іншого.

Минули дні, коли алгоритмічну торгівлю реалізовували лише професіонали. Не потрібно витрачати години на вивчення C #, коли майже всі системи та стратегії можна кодувати Стратегія, Мультихарти або R Builder Strategy Builder. З нашого досвіду, деякі торговці / програмісти хочуть пройти довгий шлях до цілі часто під виглядом технічної переваги, довіртеся, більшість розширених програм кодування не потрібні для середньої алгоритмічної торгової стратегії. Створення API-програм або налаштування всього за допомогою MetaTrader може бути дуже марним, особливо якщо ви зачаруєтесь технічними деталями замість створення цінності.

Усі платформи мають свої позитиви та негативи, для нас R Trader Strategy Builder - це власний простий у користуванні модуль, що дозволяє роздрібним торговцям розробляти, підтримувати та розгортати алгоритмічні торгові стратегії без будь-якого знання мов програмування.

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

Повторне тестування. Майстер стратегії в R Trader Builder стратегії.
Малюнок: Повторне тестування. Майстер стратегії в R Trader Builder стратегії.

Тестування та оцінка торгових систем

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

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

Які основні причини повторної перевірки алгоритмічної стратегії?

Фільтрація

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

Моделювання

Повторне тестування дозволяє (безпечно!) Протестувати нові моделі певних ринкових умов.

In-Sample та Out-of-Sample

Випробовуючи уявлення про історичні дані, добре резервувати період історичних даних для тестування. Початкові історичні дані, на яких ідея тестується та оптимізується, називаються як вибіркові дані. Набір даних, який було зарезервовано, відомий як позабіржові дані. Ця установка є важливою частиною процесу оцінювання, оскільки забезпечує спосіб перевірки ідеї щодо даних, які не були складовою в оптимізаційній моделі. Як результат, ідея жодним чином не впливатиме на вибіркові дані, і торговці зможуть визначити, наскільки добре система може працювати на нових даних, тобто в реальній торгівлі.

Оптимізація алгоритмічної стратегії торгівлі

Хоча оптимізація стратегії загрожує упередженнями, протестеризація дозволяє нам підвищити ефективність стратегії шляхом зміни значень параметрів, пов'язаних із цією стратегією, та перерахунку її ефективності. Переозброєння (підганяння кривих) є серйозною проблемою у всіх сферах, пов'язаних з вилученням даних, і ви повинні бути обережними з використанням правильних наборів перевірки та тестів. З цієї причини можуть бути реалізовані різноманітні методи, такі як повторне тестування з різними налаштуваннями, імітація Монте-Карло, матриця Walk-Forward-Matrix, оптимізація Walk-Forward, кілька періодів поза вибірок.

Вперед тестування продуктивності

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

Зображення: повторна перевірка. Діаграма в Python.
Зображення: повторна перевірка. Діаграма в Python.
Повторне тестування. Історичні торги в R Trader Strategy Builder.
Зображення: повторна перевірка. Історичні торги в R Trader Strategy Builder.

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

інструменти

Дослідження та автоматизоване програмне забезпечення для торгівлі

Excel, R Builder Strategy Builder (https://rtrader.umstel.com - безкоштовне програмне забезпечення), StrategyQuant (плата за ліцензію), MultiCharts (плата за ліцензію), TradeStation (плата за ліцензію), Wealth-lab (ліцензійна плата).

код

Matlab, Python, R, C #

дані

  1. Дані про соціальний настрій (з Twitter та інших соціальних медіа, див. ISentium, TickerTags)
  2. Дані про натовп (див. Оцінка)
  3. Дані про поведінку (див. Cabot Research)
  4. Супутникові та повітряні зображення (див. Orbital Insight)
  5. Дані про поведінку споживачів (див. Лояльність до бренда)
  6. Нетрадиційні інтернет-ресурси (див. Knowsis)
  7. OTAS (Технічні дані)

Інші провайдери

TIM Group, Discern, Essentia, Kensho, RavenPack, SocialMediaAnalytics, Ayasdi, TheySay Analytics, Quid, Rage Framework, Dataminr.

Книги (англійською)

  1. Кількісна торгівля: як створити власний алгоритмічний торговий бізнес - Ернест Чан
  2. Алгоритмічна торгівля: виграючі стратегії та їх обгрунтування - Ернест Чан
  3. Торгівля машинами: розгортання комп’ютерних алгоритмів для завоювання ринків - Ернест Чан
  4. Алгоритмічна торгівля та DMA: вступ до стратегій прямого доступу до торгівлі - Баррі Джонсон
  5. Торгівля та біржі: ринкова мікроструктура практикуючих - Ларрі Харріс

1. arXiv http://arxiv.org/archive/q-fin
2. SSRN https://www.ssrn.com/en/
3. Журнал інвестиційних стратегій https://www.risk.net/journal-of-investment-strategies
4. Журнал обчислювальних фінансів https://www.risk.net/journal-of-computational-finance
5. Математичні фінанси https://onlinelibrary.wiley.com/journal/14679965

резюме

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

Якщо у вас виникнуть запитання, я з радістю відповім на них у коментарях нижче.

Відкрити торговий рахунок




Коментарі

Попередня стаття

Тиждень на ринку (01/13 - 01/19): статистика та рішення центральних банків

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

Наступна стаття

3 акції, придбані в 2020 році: Delta Air Lines, HP, Morgan Stanley

Триває 12-річний цикл зростання економіки США. Це найдовший період без кризи. Початок 2020 року підбадьорює інвесторів, акції продовжують поновлюватися за всіма максимумами. Ті, хто купував їх раніше, стають щасливішими.