Обсуждение статьи "Быстрый тестер торговых стратегий на Python с использованием Numba"

 

Опубликована статья Быстрый тестер торговых стратегий на Python с использованием Numba:

В статье реализован быстрый тестер стратегий для моделей машинного обучения с применением Numba. По скорости он превосходит тестер стратегий на чистом Python в 50 раз. Автор рекомендует использовать эту библиотеку для ускорения математических расчетов и особенно там, где используются циклы.

При разработке торговых алгоритмов на основе машинного обучения, важно правильно и быстро оценивать результаты их торговли на истории. Если брать в расчет редкое использование тестера на крупных временных интервалах и с небольшой глубиной истории, то тестер на языке Python вполне подходит. Если же стоит задача многократного тестирования, в том числе высокочастотных стратегий, то интерпретируемый язык может оказаться слишком медленным.

Предположим, что мы не удовлетворены скоростью выполнения некоторых скриптов, но не хотим отказываться от привычной среды разработки Python. Здесь на помощь приходит Numba, которая позволяет транслировать и компилировать нативный Python код в быстрый машинный код на лету, скорость выполнения которого становится сравнима со скоростью выполнения кода таких языков программирования как C и FORTRAN.

>

Автор: Maxim Dmitrievsky

 
Из статьи не понял, что называется Тестером?
 

Тема применения Numba для Python не раскрыта, нет практически никаких пояснений по коду. На кого рассчитана эта статья, для новичков? - тогда они не поймут без разжевывания кода. Для спецов в Python? - им это не надо, и так знают как ускорить вычисления.

По второй части статьи тоже не все гладко. Приводится пример оптимизации всего лишь с двумя параметрами с очень грубым шагом и делается сравнение между полным перебором и алгоритмом оптимизации и при этом утверждается, что ускорение достигнуто аж в 2 раза. За счет чего достигнуто? - это не поясняется. За счет сокращения количества обращений к расчету целевой функции test_model_func? - но в случае с AO не показывается это самое количество обращений. По факту, поскольку пространство задачи очень мало, можно получить ускорение в 400 раз, по сравнению с полным перебором в этой задаче, достаточно генерировать случайные числа один раз но делать множественные тесты, а в статье привести лучший результат из тестов. В общем, нарушены все принципы проведения экспериментов.

[Удален]  
Эта статья для трейдеров, не для теоретиков. Понимаю, что на сайте больше статей на отдаленные от трейдинга темы, поэтому не в тренде.
[Удален]  
fxsaber #:
Из статьи не понял, что называется Тестером?
Тестером называется скрипт для тестирования обученных МО на истории котировок, вестимо :)
 
Maxim Dmitrievsky #:
Тестером называется скрипт тестирования обученных МО на истории котировок, вестимо :)

Тестер на вход в ТС подает ценовые данные+торговое окружение (текущие ордера) и принимает от ТС торговые сигналы.

У Вас все несколько иначе, если правильно понял.

[Удален]  
fxsaber #:

Если правильно понял, что тестер на вход в ТС подает ценовые данные+торговое окружение (текущие ордера) и принимает от ТС торговые сигналы.

У Вас все несколько иначе, если правильно понял.

Ценовые данные + направления сделок для каждого наблюдения (покупка, продажа), которые предсказало МО.

То есть ТС внутри тестера не исполняется, направления сделок посчитаны и известны заранее.

 
Maxim Dmitrievsky #:

То есть ТС внутри тестера не исполняется, направления сделок посчитаны и известны заранее.

Понял. Другая концепция.

 
fxsaber #:

Понял. Другая концепция.

У вас получилось запустить скрипты в статье? Ни один скрипт из статьи не отработал без ошибок в режиме "из коробки". 
 
Andrey Dik #:
У вас получилось запустить скрипты в статье? Ни один скрипт из статьи не отработал без ошибок в режиме "из коробки". 

Не запускал.

[Удален]  
Видимо то чувство, когда пытаешься программировать, не зная ЯП. Сознательная попытка дискредитации статьи пока не срабатывает. Нужно больше маны :)