Тестировать будем крипту на Bitmex, так как там можно без проблем достать тики с направлениями на халяву.
Собственно, идея очень простая:
— покупаем, если сумма объемов последних 5 сделок больше 500,000
— продаем, если сумма объемов последних 5 сделок меньше -500,000
Торгуем одним условным битком (тикер XBTUSD).
Использовать будем R и пакет QuantTools.
Пишем немножко кода:
Результаты:
Посчиталось всё где-то за 38 секунд. Из них 30сек заняло чтение тиков с диска. Ниже табличка профайлинга по времени в миллисекндах:
то, что быстро круто, но от реальности будет ой как далеко.
вообще тест подтверждает мои ощущения от крипты — если налили лимитник, то будет минус:)
П.С. Прошу прощения, только сейчас увидел что вы именно это и имели в виду.
Но нормальный, полноценный движок в QT тоже есть.
«сумма объемов последних 5 сделок» — это сумма объёмов на последних 5 тиках?
Это не совсем тестер, а быстрый способ проверить идею по ценам и сигналу вход/выход. На выходе как раз только и получим список сделок вида цена вход/выход, финрез в разрезе возможного убытка и упущеного профита, id сделок. Времени пока только не хватает. Имея список сделок легко посчитать остальные статистики. В коде я там набросал несколько.
А для полноценного бэктестинга, в QT есть тестер с генерацией и отменой ордеров по разным событиям, поддержкой лимитников, задержек и прочее. Но в нем страту, надо более подробно описывать и в отдельном файле на плюсах, что не всегда бывает целесообразно.