Технології створення торгових роботів

Після рішення стати алготрейдером виникає величезна кількість питань. Найбільш доленосний звучить приблизно так: "Яку технологію вибрати для створення робота і чим вони відрізняються?".
На це питання ми спробуємо дати відповідь.
У статті будуть розглянуті доступні техніки створення ботів у розрізі плюсів та мінусів щодо один одного.
- 1.Характеристики технологій;
- 2.Quik Lua;
- 3.ТсЛаб;
- 4.ВелсЛаб;
- 5.Мова програмування R;
- 6.СтокШарп;
- 7.Своя бібліотека;
- 8.Висновок.
Насамкінець у нас має вийде зведена таблиця з характеристиками різних технологій. Можна розпочати з неї. Вона буде у Висновку.
Характеристики технологій
Для початку слід визначити базові характеристики, за якими порівнюватимемо технології створення роботів.
- 1.Швидкість вивчення.Скільки годин треба витратити на запуск першого бота, створеного за своїм ТЗ.
- 2.Вартість використання.
- 3.Підтримка. Кількість та якість форумів, на яких можна підглянути або попросити інформацію.
- 4.Можливі алгоритми
- a.засновані на свічках;
- b.засновані на тиках;
- c.засновані на склянці;
- d.засновані на опціонах;
- e.засновані на ордер лозі.
- 5.Можливості тестування
- a.засновані на свічках;
- b.засновані на тиках;
- c.засновані на склянці;
- d.засновані на опціонах;
- e.засновані на ордер лозі.
- f.оптимізація
- g.машинне навчання
- 6.Стабільність. При погляді з боку, цей пункт описує кількість раптових падінь програми при начебто стандартному їївикористання. Для програмістів, що займаються проектом, він означає ступінь покритості коду тестами, загальну безпеку конструкцій, що застосовуються, і прозорість початкової архітектури.
- 7.У можливих транзакцій в секунду:
- a.менше 10
- b.більше 10 і менше 50
- c.50 і більше
- 8.У одночасно запущених ботів. Чому можна визначити якість інфраструктури.
- a.менше 10
- b.більше 10 і менше 50
- c.50 і більше
- 9.Універсальність підключення до біржі. На скільки просто перепідключити готового робота до іншого терміналу/біржі.

Quik - найпопулярніший термінал для доступу до біржі в Україні. Всі ми з нього починали і він не потребує додаткових уявлень. У рамках Quik розгорнуть інтерпретатор мови Lua, якою можна писати роботів.
- 1.Швидкість вивчення.Як і в будь-якої іншої скриптової мови, від 100 до 500 годин. Залежно від початкової якості сірої речовини.
- 2.Вартість використання. Безкоштовно.
- 3.Підтримка. Відмінна підтримка на форумі Quik та в інтернеті.
- 4.Можливі алгоритми.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; ТАК
- e.засновані на ордер лозі. НІ
- 5.Можливості тестування.Тут із застереженням. У рамках Quik Lua немає готової інфраструктури для тестування стратегій на історичних даних. Можна створити самому якісь милиці та спробувати відтестувати стратегію на них. Але для цього потрібні зовсім інші скелі, і це зовсім інша історія.
- a.засновані на свічках; НІ
- b.засновані на тиках; НІ
- c.засновані насклянці; НІ
- d.засновані на опціонах; НІ
- e. засновані на ордер лозі; НІ
- f.оптимізація; НІ
- g.машинне навчання; НІ
- 6.Стабільність. Прекрасна, стабільна зв'язка. Quik – найстабільніша програма. Без жодного нарікання. Інтерпретатор Lua у ній - настільки ж міцний. При знаходженні якихось багів програмісти Arqa оперативно виправляють ситуацію.
- 7.У можливих транзакцій в секунду:
- менше 10. Інакше транзакції починають просто зникати.
- 8.У одночасно запущених ботів.
- Одночасно можна використовувати до 200 склянок алгоритмів роботів для отримання даних.
- 9.Універсальність підключення до біржі.
- Відсутня.

ТсЛаб - "платформа для створення та запуску механічних торгових систем". Найпопулярніша програма для створення роботів. Завоювала свій шматок завдяки кубикам, які дозволяють долучитися до алготрейдингу за пару днів. На відміну від своїх прямих конкурентів на кшталт Wealfh-Lab і Metastock, як і наздоганяють Jatotrader і SoftAlgoTrade -є БЕЗКОШТОВНИМ на етапі тестування стратегій.
- 1.Швидкість вивчення.Від 30 до 1000 годин. Подібний розкид викликаний наявністю у програмі кількох способів створення ботів. За допомогою Api та за допомогою "кубиків". Кубики заманюють людей, а потім вже з'ясовується, що треба вчити Сі Шарп до рівня Junior.
- 2.Вартість використання. Від 1400 на місяць у режимі торгівлі. І безкоштовно у режимі тестування стратегій. Що, загалом, цілком бюджетно.
- 3.Підтримка. Через існування сервісів із платної підтримки, сервіс із підтримки звичайних користувачів за умовчанням збитковий.
- 4.Можливі алгоритми.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; ТАК
- e.засновані на ордер лозі. НІ
- 5.Можливості тестування.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; ТАК
- e. засновані на ордер лозі; НІ
- f.оптимізація; ТАК
- g.машинне навчання; НІ
- 6.Стабільність. Гарна. Ще свіжі рани від проблем із виконанням заявок та стеження за позицією. Але останнім часом все гаразд.
- 7.У можливих транзакцій в секунду:
- залежить від точки підключення до біржі та кількості запущених ботів.
- 8.У одночасно запущених ботів.
- від 10 до 50. Якщо запускати більше будуть проблеми зі швидкістю роботи.
- 9.Універсальність підключення до біржі.
- Є. Охоплено термінали та шлюзи СНД + Interactiv Brokers.

