Блог им. r0man

Как за полминуты протестировать идею на 150 миллионах тиков

    • 31 января 2020, 19:24
    • |
    • r0man
  • Еще

Тестировать будем крипту на Bitmex, так как там можно без проблем достать тики с направлениями на халяву.
Собственно, идея очень простая:
— покупаем, если сумма объемов последних 5 сделок больше 500,000
— продаем, если сумма объемов последних 5 сделок меньше -500,000
Торгуем одним условным битком (тикер XBTUSD).
Использовать будем R и пакет QuantTools.
Пишем немножко кода:
Как за полминуты протестировать идею на 150 миллионах тиков

Результаты:
Как за полминуты протестировать идею на 150 миллионах тиков
Как за полминуты протестировать идею на 150 миллионах тиков

Посчиталось всё где-то за 38 секунд. Из них 30сек заняло чтение тиков с диска. Ниже табличка профайлинга по времени в миллисекндах:
Как за полминуты протестировать идею на 150 миллионах тиков

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
  • обсудить на форуме:
  • bitmex
3.5К | ★15
25 комментариев
Интересно сравнить производительность с другими Тестерами.
avatar
fxsaber, самый шустрый амиброкер… там специально сделали чтоб самый быстрый код крутился на ядре и процессорном кэше без доступа к внешней оперативке...


avatar
ves2010, если знаете Ami, можно сравнить с MT5.
avatar
векторный тест… думаю numpy так же обработало бы.
то, что быстро круто, но от реальности будет ой как далеко.
вообще тест подтверждает мои ощущения от крипты — если налили лимитник, то будет минус:)
avatar
Eugene Logunov, RAMDisk решает все такие проблемы. И SSD целее будет.
avatar
fxsaber, из за рэм диска будет меньше считывания с ссд?
avatar
Андрей К, RAMDisk — это все тот же диск, только в быстрой памяти и энергозависимый. Так что SSD понадобится только для первоначального заполнения RAMDisk и для сохранения конечного результата после долгой работы.
avatar
fxsaber, сейчас такие диски nvme, что про скорость чтения можно не думать. А память — дорогая. И возни много, чтобы удерживать на рамдиске копию необходимых данных.
avatar
Логично было бы вынести во входные параметры ТС какие-то показатели и сделать Оптимизацию. Не в курсе, справится ли QT. Ну и walk-forward замутить там же.
avatar
fxsaber, да нет в этом смысла. это тиковый грааль. добавить задержки в макрет дате и исполнении + кодовый обвесок движка и грааль стухнет. опять же экзекьюн на тике, а не на котировке. такое надо на нормальном движе тестить для начала и потом уже добавлять оптимизацию и прочее
avatar
day0markets, не пизди. Все что работает на тиках и все что считается наносекунды и обрабатывается за 8 секунд, это все экстремально критично к исполнению и экстремально не пригодно для бектестинга.

П.С. Прошу прощения, только сейчас увидел что вы именно это и имели в виду.
avatar
day0markets, цель была проверить рабочая идея или нет. С такой средней сделкой комис не отобьет.
Но нормальный, полноценный движок в QT тоже есть.

avatar
Что такое «тики с направлениями»?
«сумма объемов последних 5 сделок» — это сумма объёмов на последних 5 тиках?
avatar
Rostislav Kudryashov, buy или sell
avatar
Этот «тестер» бесконечно далек от нормальной симуляции исполнения заявок. Также хотелось бы на выходе получить стандартную статистику: список сделок, средняя сделка, распределение финрезов сделок… Что я Вам рассказываю прописные истины? =)
avatar
ch5oh, 

Это не совсем тестер, а быстрый способ проверить идею по ценам и сигналу вход/выход. На выходе как раз только и получим список сделок вида цена вход/выход, финрез в разрезе возможного убытка и упущеного профита, id сделок. Времени пока только не хватает. Имея список сделок легко посчитать остальные статистики. В коде я там набросал несколько.

А для полноценного бэктестинга, в QT есть тестер с генерацией и отменой ордеров по разным событиям, поддержкой лимитников, задержек и прочее. Но в нем страту, надо более подробно описывать и в отдельном файле на плюсах, что не всегда бывает целесообразно.

avatar
r0man, а какая просадка у вашей стратегии и каким обьемом тестили
avatar
CapitalMAN, максимальная 809usd, объем один контракт. Но я бы не стал называть это стратегией. Всего лишь тест сигнала с параметрами взятыми на глаз для примера, не более. 
avatar
r0man, при обьеме 10 контрактов просадка будит 8000usd я так понимаю) а при 100 80тыс в моменте, а если тест не годовой)))
avatar
CapitalMAN, один контракт соответствует одну битку. Тест за май-декабрь 2019. Вижу вы неплохо умножаете на 10, попробуйте разделить просадку на цену битка 'в моменте' при объеме 1, 10, 100 и так далее контрактов.
avatar
r0man, я о том что просадка будит увеличиваться какая цена битка не была, всегда и что самое интересное вы ни когда не знаете ав друг макс просадка продлитс подольше)
avatar
На мексе когда движуха такая ордера не проходят
avatar
Gryphon, а если лимитку ставить подальше от движухи с рассчетом что ее потом смоет волной еще дальше, такие ордера принимает? Понятно, что профит тогда меньше будет, но, может, не отрицательный получится в итоге…
avatar
Eugene Logunov, да вроде нормальная скорость, мне хватает. Не хватало быстрого тестера, чтобы проверить по сигналу вход/выход прямо R. Вот теперь нашёл, делюсь) Но это не полноценный бэктестинг, конечно.
avatar

Читайте на SMART-LAB:
Фото
EUR/USD буксует у 1,16: риски фрагментации ЕС перекрывают сигналы инфляции
Евро немного отыгрывает позиции в четверг, но рост хрупкий. EUR/USD вернулась к 1,16 после отскока от двухнедельного минимума 1,1560. Доллар...
Госзакупки могут стать новым устойчивым каналом продаж для маркетплейсов
Владимир Путин на ВЭФ заявил, что с 1 октября на Дальнем Востоке начнется эксперимент с упрощенной системой госзакупок, в том числе через...
Фото
Флоатеры как идея в момент повышенной неопределенности. Размещения «Т Плюс» и «ФосАгро» - что выбрать инвестору?
Флоатеры надежных эмитентов выглядят особенно привлекательными на поздней стадии цикла снижения процентных ставок — в момент, когда...
Фото
Магнит МСФО 6 мес. 2026 г. - Долг все еще растет, но есть первые признаки улучшения
Компания Магнит опубликовала финансовые результаты по МСФО за 6 мес. 2026 г. Выручка компании выросла на 12,8% до 1,89 трлн руб.  Валовая...

теги блога r0man

....все тэги



UPDONW
Новый дизайн