В настоящее время на Московской фондовой бирже зафиксировано 25 млн. частных инвесторов. Пять лет назад их было в 10 раз меньше. Чем больше на рынок приходят непрофессиональные игроки, тем более популярно в их среде желание сделать робота для автоматической торговли.
Для российского фондового рынка фактически есть лишь две платформы для этой цели.
Это MT5 (язык программирования MQL5) и QUIK (язык программирования Lua).
Но для большинства начинающих строителей роботов оба языка малознакомы.
С бурным развитием нейросетей все большую популярность приобретает Python.
Безусловно, можно передать данные из указанных приложений в любое другое приложение на python. Но первичную информацию с биржи, а также торговые операции необходимо будет реализовать на MQL5 или Lua.
В системах реального времени, к которым относятся роботы для торговли на биржах, важным моментом является быстродействие.
Далее представлены результаты сравнения быстродействия скриптов и программ на различных языках программирования, характерных для написания торговых роботов.
Исходники тестов на MQL5 взял на форуме MetaTrader5. Ранее эти тесты были применены для сравнения 32-x битных версий MT5 и QUIK VM Lua 5.2.
Мною тестировались 64-х битные версии MT5, QUIK VM Lua5.3 и Lua5.4.
Так как для создания многопоточных роботов реализовал расширение QUIK VM LuaJIT, то добавил тесты VM LuaJIT, а также по одному тесту PYTHON, С и С AVX2.
Резюме:
VMLua5.4 примерно в 1.5 раза быстрее VMLua5.3 и в 5 раз быстрее Python;
MQL5 в 2...10 раз быстрее VMLua5.4;
VMLuaJIT в 1.5...7 раз быстрее MQL5;
C примерно в 1.7 раза быстрее VMLuaJIT;
C(AVX2) примерно в 4 раза быстрее С.