ВелсЛаб – платформа для тестування торгових систем. Для підключення до торгових систем українських брокерів існують ряд милиць, що розвертають визначення до "платформа для тестування та запуску механічних торгових систем"
- 1.Швидкість вивчення.Від 30 до 1000 годин. Як і в ТсЛаб, тут існує кілька режимів створення ботів. Кубики та інтерпретатор мови СіШарп.
- 2.Вартість використання. 800 ДОЛАРІВ. Помолимося небесам за те, що ми в Україні.
- 3.Підтримка. Багато на англійських форумах. Але вони є доступні.
- 4.Можливі алгоритми.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; НІ
- d.засновані на опціонах; ТАК
- e.засновані на ордер лозі. НІ
- 5.Можливості тестування.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; НІ
- e. засновані на ордер лозі; НІ
- f.оптимізація; ТАК
- g.машинне навчання; ТАК
- 6.Стабільність. Прекрасна
- 7.У можливих транзакцій в секунду:
- залежить від точки підключення до біржі. Тут основним обмеженням буде безпосередній милиця для підключення до біржі.
- 8.У одночасно запущених ботів.
- 50 і більше.
- 9.Універсальність підключення до біржі.
- Немає взагалі. Прийдеться неабияк попітніти з підключенням. Є варіант підключитись до Квік через транзакції з файлу. Це найкраще. Про решту краще взагалі промовчати, не треба.
Мова програмування "R"

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

S#.Api – платформа для створення торгових роботів.
Безліч різноманітних конекторів.
Вичерпна інфраструктура. Ось все що може стати в нагоді в алготрейдингу тут є.
Позиціонується як "ми бібліотека, а чи не термінал". З чого випливає проблема відсутності підтримуваного інтерфейсу. З чого вистрибує, як двоповерховий слон, вже проблема зі стабільністю.
"Ми бібліотека, а не термінал", також активно застосовується при тролінгу збожеволілих від повсюдних багів користувачів. Підтримка відсутня,т.к. на будь-яке запитання товариші з форуму резонно надсилають на платне навчання чи платну підтримку.
Дика вартість HFT конекторів. від 90 тир.
- 1.Швидкість вивчення.Від 4000 годин. Щоб правити баги в бібліотеці, доведеться вивчити Сі Шарп на рівні архітектора. Розуміти, які дані куди йдуть. Патерни проектування. Розібрати павутиння шляхів даних, які йдуть через посилання Усі на всіх.
- 2.Вартість використання. всі швидкі конектори – від 90 тис. руб.
- 3.Підтримка. Є. Хоч і часто посилають у касу. Треба визнати все ж таки, що підтримка є.
- 4.Можливі алгоритми.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; ТАК
- e.засновані на ордер лозі. ТАК
- 5.Можливості тестування.
- a.засновані на свічках; ТАК
- b.засновані на тиках; ТАК
- c.засновані на склянці; ТАК
- d.засновані на опціонах; ТАК
- e. засновані на ордер лозі; ТАК
- f.оптимізація; ТАК
- g.машинне навчання; ТАК
- 6.Стабільність. Донедавна була жахливою. Але останній рік хлопці так розчулилися, що в останніх версіях важко знайти помилку. А з огляду на відкритий код - стало можливим на льоту самому поставити латку.
- 7.У можливих транзакцій в секунду:
- обмежено підключенням.
- 8.У одночасно запущених ботів.
- 50 і більше.
- 9.Універсальність підключення до біржі.
- Є.
Своя розробка

Мається на увазі розробка своєї бібліотеки однією з мов програмування. C#, Java, Delphi, C++ тощо. Саме так перемагають на ЛЧІ. Жодних інших варіантів немає.
1) Ну, взагалі все добре. Можна зробити все, що душа забажає. Безкоштовно. Жодних падаючих бібліотек і прошарків, що гальмують.
2) Гігантські тимчасові видатки виробництво.
Описувати переваги та недоліки по пунктах не стану. І так зрозуміло. Якщо Ви крутий програміст на рівні Архітектора або хочете стати ним, то треба писати свою бібліотеку. Через пару років у Вас буде можливість робити все, що душі завгодно. І ніякі ТсЛаби зі СтокШарп Вас не наздоженуть.
Висновок

Які висновки можна зробити із підсумкової таблиці?
Для тих, хто хоче вчити сам:
1) Технології для ледарів. Перші три. раптово! Майже за всіма показниками тримають удар добре.
2) Божевільним, які хочуть перемогти в ЛЧІ. Краще вибрати R для тестування та самописну бібліотеку для реалізації.
Для тих, хто хоче замовити бота:
1) дивимося графу вартість (постійні витрати), кількість підключень (універсальність), кількість можливих алгоритмів (швидкість платформи). І робимо вибір самі.
У цій статті ми розглянули найпопулярніші в СНД способи створення роботів для трейдингу. Колектив Old School Algo сподівається, що вона була корисна.